在遍历Eclipse JDT生成的AST时访问源令牌流中的空格或其他格式化标记

时间:2015-03-18 10:11:57

标签: eclipse antlr abstract-syntax-tree static-analysis eclipse-jdt

除了一些静态分析之外,我还使用AST来执行某些lint样式检查,并希望了解如何访问与AST节点相邻的空白和其他此类格式化标记。我目前正在使用Eclipse JDT来生成AST。

我在Eclipse JDT中寻找机制,相当于ANTLR提供的渠道机制;它生成解析树并具有令牌流(隐藏通道和解析树通道)的单独通道或实现相同的解决方法。

1 个答案:

答案 0 :(得分:0)

AST中的每个标记都带有一个索引,描述它在输入流中的绝对位置(0..n)。当你检查它们时,你会发现它们不是连续的。那是因为隐藏的令牌丢失了。知道您可以使用令牌源通过索引获取任何令牌,包括隐藏的令牌。