我在EBNF表示法中有这样的语法:
expr -> expr (opt1 | opt2 | opt3) expr我想将它转换为BNF以便在Bison中使用,但我在以下代码中遇到了shift/reduce错误:
expr : expr opt1 expr | expr opt2 expr | expr opt3 expr我想我在这个过程中误解了一些东西。有什么帮助吗?
谢谢
发布于 2012-04-02 22:57:20
怎么样
expr: expr optexpr expr
optexpr: opt1 | opt2 | opt3移位/减少错误是由于expr前缀重叠造成的。通过引入另一个定义,expr的解析变得明确。
https://stackoverflow.com/questions/9978625
复制相似问题