我正在研究GCCXML,它可以解析给定的头文件并生成C代码元数据的XML格式。但GCCxml是一个开源的。是否有任何商业版的c代码解析器与GCC XML类似?
谢谢, Karthick
答案 0 :(得分:2)
gccxml的明显替代品将是clang,它是根据BSD许可证授权的(因此您可以在商业项目中自由使用它,使用代码做任何您想做的事情等)。 clang曾经有一个内置的xml AST转储器,但它在某个阶段被删除了。如果您只需要提取特定信息(例如IDL生成的函数原型或类似的东西),编写一个基本的自定义clang插件就不难做到这一点。否则,您可以搜索可以执行此操作的现有clang插件,例如:
答案 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前端使用相同的机器。