内容发布更新时间 : 2024/12/23 21:50:18星期一 下面是文章的全部内容请认真阅读。
(2) 在文法G[S]中引入一个新的开始符号S′,且将S′→S作为第0个产生式添加到文法G中,从而得到G的拓广文法G′[S′]:
0.S′→S 1.S→aSa 2.S→a
文法G[S]的LR(1)项目集及DFA如答案图5-9-(2)所示。
I0: S’→·S , #S→·aSa, #S→·a , #aI2: S→a·Sa , #S→a·, #S→·aSa, aS→·a , aSI3: S→aS·a , #SI1: S’→S ·, #aI5: S→a·Sa , aS→a·, aS→·aSa, aS→·a , aaSI6: S→aS·a , aaaI4: S→aSa·, #I7: S→aSa·, a答案图5-9-(2) 文法G[S]的LR(1)项目集及DFA
文法G[S]的LR(1)分析表如答案表5-9-(2)所示。因为分析表中含有多重定义的元素ACTION[I5 ,a]= r2 ,s5 ,所以文法G[S]不是LR(1)文法。
答案表5-9-(2) 文法G[S]的LR(1)分析表
ACTION 状态 a 0 1 s2 # acc S 1 GOTO 2 3 4 5 6 7
s5 s4 r2 ,s5 s7 r1 r2 3 6 r1