6

我打算对大项目做复杂的重构,默认的ide能力是不够的。如果可能,还请提供教程链接。

语言:java、xml

我讲的是用于 java 重构的程序化 api

示例我在项目中创建了新的 api,我想自动折射一些代码来使用它,即 ast 树的源到源转换

4

1 回答 1

2

总是有Eclipse;您应该能够通过其内部过程 API 访问其 Java 重构机制。我不知道这些是否容易找到或有据可查。没有源到源的转换。

有一个名为Jackpot的工具据说是为了支持这项任务而设计的。我相信它也只提供程序 API,但我认为它们是故意有据可查的。没有源到源的转换能力。

我们的DMS Software Reengineering Toolkit及其Java 前端可用于此目的。

DMS 被设计为适用于多种语言的通用程序转换引擎(Java 只是它碰巧知道的一种)。它可以进行任意代码更改。DMS 提供对 AST 的解析、符号表构建、AST 操作接口,包括 OP 对模式导向源到源转换的请求,以及从任何修改后的 AST 重新生成源文本(包括未更改的原始注释)。DMS 很乐意读取构成您的应用程序的所有文件,因此您可以轻松地实现跨源文件边界的更改。

人们可能会建议使用一些解析器生成器。虽然解析是必要的,但这还不够;解析器无法完成您需要的所有其他事情(以上)。

于 2011-09-03T14:48:28.740 回答