提取头文件中的函数列表

时间:2013-11-21 16:04:34

标签: c++ parsing header-files

我正在寻找一种方法来提取C ++头文件中的所有函数,包括位于函数定义之上的相应函数的注释。

我们的想法是生成文件中所有函数的列表,以便将其放入CSV或Excel文件中。我想在每一行:

标题文件名;仅限函数名;完整的函数签名;该函数的代码中的注释

示例(来自文件someHeader.h):

// This is the multi-line
// comment for the DoSomething function.
void            DoSomething (int CleverParameter);

变成了

someHeader.h;DoSomething;void DoSomething (int CleverParameter);This is the multi-line comment for the DoSomething function.

我不需要聪明的解析和类型/依赖性解析等等。我手上有VisualStudio 2010和2012。也不怕Linux或Windows命令行工具。如果在这个过程中清空了空白,那就太棒了。

2 个答案:

答案 0 :(得分:1)

编写一个不错的C ++解析器并不是一件容易的事。

一个可能的解决方案是使用文档生成器,例如doxygen's,它不包含完整的C ++解析器,但它应该足以满足您的目的:

  • 使用doxygen生成包含所有函数定义和注释的XML输出
  • 使用XSLT样式表或XML解析器生成CSV文件

这不是完美的解决方案,但它肯定比正则表达式方法更强大,并且不需要大量代码就能使其正常工作。

答案 1 :(得分:0)

您也可以考虑将Boost库用于此目的。