ANTLR:令牌列表有问题
尝试ANTLR:令牌列表有问题,antlr,Antlr,尝试(荣誉+=姓名|荣誉+=数字)+,然后$honor是一个令牌列表 我拿出了$honor for(int r = 0; r < list_honor.size(); r++) honorstr = honorstr + list_honor.get(r).text; for(int r=0;r
(荣誉+=姓名|荣誉+=数字)+
,然后$honor
是一个令牌列表
我拿出了$honor
for(int r = 0; r < list_honor.size(); r++)
honorstr = honorstr + list_honor.get(r).text;
for(int r=0;r
输入:测试
输出:[@7522539:2585='test',19:11]
怎么了?我认为列表在两种备选方案中都已初始化:
rule
: ( honor+=NAME /* alternatvie 1 */
| honor+=DIGIT /* alternatvie 2 */
)+
;
试着这样做:
rule
: honor+=(NAME | DIGIT)+
;
rule
: honor+=sub_rule+
;
sub_rule
: NAME
| DIGIT
;
或者如果这不起作用,像这样:
rule
: honor+=(NAME | DIGIT)+
;
rule
: honor+=sub_rule+
;
sub_rule
: NAME
| DIGIT
;