【发布时间】:2014-09-05 11:51:51
【问题描述】:
假设我希望能够解析这样的值(每一行都是一个单独的示例):
x
(x)
((((x))))
x = x
(((x))) = x
(x) = ((x))
我已经写了这个 YACC 语法:
%%
Line: Binding | Expr
Binding: Pattern '=' Expr
Expr: Id | '(' Expr ')'
Pattern: Id | '(' Pattern ')'
Id: 'x'
但我遇到了减少/减少冲突:
$ bison example.y
example.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr]
关于如何解决它的任何提示?我正在使用 GNU bison 3.0.2
【问题讨论】:
标签: parsing grammar bison yacc