如何在java程序中生成有效的java代码?
在我的应用程序中,我想生成一个java源文件。其目的是对需要在源代码级别上与java兼容的问题域进行遗传编程试验 示例:我有一个内存中的数据结构,它代表了可能长期运行的遗传算法对问题的最新一代解决方案。我在对象上运行.toJavaSource()以获取文本,然后将其保存到文件中,并通过javac对其进行测试。从测试中计算出的分数将反馈到遗传算法中,供下一次迭代使用 我能想到的最简单的方法是制作一个或使用一个模板引擎,比如or,但这并不能保证生成的代码的有效性,因为这些方法都不知道什么是有效的java语法如何在java程序中生成有效的java代码?,java,templates,export,abstract-syntax-tree,Java,Templates,Export,Abstract Syntax Tree,在我的应用程序中,我想生成一个java源文件。其目的是对需要在源代码级别上与java兼容的问题域进行遗传编程试验 示例:我有一个内存中的数据结构,它代表了可能长期运行的遗传算法对问题的最新一代解决方案。我在对象上运行.toJavaSource()以获取文本,然后将其保存到文件中,并通过javac对其进行测试。从测试中计算出的分数将反馈到遗传算法中,供下一次迭代使用 我能想到的最简单的方法是制作一个或使用一个模板引擎,比如or,但这并不能保证生成的代码的有效性,因为这些方法都不知道什么是有效的ja
是否存在一些现有的库,允许我以抽象语法树或类似DOM模型的形式来处理java代码,支持保存与Oracle Javac?
兼容的语法有效的源文本,而可以考虑基于Groovy的方法。我不确定在任何情况下我将如何进行这项工作,但Groovy使在编译期间直接与AST交互变得“容易”,并且以附加到树的节点的形式生成新代码与代码生成一样简单。