for循环语句的翻译程序设计(ll(1)法、输出三地址)

for循环语句的翻译程序设计(ll(1)法、输出三地址)

ID:12594099

大小:306.50 KB

页数:17页

时间:2018-07-18

for循环语句的翻译程序设计(ll(1)法、输出三地址)_第1页
for循环语句的翻译程序设计(ll(1)法、输出三地址)_第2页
for循环语句的翻译程序设计(ll(1)法、输出三地址)_第3页
for循环语句的翻译程序设计(ll(1)法、输出三地址)_第4页
for循环语句的翻译程序设计(ll(1)法、输出三地址)_第5页
资源描述:

《for循环语句的翻译程序设计(ll(1)法、输出三地址)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、。周5:撰写课程设计报告。设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10点。指导教师签名:年月日系主任(或责任教师)签名:年月日FOR循环语句的翻译程序设计——LL(1)法、输出三地址1.系统描述1.1问题描述用LL(1)法设计、编制、调试一个FOR(表达式1;表达式2;表达式3)〈赋值语句〉的语法及语义分析程序,输出三地址代码。1.2功能描述(1)能对for循环语句做词法分析,并将其中的某些语句做预处理,如i++转换为i=i+1等。(2)能依据给定的LL(1)

4、文法判断输入串是否符合LL(1)文法(3)给出输入串的LL(1)分析过程(4)完成对语句中控制变量赋值语句,控制条件语句以及控制变量变换语句的翻译(5)完成对赋值语句包括复杂语句的翻译(6)能够对三个表达式缺少一个或多个的情况下进行翻译(7)用翻译后的语句以三地址代码的中间代码形式正确的表达for循环的执行流程。2.文法及属性文法的描述2.1文法的语言描述(0)A->for(C;C;C){Y}(“}Y{)C;C;C(for”)(1)Y->i=E;(“;E=i”)(2)C->iD(“Di”)(3)C->e(“”)(4)D->

5、=E(“E=”)(5)D->>E(“E>”)(7)E->LM(“ML”)(8)M->+LM(“ML+”)(9)M->-LM(“ML-“)(10)M->e(“”)(1)L->NP(“PN”)(2)P->*NP(“PN*”)(3)P->/NP(“PN/”)(4)P->e(“”)(5)N->i(“i”)(i表示标识符或常数)(6)N->(E)(“)E(“)(7)D-><=E(“E=<”)(8)D->>=E(“E=>”)2.2属性文法的描述2.2.1FOR语句for(C1C2C3)nC1n+1goton

6、+3n+2C3n+3ifC2==truegotoY.startn+4gotoY.end+2Y.start...................//赋值语句的开始.........................Y.end...................//赋值语句结束Y.end+1goton+2Y.end+2//跳出循环体后第一条语句2.2.2表达式和赋值语句Y->i=E;(C->i=E;){i.value=E.Value}E->E1opE2(op:+,-,*,/,>,>=,<或<=){E.place=newtemp

7、;//生成新的变量E.value=E1.valueopE2.value}N->(E){N.value=E.value}N->i{N.value=i.value}3语法分析方法描述及语法分析表设计3.1LL(1)文法及预测分析法的描述LL(1):第1个L表明自顶向下分析是从左向右扫描输入串,第2个L表明分析过程中将用最左推导,1表明只需向右看一个符号便可决定如何推导即选择哪个产生式(规则)进行推导。从文法的开始符号出发企图推导出与输入的单词串完全相匹配的句子,若输入串是文法给定的句子,则必能推出,反之必然出错。LL(1)优点

8、:实现方法简单、直观,便于手工构造或自动生成语法分析器。文法很容易写出。LL(1)缺点:对文法有一定得限制,要求推导过程中紧跟在飞终结符右边可能出现的终结符集不相交,要求文法产生式中不能含有左公共因子和左递归。但并不是所有文法的左公共因子都能在有限的步骤内替换成无左公共因子的文法。另外在做语法制导翻译时

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

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

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