在ANTLR 4中,是否有一种方法可以在解析器的语义谓词中访问隐藏通道(或其他一些通道)上的令牌? 我想将\ r \ n发送到隐藏频道,因为大多数情况下我不需要EOL角色。但在某些情况下,在语义谓词中,我需要查看给定令牌后是否存在EOL。
答案 0 :(得分:1)
TBH。我没有使用ANLTR 4的经验,但是在ANTLR 3中,您可以使用令牌源获取所有令牌,无论通道如何。类似的东西在版本4中也是可能的。我使用此功能恢复AST子树的原始输入(即从令牌流开始索引到结束索引)。
答案 1 :(得分:0)
是的,可以这样做。请查看this question和this question的示例。其中第一个似乎直接解决了您“有时”处理EOL的问题。