《编译原理》实验指导书

2018-11-29 16:26

《编译原理》

课程实验指导书

陈志刚 编写

课程编号 320144X1 总 学 时 48 实验学时 10 课外学时 0

中南大学软件学院 2012年11月

实验1《词法分析程序设计与实现》

实验学时: 2 每组人数: 1

实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它)

实验类别: 2 (1:基础 2:专业基础 3:专业 4:其它)

一、实验目的

加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。

二、实验内容

自定义一种程序设计语言,或者选择已有的一种高级语言,编制它的词法分析程序。词法分析程序的实现可以采用任何一种编程语言和编程工具。

从输入的源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、界符。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)

三、实验要求:

1. 对单词的构词规则有明确的定义;

2. 编写的分析程序能够正确识别源程序中的单词符号;

3. 识别出的单词以<种别码,值>的形式保存在符号表中,正确设计和维护符号表; 4. 对于源程序中的词法错误,能够做出简单的错误处理,给出简单的错误提示,保

证顺利完成整个源程序的词法分析;

四、实验步骤

1. 定义目标语言的可用符号表和构词规则;

2. 依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束; 3. 对正确的单词,按照它的种别以<种别码,值>的形式保存在符号表中; 4. 对不正确的单词,做出错误处理。

五、实验报告

1.完成本项目实验后,学生应提交实验报告。

2.实验报告格式与要求见附件(供参考,可根据课程要求调整)。

1

实验2《预测分析法设计与实现》

实验学时: 2 每组人数: 1

实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 2 (1:必修 2:选修 3:其它)

实验类别: 2 (1:基础 2:专业基础 3:专业 4:其它)

一、实验目的

加深对语法分析器工作过程的理解;加强对预测分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。

二、实验内容

在实验1的基础上,用预测分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。

三、实验要求:

1. 对语法规则有明确的定义;

2. 编写的分析程序能够对实验一的结果进行正确的语法分析;

3. 对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺

利完成语法分析过程;

4. 实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作

过程,说明错误处理的实现。

四、实验步骤

1. 定义目标语言的语法规则;

2. 求解预测分析方法需要的符号集和分析表;

3. 依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结

束;

4. 对遇到的语法错误做出错误处理。

五、实验报告要求

详细说明你的程序的设计思路和实现过程。实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。

2

实验3《算符优先分析法设计与实现》

实验学时: 2 每组人数: 1

实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 2 (1:必修 2:选修 3:其它)

实验类别: 2 (1:基础 2:专业基础 3:专业 4:其它)

一、实验目的

加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。

二、实验内容

在实验1的基础上,用算符优先分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。

三、实验要求:

1. 对语法规则有明确的定义;

2. 编写的分析程序能够对实验一的结果进行正确的语法分析;

3. 对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺

利完成语法分析过程;

四、实验步骤

1. 定义目标语言的语法规则;

2. 求解预测分析方法需要的符号集和分析表;

3. 依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结

束;

4. 对遇到的语法错误做出错误处理。

五、实验报告要求

详细说明你的程序的设计思路和实现过程。实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。

3

实验4《递归下降分析法设计与实现》

实验学时: 2 每组人数: 1

实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 2 (1:必修 2:选修 3:其它)

实验类别: 2 (1:基础 2:专业基础 3:专业 4:其它)

一、实验目的

根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。

二、实验内容

程序输入/输出示例(以下仅供参考):

对下列文法,用递归下降分析法对任意输入的符号串进行分析: (1)E-TG (2)G-+TG|—TG (3)G-ε (4)T-FS (5)S-*FS|/FS (6)S-ε (7)F-(E) (8)F-i 输出的格式如下:

(1)递归下降分析程序,编制人:姓名,学号,班级 (2)输入一以#结束的符号串(包括+—*/()i#):在此位置输入符号串例如:i+i*i# (3)输出结果:i+i*i#为合法符号串

备注:输入一符号串如i+i*#,要求输出为“非法的符号串”。 注意:

1. 表达式中允许使用运算符(+-*/)、分割符(括号)、字符I,结束符#; 2. 如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好)。

三、实验要求:

1. 对语法规则有明确的定义;

2. 编写的分析程序能够对实验一的结果进行正确的语法分析;

3. 对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成

4


《编译原理》实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【2018年党建综合创新】“六个融入”构建在职党员志愿服务长效机

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: