第4章 词法分析(4、5节).pptVIP

  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文档。上传文档
查看更多
第4章 词法分析(4、5节)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 二. 分割法将DFA最小化 DFA的最小化采用分割法,即将M的状态集分割成一些不相交的子集,使得任何不同子集的状态都是可区分的,而同一子集中的任何状态都是等价的。 二. 分割法将DFA最小化 具体方法: (1)把DFA的终态和非终态分开,形成具有两个子集的基本划分。 (2)对当前已划分出的子集I(1) ,I(2),…,I(n),看每一个I(i)是否能进一步分割; 例如: 如果s和t?I(i) ,若f(s,a)和f(t,a)属于不同子集,则I(i)应进一步细分,使s和t属于I(i)的不同子集; 若s有定义,而t无定义,则s和t也是可区分的,应划分在I(i)的不同子集中。 二. 分割法将DFA最小化 具体方法: (3) 重复进行(2)步中的划分,直到每个子集无法再分割。 (4) 对每个子集,选一个状态为代表,删去其余等价状态。 例如, I(i)={S1,S2,S3},删去S2和S3。原DFA M中有指向S2和S3的有向边,均改为指向S1;所有S2和S3引出的弧,均已由S1引出。 (5) 若子集中有初态,则该状态为新的初态;若子集中有终态,则该状态为新的终态。 例:将下图所示的DFA M最小化。 解:①首先将M的状态分成两个子集 P0=({1,2,3,4}, {5,6,7}) DFA M a 6 1 b b a b a b b 7 5 a a a b a 4 2 3 b ②在P0中寻找一个子集和一个输入符号,使该子集中的状态可区分。考察:{1,2,3,4} 因为 {1,2}a={6,7} ? {5,6,7} {3,4}a={1,4} ? {1,2,3,4} ③在P1中寻找一个子集和一个输入符号,使该子集的状态可区别。 对于{3,4}中: 由于 {3}a={1} {4}a={4} 所以 P2={{1,2},{3},{4},{5,6,7}} ④在P2中考察{5,6,7} , 由于 {5}a={7}, {6,7}a={4} 所以 P2={{1,2},{3},{4},{5},{6,7}} 经观察,不能再划分了。 DFA M a 6 1 b b a b a b b 7 5 a a a b a 4 2 3 b ⑤令1代表{1,2},6代表{6,7},消去2和7。把原来指向2和7的弧,指向1和6。最小化的DFA 如下图 比起原来的DFA,化简的DFA具有较少的状态,因而在计算机上实现起来更简洁。 最小化的DFA M? a 6 1 b b b a b 5 a a b a 4 3 练习. 把图确定化和最小化 0 2 3 5 4 1 b b b b b a a a a a a b 解:根据状态转换表,已知是DFA,做最小化: P0 = ({0}, {1,2,3,4,5}) ∵ {4}a={0} , {1,2,3,5}a={1,3,5} 所以 P1 = ({0}, {1,2,3,5},{4}) 因为{1,5}b={4}, {2,3}b={2,3} 所以 P2 = ({0}, {1,5}, {2,3}, {4}) P3 = ({0}, {1,5}, {2}, {3}, {4}) 1,5等价,用1代替5 0 2 3 5 4 1 b b b b b a a a a a a b 0 2 3 4 1 b b b a a a a a b b DFA A b F 0 1 2 1 1 1 4 2 1 3 3 3 2 4 0 5 5 5 4 三. 定理 定理:对于有同一接受集的FA,与之等价且具有最小状态数的DFA在同构意义下是唯一的。(不考虑状态命名) 可通过构造最小DFA,证明正则式的等价性 如:(a|b)*=(a*|b*)*=((?|a)b*)* (a|baa)*=(a*(baa)*)* 通过构造下列正则式的最小DFA,证明它们是等价的。 (1) (a | b)* (2) (a* | b*)* (3) ((? | a)b*)* 解:(1) Y X A B C a b ? ? ? ? ?

文档评论(0)

70后老哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档