编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)

编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)

ID:35617985

大小:135.11 KB

页数:11页

时间:2019-04-02

编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)_第1页
编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)_第2页
编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)_第3页
编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)_第4页
编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)_第5页
资源描述:

《编译原理课程设计报告任务书--DO-WHILE循环语句的翻译程序设计(递归下降法,输出四元式)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目:DO-WHILE循环语句的翻译程序设计(递归下降法、输出四元式)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)写出符合给定的语法分析方法的文法及属性文法。(2)完成题目要求的中间代码四元式的描述。(3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。(4)编制好分析

2、程序后,设计若干用例,上机测试并通过所设计的分析程序。(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:1系统描述(问题域描述);2文法及属性文法的描述;3语法分析方法描述及语法分析表设计;4按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;5编译系统的概要设计;6详细的算法描述(流程图或伪代码);7软件的测试方法和测试结果;8研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);9参考文献(按公开发表的规范书写)。时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试及

3、测试。周5:撰写课程设计报告。设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10点。指导教师签名:2009年11月23日系主任(或责任教师)签名:2009年11月23日DO-WHILE语句的翻译分析程序设计———递归下降法、输出四元式1问题描述设计一个DO-WHILE循环语句的词法﹑语法及语义分析程序,语法分析选择递归下降法,采用用语法制导翻译输出中间代码四元式。2文法及属性文法的描述。2.1DO-while循环语句的文法产生式为S->doEwhileA,为便于语法制导翻译

4、将其改写如下:文法G(s)如下:S->do{A}while(P);A->id=E;E->TE'E'->+TE'

5、-TE'

6、eT->FT'T'->*FT'

7、/FT'

8、eF->(E)

9、idP->Eropidrop->>

10、<

11、>=

12、<=

13、!=

14、==2.2DO-WHILE循环语句的属性文法:产生式语义规则S→doAwhilePS.begin:=newlabel;E.true:=newlabel;E.false:=S.next;S1.next:=S.begin;S.code:=gen(S.begin’:’‖E。code‖gen(E.true

15、’:’)‖S1.code‖gen(‘goto’S.begin)3.语法分析方法及中间代码形式的描述3.1语法分析方法递归下降法的实现思想是为文法的每个非终结符号设计一个相对应的递归子程序,识别程序由一组这样的子程序组成。它的优点是简单直观,易于构造,很多编译系统所实现缺点是对文法要求很高,由于递归调用多,影响分析器的效率其文法可以表示为:E→T│E+TT→F│T*FF→i│(E)可以用语法图来表示语言的文法,如图:TT+E*FFTE)(iF3.2中间代码形式描述中间代码采用四元式输出,一个四元式是一个带有四个域的记录结构,这四个域

16、分别称为op﹑arg1﹑arg2及result。域op包含一个代表运算符的内部码。语句do{c=a+b;}while(a

17、译器的设计1.对每个非终结符A构造一个函数过程,对A的每个继承属性设置一个形式参数,函数的返回值为A的综合属性,A对应的函数过程中,为出现在A的产生式中的每一个文法符号的每一个属性都设置一个局部变量。2.非终结符A对应的函数过程中,根据当前的输入符号决定使用哪个产生式候选。3.每个产生式对应的程序代码中,按照从左到右的次序,对于单词符号,非终结符和语义动作分别做以下工作。(1)对于带有综合属性x的终结符X,把x的值存入为X,x设置的变量中。然后产生一个匹配X的调用,并继续读入一个输入符号。(2)对于每个非终结符号B,产生一个右边带

18、有函数调用的赋值语句c=B(b1,b2,…,bk)(3)对于语义动作,把动作的代码抄进分析器中,用代表属性的变量来代替对应属性的每一次引用。4.3语法制导翻译在语法分析过程中,随着分析的步步进展,根据每个产生式所对应的语义子程序(或语义规则描述的语

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

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

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