首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代/处理在ANTLR中解析的令牌列表

迭代/处理在ANTLR中解析的令牌列表
EN

Stack Overflow用户
提问于 2011-06-08 21:56:01
回答 1查看 422关注 0票数 1

我有一条规则

代码语言:javascript
复制
((cns=IDENT '->')* IDENT | (cns=IDENT '->')* 'STOP') -> ^(PREFIX ^(EVENTS $cns*) ^(ENDS $procn? STOP?)  ) 

如果将cns=IDENT替换为'cns+=IDENT‘,则可以正常工作。在这种情况下,我如何以$cns.text身份访问cns

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-09 23:42:03

为了存储所有的标识,而不仅仅是最后一个标识,必须将cns=IDENT更改为cns+=IDENT

现在,如果您探索由ANTLR代码生成的解析器,cns是一个通用的ArrayList,其中所有存储的项都是Token类型。

现在可以使用循环遍历该列表,并且可以使用如下代码对这些项执行任何操作

代码语言:javascript
复制
$cns.get(index)

这个项目是Object类型的,可以进行强制转换(这是正确的术语吗?)为特定于Token的任务设置Token对象。

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

https://stackoverflow.com/questions/6279853

复制
相关文章

相似问题

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