Java /抽象语法树转换为XML表示

你知道从Java程序或类创建AST的任何工具,并从AST创建XML表示(集合或单个XML文档)吗?

亲切的问候,
约翰内斯

不是直接使用任何工具,但http://www.antlr.org/是用于从任何通用语言构建AST的事实工具。 并且存在几个Java语法文件,您可以为自己的程序重新调整用途。 因此,抓住ANTLR,使用最新的Java语法,并写出您想要的XML表示。

我们的DMS软件再造工具包及其Java前端可以直接执行此操作。 您要求DMS解析文件,并使用命令行switch ++ XML生成XML转储。

请参阅面向对象编程语言的AST(抽象语法树)是什么样的? 。

作为一般规则,我们不建议这样做,原因如下:

  • 真实文件的XML输出非常庞大,并且需要花费大量时间来编写和读取

  • 大多数人这样做是因为他们相信XML表示只需要一点点XSLT就可以得到他们想要的东西

  • 如果您打算修改代码,一旦拥有XML,您几乎无法重新生成它。

  • DMS提供的机制(属性语法,符号表,流分析,模式匹配和源到源转换,来自AST的源重新生成)是您真正想要的,并且您可以在解析步骤后使用DMS访问它没有导出XML