《编译原理》实验指导书.docx
- 文档编号:27976470
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:9
- 大小:17.79KB
《编译原理》实验指导书.docx
《《编译原理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《编译原理》实验指导书.docx(9页珍藏版)》请在冰豆网上搜索。
《编译原理》实验指导书
《编译原理》实验指导书
《编译原理》
课程实验指导书
陈志刚编写
课程编号320XX4X1 总学时 48 实验学时 10 课外学时 0
中南大学软件学院20XX年11月
实验1《词法分析程序设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
1
实验类别:
2
一、实验目的
加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。
二、实验内容
自定义一种程序设计语言,或者选择已有的一种高级语言,编制它的词法分析程序。
词法分析程序的实现可以采用任何一种编程语言和编程工具。
从输入的源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、界符。
并依次输出各个单词的内部编码及单词符号自身值。
三、实验要求:
1.对单词的构词规则有明确的定义;
2.编写的分析程序能够正确识别源程序中的单词符号;
3.识别出的单词以的形式保存在符号表中,正确设计和维护符号表;4.对于源程序中的词法错误,能够做出简单的错误处理,给出简单的错误提示,保
证顺利完成整个源程序的词法分析;
四、实验步骤
1.定义目标语言的可用符号表和构词规则;
2.依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束;3.对正确的单词,按照它的种别以的形式保存在符号表中;4.对不正确的单词,做出错误处理。
五、实验报告
1.完成本项目实验后,学生应提交实验报告。
2.实验报告格式与要求见附件。
1
实验2《预测分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
加深对语法分析器工作过程的理解;加强对预测分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。
二、实验内容
在实验1的基础上,用预测分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺
利完成语法分析过程;
4.实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作
过程,说明错误处理的实现。
四、实验步骤
1.定义目标语言的语法规则;
2.求解预测分析方法需要的符号集和分析表;
3.依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结
束;
4.对遇到的语法错误做出错误处理。
五、实验报告要求
详细说明你的程序的设计思路和实现过程。
实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。
2
实验3《算符优先分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。
二、实验内容
在实验1的基础上,用算符优先分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺
利完成语法分析过程;
四、实验步骤
1.定义目标语言的语法规则;
2.求解预测分析方法需要的符号集和分析表;
3.依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结
束;
4.对遇到的语法错误做出错误处理。
五、实验报告要求
详细说明你的程序的设计思路和实现过程。
实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。
3
实验4《递归下降分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。
本次实验的目的主要是加深对递归下降分析法的理解。
二、实验内容
程序输入/输出示例:
对下列文法,用递归下降分析法对任意输入的符号串进行分析:
E-TGG-+TG|—TGG-εT-FSS-*FS|/FSS-εF-(E)F-i输出的格式如下:
(1)递归下降分析程序,编制人:
姓名,学号,班级
(2)输入一以#结束的符号串(包括+—*/i#):
在此位置输入符号串例如:
i+i*i#(3)输出结果:
i+i*i#为合法符号串
备注:
输入一符号串如i+i*#,要求输出为“非法的符号串”。
注意:
1.表达式中允许使用运算符、分割符、字符I,结束符#;2.如果遇到错误的表达式,应输出错误提示信息。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成
4
语法分析过程;
四、实验报告要求
详细说明递归下降分析法程序的工作过程,并且详细说明你的程序的设计思路和实现。
5
实验5《LR
(1)分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
构造LR
(1)分析程序,利用它进行语法分析,判断给出的符号串是否为该文法识别的句子,了解LR分析方法是严格的从左向右扫描,和自底向上的语法分析方法。
二、实验内容
程序输入/输出示例:
对下列文法,用LR分析法对任意输入的符号串进行分析:
E-E+TE-E—TT-T*FT-T/FF-(E)F-i输出的格式如下:
(1)LR分析程序,编制人:
姓名,学号,班级
(2)输入一个以#结束的符号串(包括+—*/i#):
在此位置输入符号串(3)输出过程如下:
步骤状态栈 符号栈 剩余输入串动作
10#i+i*i#移进
(4)输入符号串为非法符号串(或者为合法符号串)备注:
1.在“所用产生式”一列中如果对应有推导则写出所用产生式;如果为匹配终结符则写明
匹配的终结符;如分析异常出错则写为“分析出错”;若成功结束则写为“分析成功”。
2.在此位置输入符号串为用户自行输入的符号串。
6
注意:
1.表达式中允许使用运算符、分割符、字符i,结束符#;2.如果遇到错误的表达式,应输出错误提示信息;
3.对学有余力的同学,测试用的表达式事先放在文件中,一行存放一个表达式,同时
以分号分割。
同时将预期的输出结果写在另一个文件中,以便和输出进行对照。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成
语法分析过程。
四、实验报告要求
详细说明你的程序的设计思路和实现过程,对程序要求有必要的说明和注释。
对于你LR
(1)算法实现和理解作详细说明。
7
附件:
实验报告格式与要求
《XXXXX》实验报告 项目名称 专业班级 学 号 姓 名 实验成绩:
批阅教师:
年月日8
正文要求
实验1《XXXXX》
实验学时:
实验地点:
实验日期:
一、实验目的
指出此次实验应该达到的学习目标。
二、实验内容
指出此次实验应完成的任务。
三、实验方法
包括实验方法、原理、技术、方案等。
四、实验步骤
指出完成该实验的操作步骤。
五、实验结果
记录实验输出数据和结果。
六、实验结论
对实验数据和结果进行分析描述,给出实验取得的成果和结论。
注:
有程序的要求附上程序源代码,有图表的要有截图并有相应的文字说明和分析七、实验小结
给出本次实验的体会,如学会了什么,遇到哪些问题,如何解决这些问题,存在哪些有待改进的地方。
9
《编译原理》
课程实验指导书
陈志刚编写
课程编号320XX4X1 总学时 48 实验学时 10 课外学时 0
中南大学软件学院20XX年11月
实验1《词法分析程序设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
1
实验类别:
2
一、实验目的
加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。
二、实验内容
自定义一种程序设计语言,或者选择已有的一种高级语言,编制它的词法分析程序。
词法分析程序的实现可以采用任何一种编程语言和编程工具。
从输入的源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、界符。
并依次输出各个单词的内部编码及单词符号自身值。
三、实验要求:
1.对单词的构词规则有明确的定义;
2.编写的分析程序能够正确识别源程序中的单词符号;
3.识别出的单词以的形式保存在符号表中,正确设计和维护符号表;4.对于源程序中的词法错误,能够做出简单的错误处理,给出简单的错误提示,保
证顺利完成整个源程序的词法分析;
四、实验步骤
1.定义目标语言的可用符号表和构词规则;
2.依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束;3.对正确的单词,按照它的种别以的形式保存在符号表中;4.对不正确的单词,做出错误处理。
五、实验报告
1.完成本项目实验后,学生应提交实验报告。
2.实验报告格式与要求见附件。
1
实验2《预测分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
加深对语法分析器工作过程的理解;加强对预测分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。
二、实验内容
在实验1的基础上,用预测分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺
利完成语法分析过程;
4.实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作
过程,说明错误处理的实现。
四、实验步骤
1.定义目标语言的语法规则;
2.求解预测分析方法需要的符号集和分析表;
3.依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结
束;
4.对遇到的语法错误做出错误处理。
五、实验报告要求
详细说明你的程序的设计思路和实现过程。
实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。
2
实验3《算符优先分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。
二、实验内容
在实验1的基础上,用算符优先分析法编制语法分析程序,语法分析程序的实现可以采用任何一种编程语言和工具。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺
利完成语法分析过程;
四、实验步骤
1.定义目标语言的语法规则;
2.求解预测分析方法需要的符号集和分析表;
3.依次读入实验一的分析结果,根据预测分析的方法进行语法分析,直到源程序结
束;
4.对遇到的语法错误做出错误处理。
五、实验报告要求
详细说明你的程序的设计思路和实现过程。
实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。
3
实验4《递归下降分析法设计与实现》
实验学时:
2 每组人数:
1
实验类型:
3 实验要求:
2
实验类别:
2
一、实验目的
根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。
本次实验的目的主要是加深对递归下降分析法的理解。
二、实验内容
程序输入/输出示例:
对下列文法,用递归下降分析法对任意输入的符号串进行分析:
E-TGG-+TG|—TGG-εT-FSS-*FS|/FSS-εF-(E)F-i输出的格式如下:
(1)递归下降分析程序,编制人:
姓名,学号,班级
(2)输入一以#结束的符号串(包括+—*/i#):
在此位置输入符号串例如:
i+i*i#(3)输出结果:
i+i*i#为合法符号串
备注:
输入一符号串如i+i*#,要求输出为“非法的符号串”。
注意:
1.表达式中允许使用运算符、分割符、字符I,结束符#;2.如果遇到错误的表达式,应输出错误提示信息。
三、实验要求:
1.对语法规则有明确的定义;
2.编写的分析程序能够对实验一的结果进行正确的语法分析;
3.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成
4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 编译 原理 实验 指导书