LALR(2)是否能够自然地处理其他情况(没有像LALR(1)那样的任何特殊规则)?

谢谢

最佳答案

这是模棱两可的,但这不是问题,因为行为良好的LALR解析器生成器将通过选择shift而不是reduce选项来解决歧义。这就是您想要的-“else”与前面的“if”语句匹配。因此结论是:没有问题。您只需要了解解析器生成器针对所有shift-reduce歧义做出的默认选择即可。可以使用歧义规则或“yacc”中的“%prec”运算符来覆盖此默认设置。
但这是一个更高级的话题。

10-08 19:14