编译原理南京南京大学自下而上语法分析.pptVIP

编译原理南京南京大学自下而上语法分析.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文档。上传文档
查看更多
对每个a(包括#)∈VT,对应两个符号fa,ga。 把所建立的符号尽可能划分为许多组: 若a b,则fa和gb就在一组; 若a b,c b,则fa和fc同组; 建立一个有向图,其结点是上一步中找出的组。 对于任何a和b,若 a b,画 fa→gb 弧,意味着f(a)g(b); 若 a b,画 gb→fa 弧,意味着f(a)g(b)。 如果上一步结果构成环,则f,g不存在; 否则 f(a)= 从fa组开始的路径和; g (b) = 从gb组开始的路径和。 例 5.8 利用上述分析表,假定输入串为 i * i + i ,描述LR分析器的工作过程。 步骤一:令NFA的初态为I,求其CLOSURE(I),得到初态项目集。即: 求CLOSURE({S’→?S}) 步骤二:对所得项目集I和文法G的每个文法符号X(包括VT和VN) 计算GO(I,X) =CLOSURE(J),得到新的项目集。 其中J={任何形如A → ?X? ?的项目| A → ? ? X ?属于I} 步骤三:重复步骤二,直至没有新的项目集出现。 经过以上步骤构造出的项目集的全体即为LR(0)项目集规范族。 ③利用LR(0)项目集规范族和GO函数画出DFA ① 相关定义: LR(0)文法:不存在以下两种冲突的文法 移进-归约冲突 归约-归约冲突 LR(0)表:由LR(0)文法得到的分析表 LR(0)分析器:使用LR(0)表的分析器 F、LR(0)分析表的构造 ②分析表的构造方法 如下: a、若项目A→?·a?属于Ik且GO(Ik,a)= Ij,a为终结符,且置 ACTION[k,a]为“把(j,a)移进栈”,简记为“sj”; b、若项目A→?·属于Ik,那么,对任何输入符号a(或者结束符#) 置ACTION[k,a]为“用产生式A→?进行归约”,简记为“rj”;其 中,假定A→?为文法G’的第j个产生式; c、若项目S’→S·属于Ik,则置ACTION[k,#]为“接受”,简记为 “acc”; d、若GO(Ik,A)=Ij,A为非终结符,则置GOTO[k,A]=j; e、分析表中凡不能使用规则1至4填入信息的空白格均置上“出错标 志”。 例3.根据例2的结果,将其NFA确定化 ,并构造该文法的 LR(0)分析表。假定这个文法的各个产生式的编号如 下: 0、S′—> E 1、E —>aA 2、E —>bB 3、A —>cA 4、A —>d 5、B —>cB 6、B —>d ①DFA构造:(部分) CLOSURE ( { S’-?E } ) = { S’-?E, E-?aA, E-?bB } 此即为DFA的状态0 令I = { S’-?E, E-?aA, E-?bB } GO( I, a ) = CLOSURE({ E-a?A }) //即I中所有圆点之后紧跟a的 = { E-a?A, A-?cA, A-?d } GO( I, b ) = CLOSURE({ E-b?B }) = { E-b?B, B-?cB, B-?d } GO( I, E ) = CLOSURE({ S’-E? }) = { S’-E? } 同上步骤,依次对各项目集进行计算(略) ② LR(0)分析表构造 0:S′→·E E →·Aa E →·bB 3:E →b·B B →c·B B →·d 2:E →a·A A →·cA A →·d 1:S′→E (DFA部分图,全图见下页) 0:S′→·E E →·Aa E →·bB 5:E→c·B B →·cB B →·d 3:E →b·B B →c·B B →·d 2:E →a·A A →·cA A →·d 4:A→c·A A →·cA A →·d 1:S′→E 10:A→d· 8:A→cA · 6:E→aA· 7:E→bB· 11

文档评论(0)

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

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

1亿VIP精品文档

相关文档