编译原理课件_语法分析_自下而上__LR(0)项目集规范族的构造.pptVIP

编译原理课件_语法分析_自下而上__LR(0)项目集规范族的构造.ppt

  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文档。上传文档
查看更多
使文法的开始符号不出现在任何产生式右部,当栈顶出现S′,则分析完成 * * * YTU COMPILER 1. 构造识别文法所有活前缀的DFA 0 2 4 5 1 3 6 8 9 7 S a A b c B e d * b G:S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ~~ 构造识别文法所有活前缀的DFA G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? 拓广文法 ~~ 构造识别文法所有活前缀的DFA 0 2 4 5 1 3 6 8 9 7 S a A b c B e d * b G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? LR(0)项目 ? LR(0)项目集 精细刻画 每个状态 I0 S→ ?S S → ?aAcBe ? LR(0)项目集规范族 ~~ 构造识别文法所有活前缀的DFA 0 2 4 5 1 3 6 8 9 7 S a A b c B e d * b G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? 状态转换函数 GO(I, X) I1 S→ S? S a I2 S→ a?AcBe A→ ?b A→ ?Ab ? 闭包函数 CLOSURE(I) I0 S→ ?S S → ?aAcBe ~~ 构造识别文法所有活前缀的DFA 0 2 4 5 1 3 6 8 9 7 S a A b c B e d * b G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? 状态转换函数 GO(I, X) ? LR(0)项目 ? LR(0)项目集 ? LR(0)项目集规范族 ? 项目集I的闭包函数 CLOSURE(I) ? 拓广文法 ? 拓广文法 Augmemted Grammar 文法G的开始符号为 S, 在G中加入 S→S 后得到文法G的拓广文法 G 注:即使原开始符号S不出现在任何产生式右部,为了统一起见也要增加该产生式。 G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? LR(0)项目定义 在文法G中每个产生式的右部适当位置添加一个圆点构成项目 对空产生式 A→ε , 仅有项目A→ ?  例: 产生式 A? XYZ 对应的项目有 A? ? XYZ A? X ? YZ A? XY ? Z A? XYZ ? 项目的含义 I1 S→ S? S a I2 S→ a?AcBe A→ ?b A→ ?Ab I0 S→ ?S S → ?aAcBe ? LR(0)项目的分类 移进项目: A→α ? aβ 待约项目: A→α ? Bβ 归约项目: A→α ? 接受项目: S→S ? ? 项目集I的闭包函数 CLOSURE(I) a) I 的项目均在 CLOSURE(I) 中。 b) 若A→α?Bβ属于CLOSURE(I), 则每一形如 B→?γ的项目也属于CLOSURE(I) c) 重复b)直到CLOSURE(I)不再扩大。 I = { S→ a?AcBe } CLOSURE(I) = { S→ a?AcBe , A → ?b , A → ?Ab } G: S→S [0] S→aAcBe [1] A→b [2] A→Ab [3] B→d [4] ? 核 Kernel Item 核 Kernel Item - 圆点不在产生式右部最左边的项目称为核 - S‘→ ?S 除外 I1 S→ S? S a I2 S→ a?AcBe A→ ?b A→ ?Ab I0 S→ ?S S → ?aAcBe ? 状态转换函数 GO(I, X) GO(I, X) = CLOSURE(J)  J = {A→αX?β| A→α?Xβ∈I } I A→α?Xβ J A→αX?β X I1 S→ S? S a I2 S→ a?AcBe A→ ?b A→ ?Ab I0 S→ ?S S → ?aAcBe G: S→E   E→aA|bB   A→cA|d B→cB|d I0: S?

文档评论(0)

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

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

1亿VIP精品文档

相关文档