毕业作品网站

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

Mini-C编译器设计与实现 任务书

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

《编译原理》实验与课程设计任务书

2017级 计算机科学与技术学院各专业

一、实验概述

题目:XX语言编译器设计与实现(请为自己的编译器命名)

1.项目内容

自定义一个语言的文法规则,也可以采用C语言(或C++语言或C#语言或JAVA语言)部分关键语法规则。构造一个高级语言的编译程序甚至集成开发环境(IDE)。

如果定义面向对象的语言,推荐选用教材中的面向对象语言decaf。

2. 任务总体要求

收集与阅读相关文献资料,确定采用的技术线路,设计系统实现方案,完成系统实现;提交标准格式打印的《编译原理实验报告》和包括《编译原理实验报告》、编译器源程序、编译器目标程序、README和测试模拟数据文件之光盘。实验报告封面和报告内容目录采用统一格式,各小节具体划分自己根据实际情况确定。

3. 源语言的定义

源语言要求至少包含的语言成分如下:

l 数据类型至少包括char类型、int类型和float类型,字符串作为可选项;

l 基本运算至少包括算术运算、比较运算、自增自减运算和复合赋值运算;

l 控制语句至少包括if语句、while语句和break、continue语句(不要求goto语句),另外for、switch语句作为可选项;

l 多维数组。另外结构作为可选项;

l 语言支持行注释与块注释,不要求支持编译预处理命令和多文件程序。

二、实验内容及要求

1. 实验一:词法语法分析器的设计与实现

建议使用词法语法生成工具如:LEX/FLEX ,YACC/BISON等专业工具完成。要求:(1)以二元组(单词种类码,自身值)序列的形式显示单词序列(2)显示抽象语法树。

注:要求显示的2个功能仅适用于实验一,完成实验检查后去掉这两个显示。可通过条件编译的方式或自定义某种设置的方式打开和关闭。

2. 实验二:符号表管和语义检查

设计符号表数据结构和关键管理功能。动态展现符号表变化过程。无论语法分析使用工具还是自己设计,都必须对符号表进行设计和管理;完成相关属性计算并进行静态语义检查。同时能完成多种语义错误的检查(最低要求15中以上的静态语义错误)。

注:要求显示符号表的功能仅适合程序调试和实验检查使用,可通过条件编译的方式或自定义某种设置的方式打开和关闭。

3. 实验三:中间代码生成和优化

定义中间代码的形式,生成中间代码并显示。能用DAG进行局部优化中间代码。

注:要求显示中间代码的功能仅适合程序调试和实验检查使用,可通过条件编译的方式或自定义某种设置的方式打开和关闭。

4. 实验四:目标代码生成

在前三个实验的基础上实现目标代码生成。也可以使用工具如LLVM来生成目标代码,这个要求自学LLVM教程查阅LLVM文档,(http://llvm.org/docs/tutorial/index.html)。

为了方便完成全部阶段的实验任务,在后续阶段中可适当做些限制,比如目标代码生成,可只考虑支持整型,这个在实验报告中说明清楚即可。

目标代码阶段的指令集可以选择X86或Mips,强烈推荐自己在组成原理课程上实现CPU的指令集,最终编译成机器码在自己的CPU上运行。

三、评分标准

参照下列完成情况进行评定分数。

要求完成全部四个实验并完成实验报告,四个实验和实验报告对应课程成绩的权重分别为20%、20%、20%、20%(其中优化5%)、20%。

特别提示:

每完成一个实验,准备好测试用例及时在课堂上给老师检查。最后课程成绩的评定和各个实验的完成时间、完成质量挂钩。为了提高课堂上的检查效率,希望课下多花些时间完成实验任务。

为了保存阶段成果,每个实验完成检查后固定版本号保存,为实验报告的撰写保留现场。每个实验检查时只能包括本实验的内容。例如,如果检查实验一时发现项目里有实验二甚至实验三的内容,将作为抄袭拷贝的依据。

四、实验报告内容

实验报告要充分展示你完成各阶段任务采用的技术手段,有关算法思想的描述,主要包括如下几个部分。

(1) 语言的定义,以及有关语言特点的文字描述。

(2)词法分析、语法分析。

(3)语义分析。

(4)中间代码的生成。

(5)目标代码的生成。

(6) 总结,这部分主要描述在实现过程中,遇到了一些什么技术问题,如何解决以及自己工作的亮点的等等,属于技术层面的总结。

(7) 参考文献

有关报告的文字、段落设置、表格和插图规范,参考校毕业设计论文规范要求(和数据结构等课程要求一致)。报告中不需要打印源代码,源代码只需要提交电子档。报告封面统一规定如下。


课 程 实 验 报 告

课程名称:      编 译 原 理 实 验

专业班级:

学    号:

姓    名:

指导教师:

报告日期:    2020年 X月 X 日

计算机科学与技术学院

1概述

2 XX语言定义

3实验一 词法语法分析器

4实验二 符号表管理与语义计算

5实验三 中间代码生成与优化

6实验四 目标代码生成

7总结

7.1 实验完成情况

明确说明自己对实验的完成情况,包括基本内容和可选内容,可选内容作为加分项依据。

7.2 实验感想

7.3 展望

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

                 

打印本页 | 关闭窗口
本类最新文章
手部康复指板屈伸按摩装置的机构设 智能电表控制电路设计 论文指导记 家用光伏发电系统逆变电源设计 开
家用光伏发电系统逆变电源设计 任 家用光伏发电系统逆变电源设计 选 钢筋调直机机械结构设计 开题报告
| 关于我们 | 友情链接 | 毕业设计招聘 |

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