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











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

                 

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

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