当前位置:文档之家› FOR循环语句翻译程序设计简单优先法三地址码JAVA

FOR循环语句翻译程序设计简单优先法三地址码JAVA

FOR循环语句翻译程序设计简单优先法三地址码JAVA
FOR循环语句翻译程序设计简单优先法三地址码JAVA

号:

27

课内实践报告课程名称编译原理

题目FOR循环语句的翻译程序设计(简单优先法、输出三地址码)

学院计算机科学及技术专业计算机科学及技术班级1201

姓名李潇颖

指导教师林泓

2014年12月9日

课内实践任务书

学生姓名:李潇颖专业班级:计算机1201班

指导教师:林泓工作单位:计算机科学及技术学院

题目: FOR循环语句的翻译程序设计(简单优先法、输出三地址码)

初始条件:

理论:学完编译课程,掌握一种计算机高级语言的使用。

实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。

要求完成的主要任务:(包括课内实践工作量及其技术要求,以及说明书撰写等具体要求)

(1)写出符合给定的语法分析方法的文法及属性文法。

(2)完成题目要求的中间代码三地址码的描述。

(3)写出给定的语法分析方法的思想,完成语法分析和语义分

析程序设计。

(4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

(5)设计报告格式按附件要求书写。课内实践报告书正文的内容应包括:

1 系统描述(问题域描述);

2 文法及属性文法的描述;

3 语法分析方法描述及语法分析表设计;

4 按给定的题目给出中间代码形式的描述及中间代码序

列的结构设计;

5 编译系统的概要设计;

6 详细的算法描述(流程图或伪代码);

7 软件的测试方法和测试结果;

8 研制报告(研制过程,本设计的评价、特点、不足、

收获及体会等);

9 参考文献(按公开发表的规范书写)。

时间安排:

设计安排一周:周1、周2:完成系统分析及设计。

周3、周4:完成程序调试及测试。

周5:撰写课内实践报告。

设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。

设计报告书收取时间:设计周的次周星期一上午10点。

指导教师签名:年月日系主任(或责任教师)签名:

目录

1 系统描述(问题域描述)4

1.1设计目的4

1.2设计内容描述4

2.文法的描述5

3 语法分析方法描述及语法分析表设计6

3.1语法分析方法描述6

3.2 分析法操作步骤7

3.3优先关系矩阵8

4 中间代码形式的描述10

5 编译系统的概要设计(主要函数)10

6 详细的算法描述(流程图)12

6.1词法分析过程12

6.2语法分析过程13

6.3三地址码的输出13

7 测试方法和测试结果14

8.心得体会18

9.代码(完整)19

10.本科生课内实践成绩评定表37

FOR循环语句的翻译程序设计(简单优先法、输出三地址码)

1 系统描述(问题域描述)

1.1设计目的

通过学习编译原理的相关内容,设计并编写FOR循环语句的翻译程序,使用简单优先法,按三地址码输出,能够实现词法分析,语法和语义的分析,加深对所学知识的理解,并且能够熟练运用到实际当中。

1.2设计内容描述

FOR循环语句的基本格式如下:

FOR(表达式1;表达式2;表达式3){赋值语句}

根据所给题目要求,设计出符合FOR循环语句的文法及属性文法的描述,语法分析方法以及三地址码的输出方式,罗列出词法分析和语法分析的流程,根据语法规则设计输入输出方法,简单优先法中的优先关系表格。设计好并且进行编译,设计若干输入输出用例(包括正确的输入和错误的输入,用来检查程序的完整性)。

2.文法的描述

根据For语句的特点,制定的产生式规则及由产生式对应的语义动作如下:

H->f(G;A;B){S;}G O T O H->f(G;C;D){S;}G O T O G->i1=i 2 i1.C O D E=i2.C O D E A->i1=i2.C O D E G O T O O V E R B->i d i.C O D E=i.C O D E+1 C->i1>i2I F i1.C O D E<=i2.C O D E G O T O O V E R D->i a i.C O D E=i.C O D E-1 S->j=M j.C O D E=M.C O D E M-> E M.C O D E=E.C O D E E->W E.C O D E=W.C O D E W->W+U

W.C O D E=W.C O D E+U.C O D E W->W-U W.C O D E=W.C O D E-U.C O D E W->U W.C O D E=U.C O D E U->T U.C O D E=T.C O D E T->T* F T.C O D E=T.C O D E”F.C O D E T->T/ F T.C O D E=T.C O D E/F.C O D E T-> F T.C O D E=F.C O D E F->(E) F.C O D E=(E.C O D E) F->j F.C O D E=j.C O D E (备注:其中d表示--,a表示++)

3 语法分析方法描述及语法分析表设计

3.1语法分析方法描述

本次课内实践要求使用简单优先关系方法。

相关主题
文本预览
相关文档 最新文档