Анализатор строк комментариев Doxygen C ++ в python? - PullRequest
9 голосов
/ 04 марта 2010

Кто-нибудь знает о модуле python для анализа строки комментария в стиле C ++ в Doxygen? Я имею в виду такую ​​строку (простой пример):

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

и я хотел бы извлечь краткое описание, подробное описание, параметры, возвращаемое значение и т. Д. В настоящее время я делаю это с использованием строковых методов и регулярных выражений, но мое решение не очень надежное. В качестве альтернативы кто-нибудь может порекомендовать простой в использовании Python Parser lib, который я могу быстро настроить?

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 16 марта 2010

Возможно, вы сможете что-то настроить с помощью модуля SimpleParse , но для этого нужно создать грамматику EBNF, которая может потребовать больше инвестиций, чем вы заинтересованы.

Мост Сфинкс / Doxygen ( Breathe ) использует вывод Doml в формате xml и действует вместо этого. Возможно, подобный подход мог бы работать здесь - запустить Doxygen для извлечения документов в формате xml, а затем использовать часть кода из Breathe , чтобы получить необходимые данные.

1 голос
/ 08 марта 2010

Вы должны взглянуть на то, как реализован doxygen, чтобы увидеть, как он обрабатывает синтаксический анализ. Я очень сомневаюсь, что он использует регулярные выражения.

...