Doxygen

Doxygen（ドキシジェンまたはドクシジェン）は、C++、C言語、Java、Objective-C、Python、IDL（CORBAおよびマイクロソフト形式）のためのドキュメンテーションジェネレータである。他にもPHP、C#、D言語、ActionScriptでもある程度利用可能。多くのUnix系システム、Windows、macOSで動作する。Doxygenのコードの大部分は Dimitri van Heesch が書いた。
KDEは文書の一部にDoxygenを利用しており、KDevelopは組み込みでサポートしている。
概要.
Javadocのように、Doxygenはソースファイルのコメントから文書を抜き出す。Javadocの文法に加えて、Qtツールキットで使われるドキュメンテーションタグをサポートしており、HTML形式だけでなく、CHM、RTF、PDF、LaTeX、PostScript、manページ形式の文書を生成できる。
統合開発環境 (IDE) の中には、プログラム要素に対して記述されたDoxygenコメントをもとに、ツールヒントでそのプログラム要素に関する情報を表示するものも存在する。コード入力補完の際に関数やメソッドの各パラメータに対する説明を適宜表示するものもある。
コード例.
以下のコード例は、Doxygenで文書生成可能な形式である。
/**
 * The time class represents a moment of time.
 * \author John Doe
class Time {
public:
 * Constructor that sets the time to a given value.
 * \param timeMillis A number of milliseconds passed since Jan 1. 1970
 explicit Time(long long timeMillis) {
 * Get the current time.
 * \return A time object set to the current time.
 static Time now() {
コメント内にバックスラッシュcodice_1またはアットマークcodice_2で始まる「特殊コマンド」とその引数 (argument) を記述することで、プログラムソースコード中の各構成要素に対する説明を記述した定形的な文書を自動生成することができる。いくつかの特殊コマンドはJavadocとも互換性があるが、Doxygenでしか使えない独自のものも多い。