编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)

编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)

ID:35627825

大小:1.09 MB

页数:22页

时间:2019-04-03

编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)_第1页
编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)_第2页
编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)_第3页
编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)_第4页
编译原理课程设计-WHILE循环语句的翻译程序设计(LR方法、输出四元式)_第5页
资源描述:

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

1、学号:0121210340318课内实践题目WHILE循环语句的翻译程序设计(LR方法、输出四元式)学院计算机科学与技术学院专业计算机科学与技术班级计算机1203班姓名指导教师2014年月日课内实践任务书学生姓名:专业班级:计算机1201班指导教师:工作单位:计算机科学与技术学院题目:WHILE循环语句的翻译程序设计(LR方法、输出四元式)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。要求完成的主要任务:(包

2、括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)写出符合给定的语法分析方法的文法及属性文法。(2)完成题目要求的中间代码四元式的描述。(3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。(4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。(5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:1系统描述(问题域描述);2文法及属性文法的描述;3语法分析方法描述及语法分析表设计;4按给定的题目给出中间代码形式的描述及中间代码序列的结构设计;5

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

4、、编制、调试一个WHILE循环语句的语法及语义分析程序,实现词法分析程序对单词序列的词法检查和分析,加深对语法及语义分析原理的理解。用语法制导完成语义分析,并将形成的中间代码以四元式的形式输出。2、文法及属性文法的描述2.1while文法的描述文法1:S'->S2:S->while(B){E}3:E->AE4:E->A5:A->ipA6:A->i;7:B->iti8:B->i其中while、( 、) 、{ 、} 、p、t 、 ; 和i均为终结符,而S、A、B、E这些大写字母均为非终结符。t表示比较

5、运算符,p表示算术运算符,i表示合法标识符。@authorhanxu2.2属性文法的翻译(制导)对该文法的属性文法描述如下: (1)S->while(B){E}  prinf(if B goto E else goto next)(2)E->AE      print(E.val = A.val·E.val) (3)E->A       print(E.val = A.val)(4)A->ipA   print(A= i.ValpA.Val)(5)A->i;      A.Val = i;(6)B

6、->iti      print(B = i1.Valti2.Val)    (7)B->i       B.Val = i 3、语法语法分析表设计和分析方法描述 3.1while语法的DFA3.2LR(1)分析表4、中间代码设计本系统中所采用的中间代码形式是四元式,是一种比较普遍采用的形式。四元式的四个组成成分是:算符op,第一和第二运算对象ARG1和ARG2及运算结果RESULT。运算对象和运算结果有时指用户自己定义的变量,有时指编译程序引进的临时变量。例如a:=b*c+b*d的四元式表示如下

7、: 1)(*,b,c,t1) 2)(*,b,d,t2) 3)(+,t1,t2,t3) 4)(:=,t3,-,a) 四元式对中间结果的引用必须通过给定的名字,也就是说,四元式的联系是通过临时变量实现的。 将while( B t(比较符) C )goto L写成(jt,B,C,L) 本程序中所用到的四元式语句如下: 1)形如(op,arg1,arg2,result)的赋值语句 2)形如(jrop,B,C,L)的条件转移语句 3)形如(=,arg1,-,result)的复写语句5、编译系统的概要设计5.

8、1词法分析设计词法分析程序的主要任务:对构成源程序的字符串从左到右进行扫描,逐个字符地读入并按照一定的规则切分成一个个具有独立意义的单词(同时滤掉注释和空白),并确定这些单词的属性,再把他们转化为统一长度的标准形式—属性字。5.2语法分析设计语法分析是编译过程的核心部分。它的任务是在词法分析识别出单词符号串的基础上,分析并判定程序的语法结构是否符合语法规则。5.3语法制导设计在语法分析过程中,随着分析的步步进展,根据每个产生式所对应的语义子程序(或语义规则描述的语义动作)进行翻译。

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

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

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