【发布时间】:2017-02-11 05:21:30
【问题描述】:
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();};
这是我的语法文件...我的输入是
PUSH t 6;POP t 7;PUSH t 8;
但它给出的输出为
(PUSH (POP (t 6) (t 7)) (t 8))
...并留下一个命令
第 1:0 行无关输入 'PUSH' 期望 ID
为什么我的第一个 PUSH 没有包含在树中?
【问题讨论】:
标签: antlr