首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ANTLR4:获取监听器中特定规则的令牌列表

ANTLR4:获取监听器中特定规则的令牌列表
EN

Stack Overflow用户
提问于 2013-02-21 16:00:11
回答 1查看 5.5K关注 0票数 6

我在ANTLR4中扩展了一个侦听器,我想获得所有与解析器中的特定规则相关联的令牌,有没有什么方法可以做到这一点?

代码语言:javascript
运行
AI代码解释
复制
myConfiguration: CONFIG EQUALS parameters ;
parameters: ALPHANUMERIC+

CONFIG: 'config' ;
ALPHANUMERIC: [a-zA-Z0-9] ;

如何让监听器在输入myConfiguration解析规则时查找CONFIGEQUALS的值?

有没有我可以使用的某种for循环?

代码语言:javascript
运行
AI代码解释
复制
for( all tokens in this rule) {
    System.out.println(token.getText());
}

我可以通过解析器类看到一个令牌列表,但我找不到与当前规则相关联的令牌列表。

我这样问的原因是为了避免在监听程序和语法中重复输入我需要的标记名称。通过这样做,我可以检查是否找到了该特定规则中的每个令牌类型,而不必手动键入名称。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-21 18:33:07

这可能就是你要找的。

代码语言:javascript
运行
AI代码解释
复制
List<TerminalNode> terminalNodes = new ArrayList<TerminalNode>();
for (int i = 0; i < context.getChildCount(); i++) {
    if (context.getChild(i) instanceof TerminalNode) {
        terminalNodes.add((TerminalNode)context.getChild(i));
    }
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15006720

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文