我的 C#-ish 玩具语法现在有了它的第一个 reduce-reduce 冲突!我为我感到骄傲。
然而,这对我来说似乎没问题(我为此关闭了 GLR 解析器)。问题是,虽然我知道该%expect
指令可以关闭 Bison 关于移位/减少冲突的信息,但我找不到减少/减少冲突的等价物。那么我应该用什么来让它对我的 3 班次/减少和我的 2 次减少/减少保持沉默?
来自 GNU Bison 文档,可在此处找到
对于普通的 LALR(1) 解析器,reduce/reduce 冲突更严重,应该完全消除。Bison 将始终报告这些解析器的减少/减少冲突。然而,对于 GLR 解析器,这两种冲突都是例行公事。否则,将不需要使用 GLR 解析。因此,也可以使用以下声明在 GLR 解析器中指定减少/减少冲突的预期数量:
%expect-rr n