Title: 自動ドキュメント生成システム rdoc と Fotran90 プログラムへの適用例

    目次

1 RD と rdoc

1.1 RD

RD (Ruby Document) とは Ruby 関係のドキュメントを書くために考え出された 汎用のドキュメントフォーマット。

主に (私の偏見では) 以下の特徴を持つ。

詳しくは以下の URL を参照のこと。

ただし、Ruby 本体のドキュメントは rdoc に移行したので、現在の Ruby のツールは RD ではなく、rdoc で記述されている。

1.2 rdoc

rdoc は Rubyのソースファイルに対するドキュメントを生成する アプリケーションである。 ソースを解析し、クラス、モジュール、メソッド の定義を抜き出してくれる (include,require も) *1。 そしてこれらの内容とその直前に書かれたコメントを併合し、 ドキュメントを出力する。(現在は HTML を出力できる)。

詳しくは以下の URL を参照のこと。

1.3 両者の比較

2 RD を応用しての、Fortran90 ソースからのドキュメント自動生成

RD 自体では、「ドキュメントを自動生成するソースの書き方」を規定 していないため、書法を定め、その parser をつくり、ドキュメントを 自動生成する必要がある。

DCPAM では、RD を 用いて実際に書法を定め、Fortran90 からのドキュメント自動生成を試みた。

2.1 事の起こり (去年の末ぐらい…?)

Fortran90 プログラムに対するドキュメントを作るのが面倒くさい。 特に、「既にソースコードに一度書いた部分」(例えば、サブルーチンの 引用仕様とか、公開要素とかとか) を再度書くのが鬱陶しい。

ただ、従来の HTML や TeX を埋め込むと逆に Fortran90 ソースのコードが 「穢れる」。

あ、RD だとうまくできるかも?

2.2 主な狙いは?

2.3 実際のソースとその結果

2.4 課題

2.5 これから

3 rdoc を応用しての、Fortran90 ソースからのドキュメント自動生成

3.1 事の起こり (今月の頭ぐらい…?)

rdoc は Ruby ソースコードを HTML ドキュメントにする ものだと 思い込んで居て、Fortran90/95 のドキュメント化に関してはすっかり 蚊帳の外であったのだが、ruby に関して私の大先輩の daktu32 氏が Fortran90 用の parser である parse_f95.rb を見つけて来た *2 ことにより事態が急転。 *3

3.2 rdoc を DCPAM のソースコードに用いてみる。

The RWiki - RDoc覚え書き を参照して少々、先の実際のソースとその結果で見せたソースを rdoc 用に書き換えて rdoc をかけてみる。 *4

3.3 rdoc は使えるか?

3.4 これからどうする?

個人的には、rdoc の parse_f95.rb を改良する方針が望ましいと 考えている。(まだ何もやってないけど)。 *5

それなりに大変かとは思うが、 RD を応用しての、Fortran90 ソースからのドキュメント自動生成 でリンクやインデックス作成用の parser を作る手間を考えれば 決して大変ではなさそう … か??


*1例えば似たようなものでは、Java における JavaDoc のようなものがある
*2 普通に rdoc にパッケージングされていたものだが、それまで誰も 気づいていなかった…。
*3その余波を受け、このような発表をする 羽目に合う機会を得たりもする。
*4実際に自分で直接試したのは昨日 (2005/03/21) が初めて (-_-;)
*5「何かする前に、作者の方にとりあえずお願いしましょう。 たぶんやってくれるよ?」 by 堀之内氏