我们在头文件中有C结构,我们希望从头文件生成XML模式



我有一个20年前的旧应用程序,想把它连接到一个web前端。我需要传递一个在C结构中定义的相当大的深度嵌套数据结构。我们目前计划在XML中实现这一点。结构定义的总数大约是150个。这些都嵌套到一个巨大的数据结构中。我想找到一个程序,它可以扫描头文件并生成一个XML Schema,然后我可以根据自己的需要进行定制。有人知道这种工具吗?

SWIG (swig.org)有一个XML目标(-xml),可以做您想做的事情。

存在一个叫做GCC XML的工具,它可以将GCC编译的程序的内部表示转换成某种XML,但是它不再被维护。

一种可能是使用GCC 4.6plugin abilities,它为GCC编写一个插件(用C),它将处理结构声明的树(即内部AST)。您还可以使用GCC MELT,这是一种高级域特定语言来扩展GCC。但在这两种情况下,您都需要了解Tree (&简单)GCC的内部表示(如果您只有150个结构,那么这样做可能不值得)。然而,如果您的遗留应用程序足够大,学习这些(并使用MELT)可能是值得的,因为这些新技能(扩展GCC)可以用于遗留应用程序上的其他任务。

最后,您还可以查看与RPC-XDR相关的工具(按照今天的标准,这些工具相当小),它们包含类似c的结构声明的解析器。

相关内容

最新更新