首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ANTLR:令牌列表有问题

ANTLR:令牌列表有问题
EN

Stack Overflow用户
提问于 2014-03-13 17:40:47
回答 1查看 32关注 0票数 1

尝试(honor+=NAME|honor+=DIGIT)+,然后$honor是一个令牌列表。

我拿出了$honor的列表

代码语言:javascript
复制
for(int r = 0; r < list_honor.size(); r++) 
  honorstr = honorstr + list_honor.get(r).text; 

输入:test

输出:[@752,2539:2585='test',<6>,19:11]

怎么啦?

EN

回答 1

Stack Overflow用户

发布于 2014-03-13 18:46:52

我认为列表在两个备选方案中都是初始化的:

代码语言:javascript
复制
rule
 : ( honor+=NAME  /* alternatvie 1 */
   | honor+=DIGIT /* alternatvie 2 */
   )+
 ;

尝试如下所示:

代码语言:javascript
复制
rule
 : honor+=(NAME | DIGIT)+ 
 ;

或者,如果这不起作用,就像这样:

代码语言:javascript
复制
rule
 : honor+=sub_rule+
 ;

sub_rule
 : NAME
 | DIGIT 
 ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22374478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档