电 子 科 技 大 学 实 验 报 告 学生姓名:爸爸 学 号:2222222222222 指导教师:陈昆 实验地点:科研楼A -506 实验时间:2017-04-28 一、实验项目名称:词法分析器的设计与实现 二、实验学时:4 学时 三、实验原理 1 .编译程序要求对高级语言编写的源程序进行分析和合成,生成目标程序。词法分析是对源程序进行的首次分析,实现词法分析的程序为词法分析程序或词法分析器,也称扫描器。 2 .词法分析的功能是:从左到右逐个地扫描源程序字符串,按照词法规则,识别出单词符号作为输出,对识别过程中发现的词法错误,输出相关的错误信息。 3 .识别出来的单词会采用某种中间表现形式,通常一个单词用一个二元式来表示:(单词类别,单词的属性)。 4 .状态转换图简称转化图,是有限有向图,是设计词法分析器的有效工具。 四、 实验目的 通过该实验,让同学们自己独立自主的设计词法分析器,使得同学们可以更好的掌握词法分析程序设计的原理及相应的程序设计方法,对编译这门课程也可以有更加深刻理解,同时还可以锻 炼 编程能力 。 五 、实验内 容 实现求 n ! 的极 小 语言的词法分析程序,返 回 二元式作为输出。 六、实验器材(设备、元器件) 1 . 操作系统:Windows XP 2 . 开发工具:VS2013 七、 实验步骤 (1) 在 VS2013 中创建工程; (2) 编写输入输出,初始化,错误处理等函数; (3) 建立相应的单词符号与种别对照表,根据状态转换图编写相应的处理函数; (4) 运行代码进行调试; (5) 编写测试需要的输入文件:.pas 文件; (6) 生成.dyd 文件。 八、实验数据及结果分析 编码完成后将测试程序放入 debug 文件夹中,测试程序如下图: 代码运行成功后在debu g 文件夹中会产生对应的ex e,在cmd 中运行后,会在debu g 文件夹中生成后缀为dy d 和err 的文件,打开dy d 如下图所示: 因为没有错误,所以对应的test1.err 的文件为空 可以对源程序进行词法分析,如果有错给出出错信息和所在行数,如果无错则生成二元式文件。 九、 实验结论 词法分析器的功能是:从左到右逐个的扫描源程序的字符串,按照词法规则,识别出单词符号作为输出,对识别过程中发现的词法错误,输出有关的错误信息。 十、总结及心得体会 通过本次实验,即对词法分析程序的设计,锻炼了自己的编程能力,同时加深了自己对词法分析器的理解和掌握以及对待编译这门...