毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于C语言的编译器设计与实现 课程论文+源码

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录
1选题背景 1
2系统关键定义 2
2.1单词文法描述 2
2.2语句文法描述 3
2.3 符号表结构描述 4
2.4 错误类型码描述 5
3系统设计与实现 6
3.1编译程序符号表结构 6
3.2编译程序报错功能 7
3.3词法语法分析器(实验一) 7
3.4语义分析(实验二) 8
4系统测试与评价 10
4.1 测试用例 10
4.2 正确性测试 11
4.3 报错功能测试 15
4.4 系统的优点 20
4.5 系统的缺点 20
5实验小结或体会 21
参考文献 22
附件:源代码 23
附录一 GNU Flex 工具说明 76
附录二 GNU Bison 工具说明 77
附录三 抽象语法树(AST) 80
附录四 作用域与符号表操作 83
1选题背景
本次课程设计是构造一个高级语言的子集的编译器,目标代码可以是汇编语言也可以是其他形式的机器语言。按照任务书,实现的方案可以有很多种选择。
可以根据自己对编程语言的定义选择实现语言的特定功能。建议大家选用decaf语言。
编译器的语法和词法分析采用课程的课堂实验的结果,重点在语义分析、符号表结构设计、中间代码、目标代码存储结构设计、代码优化等阶段的实现。
课设的任务主要是通过对简单编译器的完整实现,加深课程中关键算法的理解,提高自己对系统软件编写的兴趣。
实验内容:
源语言定义:或采用教材中Decaf语言,或采用C语言(或C++语言或C#语言
JAVA语言)部分关键语法规则。源语言要求至少包含的语言成分如下:
数据类型至少包括char类型、int类型和float类型
基本运算至少包括算术运算、比较运算、逻辑运算、自增自减运算和复合赋值运算
控制语句至少包括if语句和while语句
其它选项:数组、结构,for循环等等
实验内容:完整可运行的自定义语言编译器
2系统关键定义
2.1单词文法描述
词法分析程序的主要任务是将输入文件中的字符流组织成为词法单元流,在某些字符不符合程序设计语言词法规范时要有能力报告相应的错误,本次实验采用词法生成器自动化生成工具GNU Flex(见附录一),具体要求以正则表达式(正规式)的形式给出词法规则,遵循上述技术线路,Flex自动生成给定的词法规则的词法分析程序。于是,设计能准确识别各类单词的正则表达式就是关键。











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

                 

打印本页 | 关闭窗口
本类最新文章
基于MatlabSimulink 35kV输电线路继电保护的设计 分布式风电场低电压穿越故障建模与
大学生内容分享和社交平台的设计与 基于SSM框架的企业人事薪酬管理 基于大模型的代码注释自动生成与维
| 关于我们 | 友情链接 | 毕业设计招聘 |

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