【问题标题】:Is there a TreeVisitor for visiting expression trees in evaluation order?是否有用于按评估顺序访问表达式树的 TreeVisitor?
【发布时间】:2012-01-20 21:32:48
【问题描述】:

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

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

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

是否有一个TreeVisitor 将访问BinaryTree 用于8 * 2,然后是BinaryTree 用于7 - (8 * 2),然后是BinaryTree 用于(7 - (8 * 2)) + 10

【问题讨论】:

    标签: java expression-trees visitor-pattern java-compiler-api


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 1970-01-01
      • 2016-01-10
      相关资源
      最近更新 更多