Python中解析Doxygen C++注释字符串的工具?
有没有人知道有没有一个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 中的一些代码来获取你需要的数据。