- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 一个LEX源程序包括两部分:辅助定义式和识别规则 1、辅助定义式 D1→R1 Dn→Rn 其中Ri为正规式,只允许出现∑上字符D1,…,Di-1;Di为这个正规式Ri的简名 例1.Letter→A|B|…|Z Digit →0|1|…|9 Id → Letter(Letter|Digit)* . . . * * 2.识别规则 P1{A1} . . . Pm{Am} 其中,Pi称为词形,为正规式(∑∪{D1,…,Dm}) Ai称为词形Pi的动作(程序) 显然:一个LEX源程序产生的词法分析器只能识别形如Pi的单词。 * * 二、LEX的实现 LEX编译程序的目的是把一个LEX程序改造为一个词法分析器L,这个词法分析器L将象自动机一样工作。 1.词法分析器L的工作方法 L逐个地扫描输入串的每个字符,寻找一个最大 的子串匹配某个Pi(即:当输入串已匹配某个词形 时,并不立即返回,而是沿着此道路继续前进,直 至不能前进为止,逐个字符地逆向搜索,找到第一 个逆向搜索到的匹配词形),把这个子串放入TOKEN 中,然后L调用动作子程序Ai(如果有二义,前面位置 的词形优先),当Ai工作完后,L就把所得的单词符号 (种别,内部码值)返回语法分析程序。下次调用L,接着往下分析。 * * 2.LEX程序的编译过程 (1)对每条识别规则Pi构造一个NFA Mi; (2)引入一个新的初态X,从X画ε弧到每一个NFA Mi的初态,构造出一个NFA M; (3) 把NFA M改造为DFA M’,这个DFA M’就是能识别所有形如Pi词形的词法分析器。 这样我们就可用程序实现之,即编制出词法分析程序L。 * * 实例1 编写程序,实现下述LEX源程序的功能 辅助定义:(1)digit→0|1|...|9 (2)letter→A|B|...|Z 识别规则: (1)digit(digit)* {Return(4,val)} (2)letter(letter|digit)* {Return(5.Token)} (3) * {Return(6,_)} (4) ** {Return(7,_)} * * 解: 1、各识别规则的NFA为: * * 2、加入新初态X,构成NFA M整体 * * 3、确定化为DFA M’ * * 4、写出实现其功能的程序 PROGRAM LEX(input,output) BEGIN TOKEN:=’’; getchar; CASE char OF ‘0’..’9’:[while char IN[‘0’..’9’]DO BEGIN TOKEN:=TOKEN+char; getchar END; retract; IF VAL(token,value) THEN return(4,value)]; ‘A’..’Z’:[while char IN[‘A’..’Z’,’0’..’9’]DO BEGIN TOKEN:=TOKEN+char; getchar END; retract; Return(5,token)]; ‘*’:[getchar; IF char=’*’ THEN Return(7,-) ELSE [retract;Return(6,-)] ELSE:ERROR; END{of case}; END; * * 本章小结 词法分析概况 状态转换图 确定型有穷状态自动机 非确定型有穷状态自动机 正则表达式 词法分析程序的实现 词法分析器的自动生成 * * 基本要求 了解词法分析程序的功能和实质。 明确DFA与NFA的区别,掌握把NFA变为DFA的方法; 熟练掌握把正则文法变为状态转换图以及写出有穷状态自动机的方法。 掌握词法分析程序的基本实现方法。 * * * 中南大学软件学院 陈志刚 第三章 词法分析 中南大学软件学院 陈志刚 第三章 词法分析 3.1 词法分析概述 3.2 正规文法和状态转换图 3.3 有限自动机 3.4 正规表达式和正规集 3.5 词法分析器的实现 * * 3.1 词法分析概述 一、词法分析程序的任务 二、词法分析程序的功能 三、词法分析程序的安排 四、词法分析程序的实现方式 五、词法分析程序的输出形式 * * 词法分析程序 词法
您可能关注的文档
- 玻璃幕墙节能分项工程质量技术交底卡.doc
- 2015年Mestre装饰门把手中国市场零售价.doc
- 16G与11G变化对比-梁平法.ppt
- 执业护士资格在线模拟考试需求文档【2017-8-5】-细化版.docx
- 屋面节能检验批工程质量验收表.doc
- 复件 悬挑脚手架施工方案(德润).doc
- 生物习题背诵要点(新).docx
- Scratch动画制作赛规则.docx
- 中原音韵——周德清(元).docx
- 腾讯企点服务社会化媒体下的企业待客之道.ppt
- 人教版英语九年级Unit13 We're trying to save the earthA 2a—2d课件.pptx
- 人教版英语九年级Unit12 Life is full of the unexpectedA Grammar focus 4a—4c课件.pptx
- 人教版英语九年级Unit13 We're trying to save the earthSection A 1a—1c课件.pptx
- 人教版英语九年级Unit9 I like music that I can dance toA 3a—3c课件.pptx
- 外研版2024英语七年级上册 Unit 1 Developing ideas课件.pptx
- 人教版英语九年级Unit10 You are suppoed to shake handsA 3a—3c课件.pptx
- 外研版2024英语七年级上册 Unit 2 Presenting ideas课件2.pptx
- 人教版英语九年级Unit5 What are the shirts made of_B 1a—1e课件.pptx
- 人教版英语九年级Unit10 You are suppoed to shake handsSection A 1a—2d课件.pptx
- 外研版2024英语七年级上册 Unit 2 Understanding ideas ①课件.pptx
最近下载
- 2025年6月全国大学英语CET四级真题和答案解析(全三套).pdf
- 医院污水处理方案.docx VIP
- 2020NFPA 855固定式储能系统安装标准.pdf VIP
- 大学生社会实践-流动的急救课堂智慧树知到期末考试答案2024年.docx VIP
- 精品度假酒店设计.pptx
- 2024-2025学年人教版小学六年级数学下册第三单元《圆柱的表面积和体积的计算》专项试卷及答案.docx VIP
- BB-T 0053-2023模内标签-标准图集.docx VIP
- 纪检监察笔录培训课件.pptx VIP
- 股份公司董事会向经理层授权管理办法附董事会授权事项清单.docx VIP
- 高温操作寿命HTOL及早期失效EFR计算公式.xls VIP
原创力文档


文档评论(0)