除了一些静态分析之外,我还使用AST来执行某些lint样式检查,并希望了解如何访问与AST节点相邻的空白和其他此类格式化标记。我目前正在使用Eclipse JDT来生成AST。
我在Eclipse JDT中寻找机制,相当于ANTLR提供的渠道机制;它生成解析树并具有令牌流(隐藏通道和解析树通道)的单独通道或实现相同的解决方法。
答案 0 :(得分:0)
AST中的每个标记都带有一个索引,描述它在输入流中的绝对位置(0..n)。当你检查它们时,你会发现它们不是连续的。那是因为隐藏的令牌丢失了。知道您可以使用令牌源通过索引获取任何令牌,包括隐藏的令牌。