编译3词法_zss_3素材.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文档。上传文档
查看更多
* * I Ia Ib {X,5,1} {5,3,1} {5,4,1} {5,3,1} {5,2,3,1,6,Y} {5,4,1} {5,4,1} {5,3,1} {5,2,4,1,6,Y} {5,2,3,1,6,Y} {5,2,3,1,6,Y} {5,4,6,1,Y} {5,4,6,1,Y} {5,3,6,1,Y} {5,2,4,1,6,Y} {5,2,4,1,6,Y} {5,3,6,1,Y} {5,2,4,1,6,Y} {5,3,6,1,Y} {5,2,3,1,6,Y} {5,4,6,1,Y} X Y ? 5 1 4 2 3 6 a b ? ? ? a b a b a b * * I a b 0 1 2 1 3 2 2 1 5 3 3 4 4 6 5 5 6 5 6 3 4 0 1 2 3 5 4 6 a a b b b a b a a b a b a b * * FA 正规集 正规式 DFA NFA 正规文法 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 DFA 3.3.6 * * 3.3.6 确定有限自动机的化简 对DFA M的化简:寻找一个状态数比M少的DFA M’,使得L(M)=L(M’) 假设s和t为M的两个状态,称s和t等价:如果从状态s出发能读出某个字?而停止于终态,那么同样,从t出发也能读出?而停止于终态;反之亦然。 两个状态不等价,则称它们是可区别的。 状态等价 状态可区别 * * 对一个DFA M最少化的基本思想: 把M的状态集划分为一些不相交的子集,使得任何两个不同子集的状态是可区别的,而同一子集的任何两个状态是等价的。最后,从每个子集选出一个代表,同时消去其他状态。 * * 具体做法: 对M的状态集进行划分 首先,把S划分为终态和非终态两个子集,形成基本划分?。 假定到某个时候,?已含m个子集,记为?={I(1),I(2),?,I(m)},检查?中的每个子集看是否能进一步划分: 对某个I(i),令I(i)={s1,s2, ?,sk},若存在一个输入字符a使得Ia(i) 不会包含在现行?的某个子集I(j)中,则至少应把I(i)分为两个部分。 * * 例如,假定状态s1和s2经a弧分别到达t1和t2,而t1和t2属于现行?中的两个不同子集,说明有一个字?, t1读出?后到达终态,而t2读出?后不能到达终态,或者反之,那么对于字a? , s1读出a?后到达终态,而s2读出a?不能到达终态,或者反之,所以s1和s2不等价。 s1 t1 a s2 t2 a ? i ? j * * 则将I(i)分成两半,使得一半含有s1 : I(i1)={s|s?I(i)且s经a弧到达t, 且t与t1属于现行?中的同一子集} 另一半含有s2 : I(i2)=I(i)-I(i1) s1 t1 a s2 t2 a ? i ? j * * 一般地,对某个a和I(i),若Ia(i) 落入现行?中 N个不同子集,则应把I(i)划分成N个不相交的组,使得每个组J的Ja都落入的?同一子集。这样构成新的划分。 重复上述过程,直到?所含子集数不再增长。 对于上述最后划分?中的每个子集,我们选取每个子集I中的一个状态代表其他状态,则可得到化简后的DFA M’。 若I含有原来的初态,则其代表为新的初态,若I含有原来的终态,则其代表为新的终态。 * * 0 1 2 3 5 4 6 a a b b b a b a a b a b a b I(1)={0, 1, 2} I(2)={3, 4, 5, 6} Ia(1) ={1, 3} I(11) ={0, 2} I(12) ={1} I(2)={3, 4, 5, 6} I(11) ={0, 2} Ia(11) ={1} Ib(11) ={2, 5} I(111) ={0} I(112) ={2} I(12) ={1} I(2)={3, 4, 5, 6} Ia(2) ={3, 6} Ib(2) ={4, 5} 当前划分 当前划分 * * 0 1 2 3 5 4 6 a a b b b a b a a b a b a b 0 1 2 3 a a b b b a a b 化简: * * FA 正规集 正规式 DFA NFA 正规文法 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 DFA 3.3.6 * * 作业 P64- 7,8(1、2、3), 12 (确定化和化简),14 * * 例: 对下图NFA M构造其DFA. a a b b b X Y 解: 用子集法构造转换矩阵 不可识别ba ! 字符 状态 a b 0 2 1 1 -

文档评论(0)

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

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

1亿VIP精品文档

相关文档