第六七章自下而上语法分析法.PPT

第六七章自下而上语法分析法

第六~七章自下而上语法分析法 小结:使用闭包函数(CLOSURE)和转向函数(GO(I,X))构造文法G′的LR(0)项目集规范族,步骤如下:   a) 置项目S′→·S为初态集的核,然后对核求闭包,CLOSURE({S′→·S})得到初态的项目集。 b) 对初态集或其它所构造的项目集应用转换函数GO(I,X)=CLOSURE(J)求出新状态J的项目集。   c) 重复b)直到不出现新的项目为止。 把拓广文法的第一个项目{S′→·S}作为初态集的核,通过求核的闭包和转换函数,求出LR(0)项目集规范族,再由转换函数建立状态之间的连接关系得到识别活前缀的DFA。 LR(0)文法的限制:一个文法的LR(0)项目集规范族中不存在移进-归约,或归约-归约冲突时,这就是文法为LR(0)文法的限制条件。 解释如下: LR(0)项目集规范族的项目类型分为四种:   a) 移进项目b) 归约项目c) 待约项目d) 接受项目   但是一个项目集中不能有下列情况存在:   a) 移进和归约项目同时存在:   形如:A→α·aβ      B→γ·   b) 归约和归约项目同时存在。   形如:A→β·      B→γ· 由于这时面临输入符号为a时不能确定移进a还是把γ归约为B,因为LR(0)分析是不向前看

文档评论(0)

1亿VIP精品文档

相关文档