0
grammar Poly;
options
{
output=AST;
ASTLabelType=CommonTree;
}
poly
:
term(TLK^ term)*
;
term
:
a=ID b=INT -> ^($a $b)*
;
INT:'0'..'9';
ID:'a'..'z';
TLK:('PUSH'|'POP');
Semi : ';' {skip();};
Space : ' ' {skip();};
Это мой файл грамматики ... мой входAntlr грамматика и АСТ
PUSH t 6;POP t 7;PUSH t 8;
Но это даст выход в
(PUSH (POP (t 6) (t 7)) (t 8))
... И, оставив команду в
линия 1: 0 посторонний вход 'PUSH' ожидающий ID
Почему мой первый PUSH не включен в дерево?