不确定这个LR(1)语法是否有转移/减少冲突

时间:2015-03-10 23:13:13

标签: parsing compiler-construction programming-languages grammar lr

我试图解决关于LR(1)语法的问题:

S->AA 
A->Aa
A-> b

我在第4州陷入困境:

S-> AA. ,$
A-> A.a ,$
A->.Aa ,$
A->.a ,$
如果我认为这个语法不是LR(1)和SLR(1),那么

aA会转移到其他状态并且A会被缩减到同一状态?

1 个答案:

答案 0 :(得分:1)

您需要检查shift-reduce(SR)或reduce-reduce(RR)问题

在你提到的状态4中,只有一个减少条目S-> AA., $,因此存在无RR 问题。检查SR:

对于SLR(1),对于LR(1)和跟随(S)S-> AA.,$$的条目减少$

仅检查终端条目而不是变量。变量条目在表格的 GOTO 部分中进行,而班次条目在表格的 ACTION 部分中进行。在SLR(1)和LR(1)的情况下,Shift仅在终端a处。

因此,在您提供的状态下没有问题(SR和RR都没有)。