在ANTLR4中,有没有办法在解析器的语义谓词中访问隐藏通道(或其他通道)上的标记?我希望将\r\n发送到隐藏通道,因为大多数情况下我不需要EOL字符。但在某些情况下,在语义谓词中,我需要查看给定的标记后面是否有EOL。
发布于 2015-12-30 19:50:52
Tbh。我没有使用ANLTR 4的经验,但在ANTLR 3中,您可以使用令牌源来获取所有令牌,而不管通道是什么。类似的事情在版本4中也是可能的。我使用这个特性来恢复AST子树的原始输入(即从令牌流开始索引到结束索引)。
发布于 2019-02-08 04:17:23
是的,这是可以做到的。看看this question和this question中的一些例子。其中的第一个似乎直接解决了您“有时”处理EOL的问题。
https://stackoverflow.com/questions/34522201
复制相似问题