版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、源程序源程序 字符流字符流 词法词法 单元单元 词法词法 记号记号 非形式非形式 化描述化描述 形式化形式化 描述描述 正规式正规式 字母字母串串语言语言 字母表字母表 名名 字字 词法记号的识别词法记号的识别 词法记号的识别 等同于对字符串的匹配过程 这个匹配过程可以基于有限状态机来完成 简单的正则式d-a 正则式d-ab 正则式d-a|b 正规式d-a* 自动机的定义自动机的定义 正规式d-a? 字符a出现一次或者0次 练习练习 正规式d-a(a|b)* 请画出它的状态转换图 0 5 1 6 2 4 8 3 7 return(relop, LE) return(relop, NE) ret
2、urn(relop, LT) return(relop, GE) return(relop, GT) return(relop, EQ) 开始开始 = = * * other other 91011 开始开始 letterother * letter或或digit return(install_id( ) id letter (letter | digit )* 开始开始 19 12 131415161718 digit digit digit digit digit digit other . E+/ E digit other other return( install_num( ) )
3、* num digit+ (. .digit+)? (E (+ | )? digit+)? delim blank | tab | newline ws delim+ 21 22 开始开始delimother * delim 20 正规式正规式状态转换图状态转换图 识别器:是一个程序,取串x作为输入,当 x是语言的句子时,它回答“是”,否则回 答“不是”。 状态转换图(有限自动机)识别器 确定/不确定有限自动机时空权衡问题 确定有限自动机:快,空间大 12 开始开始a 0 a b b 12 开始开始a 0 a b b 12 开始开始 a 0 a b b 3 4 12 开始开始a 0 a b b
4、 a b 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b ab 678 23 45 1 9 开始开始 0 a b
5、ab 678 23 45 BD 开始开始a A a b b a b C b a 1 9 开始开始 0 a b ab 678 23 45 _不是NFA的成分.(北航2000硕士研究生入学考题) A.有穷字母表 B.初始状态集合 C.终止状态集合 D.有限状 态集合 词法分析器的输入是_. A.单词符号 B.源程序 C.语法单位 D.目标程序 正规式M1和M2 等价是指_ AM1和M2 的状态数相等. BM1和M2的有向弧条数相等. CM1和M2所表示的语言集相等. DM1和M2的有向弧条数与状态数相等. 设=0,1,则上所有以1开头,后跟至少1个010的字符 的集合对应的正规式为_. A.1(0
6、10)* B. 1(010)+ C. (010)*1 D. (010)+ 1 2.3.3 NFA到到DFA的变换(方法的变换(方法2) 子集构造法子集构造法 1、DFA的一个状态是的一个状态是NFA的一个状态集合的一个状态集合 2、读了输入、读了输入a1 a2 an后后, NFA能到达的所有状态:能到达的所有状态:s1, s2, , sk,则则 DFA到达状态到达状态s1, s2, , sk 1 2 a 开始开始 0 a b b00, 1 a 2.3 有 限 自 动 机 2.3.3 NFA到到DFA的变换的变换 子集构造法子集构造法 1、DFA的一个状态是的一个状态是NFA的一个状态集合的一个
7、状态集合 2、读了输入、读了输入a1 a2 an后后, NFA能到达的所有状态:能到达的所有状态:s1, s2, , sk,则则 DFA到达状态到达状态s1, s2, , sk 1 2 a 开始开始 0 a b b00, 1 a b 2.3 有 限 自 动 机 2.3.3 NFA到到DFA的变换的变换 子集构造法子集构造法 1、DFA的一个状态是的一个状态是NFA的一个状态集合的一个状态集合 2、读了输入、读了输入a1 a2 an后后, NFA能到达的所有状态:能到达的所有状态:s1, s2, , sk,则则 DFA到达状态到达状态s1, s2, , sk 1 2 a 开始开始 0 a b b
8、00, 1 a b a 2.3 有 限 自 动 机 2.3.3 NFA到到DFA的变换的变换 子集构造法子集构造法 1、DFA的一个状态是的一个状态是NFA的一个状态集合的一个状态集合 2、读了输入、读了输入a1 a2 an后后, NFA能到达的所有状态:能到达的所有状态:s1, s2, , sk,则则 DFA到达状态到达状态s1, s2, , sk 1 2 a 开始开始 0 a b b00, 1 a b a 0, 2 b 2.3 有 限 自 动 机 2.3.3 NFA到到DFA的变换的变换 子集构造法子集构造法 1、DFA的一个状态是的一个状态是NFA的一个状态集合的一个状态集合 2、读了输
9、入、读了输入a1 a2 an后后, NFA能到达的所有状态:能到达的所有状态:s1, s2, , sk,则则 DFA到达状态到达状态s1, s2, , sk 1 2 a 开始开始 0 a b b00, 1 a b a 0, 2 b 2.3 有 限 自 动 机 a b BD 开始开始a A a b b a b C b a 1 9 开始开始 0 a b ab 678 23 45 BD 开始开始a A a b b a b C b a 12 开始开始a 0 a b b a b 1 9 开始开始 0 a b ab 678 23 45 BD 开始开始a A a b b a b C b a 12 开始开始a
10、 0 a b b a b 1 9 开始开始 0 a b ab 678 23 45 12 开始开始a 0 a b b DFA化简的途径 根据状态是否可以区分,将状态划分成若干个 集合,每个集合内的状态之间都不可区分,而 任意两个集合中的元素都是可以互相区分的。 依据原始的DFA,在合并后的状态基础上,建 立新的状态转换关系。 BD 开始开始a A a b b a a, b C b a E b BD 开始开始a A a b b a b C b a BD 开始开始a A a b b a b C b a BD 开始开始a A a b b a b C b a BD 开始开始a A a b b a b C
11、 b a 12 开始开始a 0 a b b a b 正规式正规式状态转换图状态转换图 i 开始开始 识别正规式识别正规式 的的NFA a fif 开始开始 识别正规式识别正规式a的的NFA f i 开始开始 识别正规式识别正规式s | t的的NFA N (s) N (t) i N (s) f 开始开始 识别正规式识别正规式st 的的NFA N (t) N (s) f 开始开始 识别正规式识别正规式s* 的的NFA i 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 67
12、8 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r
13、5 r6 * )( r2r1 a | b a b 1 9 开始开始 0 a b ab 678 23 45 r9 r7 r8 r4 r3 r5 r6 * )( r2r1 a | b a b 1 2 开始开始a 0 a b b 1 9 开始开始 0 a b ab 678 23 45 0123 开始开始 4 0123 开始开始 4 0 0123 开始开始 4 1 0 0123 开始开始 4 1 0 0 0123 开始开始 4 1 0 0 1 0123 开始开始 4 1 0 0 1 0 0123 开始开始 4 1 0 0 1 0 1 0123 开始开始 4 1 0 0 1 0 1 0 0123 开始开始 4 1 0 0 1 0 1 0 1 0123 开始开始 4 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 3965-2012熔敷金属中扩散氢测定方法》
- 深度解析(2026)《GBT 3301-2023日用陶瓷器规格误差和缺陷尺寸的测定方法》
- 【 物理 】探究:浮力与哪些因素有关课件-2025-2026学年沪科版物理八年级全一册
- 2026年初中七年级上册期中综合质量检测模拟卷含答案
- 2026高一地理下册第一二单元第一次月考含答案及解析
- 《JBT 10492-2025金属氧化物避雷器用监测装置》专题研究报告
- 湖南高考:生物重点知识点大全
- 2026年消毒供应中心感染防控知识问答
- 2026年医保基金监管警示教育案例分析题库
- 2026年电力行业安全操作与职业卫生知识测试
- 2026浙江温州市瓯海区交通运输局招聘2人建设笔试备考题库及答案解析
- 2026年全国标准化知识竞赛真能力提升题库含答案详解(研优卷)
- 浙江嘉兴市2026届高三下学期二模考试政治试卷(含答案)
- 重庆第一中学校2025-2026学年八年级下学期学情自测语文试题(含答案)
- 2026年华为光技术笔测试卷及参考答案详解1套
- 14.2法治与德治相得益彰 课 件 2025-2026学年统编版 道德与法治 八年级下册
- 2026年自考00247国际法真题
- 2026年紧凑型聚变能实验装置总装调试操作手册
- 感恩母爱温暖相伴-2026年母亲节主题班会课件
- (2025年)抗菌药物合理使用培训试题附答案
- 武汉街道全要素规划设计导则
评论
0/150
提交评论