编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告

编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告

ID:42638180

大小:318.20 KB

页数:26页

时间:2019-09-19

编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告_第1页
编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告_第2页
编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告_第3页
编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告_第4页
编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告_第5页
资源描述:

《编译IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)代码报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、学号:0120910340205编译课程设计题目IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)学院计算机科学与技术学院专业计算机科学与技术专业班级计算机科学与技术0902班姓名指导教师郭羽成2012年1月5日课程设计任务书学生姓名:—专业班级:计算机0902班指导教师:郭羽成工作单位:计算机科学与技术学院题目:IF-ELSE条件语句的翻译程序设计(简单优先法、输岀三地址表示)初始条件:理论:学完编译课程,掌握一种计算机高级语言的使用。实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设要求完成的主要任务:(包

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

3、代码);7软件的测试方法和测试结果;8研制报告(研制过程,本设计的评价、特点、不足、收获与体会等);9参考文献(按公开发表的规范书写)。时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试及测试。周5:撰写课程设计报告。设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。设计报告书收取时间:设计周的次周星期一上午10点。指导教师签名:系主任(或责任教师)签名:2011年11月18H2011年11月18H一.系统描述IF-ELSE条件语句的翻译程序设计(简单优先法、输出三地址表示)对条件语句:TF〈布尔表达式〉T

4、HEN〈赋值语句〉ELSE〈赋值语句〉(1)写出符合语法分析方法要求的文法和属性文法描述。(2)给出语法分析方法的思想及分析表设计。(3)给出中间代码序列的结构设计。(4)完成相应的词法分析、语法分析和语义分析程序设计。(5)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。文法及属性文法的描述ifthenelse文法的产生式为:①S—ifEthenBelseB②E^idlAid2

5、idl③

6、>

7、=④Biidl=num根据条件语句:IF〈布尔表达式〉THEN〈赋值语句〉ELSE〈赋值语句〉,描述和应的文法,其中共有4个非终结符(S,E

8、,A,B),终结符10个(if,then,else,idl,id2,<,>,==,=,num)oE为布尔表达式,B为赋值语句。三.语法分析方法描述及语法分析表设计首先根据己知优先文法构造和应的优先关系矩阵,并将文法的产生式保存,设置符号栈S,算法步骤如下:1)将输入符号串ala2……an#依次逐个存入符号栈S中,直到遇到栈顶符号ai的优先性〉下一个待输入符号aj时为止。2)栈顶当前符号ai为句柄尾,由此向左在栈中找句柄的头符号ak,即找到ak-l

9、替句柄,若找不到则为岀错,这是可断定输入串不是该文法的句子。4)重复上述的三个步骤直到归约完输入符号串,栈中只剩文法的开始符号为止。按照优先关系矩阵对输入串ifx>ythena=2elseu=9的分析过程步骤符号栈优先关系移近或归约输入串1#<移近ifx>ythena=2elseu=9#2#if<移近x>ythena=2elseu=9#3#ifx<移近>ythena=2elseu=9#4#ifx><移近ythena=2elseu=9#5#ifx>y>归约thena=2elseu=9#6#ifE=移近thena=2elseu=9#7#ifEthen<

10、移近a=2elseu=9#8#ifEthena—移近=2elseu=9#9#ifEthena=—移近2elseu=9#10#ifEthena=2>归约elseu=9#11#ifEthenB=移近elseu=9#12#ifEthenBelse<移近u=9#13#ifEthenBelseu=移近=9#14#ifEthenBelseu=—移近9#15#ifEthenBelseu=9>归约#16#ifEthenBelseB>归约#17#S分析成功#四•中间代码形式的描述及中间代码序列的结构设计4.1中间代码形式描述此设计要求使用的是三地址的中间代码,三地址

11、代码是由下面一般形式构成的语句序列:x:=yopz;其中x,y,z为名字,常数或编译吋产生的临吋变量;op代表运算符号如标

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

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

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