第一范文网 - 专业文章范例文档资料分享平台

编译课程设计

来源:用户分享 时间:2025/8/25 11:27:49 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

学 号: 0120910340527 课 程 设 计

题 目 学 院 专 业 班 级 姓 名 指导教师

WHILE循环语句的翻译程序设计(LR方法、输出三地址表示)

计算机科学与技术学院 计算机科学与技术专业

sy0901 李广田 彭德巍

2011 年 1 月 5 日

武汉理工大学《编译原理》课程设计

课程设计任务书

学生姓名: 李广田 专业班级: 计算机sy0901班 指导教师: 彭德巍 工作单位:计算机科学与技术学院 题目: WHILE循环语句的翻译程序设计(LR方法、输出三地址表示) 初始条件:

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

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

行设计。

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

要求)

(1) 写出符合给定的语法分析方法的文法及属性文法。 (2) 完成题目要求的中间代码三地址表示的描述。

(3) 写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4) 编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5) 设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:

1 系统描述(问题域描述); 2 文法及属性文法的描述;

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

4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计;

6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果;

8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。

时间安排:

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

周3、周4:完成程序调试及测试。 周5:撰写课程设计报告。

设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。

指导教师签名: 2011年 12月 23日

1

武汉理工大学《编译原理》课程设计

目录

1、系统描述 ............................................................... 3 2、文法及属性文法的描述 ................................................... 3

2.1 文法的描述 ........................................................ 3 2.2 属性文法的描述 .................................................... 3 3、语法分析方法描述及语法分析表设计 ....................................... 4

3.1、 LR(0)分析方法描述 ............................................. 4 3.2、 语法分析表设计 .................................................. 4

3.2.1识别文法活前缀的DFA .......................................... 4 3.2.2 LR(0)分析表 ............................................... 5

4、中间代码形式的描述及中间代码序列的结构设计 ............................. 6 5、编译系统的概要设计 ..................................................... 7

5.1、词法分析 ......................................................... 7 5.2、语法分析 ......................................................... 7 5.3、语法制导翻译 ..................................................... 9 6 、详细的算法描述 ........................................................ 9 7、软件的测试方法和测试结果 .............................................. 16

7.1测试过程及截图 .................................................... 16

7.1.1正确的测试过程 .............................................. 16 7.1.2词法分析出错 ................................................ 17 7.1.3语法分析出错 ................................................ 17 7.2、输入文件 ........................................................ 17 7.3、输出文件 ........................................................ 18 8、课程设计总结 .......................................................... 18 9、参考文献 .............................................................. 19

2

武汉理工大学《编译原理》课程设计

WHILE循环语句的翻译程序设计 (LR方法、输出三地址表示)

1、系统描述

通过设计、编制、调试一个WHILE循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。用语法制导完成语义分析,并将形成的中间代码以三地址码的形式输出。

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

2.1 文法的描述

该文法的产生式如下所示:

(1)S->while(B){E} (2)E->AE

(3)E->A

(4)A->iPA

(5)A->i (6)B->iTi (7)B->i

其中while、( 、) 、{ 、} 、P、T 、 ; 和i均为终结符,而S、A、B、E这些大写字母均为非终结符。T表示比较运算符,P表示算术运算符,i表示合法标识符。

2.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->i P A print(A= i.Val P A.Val) (5) A->i; A.Val = i;

3

搜索更多关于: 编译课程设计 的文档
编译课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0zafr7v83r6msol1o40y_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top