证明不是 LALR(1) 的 LR(1) 文法必须只有 reduce/reduce 个冲突

Show that an LR(1) grammar that is not LALR(1) must have only reduce/reduce conflicts

谁能给我解释一下为什么不是 LALR(1) 的 LR(1) 文法必须只有 reduce/reduce 个冲突

因为如果存在 shift-reduce 冲突,它也会存在于 LR(1) 解析器中。

每本介绍 LALR 解析的教科书都很好地证明了这一点。 LALR 算法合并具有相同状态集的状态,因此合并状态中可能的移位动作与每个原始状态中的相同。此外,合并状态下的每个归约动作都至少处于一个原始状态。因此,如果合并状态中的归约动作与移位动作冲突,则它也必须与出现归约动作的原始状态中的移位动作冲突。