我正在尝试用 Java 为 ANTLR V3 生成的 AST 编写手动树遍历器。AST 是使用岛语法构建的,类似于ANTLR 中指定的语法:从不同的语法中调用规则。
在 AST 中,我有一个表达式列表节点,每个表达式都作为子节点。现在我需要知道分隔表达式的逗号的行号。COMMA 存在于解析中,但在 AST 重写期间被删除。
我看到一些资源(此处和此处)指向 CommonTokenStream.getTokens 的使用,但我不确定如何在处理 AST 时访问 CommonTokenStream。无论如何我可以获得用于构建 AST 的 CommonTokenStream 吗?