第三章-词法分析资料.ppt

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

* 子集法由转换系统构造确定有穷自动机DFA实例 第三章 词法分析 设有正规式e为(a|b)*(aa|bb)(a|b)*试构造一个确定有穷自动机(DFA)M,使得 L(M)=L(e) 已知此正规式的转换系统如下图。它的状态集K={S, 1, 2, 3, 4, 5, 6, Z},其中S为初始状态,Z为终止状态 。Σ={a, b},所以 ①构造一张表,共3列,分别为I,Ia,Ib; ②求ε—CLOSURE(S), ε—CLOSURE(S)={S,5,1},将{S,5,1} 填到表格的第一行第一列; ③令I={S,5,1},求Ia,Ib(分别为{5,3,1}和{5,4,1})并填入表格的第一行Ia、Ib列; S Z 5 6 1 2 ε ε ε ε b b 3 4 a b a b a a * 子集法由转换系统构造确定有穷自动机DFA实例 第三章 词法分析 ④检查上一步Ia, Ib两个子集是否在I列中出现,将未出现的Ia或Ib作为 表格第二或第三行I列的值,类似步骤(3)求第二行的Ia, Ib的值。再检查,再求第三行的Ia,Ib的值。直到所有I的Ia, Ib都已求,并且没有新的状态子集加入第一列为止。(参见下表) I Ia Ib {S,5,1} {5,3,1} {5,4,1} {5,3,1} {5,3,1,2,6,Z} {5,4,1} {5,4,1} {5,3,1} {5,4,1,2,6,Z} {5,3,1,2,6,Z} {5,3,1,2,6,Z} {5,4,1,6,Z} {5,4,1,6,Z} {5,3,1,6,Z} {5,4,1,2,6,Z} {5,4,1,2,6,Z} {5,3,1,6,Z} {5,4,1,2,6,Z} {5,3,1,6,Z} {5,3,1,2,6,Z} {5,4,1,6,Z} * 子集法由转换系统构造确定有穷自动机DFA实例 第三章 词法分析 ⑤将I中各子集DFA中一状态并给予重命名。(参见下表) 字符 a b 状态 0 1 2 1 3 2 2 1 5 3 3 4 4 6 5 5 6 5 6 3 4 * 子集法由转换系统构造确定有穷自动机DFA实例 第三章 词法分析 ⑥ 确定DFA的初态为重命名后的状态0(重命名前为{S,5,1}含原初态S),终态为3,4,5,6(它们在重命名前都含原终态Z) 下图是DFA的状态转换图 0 1 2 3 a b a b 4 5 6 a a a a a b b b * 子集法由转换系统构造确定有穷自动机DFA步骤 第三章 词法分析 ①构造一张表,它共有|Σ|+1列,第一列为状态子集I,然后对每个a∈Σ分别设一列Ia; ②第一行第一列的状态子集I为ε—CLOSURE(S)。其S为初始状态; ③为第一列中的I和每个a∈Σ,求Ia,并记入相应Ia列,如果它不同于第一列中已有状态子集I,则将它列入第一列中; ④重复③,直到对每个I及a∈Σ均已求得Ia,并且没有新的状态子集加入第一列时为止; 上述过程在有限步后必可终止,因为状态子集个数是有限的。 ⑤ 将第一列中每个状态子集作为一个新状态,并重新命名,把每个Ia看作是相应输入符号,把其余的状态子集随第一列中的状态子集做相应的重命名,作为状态转换函数值,这样一个表就是相应的确定有穷自动机DFA的

文档评论(0)

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

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

1亿VIP精品文档

相关文档