【发布时间】:2009-12-28 04:38:40
【问题描述】:
据我所知,将 Java 源代码解析为 AST(抽象语法树)的唯一方法是使用 Java Compiler Tree API: com.sun.source.tree
我有两个问题:
- 哪些 JDK 支持 com.sun.source.tree?
- 是否有适用于所有 JDK 的便携式替代品?
【问题讨论】:
-
如果我没记错的话,Eclipse 使用不同版本的 Java 模型和自己的解析器,并且可能有一种方法可以将其重用于一般解析。
-
第一个问题中的“支持”是什么意思?您是否在询问哪些供应商的 Java 版本包含 com.sun.source.tree 包?我想只有Sun's这样做。如果你想用另一个 JDK(比如 IBM 的)解析源代码,那么可能需要一个独立的解析器库。
-
@Brett,我知道 com.sun.source.tree 只在 JDK6 中引入。我想知道是否所有非 Sun JDK 都支持这个 API。
-
com.sun 不可移植。它可能存在于其他 JDK 中,但不要指望它。
标签: java parsing compiler-construction