编译原理试验指导书_第1页
编译原理试验指导书_第2页
编译原理试验指导书_第3页
编译原理试验指导书_第4页
编译原理试验指导书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理实验指导书编译原理课程实验指导书陈志刚编写课程编号 320XX4X1 总学时 48 实验学时 10 课外学时 0中南大学软件学院 20XX年11月实验1词法分析程序设计与实现实验学时:2每组人数:1实验类型:3实验要求:1实验类别:2、实验目的加深对词法分析器的工作过程的理解;加强对词法分析 方法的掌握;能够采用一种编程语言实现简单的词法分析程 序;能够使用自己编写的分析程序对简单的程序段进行词法 分析。二、实验内容自定义一种程序设计语言,或者选择已有的一种高级语 言,编制它的词法分析程序。词法分析程序的实现可以采用 任何一种编程语言和编程工具。从输入的源程序中,识别出各个具有独立意义

2、的单词, 即关键字、标识符、常数、运算符、界符。并依次输出各个 单词的内部编码及单词符号自身值。三、实验要求:1. 对单词的构词规则有明确的定义;2. 编写的分析程序能够正确识别源程序中的单词符 号;3. 识别出的单词以的形式保存在符号表中,正确设计 和维护符号表;4.对于源程序中的词法错误,能够做出简 单的错误处理,给出简单的错误提示,保证顺利完成整个源程序的词法分析;四、实验步骤1. 定义目标语言的可用符号表和构词规则;2. 依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束; 3.对正确的单词,按照它的种别以 的形式保存在符号表中; 4.对不正确的单词,做出错误处 理。五、实

3、验报告1. 完成本项目实验后,学生应提交实验报告。2. 实验报告格式与要求见附件。1实验2预测分析法设计与实现实验学时:2 每组人数:1实验类型:3实验要求:2实验类别:2一、实验目的加深对语法分析器工作过程的理解;加强对预测分析法 实现语法分析程序的掌握;能够采用一种编程语言实现简单 的语法分析程序;能够使用自己编写的分析程序对简单的程 序段进行语法翻译。二、实验内容在实验1的基础上,用预测分析法编制语法分析程序, 语法分析程序的实现可以采用任何一种编程语言和工具。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语 法分析;3. 对于遇到的语法错误

4、,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成语法分析过程;4. 实验报告要求用文法的形式对语法定义做出详细说 明,说明语法分析程序的工作过程,说明错误处理的实现。四、实验步骤1. 定义目标语言的语法规则;2. 求解预测分析方法需要的符号集和分析表;3. 依次读入实验一的分析结果,根据预测分析的方法 进行语法分析,直到源程序结束;4. 对遇到的语法错误做出错误处理。五、实验报告要求详细说明你的程序的设计思路和实现过程。实验报告要 求用文法的形式对语法定义做出详细说明,说明语法分析程 序的工作过程,说明错误处理的实现。2实验3算符优先分析法设计与实现实验学时:2每组人数:1实验类型

5、:3实验要求:2实验类别:2、实验目的加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现 简单的语法分析程序;能够使用自己编写的分析程序对简单 的程序段进行语法翻译。二、实验内容在实验1的基础上,用算符优先分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工 具。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语 法分析;3. 对于遇到的语法错误,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成语法分析过程;四、实验步骤1. 定义目标语言的语法规则;2. 求解预测分析方法需

6、要的符号集和分析表;3. 依次读入实验一的分析结果,根据预测分析的方法 进行语法分析,直到源程序结束;4. 对遇到的语法错误做出错误处理。五、实验报告要求详细说明你的程序的设计思路和实现过程。实验报告要 求用文法的形式对语法定义做出详细说明,说明语法分析程 序的工作过程,说明错误处理的实现。3实验4递归下降分析法设计与实现实验学时:2 每组人数:1实验类型: 3实验要求:2实验类别:2一、实验目的根据某一文法编制调试递归下降分析程序,以便对任意 输入的符号串进行分析。本次实验的目的主要是加深对递归 下降分析法的理解。二、实验内容程序输入/输出示例:对下列文法,用递归下降分析法对任意输入的符号串

7、进行分析: E-TG G-+TG| TG G- & T-FS S-*FS|/FS S-&F-(E) F-i输出的格式如下:(1)递归下降分析程序,编制人:姓名,学号,班级(2) 输入一以#结束的符号串(包括+ */i#):在此位置输入符号 串例如:i+i*i# (3) 输出结果:i+i*i#为合法符号串备注:输入一符号串如i+i*#,要求输出为“非法的符号 串”。注意:1. 表达式中允许使用运算符、分割符、字符 I,结束符 #;2.如果遇到错误的表达式,应输出错误提示信息。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语法分析;3.

8、 对于遇到的语法错误,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成4语法分析过程;四、实验报告要求详细说明递归下降分析法程序的工作过程,并且详细说 明你的程序的设计思路和实现。5实验5LR(1)分析法设计与实现实验学时:2每组人数:1实验类型:3实验要求:2实验类别:2、实验目的构造LR(1)分析程序,利用它进行语法分析,判断给出 的符号串是否为该文法识别的句子,了解LR分析方法是严格的从左向右扫描,和自底向上的语法分析方法。二、实验内容程序输入/输出示例:对下列文法,用LR分析法对任意输入的符号串进行分析: E-E+T E-E T T-T*F T-T/F F-(E) F-i输出

9、的格式如下:(1)LR分析程序,编制人:姓名,学号,班级(2)输入 一个以#结束的符号串(包括+ */i#):在此位置输入符号串(3)输出过程如下:步骤状态栈 符号栈剩余输入串动作1 0 # i+i*i# 移进(4)输入符号串为非法符号串(或者为合法符号串)备注:1. 在“所用产生式”一列中如果对应有推导则写出所 用产生式;如果为匹配终结符则写明匹配的终结符;如分析异常出错则写为“分析出错”; 若成功结束则写为“分析成功”。2.在此位置输入符号串为用户自行输入的符号串。61. 表达式中允许使用运算符、分割符、字符 i,结束符#;2.如果遇到错误的表达式,应输出错误提示信息;3. 对学有余力的同

10、学,测试用的表达式事先放在文件中,一行存放一个表达式,同时以分号分割。同时将预期的输出结果写在另一个文件中,以便和输出进行对照。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语法分析;3. 对于遇到的语法错误,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成语法分析过程。四、实验报告要求详细说明你的程序的设计思路和实现过程,对程序要求 有必要的说明和注释。对于你LR(1)算法实现和理解作详细说明。7附件:实验报告格式与要求XXXXX 实验报告 项目名称 专业班级 学 号 姓 名 实验成绩: 批阅教师:年 月日8正文要求实验1XXXXX实验

11、学时:实验地点:实验日期:一、实验目的指出此次实验应该达到的学习目标。二、实验内容指出此次实验应完成的任务。三、实验方法包括实验方法、原理、技术、方案等。四、实验步骤指出完成该实验的操作步骤。五、实验结果记录实验输出数据和结果。六、实验结论对实验数据和结果进行分析描述,给出实验取得的成果 和结论。注:有程序的要求附上程序源代码,有图表的要有截图 并有相应的文字说明和分析七、实验小结给出本次实验的体会,如学会了什么,遇到哪些问题, 如何解决这些问题,存在哪些有待改进的地方。9编译原理课程实验指导书陈志刚编写课程编号 320XX4X1 总学时 48 实验学时 10 课外学时 0中南大学软件学院 2

12、0XX年11月 实验1词法分析程序设计与实现实验学时:2每组人数:1实验类型:3实验要求:1实验类别:2、实验目的加深对词法分析器的工作过程的理解;加强对词法分析 方法的掌握;能够采用一种编程语言实现简单的词法分析程 序;能够使用自己编写的分析程序对简单的程序段进行词法 分析。二、实验内容自定义一种程序设计语言,或者选择已有的一种高级语 言,编制它的词法分析程序。词法分析程序的实现可以采用 任何一种编程语言和编程工具。从输入的源程序中,识别出各个具有独立意义的单词, 即关键字、标识符、常数、运算符、界符。并依次输出各个 单词的内部编码及单词符号自身值。三、实验要求:1. 对单词的构词规则有明确

13、的定义;2. 编写的分析程序能够正确识别源程序中的单词符 号;3. 识别出的单词以的形式保存在符号表中,正确设计 和维护符号表;4.对于源程序中的词法错误,能够做出简 单的错误处理,给出简单的错误提示,保证顺利完成整个源程序的词法分析;四、实验步骤1. 定义目标语言的可用符号表和构词规则;2. 依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束; 3.对正确的单词,按照它的种别以 的形式保存在符号表中; 4.对不正确的单词,做出错误处 理。五、实验报告1. 完成本项目实验后,学生应提交实验报告。2. 实验报告格式与要求见附件。1实验2预测分析法设计与实现实验学时:2每组人数:1实验

14、类型:3实验要求:2实验类别:2、实验目的加深对语法分析器工作过程的理解;加强对预测分析法 实现语法分析程序的掌握;能够采用一种编程语言实现简单 的语法分析程序;能够使用自己编写的分析程序对简单的程 序段进行语法翻译。二、实验内容在实验1的基础上,用预测分析法编制语法分析程序, 语法分析程序的实现可以采用任何一种编程语言和工具。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语 法分析;3. 对于遇到的语法错误,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成语法分析过程;4. 实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程

15、序的工作过程,说明错误处理的实现。四、实验步骤1. 定义目标语言的语法规则;2. 求解预测分析方法需要的符号集和分析表;3. 依次读入实验一的分析结果,根据预测分析的方法 进行语法分析,直到源程序结束;4. 对遇到的语法错误做出错误处理。五、实验报告要求详细说明你的程序的设计思路和实现过程。实验报告要 求用文法的形式对语法定义做出详细说明,说明语法分析程 序的工作过程,说明错误处理的实现。2实验3算符优先分析法设计与实现实验学时:2每组人数:1实验类型:3实验要求:2实验类别:2、实验目的加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现 简单

16、的语法分析程序;能够使用自己编写的分析程序对简单 的程序段进行语法翻译。二、实验内容在实验1的基础上,用算符优先分析法编制语法分析程 序,语法分析程序的实现可以采用任何一种编程语言和工 具。三、实验要求:1. 对语法规则有明确的定义;2. 编写的分析程序能够对实验一的结果进行正确的语 法分析;3. 对于遇到的语法错误,能够做出简单的错误处理, 给出简单的错误提示,保证顺利完成语法分析过程;四、实验步骤1. 定义目标语言的语法规则;2. 求解预测分析方法需要的符号集和分析表;3. 依次读入实验一的分析结果,根据预测分析的方法 进行语法分析,直到源程序结束;4. 对遇到的语法错误做出错误处理。五、实验报告要求详细说明你的程序的设计思路和实现过程。实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。3实验4递归下降分析法设计与实现实验学时:2每组人数:1实验类型:3实验要求:2实验类别:2、实验目的根据某一文法编制调试递归下降分析程序,以便对任意 输入的符号串进行分析。本次实验的目的主要是加深对递归 下降分析法的理解。二、实验内容程序输入/输出示例:对下列文法,用递归下降分析法对任意输入的符号串进行分析: E-TG G-+TG| TG G- & T-FS S-*FS|/FS S- F-(E) F-i输出的格式如下:(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论