编译原理词法2[NFA、DFA的确定化和化简].ppt

编译原理词法2[NFA、DFA的确定化和化简].ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理词法2[NFA、DFA的确定化和化简]

第 3 讲;第二章《词法分析》2.3-2.5节 2.3 正规表达式与有限自动机简介 2.4 正规表达式到优先自动机的构造 2.5 词法分析器的自动生成 重点掌握 有限自动机理论 有限自动机的构造、确定化和化简;第二章 词法分析;2.3.2:有限自动机:可以自动识别单词的机器 有限自动机(Finite Automation): FA是一个状态转换图,“有限”指的是状态有限。当前状态读入一个字符后,和后继状态的转换有以下三种情形: (1)后继状态为自身 (2)后继状态只有一个 (3)后继状态有多个 如果每次转换的后继状态是唯一的,则称它为确定有限自动机(Deterministic FA) 如果每次转换的后继状态不是唯一的,则称它为非确定有限自动机(Nondeterministic FA);2.3.2:有限自动机 1、确定有限自动机(DFA): DFA是一个五元组,Md= (S, ∑, f, s0 , Z) ,其中: (1) S是一个有限状态集合,它的每个元素称为一个状态 (2) ∑是一个有穷字母表,它的每个元素称为一个输入字符 f是一个从S×∑至S的单值映射,也叫状态转移函数 s0∈S 是唯一的初态 是一个终态集 ;2.3.2:有限自动机 1、确定有限自动机(例2.4): 假定DFA Md =({s0, s1, s2},{a,b}, f , s0 ,{s2} ),状态转移函数: f(s0, a) = s1 f(s0, b) = s2 f(s1, a) = s1 f(s1, b) = s2 f(s2, a) = s2 f(s2, b) = s1 ;2.3.2:有限自动机 2、非确定有限自动机(NFA): NFA是一个五元组,Md= (S, ∑, f, Q, Z) ,其中: (1) S是一个有限状态集合,它的每个元素称为一个状态 (2) ∑是一个有穷字母表,它的每个元素称为一个输入字符 (3) f是一个从S×∑*至S的多值映射,也叫状态转移函数 (4) Q∈S 是非空初态集 (5) 是一个终态集 NFA相比于DFA的特征: 若干个初始状态 (2) f多值映射 (3) 允许接收字和空字符ε ;2.3.2:有限自动机 2、非确定有限自动机(例2.5): 假定NFA Mn =({s0, s1, s2},{a,b}, f , {s0 ,s2},{s2}),状态转移函数: f(s0, a) ={s2 } f(s0, b) ={s0,s2 } f(s1, a) = Ф f(s1, b) ={s2 } f(s2, a) = Ф f(s2, b) ={ s1 } ;2.3.2:有限自动机(识别的语言) 对于一个自动机FA 而言,如果存在一条从初始状态到终止状态的通路,通路上有向边所识别的字符依次连接所得到的字符串为α, 则称α可以为FA 所接受或者α为FA 所识别 FA 所能识别的字符串集为FA 所识别的语言,记为L(M) FA的等价:对于任意两个FA M和 FA M’, 如果L(M)=L(M’), 则称M和M’等价 对于任意一个NFA M,一定存在一个DFA M’与其等价 ;2.3 课堂例题;第二章 词法分析;需要了解的等价性: 1.如果R是字母表Σ上的一个正规式,则必然存在一个NFA M,使得L(M)=L(R); 2.对于任意一个NFA M,一定存在一个DFA M’与其等价 ,即L(M)=L(M’); 从正规式开始构造DFA的过程有以下几个步骤: 1.由正规式构造NFA; 2.由NFA构造与之等价的DFA(确定化) 3.DFA的化简 ;2.4.1:由正规式构造等价的NFA 1、对于给定的正规式R,将其表示成 称为“拓广转换图”其中X为初始状态,Y为终止状态 2、对正规式中的三种运算,分别采用如下的对应转换规则 ;2.4 正规表达式到有限自动机的构造;2.4.2:NFA的确定化(相关概念) NFA的确定化:构造一个和NFA等价的DFA 状态集合I的ε_闭包 设I是FA M的状态子集,则以下状态属于ε_CLOSURE(I) : (1) 若si∈I,则si∈ ε_CLOSURE(I) ; (2) 若si∈I,则对从si出发经过任意条ε通路所能到达的 状态sj,都

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档