我正在寻找一种工具,它可以获取 .java 源代码文件、.class 或 .jar 并对其进行解析,生成 AST(抽象语法树),以便我可以使用它。我打算创建几个访客在其上运行。
Java中是否存在此类工具?.NET 中存在类似的东西,称为 Mono.Cecil(尽管截至今天,它似乎不支持访问者模式)。
谢谢
我正在寻找一种工具,它可以获取 .java 源代码文件、.class 或 .jar 并对其进行解析,生成 AST(抽象语法树),以便我可以使用它。我打算创建几个访客在其上运行。
Java中是否存在此类工具?.NET 中存在类似的东西,称为 Mono.Cecil(尽管截至今天,它似乎不支持访问者模式)。
谢谢
您可能对 Eclipse IDE 使用的 ASTParser 感兴趣。这是一篇关于开始使用它的好文章。
我们的DMS Software Reengineering Toolkit是通用编译器机器,支持解析、构建 AST、构建符号表、遍历/检查/修改 AST,以及将修改后的 AST 漂亮地打印回源代码。它还提供与以目标语言的表面语法编写的模式进行模式匹配,由它使用的解析器定义。DMS 还提供用于计算控制和数据流以及调用图的通用工具。DMS 提供了一个完整的生态系统来支持任意分析器、代码转换器或生成器的构建,具体取决于您的需求。
DMS 有一个可选的Java 前端,它使 DMS 能够提供处理 Java 和 .class 文件的所有这些功能。