GCC Xml替代方案

3
我正在研究GCCXML,它可以解析给定的头文件并生成C代码元数据的XML格式。但是GCCxml是开源的。是否有任何商用版本的C代码解析器,其功能类似于GCC XML?
谢谢, Karthick
2个回答

2
gccxml 的明显替代品将会是 clang,它使用 BSD 许可证(所以您可以在商业项目中自由使用它,对代码做任何想做的事情等)。clang 曾经内置了一个 xml AST dumper,但在某个阶段被移除了。如果您只需要提取特定信息(如用于IDL生成的函数原型或类似内容),编写基本的自定义clang插件并不困难。否则,您可以搜寻现有的clang插件来完成此工作,例如这个链接中的插件:https://github.com/sk-havok/clang-extract
clang 插件教程: http://clang.llvm.org/docs/ClangPlugins.html

谢谢Oakad。我会在今天或明天探索上面的链接,并告诉你我得到了什么。 - K2M
看起来Clang真的很有前途。虽然我花了一天时间才弄清楚什么是Clang,下载源代码并执行一些Python脚本,但这只需要一次努力。它真的是一个很棒的工具,而且这个教程真的帮了我大忙[http://eli.thegreenplace.net/2011/07/03/parsing-c-in-python-with-clang/]。 - K2M

1
请查看我们的 DMS软件重构工具包,其中包括 C前端,可用作GCCXML的等效/超集。
C前端可以处理各种C方言(ANSI、GCC、MS)。它包含完整的预处理器。它可以导出完整语言的AST(特别是包括函数体,这是GCCXML不做的,如果我没记错的话)和其符号表,均以XML格式呈现。
在SO上,有一个DMS C++前端的AST示例转储。 这使用与C前端相同的机制。

谢谢Ira.. 我也会探索这个。 - K2M
我今天还没有时间去查看。您能否告诉我从这个网站[http://www.semanticdesigns.com/Products/Downloads.html]下载哪个工具,以便进一步探索。 - K2M
DMS是一款企业级产品,无法提供下载。请联系Semantic Designs讨论您的需求。 - Ira Baxter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接