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