【问题标题】:Doxygen C++ comment string parser in python?python中的Doxygen C++注释字符串解析器?
【发布时间】:2011-01-23 14:15:31
【问题描述】:

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

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

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

提前致谢

【问题讨论】:

    标签: c++ python parsing doxygen


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我做到了,这实际上是这个问题的动机。它使用 lex 和一个 179kb 的大源文件来生成词法分析器。我在这里寻找一个更简单的解决方案(因此我关于一个简单的 python 解析器库的附加问题)。
      猜你喜欢
      • 1970-01-01
      • 2013-04-07
      • 2011-04-10
      • 2011-02-04
      • 2013-12-15
      • 2012-11-06
      • 2023-03-18
      • 1970-01-01
      • 2014-05-28
      相关资源
      最近更新 更多