RD (Ruby Document) とは Ruby 関係のドキュメントを書くために考え出された 汎用のドキュメントフォーマット。
主に (私の偏見では) 以下の特徴を持つ。
詳しくは以下の URL を参照のこと。
ただし、Ruby 本体のドキュメントは rdoc に移行したので、現在の Ruby のツールは RD ではなく、rdoc で記述されている。
rdoc は Rubyのソースファイルに対するドキュメントを生成する アプリケーションである。 ソースを解析し、クラス、モジュール、メソッド の定義を抜き出してくれる (include,require も) *1。 そしてこれらの内容とその直前に書かれたコメントを併合し、 ドキュメントを出力する。(現在は HTML を出力できる)。
詳しくは以下の URL を参照のこと。
RD 自体では、「ドキュメントを自動生成するソースの書き方」を規定 していないため、書法を定め、その parser をつくり、ドキュメントを 自動生成する必要がある。
DCPAM では、RD を 用いて実際に書法を定め、Fortran90 からのドキュメント自動生成を試みた。
Fortran90 プログラムに対するドキュメントを作るのが面倒くさい。 特に、「既にソースコードに一度書いた部分」(例えば、サブルーチンの 引用仕様とか、公開要素とかとか) を再度書くのが鬱陶しい。
ただ、従来の HTML や TeX を埋め込むと逆に Fortran90 ソースのコードが 「穢れる」。
あ、RD だとうまくできるかも?
rdoc は Ruby ソースコードを HTML ドキュメントにする ものだと 思い込んで居て、Fortran90/95 のドキュメント化に関してはすっかり 蚊帳の外であったのだが、ruby に関して私の大先輩の daktu32 氏が Fortran90 用の parser である parse_f95.rb を見つけて来た *2 ことにより事態が急転。 *3
The RWiki - RDoc覚え書き を参照して少々、先の実際のソースとその結果で見せたソースを rdoc 用に書き換えて rdoc をかけてみる。 *4
個人的には、rdoc の parse_f95.rb を改良する方針が望ましいと 考えている。(まだ何もやってないけど)。 *5
それなりに大変かとは思うが、 RD を応用しての、Fortran90 ソースからのドキュメント自動生成 でリンクやインデックス作成用の parser を作る手間を考えれば 決して大変ではなさそう … か??
*1例えば似たようなものでは、Java における
JavaDoc
のようなものがある
*2 普通に rdoc にパッケージングされていたものだが、それまで誰も
気づいていなかった…。
*3その余波を受け、このような発表をする
羽目に合う機会を得たりもする。
*4実際に自分で直接試したのは昨日 (2005/03/21) が初めて (-_-;)
*5「何かする前に、作者の方にとりあえずお願いしましょう。
たぶんやってくれるよ?」 by 堀之内氏