首先,给文法增加一个辅助的开始产生式S'->.S$。令T是至今看到的状态集合,E是至今已找到的(移进或转换)边集合。
初始化T为{Closure({S'->.S$})}
初始化E为空
repeat
for T中的每一个状态I
forI中的每一项A->α.Xβ
let J是Goto(I,X)
T<-T{J}
E<-E{IX-> J}
until E和T在本次迭代没有改变
但对于符号$,我们不计算GOTO(I,$),采用accept
LR(0)的归约动作集合R:
R->{}
for T中的每一个状态I
forT中的每一项A->α
R<-R∪{(I,A->α)}
本文详细介绍了LR(0)语法分析方法中解析表的构造过程,包括初始化状态集与边集、状态转移计算及归约动作集合的生成等关键步骤。
2800

被折叠的 条评论
为什么被折叠?



