编译原理实验二:词法分析程序 |
您所在的位置:网站首页 › 编写词法分析程序的讨论与分析 › 编译原理实验二:词法分析程序 |
实验目的
学习和掌握词法分析程序手工构造状态图及其代码实现方法。 实验任务 阅读已有编译器的经典词法分析源程序;用C或C++语言编写一门语言的词法分析器。 实验内容 阅读已有编译器的经典词法分析源程序。 选择一个编译器,如:TINY,其它编译器也可(需自备源代码)。阅读词法分析源程序,理解词法分析程序的手工构造方法——状态图代码化。尤其要求对相关函数与重要变量的作用与功能进行稍微详细的描述。若能加上学习心得则更好。TINY语言请参考《编译原理及实践》第2.5节(见压缩包里附带的文档)。 确定今后其他实验中要设计编译器的语言,如TINY语言,又如更复杂的C-语言(其定义在《编译原理及实践》附录A中)。也可选择其它语言,不过要有该语言的详细定义(可仿照C-语言)。一旦选定,不能更改,因为要在以后继续实现编译器的其它部分。鼓励自己定义一门语言。根据该语言的关键词和识别的词法单元以及注释等,确定关键字表,画出所有词法单元和注释对应的DFA图。仿照前面学习的词法分析器,编写选定语言的词法分析器。准备2~3个测试用例,要求包含正例和反例,测试编译结果。提示 在充分理解状态转换图代码化思想的基础上,思考不同的程序设计语言从词法角度有什么区别,可利用增量编程的思想提高编程效率。实验通过测试后,按规定时间上交源代码、测试样例、输出文件(如有输出文件)和电子版实验报告。 状态转换图 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |