Doxygen для многоязычного API
моя компания разрабатывает API для инженерных программ. Он разработан на C++, но мы создаем к нему обертки для следующих языков:
- собственный язык, который напоминает VB
- MATLAB
- и Python.
В настоящее время документация генерируется кучей скриптов, и она начинает занимать много времени, чтобы сохранить ее на 100%. Мне было интересно, есть ли способ получить doxygen/sphinx или другую программу для генерации документация для C / C++, VB и MATLAB на одном дыхании. Часть Python выполняется SWIG. В настоящее время вывод примерно такой:
- NameOfFunction
- В. Б.:
- NameOfFunction функции(бывал с тех пор , как byref б() до тех пор, как byval C как долго) как долго
- MATLAB:
- value = NameOfFunction (a,b (), c)
- C / C++:
- значение * NameOfFunction (objtype1 *a, objecttype2 *b [], int c)
- +описание
- +примеры
3 ответов
doxygen поддерживает несколько языков,
чтобы использовать это в нескольких проектах или папках и языках, вы просто указываете doxygen на каждую папку, которую вы хотите проверить в конфигурации.
мой любимый язык программирования X. могу ли я по-прежнему использовать doxygen?
нет, не как таковой; доксиген должен понимать структуру того, что он читает. Если вы не против потратить на это время, есть несколько вариантов:
язык X поддерживается?
Если грамматика X близка к C или C++, то это, вероятно, не слишком трудно настроить src / сканер.l немного, чтобы язык поддерживался. Этот выполняется для всех других языков, напрямую поддерживаемых doxygen (т. е. Java, IDL, C#, PHP). Если грамматика X несколько отличается от вы можете написать входной фильтр, который преобразует X во что-то подобное достаточно C / C++ для понимания doxygen (этот подход взят для VB, Object Pascal, and Javascript, см. http://www.stack.nl / ~dimitri / doxygen / загрузить.html#помощники). Если грамматика совершенно другая, можно написать парсер для X и напишите бэкэнд, который создает аналогичное синтаксическое дерево, как это делается в src/сканер.l (а также src / tagreader.cpp при чтении файлов тегов).
однако, поскольку вы используете VB как проприетарный , он может выбрать этот язык, если вы просто измените расширения файлов на .vb
вот как использовать его с matlab
python и c++ уже поддерживаются
посмотрите на FAQ страница
на сайте Doxygen есть страница со ссылками на сторонних помощников для разных языков, которые вы можете адаптировать:
http://www.stack.nl / ~dimitri/doxygen/helpers.html
там упоминаются фильтры VB и MatLab.
мне было интересно, есть ли способ получить doxygen/sphinx или другую программу для создания документации для c/C++, VB и matlab на одном дыхании.
редактор Zeus имеет функция doxygen это позволяет создавать документацию doxygen для всех элементов в рабочей области Zeus.