Python中解析Doxygen C++注释字符串的工具?

9 投票
2 回答
5303 浏览
提问于 2025-04-15 20:00

有没有人知道有没有一个Python模块可以解析Doxygen风格的C++注释字符串?我说的是像这样的字符串(简单的例子):

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

我想从中提取简短描述、详细描述、参数、返回值等等。目前我使用字符串方法和正则表达式来做这个,但我的解决方案不是很稳健。

另外,有没有人推荐一个简单易用的Python解析库,我可以快速设置的?

提前谢谢大家!

2 个回答

1

你可以看看doxygen是怎么实现的,看看它是如何处理解析的。我很怀疑它会使用正则表达式。

5

你可以试着用 SimpleParse 这个模块来设置一些东西,不过这需要你先创建一个 EBNF 语法,这可能会比你想投入的时间和精力要多。

Sphinx/Doxygen 的桥接工具 (Breathe) 是利用 Doxygen 生成的 xml 输出进行工作的。也许你可以用类似的方法来解决这个问题——先运行 Doxygen 来提取 xml 格式的文档,然后再利用 Breathe 中的一些代码来获取你需要的数据。

撰写回答