Анализатор строк комментариев Doxygen C ++ в python?

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

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

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

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

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

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

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

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

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

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

9
задан Sebastian 8 March 2010 в 16:38
поделиться

2 ответа

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

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

5
ответ дан 4 December 2019 в 23:39
поделиться

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

1
ответ дан 4 December 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: