实验1-词法分析(共7页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《实验1-词法分析(共7页).doc》由会员分享,可在线阅读,更多相关《实验1-词法分析(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上河南工业大学实验报告课程名称 编译原理 _ 实验项目 实验一 词法分析院 系_信息科学与工程学院_ 专业班级 计科F1402班 姓 名 苏朋辉 学 号 1 指导老师 侯惠芳 日 期 2017.4.20 批改日期 成 绩 一. 实验目的1 深入理解有限自动机及其应用2 掌握根据语言的词法规则构造识别其单词的有限自动机的方法3基本掌握词法分析程序的开发。二. 实验内容及要求(题一)编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error
2、”,然后跳过错误部分继续显示)(具体参照实验指导中的要求)(题二)根据给出能够识别某语言中各类单词的DFA:识别的单词种类可以有:标识符、数字串、单分界符、双分界符等。构造识别单词的自动机 根据构成规则对程序语言的单词按类构造出相应的状态转换图 对各类单词的状态转换图合并,构成一个能识别语言所有单词的状态转换图。合并步骤为: (1) 将各类单词的状态转换图的初始状态合并为一个唯一的初态; (2) 化简调整状态冲突和对冲突状态重新编号; (3) 如有必要,增加出错状态。用数据中心法实现有限自动机,生成词法分析程序。 注:状态转换表法又称数据中心法,是把状态转换图看作一种数据结构(状态转换表),由
3、控制程序控制字符在其上运行,从而完成词法分析。用转换表的优点是程序短,但占存储空间多,直接转向法的优缺点正好与此相反。(题三)根据给出能够识别某语言中各类单词的DFA:根据给出能够识别某语言中各类单词的DFA:识别的单词种类可以有:标识符、数字串、单分界符、双分界符等。构造识别单词的自动机 根据构成规则对程序语言的单词按类构造出相应的状态转换图 对各类单词的状态转换图合并,构成一个能识别语言所有单词的状态转换图。合并步骤为: (1) 将各类单词的状态转换图的初始状态合并为一个唯一的初态; (2) 化简调整状态冲突和对冲突状态重新编号; (3) 如有必要,增加出错状态。用直接转向法实现有限自动机
4、,生成词法分析程序注:直接转向法又称程序中心法,是把状态转换图看成一个流程图,从状态转换图的初态开始,对它的每一个状态结点都编一段相应的程序。(题四)编制一个能够分析三种整数、标识符和主要关键字的词法分析器。实验要求1根据以下的正规式,编制正规文法,画出状态图标识符(|)*十进制整数0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*八进制整数 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*十六进制整数0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f
5、)*关键字if then else while do 2根据状态图,设计词法分析函数int scan( ),完成以下功能:1) 从键盘读入数据,分析出一个单词。2) 返回单词种别(用整数表示),3) 返回单词属性(不同的属性可以放在不同的全局变量中)。3编写测试程序,反复调用函数scan( ),输出单词种别和属性。三. 实验过程3.1 词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。本实验中,采用的是一类符号一种别码的方式。如源程序为C语言。输入如下一段:main()int a,b,c=2;a =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 词法 分析
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内