《编译原理》实验指导书

《编译原理》实验指导书

ID:18466657

大小:66.00 KB

页数:12页

时间:2018-09-18

《编译原理》实验指导书_第1页
《编译原理》实验指导书_第2页
《编译原理》实验指导书_第3页
《编译原理》实验指导书_第4页
《编译原理》实验指导书_第5页
资源描述:

《《编译原理》实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理实验指导书雷宇朴春慧马新娜段淑凤编石家庄铁道学院2005年3月前言编译原理是计算机科学与技术专业的一门重要的专业必修课程,又是一门对实践性要求较高的课程。上机实验是编译原理学习的重要环节。通过实验,可以使学生深化理解和灵活掌握编译系统的一般构造原理、基本设计方法和主要实现技术,培养学生设计、实现和扩充程序设计语言的基本能力,提高学生从理论到实际的设计开发软件的动手能力。本书包括了编译原理课程主要实验内容。不同层次不同需要的学校可根据本专业教学要求选择,也可自行开发实验内容。本书由雷宇、朴春慧、马新娜、段淑凤等综合编写,并得到众多师生的大力支持,在此一并感谢。由于编者水

2、平所限,时间仓促,错误及欠缺之处恳请批评指正。编者石家庄铁道学院计算机系2005.3目录实验一词法分析1实验二预测分析法4实验三LR分析法5附录1:实验报告格式6实验一词法分析一、实验目的(实验日期:2010.4.23)通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。二、实验要求编制一个读单词过程,源程序为一个文件,读取该文件,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、界符五大类。并依次输出各个单词的内部编码及单词符号自身值。单词的内部编码如下:1、保留字:i

3、f、int、for、while、do、return、break、continue;单词种别码为1;2、标识符:除保留字外的以字母开头,后跟字母、数字的字符序列;单词种别码为2;3、常数为无符号整形数;单词种别码为3;4、运算符包括:+、-、*、/、=;单词种别码为4;5、分隔符包括:,、;、{、}、(、);单词种别码为5。三、预习提示1、词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。本实验中,采用的是一类符号一种种别码的方式。2、各类单词的文法<标识符>→<字母><字母数字串>

4、<字母数字串>→<字母><字母数字串>

5、<数字><字母数字串>

6、ε<无符号整数>→<数字>

7、<数字><无符号整数><运算符>→+

8、-

9、*

10、/

11、=<界符>→,

12、;

13、(

14、)

15、{

16、}3、模块结构参照教材图2.5词法分析过程GETSYM。四、实验过程和指导51、准备(1)课本有关章节;(2)编制好程序;(3)准备多组测试数据。2、程序思路(仅供参考):在词法分析中,自文件头开始扫描源程序字符,一旦发现符合“单词”定义的源程序字符串时,将它翻译成固定长度的单词内部表示,并填入适当的信息表。经过词法分析后,源程序字符串(源程序的外部表示)被翻译成具有等长信息的单词串(源程序的内部表示),

17、并产生两个表格:常数表和标识符表,它们分别包含了源程序中的所有常数和所有标识符。(1)定义部分:定义常量、变量、数据结构。(2)初始化:从文件将源程序全部输入到字符缓冲区中。(3)取单词前:去掉多余空白。(4)取单词:利用实验一的成果读出单词的每一个字符,组成单词,分析类型。(5)显示结果。3、为了能设计好程序,注意以下事情:(1)模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。(2)写出(画出)设计方案:模块关系简图、流程图、全局变量、函数接口等。(3)编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。五、例源程序文件内容如下:main(){i

18、nta,b;a=10;b=a+20;}要求输出如下:(2,”main”)(5,”(”)(5,”)”)(5,”{“}(1,”int”)(2,”a”)(5,”,”)(2,”b”)5(5,”;”)(2,”a”)(4,”=”)(3,10)(5,”;”)(2,”b”)(4,”=”)(2,”a”)(4,”+”)(3,20)(5,”;”)(5,”)”)5实验二预测分析法一、实验目的(实验日期:2010)根据某一LL(1)文法编制调试预测分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对预测分析法的理解。二、实验要求本次实验的LL(1)文法为表达式文法:E→E+T

19、TT→T

20、*F

21、FF→i

22、(E)编写识别表达式文法的合法句子的预测分析程序,对输入的任意符号串,给出分析过程及分析结果。分析过程要求输出步骤、分析栈、剩余输入串和所用产生式。如果该符号串不是表达式文法的合法句子,要给出尽量详细的错误提示。三、实验过程1、准备(1)阅读课本有关章节;(2)初步编制好程序;(3)准备多组测试数据。2、上机调试3、思路将表达式预测分析表存到一个数组中,参照教材图5.11预测分析程序的框图编写分析程序。4、为了能设计好程序,注意以下事情:(1)模块设计:将程序分成合理的多个模块(函数),

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。