- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告
( 2012 -- 2013年度第 1 学期)
名 称: 编译技术课程设计B
题 目: 词法分析器设计
算符优先分析程序设计
基于算符优先分析方法的语法制导翻译程序设计
院 系: 计算机系
班 级: 计科1001
设计周数: 1周
成 绩:
日期:2013年1月11日
《编译技术》课程设计B
任 务 书
一、 目的与要求
1.词法分析器设计的目的与要求
1.1 词法分析器设计的实验目的
本实验是为计算机科学与技术专业、网络工程专业、信息安全专业的学生在学习《》1所示,单词符号中标识符由一个字母后跟多个字母、数字组成,常数由多个十进制数字组成。单词符号的内部表示,即单词的输出形式为二元式:(种别编码,单词的属性值)。
表1-1 单词符号及其内部表示
单词符号 种别编码 单词的属性值 BEGIN
IF
THEN
ELSE
END
标识符
整型常数
+
*
**
(
) 1
2
3
4
5
6
7
8
9
10
11
12 —
—
—
—
—
在名字表中的地址
十进制整数
—
—
—
—
— 2.算符优先分析程序设计的目的和要求
2.1 算符优先分析程序设计的实验目的《》”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误信息。
算符优先分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作用,本题目给出文法的目的是为了便于对语法分析结果进行验证。
(1)文法 设算符优先文法为:
说明:i为整型常数或者为标识符表示整型变量;使用中↑用**表示。
(2)优先关系表 设优先关系表如表1-2所示。
表1-2 优先关系表
+ * ↑ i ( ) # + * ↑ i ( ) # 3.基于算符优先分析方法的语法制导翻译程序设计的目的和要求
3.1 基于算符优先分析方法的语法制导翻译程序设计的实验目的《》”结尾),如果输入符号串是句子,则按照其语义进行翻译,输出等价的四元式序列(作为练习应显示输出)。
4.上机前的准备
为了充分利用上机时间,在进行编译技术上机实验前应做好各种准备工作,具体应包括:
(1)复习与上机题目有关的知识,熟悉有关定义、概念和实现算法。
(2)设计出程序流程框图和数据结构,编写出完整的源程序,进行静态检查。
(3)为所编写的程序构思一个运行、调试环境,例如,以什么方式提供输入数据、显示输出数据,如何调用(或启动)编写的程序。制定出程序调试计划和典型输入代码数据。
5.课程设计报告
课程设计完成后,按学校给定的格式和要求写出课程设计报告。
二、 主要内容
完成以下课程设计内容:
1.完成词法分析器设计,实现输入源程序字符串,每调用一次扫描器,就输出一个以内部形式表示的单词符号,输出形式为二元式:(种别编码,单词属性)
2.完成算符优先分析程序设计,掌握实现通用算符优先分析算法的方法,实现输入终结符号串(即单词符号串,以一个“”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误信息。
3.完成基于算符优先分析方法的语法制导翻译程序设计,实现输入是终结符号串(即单词符号串,以一个“”结尾),如果输入符号串是句子,则按照其语义进行翻译,输出等价的四元式序列。
三、 进度计划
序号 设计内容 完成时间 备注 1 查阅资料,编译器各部分概要设计 一天 2 词法分析器设计 一天 3 算符优先分析程序设计 一天 4 基于算符优先分析方法的语法制导翻译程序设计 一天半 5 验收交实验报告 半天 已完成的学生验收
交实验报告
四、设计成果要求
1.按进度计划和自己的能力完成课程设计内容要求,包括程序框图、源程序、调试步骤、调试方法、对运行结果的分析等。
2.总结整个课程设计,撰写出课程设计报告。
五、 考核方式
1.程序调试完成后,由指导教师在计算机上检查,验收课程设计成果,并现场答辩。
2.评阅课程设计报告。
文档评论(0)