您知道从Java程序或类创建AST并从AST创建XML表示(集合或单个XML文档)的任何工具吗?
亲切的问候,答案 0 :(得分:2)
不是直接使用任何工具,但http://www.antlr.org/是用于从任何通用语言构建AST的事实工具。并且存在几个Java语法文件,您可以为自己的程序重新调整用途。因此,抓住ANTLR,使用最新的Java语法,并写出你想要的XML表示。
答案 1 :(得分:2)
我们DMS Software Reengineering Toolkit及其Java Front End可以直接执行此操作。您要求DMS解析文件,并使用命令行switch ++ XML生成XML转储。
请参阅What would an AST (abstract syntax tree) for an object-oriented programming language look like?。
作为一般规则,我们不建议这样做,原因如下:
真实文件的XML输出非常庞大,并且需要花费大量时间来编写和阅读
大多数人这样做是因为他们相信XML表示只需要一点点XSLT就能得到他们想要的东西
如果您打算修改代码,一旦拥有XML,您几乎无法重新生成它。
DMS提供的机制(属性语法,符号表,流分析,模式匹配和源到源转换,来自AST的源重新生成,是您真正想要的,并且您可以通过以下方式访问它在解析步骤之后使用DMS而不导出XML