В.А. Фисун
В языках программирования допускается использование коммен-
тариев, которые произвольно могут размещаться в любом месте
программы. Этот аппарат применяется для неформального описания
реализуемого алгоритма, указания ссылок на авторов и т. д. Коммента-
рии служат подсказкой программисту, и они «невидимы» (прозрачны)
для транслятора. Однако существует особый вид комментариев, вклю-
чаемых в тексты программ, — специальные комментарии. Тексты та-
ких комментариев начинаются c зарезервированной комбинации сим-
волов, распознаваемой специальными трансляторами, для которых
эти псевдокомментарии являются директивами для исполнения.
Специальные комментарии можно применять при подготовке тек-
стов программ для добавления в текст макроопределений, аннотаций,
дополнения текста возможностями библиотек, а также для работы
с уже существующей программой, например, для получения докумен-
тации или для верификации программы. Популярными процедурами
на уровне языка публикаций, основанного на спецкомментариях, яв-
ляются системы автоматического документирования Doxygen, Epydoc,
Javadoc, PHPdoc и др. Так, система Doxygen может готовить полную
документацию к программе по ее исходному тексту и набору спец-
комментариев. Спецкомментариями могут служить и некоторые дру-
гие виды комментариев. В языке Java комментарий
TODO
помещается
в нереализованный участок текста программы как указание о том, что
данный фрагмент программы отсутствует. Комментарий
FIXME
поме-
чает замеченную ошибку, которую можно исправить позднее, а ком-
ментарий
XXX
— критическую ошибку в тексте программы, без ис-
правления которой нельзя продолжать дальнейшую работу.
Комментарии специального назначения используются также для
расширения возможностей эталонных языков при учете особенностей
конкретной вычислительной среды выполнения программ. Вначале
это были указания о семантических особенностях программ на эта-
лонном языке, которые невозможно получить анализом текста авто-
матически. Специальные комментарии в конкретных представлени-
ях языка позволяли трансляторам генерировать более эффективный
объектный код. Примером одних из первых комментариев для ис-
полнения могут служить спецкомментарии в отечественной систе-
ме программирования ТА-2, во входном языке транслятора с языка
Алгол-60 для ЭВМ класса М-20. Этими комментариями можно было
помечать нерекурсивные процедуры программы, задавать максималь-
но возможную длину динамических массивов.
Для мультипроцессорных кластеров были предложены комплек-
сы спецкомментариев, включение которых в тексты программ с по-
следовательного языка позволяют трансляторам получать параллель-
ный объектный код. Наиболее развитой системой спецкомментари-
2