9

有人知道解析 doxygen 风格的 C++ 注释字符串的 python 模块吗?我的意思是这样的字符串(简单示例):

  /**
   * A constructor.
   * A more elaborate description of the constructor.
   * @param param1 test1
   * @param param2 test2
   */

我想提取简短的、详细的描述、参数、返回值等。我目前正在使用字符串方法和正则表达式来执行此操作,但我的解决方案不是很健壮。或者,有人可以推荐一个我可以快速设置的易于使用的 python 解析器库吗?

提前致谢

4

2 回答 2

5

您可能可以使用SimpleParse模块进行设置,但这确实需要创建一个 EBNF 语法,这可能比您感兴趣的投资更多。

Sphinx/Doxygen 桥 ( Breathe ) 使用 Doxygen 的 xml 输出并对其进行操作。也许类似的方法可以在这里工作——运行 Doxygen 来提取 xml 格式的文档,然后利用Breathe中的一些代码来获取您需要的数据。

于 2010-03-16T10:42:28.223 回答
1

你应该看看 doxygen 是如何实现的,看看它是如何处理解析的。我非常怀疑它使用正则表达式。

于 2010-03-08T01:48:24.763 回答