GCC Xml替代品

时间:2013-12-12 01:32:18

标签: c gcc compiler-construction

我正在研究GCCXML,它可以解析给定的头文件并生成C代码元数据的XML格式。但GCCxml是一个开源的。是否有任何商业版的c代码解析器与GCC XML类似?

谢谢, Karthick

2 个答案:

答案 0 :(得分:2)

gccxml的明显替代品将是clang,它是根据BSD许可证授权的(因此您可以在商业项目中自由使用它,使用代码做任何您想做的事情等)。 clang曾经有一个内置的xml AST转储器,但它在某个阶段被删除了。如果您只需要提取特定信息(例如IDL生成的函数原型或类似的东西),编写一个基本的自定义clang插件就不难做到这一点。否则,您可以搜索可以执行此操作的现有clang插件,例如:

https://github.com/sk-havok/clang-extract

Clang插件教程:http://clang.llvm.org/docs/ClangPlugins.html

答案 1 :(得分:1)

请参阅我们的DMS Software Reengineering Toolkit及其C Front End,了解GCCXML的等效/超集。

C前端可以处理各种C方言(ANSI,GCC,MS)。它包含一个完整的预处理器。它可以以XML格式导出完整语言的AST(特别是包括GCCXML不执行的函数体,IIRC)及其符号表。

这里有一个example dump of the AST from DMS's C++ front end。这使用与C前端使用相同的机器。