编译原理课程设计

编译原理课程设计

ID:10897428

大小:152.00 KB

页数:12页

时间:2018-07-08

编译原理课程设计_第1页
编译原理课程设计_第2页
编译原理课程设计_第3页
编译原理课程设计_第4页
编译原理课程设计_第5页
资源描述:

《编译原理课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、武汉理工<<编译原理>>课程设计说明书学号:0120610340505课程设计题目IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)学院计算机科学与技术专业计算机科学与技术班级计0605姓名余欢欢指导教师邱志奇2009年6月20日12武汉理工<<编译原理>>课程设计说明书课程设计任务书学生姓名余欢欢专业班级:计算机0605班指导教师:邱奇志工作单位:计算机科学与技术学院题目:IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计

2、算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)写出符合给定的语法分析方法的文法及属性文法。(2)完成题目要求的中间代码三地址表示的描述。(3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。(4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:1系统描述(问题域描述);2文法及属性文法的描述;3语法分析方法描述及语法分析表

3、设计;4按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;5编译系统的概要设计;6详细的算法描述(流程图或伪代码);7软件的测试方法和测试结果;8研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);9参考文献(按公开发表的规范书写)。时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试及测试。周5:撰写课程设计报告。设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10点。指导教师签名:2009年5月23日12武汉理工<<

4、编译原理>>课程设计说明书IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)1.系统描述(问题域描述)本次实验使用windowsXP的visualC++软件,利用递归下降法实现IF-ELSE的条件语句的翻译程序设计,输出三地址表示,程序只能处理简单的布尔表达式和最简单的赋值语句,布尔表达式能够实现大于和小于的识别,也能处理关系运算符>=和<=的布尔表达式。程序的词法分析的结果和用到的文法是显示到dos界面上,而语法分析的结果则保存在jieguo.txt中,打开它就知道语法分析的结果和中间代码的输出了。2.文

5、法及属性文法的描述;2.1文法的描述:if->XthenYelseY;X->idid>id;X->id<=id;X->id>=id;Y->id=id;2.3属性文法的描述:属性文法(也称属性翻译文法)是Knuth在1968年首先提出的。它是在上下文无关文法的基础上,为每个文法符号(终结符或非终结符)配备若干相关的“特性”(称为属性)。产生式语义规则12武汉理工<<编译原理>>课程设计说明书S->ifEthenS1elseS2E.true:=biaozhi++;E.fals:=ebiaozhi++;S1.nex

6、t:=S.next;S2.next:=S.next;S.code:=E.cod

7、

8、gen(E.true‘:’)

9、

10、S1.code

11、

12、gen(‘goto’S.next)

13、

14、gen(E.false‘:’)

15、

16、S2.code3语法分析方法描述及语法分析表设计;3.1语法分析方法描述:在程序语言的语法定义中有许多采用递归定义。我们在对它进行语法分析时,编制的处理程序也采取递归的方式,可使其结构简单易读。但由于频繁地调用子程序大大地降低了分析速度。递归下降法的主要思想是:对每个非终结符按其产生式结构写出相应语法分析子程序。因为文法递

17、归相应子程序也递归,子程序的结构与产生式结构几乎一致。所以称此种方法称为递归子程序法或递归下降法。程序是以一个个单词的形式向后读取,读取到if之后就开始执行E的递归子程序,程序根据布尔表达式的真假,进而选择执行相应的分支,即如果布尔表达式为真,就执行then后面的赋值语句,如果布尔表达式为假,就执行else后面的赋值语句,递归子程序E分别赋予布尔表达式真和假不同的地址,并将跳转相应的信息写到处理四元式的结构体数组中去,E执行完以后12武汉理工<<编译原理>>课程设计说明书,回到S中继续执行后面的,读取到then之后,就表示

18、当条件为真的时候,执行then之后的赋值表达式,处理赋值的信息写到处理四元式的结构体数组中去,当读取到else之后,同理的执行当条件为假的时候的赋值表达式,处理完了之后赋值相应的信息也写到处理四元式的结构体数组中去,这样反复执行就实现的对语法的分析。3.2语法分析表设计:实验要求的是递归下降法,主要是调

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。