第三章构造LR表课堂练习题辨析.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SLR(1)文法的弱点 SLR(1)文法描述能力有限 例: S ? V = E S ? E V ? * E V ? id E ? V I0 : S ? ? · S S ? ·V =E S ? · E V ? · * E V ? · id E ? · V I2 : S ? V · = E E ? V · V I2中第一项目使得action[2, = ] = s6 第二项目使得 action[2, = ]为按 E?V归约,因为=是 E的一个后继符。 但是,文法中实际不存在以E=…开始的右句型。 拓广文法G?的LR(0)项目集规范族为: I0: S? · S S? · V=E S? · E V? · *E V? · id E? · V I1: S?S · I2: S?V · =E E?V · I3: S?E · I4: V?* · E E? · V V? · *E V? · id I5: V?id · I6: S?V= · E E? · V V? · *E V? · id I7: V?*E · I8: E?V · I9: S?V=E · id S?? S S ? ? V=E S ? ? E V ? ? *E V ? ? id E ? ? V V ? id ? S ? V ?=E E ? V ? S? S ? I0 I1 I2 I5 S ? E ? I3 V ? *? E E ? ? V V ? ? id V ? ? * E I4 S V * id E S ? V = ? E E ? ? V V ? ? *E V ? ? id I6 = E S ? V=E ? E ? V ? V V I8 id I3 * * V ? *E ? E I7 I9 识别产生式文法活前缀的DFA I1 I0 I3 I2 I6 I9 I8 I7 I5 I4 start S R L id * = id id L L R * * R 识别产生式文法活前缀的DFA LR(1)分析练习题目 基于LR(1)项目来构造识别G?活前缀的DFA,并基于DFA构建分析表. S ? V = E S ? E V ? * E V ? id E ? V LR(1)分析练习解答过程 答: Step 1. 对原文法进行拓广 (添加产生式S-S’) S ? V = E S ? E V ? * E V ? id E ? V 0 S ? S’ 1 S ? V = E 2 S ? E 3 V ? * E 4 V ? id 5 E ? V Step 2: 构建识别(拓广)文法活前缀的DFA I0: S’-·S, $ S-·V=E, $ S-·E, $ V-·*E, =/$ V-·id, =/$ E-·V, $ I1: S’-S·, $ S I2: S-V·=E, $ E-V·, $ V E I3: S-E·, $ * I4: V-*·E, =/$ E-·V, =/$ V-·*E, =/$ V-·id, =/$ id I5: V-id·, =/$ = I6: S-V=·E, $ E-·V, $ V-·*E, $ V-·id, $ E I7: V-*E·, =/$ V I8: E-V·, =/$ * id 指向I5 E I9: S-V=E·, $ * I12 : V-*·E, $ E-·V, $ V-·*E, $ V-·id, $ I10: E-V·, $ V id I11: V-id·, $ E I13: V-*E·, $ V 指向I10 * id 指向I11 LR(1)分析练习解答过程 0 S ? S’ 1 S ? V = E 2 S ? E 3 V ? * E 4 V ? id 5 E ? V * 状态 action goto = * id $ S V E 0 s4 s5 1 2 3 1 acc 2 s6 r5 3 r2 4 s4 s5 8 7 5 r4 r4 6 s12 s11 10 9 7 r3 r3 8 r5 r5 9 r1 10 r5 11 r4 12 s12 s11 10 13 13 r3 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * *

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档