Doxygen C++ comment string parser in python?

2020-07-06 04:50发布

Does anybody know of a python module to parse a doxygen style C++ comment string? I mean a string like this (simple example):

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

and I would like to extract the brief, the long description, the parameters, the return value etc. I'm currently doing this using string methods and regular expressions but my solution is not very robust. Alternatively can anybody recommend an easy to use python parser lib that I can set up quickly?

Thanks in advance

2条回答
看我几分像从前
2楼-- · 2020-07-06 05:26

You might be able to set something up using the SimpleParse module, but this does require creating an EBNF grammar which might be more investment than you are interested in.

The Sphinx/Doxygen bridge (Breathe) uses the xml output of Doxygen and acts on that instead. Perhaps a similar approach could work here - run Doxygen to extract xml formatted docs and then leverage some of the code from Breathe to get at the data you require.

查看更多
做自己的国王
3楼-- · 2020-07-06 05:28

You should take a look at how doxygen is implemented to see how it handles parsing. I very much doubt it uses regex.

查看更多
登录 后发表回答