я использую ANTLR (3.2) для разбора довольно простой грамматики. К сожалению, столкнулся с небольшой проблемой. Возьмите следующее правило:
exp
: NUM
| '(' expression OPERATOR expression ')' -> expression+
| '(' (MINUS | '!') expression ')' -> expression
;
ОПЕРАТОР содержит тот же знак минус ('-'), что и МИНУС. Теперь ANTLR, похоже, не может справиться с этими двумя правилами. Если я удаляю любой из них, все работает нормально.
Есть идеи?