ANTLR analizando MismatchedTokenException
Estoy tratando de escribir un analizador simple para un lenguaje aún más simple que estoy escribiendo. Se compone de expresiones postfix. A partir de ahora, tengo problemas con el analizador. Cuando lo ejecuto en la entrada2 2 * test >>
Recibo una MismatchedTokenException.
Además, ¿cómo haría para implementar un analizador de postfix recursivo?
Aquí está mi código:
grammar star;
options {
language=Python;
output=AST;
ASTLabelType=CommonTree;
}
tokens {DECL;}
//start
// : decl ;
//decl
// : type ID -> ^(DECL type ID)
// ;
program
: (body)+
;
body : (nested WS)*
| (var WS)*
| (get WS)*
;
var
: nested ID '>>'
;
get
: ID '<<'
;
//expressions
term
: INT
;
expr
: term (term operator)*
;
nested
: expr (expr operator)*
;
operator
: ('*' | '+' | '/' | '%' | '-')
;
ID
: ('a'..'z' | 'A'..'Z') ('a..z' | '0'..'9' | 'A'..'Z')*
;
INT
: '0'..'9'+
;
WS
: (' ' | '\n' | '\t' | '\r') {$channel=HIDDEN;}
;