1

使用 Java Compiler Tree API,可以使用 a 遍历 a 的叶子树TreePath及其子树TreeVisitor

是否有TreeVisitor按评估顺序访问所有“节点”的实现?例如,如果7 - 8 * 2 + 10被解析为:

        _____+__
       / \
      - 10
     / \
    7 *
       / \
      8 2

是否有一个TreeVisitor会访问BinaryTreefor8 * 2后跟BinaryTreefor 7 - (8 * 2),然后是BinaryTreefor (7 - (8 * 2)) + 10

4

1 回答 1

0

javac哪里比(langtools )的来源更好看!

在编译的分析和生成阶段,通过每个编译单元语法树进行多次传递。一个特别是 Gen 生成方法实现的字节码编译。Gen pass 的大部分显然都在com.sun.tools.javac.jvm.Gen,它实现了JCTree.Visitor

于 2012-01-21T16:32:43.987 回答