不确定这个 LR(1) 文法是否有 shift/reduce 冲突

Not sure if this LR(1) grammar has shift/reduce conflict

我正在尝试解决有关 LR(1) 语法的问题:

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

我卡在状态 4 时:

S-> AA. ,$
A-> A.a ,$
A->.Aa ,$
A->.a ,$

aA 转移到其他状态并且 A 在相同状态下减少我应该认为这个语法不是 LR(1) 和 SLR(1) 因为这场冲突?

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

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

LR(1) 的 S-> AA.,$ 的减少条目将在 $ 和 SLR(1) 的 follow(S),即 $

仅检查终端而不检查变量的班次条目。变量输入是在 table 的 GOTO 部分进行的,而班次输入是在 table 的 ACTION 部分进行的。在 SLR(1 ) 和 LR(1) 的情况下,移位仅在终端 a

所以你提供的state是没有问题的(既不是SR也不是RR)。