我正在使用 ANTLR (3.2) 来解析一些相当简单的语法。不幸的是,我遇到了一个小问题。采取以下规则:
exp
: NUM
| '(' expression OPERATOR expression ')' -> expression+
| '(' (MINUS | '!') expression ')' -> expression
;
OPERATOR 包含与用 MINUS 定义的相同的减号 ('-')。现在 ANTLR 似乎无法处理这两个规则。如果我删除任何一个,一切正常。
任何人的想法?