0

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

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

我在以下情况下陷入状态 4:

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

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

4

1 回答 1

1

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

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

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

Shift 条目只检查终端而不是变量。变量条目在表格的GOTO部分进行,而移位条目在表格的ACTION部分进行。移位仅在aSLR(1) 和 LR(1) 的情况下位于终端。

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

于 2015-03-13T05:16:01.747 回答