设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于Python实现的一个类C语言的编译器 课程论文+答辩PPT+项目源码及可执行exe文件
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目 录
1.课程设计重述 3
1.1.目的 3
1.2.要求 4
2.需求分析 4
2.1.任务输入及其范围 4
2.2.输出形式 5
2.2.1.输出中间代码表示的程序 5
2.2.2.输出目标代码(可汇编执行)的程序 5
2.3.程序功能 6
2.4.测试数据 6
2.4.1.变量重定义 6
2.4.2.使用未声明的变量 6
2.4.3.使用未定义的函数 7
2.4.4.变量赋值时类型错误 7
2.4.5.函数形参和实参不匹配 7
2.4.6.寄存器是否正常选用 7
3.概要设计 8
3.1.任务的分解 &  数据类型的定义 8
3.1.1.语法文件读取与解析,词法分析 – CFG 类 8
3.1.2.构建项目集规范族 – ItemSetSpecificationFamily 类 9
3.1.3.语法、语义、中间代码生成 – SyntacticAnalyzer 类 10
3.1.4.目标代码生成 – ObjCodeGenerator 类 10
3.2.主程序流程 11
3.3.模块间的调用关系 11
4.详细设计 12
4.1.词法分析 12
4.1.1.实现思路 12
4.1.2.去除注释后进行词法单元的识别 12
4.1.3.词法规则的设计和读取 14
4.2.LR1 语法分析设计 17
4.2.1. LR(1) 原理 17
4.2.2.  模块设计与分析 18
4.3.语义分析及中间代码生成设计 22
4.3.1.S 属性文法及自底向上扫描原理 22
4.3.2.更改为 S 属性文法 23
4.3.3.三地址代码和四元式 23
4.3.4.具体语句的语义规则 24
4.3.5.模块设计 27
4.4.目标代码生成设计 29
4.5.函数调用的中间代码生成和目标代码生成 32
5.调试分析 35
5.1.语法分析测试 35
5.1.1.时间复杂度分析 36
5.1.2.存在的问题与思考 36
5.2.静态语义测试 36
5.2.1.变量重定义 36
5.2.2.使用未声明的变量 37
5.2.3.使用未定义的函数 37
5.2.4.变量赋值时类型错误 38
5.2.5.函数形参和实参不匹配 39
5.2.6.时间复杂度分析 40
5.2.7.存在的问题与思考 40
5.3.目标代码生成测试 40
5.3.1.寄存器取用测试 40
5.3.2.复杂度分析 42
5.4.存在的问题,思考与解决 42
5.4.1.空串处理 42
5.4.2.判断是否该元素已存在该集合中 43
5.4.3.单个非终结符的 First 集的并发求解 43
5.4.4.语法更改,消除需要继承属性的语义规则 44
6.用户使用说明 45
7.课程设计总结 50
8. 附录 51
9.参考文献 51
1.课程设计重述
1.1.目的
掌握使用高级程序语言实现一个一遍完成的、简单语言的编译器的方法;
掌握简单的词法分析器、语法分析器、符号表管理、中间代码生成以及目标代码生成的实现方法;
掌握将生成代码写入文件的技术。
1.2.要求
使用高级程序语言作为实现语言,实现一个类 C 语言的编译器。编码实现编译器的组成部分。
要求的类 C 编译器是个一遍的编译程序,词法分析程序作为子程序,需要的时候被语法分析程序调用;
使用语法制导的翻译技术,在语法分析的同时生成中间代码,并保存到文件中。要求输入类 C 语言源程序,输出中间代码表示的程序;
要求输入类 C 语言源程序,输出目标代码(可汇编执行)的程序。实现过程、函数调用的代码编译




























  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!