estoy usando ANTLR (3.2) para analizar gramática bastante simple. Desafortunadamente, me encontré con un pequeño problema. Tome la regla follwoing:ANTLR: problema diferenciando operadores unarios y binarios (por ejemplo, signo menos)
exp
: NUM
| '(' expression OPERATOR expression ')' -> expression+
| '(' (MINUS | '!') expression ')' -> expression
;
OPERADOR contiene el mismo signo menos ('-') como se define con MENOS. Ahora ANTLR parece ser incapaz de lidiar con estas dos reglas. Si elimino cualquiera de los dos, todo funciona bien.
¿Alguna idea?
guau, gran trabajo, muchas gracias! – Christian
@Christian, de nada. –
¿Y cómo se supone que el tokenizer sabe al leer un signo menos si corresponde a un UNARIO? –