语言:java,xml
我谈论java重构的程序化api
示例我在项目中创建了新的api,我想自动折射一些代码来使用它,即源代码转换为ast树
答案 0 :(得分:2)
始终Eclipse;您应该能够通过其内部过程API访问其Java重构机制。无论是那些都很容易找到或有详细记录,我不知道。没有源到源的转换。
有一个名为Jackpot的工具,据说可以用来支持这项任务。我相信它也只提供程序性API,但我认为它们是有意记录的。没有源到源的转换功能。
我们的DMS Software Reengineering Toolkit及其Java Front End可用于此目的。
DMS被设计为用于多种语言的通用程序转换引擎(Java只是它恰好了解的一种)。它可以执行任意代码更改。 DMS提供对AST的解析,符号表构造,AST操作接口,包括OP对模式定向源到源转换的请求,以及从任何修改的AST再生源文本(包括原始注释,如果未更改)。 DMS很乐意阅读构成您的应用程序的所有文件,因此您可以轻松实现跨源文件边界的更改。
人们可能会建议使用一些解析器生成器。虽然解析是必要的,但这还不够;解析器无法完成您需要的所有其他事情(上图)。