《项目集族和LR0分析表的构造》.pptVIP

  • 0
  • 0
  • 约3.06千字
  • 约 43页
  • 2019-12-22 发布于天津
  • 举报
第五章 语法分析;5.3 LR分析;5.3.2 LR(0)项目集族&LR(0)分析表的构造;一、前缀、活前缀 ;规范 推导 序列;步 骤;S =S =aAcBe =aAcde =aAbcde =abbcde ;; 小结;二、构造识别文法所有活前缀的DFA ;1. LR(0)项目;补充例;2. 构造识别文法所有活前缀的DFA;例5.8 p105 ;2). 确定状态之间的转换关系;项目1 为初态 ;p106;3. LR(0)项目的分类;三、LR(0)项目集规范族的构造;;1.拓广文法;2.项目集I的闭包函数 CLOSURE(I);a;3.状态转换函数 GO(I, X);a;4.构造文法的LR(0)项目集规范族 C={I0,I1,……,In};算法;G: S→E   E→aA|bB   A→cA|d B→cB|d ;四、有效项目 *;I0: S??E E? ?aA E? ?bB;图5.7 p106;LR分析理论的一条基本定理 p108;I0: S??E E? ?aA E? ?bB;同一个活前缀,可能存在若干个项目对它都是有效的,而且告诉我们应做的事情各不相同,相互冲突。 这种冲突通过向前多看几个输入符号, 或许能够获得解决。;移进-归约冲突 一个项目集中移进和归约项目同时存在:   A→α·aβ B→γ· 归约-归约冲突 一个项目集中归约和归约项目同时存在: A→β· B→γ·;LR(0)文法;LR(0)分析表的构造;a) 若项目A→α·aβ属于Ik ,且 GO(Ik, a) = Ij 则置 ACTION[k, a] 为Sj b) 若项目A→α· 属于Ik,则对任何终结符a 和‘#’ 置ACTION[k, a] 和ACTION[k, #] 为“rj”, j为在文法G中某产生式 A→α的序号。 c) 若项目 S→S· 属于Ik , 则置ACTION[k, #]为“acc”/ 接受 d) 若GO(Ik, A)=Ij,则置GOTO[k,A] 为j e) 凡不能用上述方法填入的元素,均填上“报错标志” / “空白” ;I0: S??E E? ?aA E? ?bB;;dsfdbsy384y982ythb3oibt4oy39y409705923y09y53b2lkboi2y58wy0ehtoibwoify98wy049ywh4b3oiut89u983yf9ivh98y98sv98hv98ys9f698y9v698yv98x98tb98fyd98gyd98h98ds98nt98d8genklgb4klebtlkb5k tkeirh893y89ey698vhkrne lkhgi8eyokbnkdhf98hodf hxvy78fd678t9fdu90gys98y9shihixyv78dfhvifndovhf9f8yv9onvkobkw kjfegiudsfdbsy384y982ythb3oibt4oy39y409705923y09y53b2lkboi2y58wy0ehtoibwoify98wy049ywh4b3oiut89u983yf9ivh98y98sv98hv98ys9f698y9v698yv98x98tb98fyd98gyd98h98ds98nt98d8genklgb4klebtlkb5k tkeirh893y89ey698vhkrne lkhgi8eyokbnkdhf98hodf hxvy78fd678t9fdu90gys98y9shihixyv78dfhvifndovhf9f8yv9onvkobkw kjfegiu dsfdbsy384y982ythb3oibt4oy39y409705923y09y53b2lkboi2y58wy0ehtoibwoify98wy049ywh4b3oiut89u983yf9ivh98y98sv98hv98ys9f698y9v698yv98x98tb98fyd98gyd98h98ds98nt98d8gen;56384866666gjfdghmghm56384866666gjfdghmghm 56384866666gjfdghmghm 56384866666gjfdghmghm 56384866666gjfdghmghm 56384866666gjfdghmghm 56384866666gjf

文档评论(0)

1亿VIP精品文档

相关文档