网站大量收购独家精品文档,联系QQ:2885784924

编译系统课堂练习.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正规式?正规文法 举例 例:正规式 r = 0(0|1)* ,将正规式?正规文法。 S?0 (0|1)* S?0A A?(0|1)* S?0A A?(0|1)A A?ε S?0A A?0A|1A A?ε S?0A A?0A A?1A A?ε 返回 1,2,3,4,5,6,7 Ia:6,7,1,4,7,4,4 Ib:3,3,5,6,3,1,2 {1,2,3,4} {5,6,7} {1,2} {3,4} {5} {6,7} {1,2} {3} {4} {5} {6,7} 1 3 5 2 7 4 6 a a a a a a a b b b b b b b 1 3 5 4 6 a a a a a b b b b b 举例:求最小化DFA 返回 P70 例2 举例:求FA所对应的正规式R 0 3 1 2 4 a,b a a a,b a,b b b 解: 0 3 1 2 4 a,b a a a,b a,b b b x y ε ε ε FA ? 正规式 0 2 4 a|b aa a|b a|b bb x y ε ε ε 0 a|b aa(a|b)* bb(a|b)* x y ε 则:R=(a|b)* (aa |bb)(a|b)* 0 a|b aa(a|b)* bb(a|b)* x y ε 0 a|b x y ε (aa |bb)(a|b)* x y (a|b)* (aa |bb)(a|b)* 举例:为 R=(a|b)*abb 构造NFA N,使得L(N)=L(R)。 1 3 6 ε b 2 ε a b 4 5 a b 解:对应的NFA为 NFA?DFA?最小化DFA P68 例1 正规式?FA 举例:求与文法G[S]等价的 NFA M G[S]:S→aA S→bB S→ε A→aB A→bA B→aS B→bA B→ε 右线性文法 S A B Z a a b b a ε ε b 正规文法?FA 举例 与f(A,a)=B 对应的产生式为:A→aB 对终态结点Z,增加产生式:Z→ε NFA的初态对应文法的开始符号 NFA的输入字符集对应文法的 VT FA?正规文法 G[S]: A→aB A→bD B→bC C→aA C→bD C→ε D→aB D→bD D→ε 举例:求与NFA M等价的文法G[S] A B D a b a b b b a C 例12:文法G[E]: E?E+T|T 构造预测分析表。 T?T*F|F F?i|(E) 解: (1)消除左递归: VN排列为 E,T,F 消除E一切直接左递归: E?TE’ T?T*F F?i E’?+TE’|ε T?F F?(E) 消除T的一切直接左递归: E?TE’ T?FT’ F?i E’?+TE’|ε T’?*FT’|ε F?(E) F没有左递归。 文法无左公共因子。 所以,提取左公共因子和消除左递归后的文法为: E?TE’ T?FT’ F?i E’?+TE’ T’?*FT’ F?(E) E’?ε T’?ε (2)判断改写后的文法是否为LL(1)文法: 可推导出ε的VN表: E E’ T T’ F 否 是 否 是 否 求First集: First(E)={ i , ( } First(E’)={ + , ε } First(T)={ i , ( } First(T’)={ * , ε } First(F)={ i , ( } First( TE’ )=First(T)={ i , ( } First( FT’ )=First(F)={ i , ( } 求Follow集: Follow(E)= { # , ) } Follow(E’)=Follow(E)∪Follow(E’) = { # , )} Follow(T)=(First(E’)-{ε}) ∪Follow(E’)={+, #, )} Follow(T’)= Follow(T)∪Follow(T’) = {+, #, )} Follow(F)=(First(T’)-{ε})∪Follow(T)∪Follow(T’) ={ *, +, #, ) } 求各产生式的SELECT集: SELECT(E?TE’) = First(TE’) = { i , ( } SELECT(E’?+TE’) = First(+TE’) = { + } SELECT(E’?ε ) = Follow(E’) ={ #,)} SELECT(T?FT’) = First(FT’) = { i , ( } SELECT(T’?*FT’) = First(*FT’) = { * } SEL

文档评论(0)

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

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

1亿VIP精品文档

相关文档