LALR(2)悬空其他

时间:2009-12-01 21:52:44

标签: parsing compiler-theory lalr

LALR(2)是否能够自然地处理悬空的情况(没有任何特殊规则,如LALR(1))?

由于

2 个答案:

答案 0 :(得分:5)

不,悬挂的其他问题是模棱两可,所以没有多少前瞻有帮助。

答案 1 :(得分:3)

这是不明确的,但是,它不是问题,因为一个表现良好的LALR解析器生成器将通过选择shift而不是reduce选项来解决模糊性。这就是你想要的 - 与其他“if”语句匹配的“else”。所以结论是:没有问题。您只需要了解解析器生成器为所有移位减少模糊度所做的默认选择。可以使用消除歧义的规则或“yacc”中的“%prec”运算符覆盖此默认值。
但这是一个更高级的话题。