编译原理及编译程序构造教学幻灯片讲义.pptVIP

编译原理及编译程序构造教学幻灯片讲义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
演示文稿演讲PPT学习教学课件医学文件教学培训课件

3.1 正规文法与有限自动机 二、有限自动机 4、NFA?DFA(NFA的确定化) 以P52 3-4为例强化理解 解: ? Q 0 1 I0={S} I1={A,C} I2={B,C} I1={A,C} I3={A,C,Z} I2={B,C} I2={B,C} I1={A,C} I4={B,C,Z} I3={A,C,Z} I3={A,C,Z} I4={B,C,Z} I4={B,C,Z} I3={A,C,Z} I4={B,C,Z} 3.1 正规文法与有限自动机 I0 I1 I2 I3 I4 0 1 0 1 0 1 0 1 0 1 3.1 正规文法与有限自动机 5.Re=DFA 两核心理论(关系定理): 定理3: ?上的NFA M所能识别的语言L(M)可以用?上的正规式Re来表示 对?上的NFA M ,可构造一个正规式?,使得L(?)=L(M) 定理4: ?上任何正规式? ,存在DFA M使得L(M)=L(?) 即:由 正规式?可以构造一个DFA M,使得L(M)=L(?) 构造步骤:Re=NFA=DFA 构造证明上述两定理 5.Re=DFA 构造的步骤: Re=NFA=DFA Re ?=DFA 基本过程: 1)由正规式? 构造一个如下仅有两个结点x,y的状态图: 2)按所引入的3条正规式分裂规则(与前者互逆)分裂? 3)重复步骤2直到每个弧上的标记是?上的一个字符或为?止 4)将所得的NFA M(因为包含?弧)进行确定化就得到DFA x y ? Re ?=DFA 1 2 ?|? 1 2 ? ? 2 ?? 1 1 2 ?* 1 2 ? ? 1‘ 1 2 ? ? 1‘ ? Re ?=DFA 例:根据正规式(a|b)*(aa|bb)(a|b)*, 构造DFA M,使之等价 解: x y (a|b)*(aa|bb)(a|b)* 1 y (a|b)* (a|b)* 2 x (aa|bb) 1 y ? 2 x aa 5 ? bb a|b ? 6 ? a|b Re ?=DFA 1 y ? 2 x a 5 ? b a ? 6 ? a b b 3 4 a b Re ?=DFA 列状态转换矩阵将NFA确定化: S a b I0={x,5,1} I1={5,3,1} I2={5,4,1} I1={5,3,1} I3={5,3,1,2,6,y} I2={5,4,1} I2={5,4,1} I1={5,3,1} I4={5,4,1,2,6,y} I3={5,3,1,2,6,y} I3={5,3,1,2,6,y} I5={5,4,1,6,y} I4={5,4,1,2,6,y} I6={5,3,1,6,y} I4={5,4,1,2,6,y} I5={5,4,1,6,y} I6={5,3,1,6,y} I4={5,4,1,2,6,y} I6={5,3,1,6,y} I3={5,3,1,2,6,y} I5={5,4,1,6,y} Re ?=DFA DFA为: I0 I1 I2 I3 I4 I6 I5 a b a a a b a b b b b b a a Re ?=DFA 最小化为: I0 I1 I2 I3 a b a a b b b a 万事大吉 3.1 正规文法与有限自动机 6、DFA的化简(最小化) 化简的原则: 化简前后接受的语言必须相同 化简的基本思想 1.将DFA M 中的状态划分为互不相交的子集,每个子集内部的状态都等价;而在不同子集间的状态均不等价。 可理解成等价类划分 2.从每个子集中任选一个状态作为代表,删除其它。 3.把那些原来射入其它等价状态的弧改为射入相应的代表状态 化简(最小化)算法 1.把状态集S划分为终态集和非终态集: ∏0={I01,I02},I01属于非终态集,I02属于终态集。 2.假定经过k次划分后: ∏k={Ik0,Ik1……Ikm}.这m个子集之间可区分,子集内部还是否可以划分? 任取一个子集Iki={s1,s2,……sk},若存在某读入字符a,使f(Iki,a)的结果不是全部包含在∏k的某个子集中,则说明Iki中有不等价的状态,还要进一步划分。 对∏k中所有子集都进行测试,以完成一次划分。 3.重复步骤2,直到所含的子集数不再增加为止。 4.对每个子集任取一状态为代表。若该子集包含原有的初态,则相应代表状态就是最小化后M的初态;同样,若该子集包含原有的终态,则相应代表状态就是最小化后M的终态。 6、DFA的化简(最小化)

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档