Информация о версии HeaderDoc
Комплект Инструментов HeaderDoc состоит из ряда сценариев Perl и нескольких маленьких вспомогательных приложений C, который позволяет преобразование документации, встроенной в заголовочные файлы на многих языках в HTML и другие выходные форматы.
HeaderDoc 8 является последним воплощением инструмента HeaderDoc и охватывает серию версий:
- HeaderDoc 8.0
HeaderDoc 8 является почти перезаписью HeaderDoc с нуля. Это включает функциональность предыдущих версий, но также и обеспечивает много новых функций, таких как окраска/выделение синтаксиса объявления и более простой к использованию синтаксис комментария. Эти функции описаны в Основных функциях.
HeaderDoc 8 добавляет много дополнительных языков с различными уровнями поддержки. Они описаны на Поддерживаемых Языках.
HeaderDoc 8 также добавляет много новых (дополнительных) тегов для удобства. Они описаны в Новых Тегах.
- HeaderDoc 8.5
HeaderDoc 8.5 добавляет препроцессор C для более усовершенствованного парсинга заголовка. Это описано в Использовании Препроцессора C.
- HeaderDoc 8.6
HeaderDoc 8.6 является обновлением исправления ошибки к HeaderDoc 8.5 с несколькими незначительными добавленными опциями.
- HeaderDoc 8.7
HeaderDoc 8.7 добавляет, поддержка тегов Doxygen (формируются только), и добавляет поддержку файлов IDL. Кроме того, это включает набор тестов (только исходное распределение) и содержит многочисленные исправления ошибок.
- HeaderDoc 8.8
HeaderDoc 8.8 добавляет поддержку AppleScript и Python, вместе с частичной поддержкой Tcl и Ruby. Посмотрите Поиск и устранение неисправностей для получения дополнительной информации об ограничениях в Tcl и поддержке Ruby.
HeaderDoc 8.8 также улучшает
resolveLinksинструмент для поддержки импортирующих внешних файлов перекрестной ссылки.Наконец, HeaderDoc 8.8 связывает комплект регрессионного теста как часть установки.
Поддерживаемые языки
HeaderDoc 8 поддерживает еще много языков, чем HeaderDoc 7. Эта таблица показывает различные языки и уровень поддержки.
Язык | Поддержка HeaderDoc 7 | Поддержка HeaderDoc 8 |
|---|---|---|
AppleScript | нет | да (8.8) |
C заголовки | да | да |
C++ | да | да |
Objective C | да | да |
C исходный код | нет | да |
IDL | нет | да (8.7) |
K&R C источники | нет | да |
Java | нет | да * |
JavaScript | нет | да * |
Паскаль | нет | да |
PHP | вид - (взлома) | да |
Perl | нет | да ** |
Python | нет | да (8.8) |
Ruby | нет | да (8.8) |
Сценарии оболочки | нет | да ** |
Мах определения интерфейса IPC | нет | да |
Основные функции
HeaderDoc 8 имеет много новых функций.
Группировки функции/типа данных
Окраска синтаксиса объявления
Новый tagless синтаксис
/*! This is a comment about what comes next */Поддержка тегов HeaderDoc встраивается в объявления
Поддержка
//!стиль разметки для встроенных объявлений HeaderDocАвтоматическое соединение типов данных в объявлениях
Улучшенная поддержка C++ (пространство имен/шаблон/доступ)
gatherheaderdocинструмент является теперь базируемым шаблономПоддержка PHP (и набор других языков) теперь включенный без исправления
Поддержка соединения с другими методами и типами данных в том же файле
Стриппер комментария
Поддержка исключений
Если маркированные параметры не соответствуют объявление, теперь предупреждает
Дополнительное предупреждение, если не тегируются параметры
Улучшенные предупреждения для другого недопустимого содержания
Выходной путь страницы справочника (через XML)
DTD для выходной проверки
Перевод HTML к использованию XHTML
xmllintпри использовании вывода XMLВложенная обработка класса
Настраиваемый формат даты
C поддержка псевдокласса (
typedef struct)Лучше вложенная поддержка класса
Конструкторы/деструкторы C++ теперь сортировали сначала в списке методов класса.
Тег @ignore — позволяет Вам удалять соответствие маркеров из объявлений
Флаг «Unsorted»
Сводные функциональные и списки методов (мини-TOC)
Автоматизированное обнаружение пронумерованных списков
Автоматическая обработка макросов доступности
Улучшенное полное появление
Включает комплект регрессионного теста
Новые теги
Этот раздел пытается перечислить все новые теги, добавленные в HeaderDoc 8 (некоторые из которых были фактически доступны, но не документированы в HeaderDoc 7).
@classdesignТекстовый блок, описывающий общий замысел класса
@coclassСтрока, описывающая класс, с которым этот класс был разработан для работы
@dependencyСтрока, описывающая класс, от которого этот класс зависит в большой степени
@exceptionСтрока, описывающая исключение, выданное функцией/методом/классом
@functiongroupТег для группировки функций и методов; это принимает приоритет
@groupтег относительно функций и методов.@groupТег для группировки данных, функций, и т.д., таким образом изменяя порядок, в котором они появляются в оглавлении.
(Примечание:
@functiongroupтег принимает приоритет@groupтег для функций.)@helperСтрока, говорящая, что классы помощника этот класс использование
@helpsДля классов помощника, строка, говорящая, какие классы этот класс были разработаны для помощи
@instancesizeТекстовый блок, содержащий размер экземпляра этого класса
@methodgroupПосмотрите
@functiongroup.@ownershipСтрока, описывающая, какой класс инстанцирует текущего класса (например, куски Набора I/O)
@performanceТекстовый блок для описания показателей производительности класса (например, “Этот класс не является подходящим для использования в высокоэффективных средах”),
@securityТекстовый блок для описания соображений безопасности при использовании этого класса
@superclassДобавляет информация суперкласса к псевдоклассу C; также может использоваться, чтобы заставить элементы суперкласса быть объединенными в подкласс
@throwsПосмотрите
@exception.
Дополнительные примечания
Этот раздел перечисляет известные проблемы в HeaderDoc 8. Мы надеемся улучшиться в этих областях в будущих версиях. Если Вы считаете проблемы не перечисленными здесь, ошибки файла.
HeaderDoc 8 несколько медленнее, чем предыдущие версии. Это вызвано тем, что весь синтаксический анализатор был переписан с нуля и теперь делает основанный на маркере синтаксический анализ входного файла.
В то время как этот подход должен значительно улучшить правильность вывода (colorizer ошибки несмотря на это), это выполняет намного больше работы, чем прежде, и таким образом занимает больше времени.
Схема цвета по умолчанию, сгенерированная HeaderDoc, соответствует окраску XCode. Существует много файлов, предоставленных как альтернативные цветовые схемы, в пределах от приятного к совершенно отвратительному и мигающему (используются в основном для тестирования). Выгрузите Ваш
headerDoc2HTML.configфайл, как желаемый.Несмотря на то, что минимальное
gatherheaderdocшаблон встроен в сам инструмент, шаблон по умолчанию, используемыйgatherheaderdocфактический файл, прибывающий предварительно установленный какXcode.app/Contents/Developer/usr/share/headerdoc/conf/com.apple.headerdoc.exampletocteplate.htmlв комплекте приложений XCode (или/usr/share/headerdoc/conf/com.apple.headerdoc.exampletocteplate.htmlесли Вы создали HeaderDoc сами). Формат для этого шаблона описан в Усовершенствованной Конфигурации HeaderDoc и Функциях. Также посмотрите Пример gatherheaderdoc Шаблон для примера шаблонного формата.
Поздно повреждающиеся ошибки
В этом разделе описываются поздно повреждающиеся ошибки в HeaderDoc 8.9.
Нет никаких известных опечаток еще для HeaderDoc 8.9.
Чтобы усовершенствовать с последними опечатками и исправлениями ошибок, присоединитесь к headerdoc-dev списку рассылки.