Введение

Свободное программное обеспечение для генерации документации по программному обеспечению из исходного кода

Doxygen (произносится /ˈdɒksiːdʒən/ DOKsee jən) — это генератор документации и инструмент статического анализа для исходного кода программного обеспечения. В режиме генерации документации Doxygen извлекает информацию из специально оформленных комментариев в коде. В режиме анализа Doxygen использует дерево разбора для создания диаграмм и схем структуры кода. Doxygen позволяет осуществлять перекрестные ссылки между документацией и кодом, что позволяет читателю документации легко обращаться к соответствующему коду. Doxygen является свободным программным обеспечением, распространяемым по лицензии GNU General Public License версии 2 (GPLv2).

Дизайн

Как и Javadoc, Doxygen извлекает документацию из комментариев в исходных файлах. Помимо синтаксиса Javadoc, Doxygen поддерживает теги документации, используемые в инструментарии Qt, и может генерировать вывод в виде гипертекстовой разметки (HTML), а также в форматах Microsoft Compiled HTML Help (CHM), Rich Text Format (RTF), Portable Document Format (PDF), LaTeX, PostScript или man pages.

Применение

Языки программирования, поддерживаемые Doxygen, включают C, C++, C#, D, Fortran, IDL, Java, Objective C, Perl, PHP, Python и VHDL.

Источник и развитие доксигена

Источники Doxygen в настоящее время размещены на GitHub, где основной разработчик, Дмитрий ван Хиш, публикует свои наработки под именем пользователя "doxygen". Doxygen написан на C++ и состоит примерно из 300 000 строк исходного кода. Для лексического анализа используется стандартный инструмент Lex (или его замена Flex), который обрабатывает около 35 000 строк лексических описаний. Инструмент разбора Yacc (или его замена Bison) также применяется, но лишь для вспомогательных задач; основная часть разбора языка реализована на собственном коде C++. Процесс сборки основан на CMake и включает в себя также некоторые скрипты на Python.