编译原理chapter7LR精选.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 LR分析;语法分析;自下而上的语法分析 (Bottom-up Parsing);7.1 LR分析概述;7.1 LR分析概述;7.1 LR分析概述;7.1 LR分析概述 分析器的总体结构;7.1 LR分析概述;7.1 LR分析概述;对输入串abbcde#的LR分析过程:;对输入串abbcde#的LR分析过程:; 1) E – E + T 2) E – T 3) T – (E) 4) T – i 对输入串i+(i)#进行分析;对输入串i+(i)#进行分析;7.2 LR(0)分析;7.2 LR(0)分析;;活前缀的形式定义;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析;7.2 LR(0)分析; 7.2 LR(0)分析;7.2 LR(0)分析;构造识别文法所有活前缀的NFA 1.列出文法的所有LR(0)项目,每个项目作为一个状态,S’-.S对应初态。 2. 若状态i为X?X1 … Xi-1.Xi … Xn ,状态j为X?X1 … Xi-1Xi .Xi+1 … Xn , 则从状态i画一条标志为Xi的有向边到状态j; 3. 若状态i为X?? .A? ,A为非终结符,则从状态i画一条?边到所有状态A?.?。 把识别文法所有活前缀的NFA确定化;文法G(S?) :S?→E E→aA|bB A→cA|d B→cB|d 该文法的项目有: 1. S?→·E 2. S?→E· 3. E→·aA 4. E→a·A 5. E→aA· 6. A→·cA 7. A→c·A 8. A→cA· 9. A→·d 10. A→d· 11. E→·bB 12. E→b·B 13. E→bB· 14. B→·cB 15. B→c·B 16. B→cB· 17. B→·d 18. B→d·;识别活前缀的NFA;识别活前缀的DFA (与P129-130方法1结果相吻合);7.2 LR(0)分析 构造识别文法活前缀的DFA-方法3;7.2 LR(0)分析 构造识别文法活前缀的DFA-方法3;假定I是文法G?的任一项目集,定义和构造I的闭包CLOSURE(I)如下: 1. I的任何项目都属于CLOSURE(I); 2. 若A→?·B?属于CLOSURE(I),那么,对任何关于B的产生式B→?,项目B→·?也属于CLOSURE(I); 3. 重复执行上述两步骤直至CLOSURE(I) 不再增大为止。;状态转换函数GO:I是一个项目集,X是一个文法符号,函数GO(I,X)定义为: GO(I,X)=CLOSURE(J) 其中 J={任何形如A→?X·?的项目| A→? · X?属于I}。 直观上说,若I是识别某个活前缀 ? 的项目集,那么,GO(I,X)便是识别 ?X 的项目集。;构造文法G的拓广文法G?的LR(0)项目集规范族算法: PROCEDURE ITEMSETS(G?); BEGIN C:={CLOSURE({S??·S})}; REPEAT FOR C中每个项目集I和G?的每个符号X DO IF GO(I,X)非空且不属于C THEN 把GO(I,X)放入C族中; UNTIL C 不再增大 END 转换函数GO把项目集连接成一个DFA转换图.;文法G(S?) S?→E E→aA|bB A→cA|d B→cB|d I0={S?→·E, E→·aA, E→·bB} GO(I0, E)= closure(J)=closure({S’→E·}) = {S’→E·} = I1 GO(I0, a)= closure(J)=closure({E→a·A}) ={ E→a·A, A→·cA, A→·d} )=I2 GO(I0, b)= closure(J)=closure ({E →b.B})

文档评论(0)

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

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

1亿VIP精品文档

相关文档