[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002223] parse_f95.rb in rdoc
- To: dcmodel@xxxxxxxxxxxxxx, dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002223] parse_f95.rb in rdoc
- From: Morikawa Yasuhiro <morikawa@xxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 31 Mar 2005 02:26:36 +0900 (JST)
dcmodel のみなさま
dennou-ruby のみなさま
森川@北大 です
先日の dennou-ruby workshop にて RD と rdoc の f90 ソースコード
への応用ということで発表させていただきました。
http://ruby.gfd-dennou.org/workshop200503/shiryou/index.htm
http://www.gfd-dennou.org/arch/prepri/2005/ruby/RDinF90/RDinF90.htm
この中で、f90 ソースコードを解釈してドキュメントを生成してくれる、
rdoc の parse_f95.rb というものを紹介しました。
http://www.gfd-dennou.org/arch/prepri/2005/ruby/RDinF90/dcpam2_rdoc_sample/src/shared/rdoc/
使ってみた感じは、相互リンクや、ソース内のコメントを HTML として吐き出
してくれるなど、かなり有用そうである一方、f95 ソースのリファレンスマニュ
アルとしては (個人的には) 不足と思われる部分も多く、可能であれば
parse_f95.rb を改良して利用したいと思いました。その際、堀之内さんから、
「とりあえずまずは rdoc の作者の Dave Thomas に連絡して要望を伝えたら?」
というアドバイスを戴きました。
既に個人的にいくつかの要望はあったのですが、直接作者御本人に伝える前に、
他にも「このようになってると便利だよなぁ」というアドバイスがあればそれ
も合わせて伝えられれば、と思い、ご意見を募る次第です。もちろん要望が全
てすぐに実装されるということはないのでしょうが、「Fortran90 のドキュメ
ントはどうあると嬉しいか (自動生成でどこまで可能か)」という議論にもな
れば、個人的には勉強になって嬉しいです。
# 個人的には、上記の発表資料の RD の f90 への応用の際に「ドキュメントに
# 書き出す部分」として考えた部分が、rdoc でもドキュメント化できると満足
# です。
= parse_f95.rb への要望 (欲張りすぎ…? ^^;)
なお、今の僕が使っている環境は ruby 1.8.2 (2005-01-10) で、
RDoc V1.0.1 - (20041108) です。
* parse_rb.rb には実装されていて、parse_f95.rb には実装されていない部分。
* 現在の parse_f95.rb は、一つの f95 ファイルに複数の module がある
場合、ruby ソース用の parse_rb.rb と異なり、始めの module しか識別
しないようになっているので、複数の module であっても識別してドキュ
メントに反映するようにしたい。
* module の部分よりも前に書いてある記述は class **** のドキュメントの
ページではなく、*****.f95 のドキュメントのページに書き出したい。
(つまり、parse_rb.rb のようにしたい)。
* ruby ソース用の parse_rb.rb のように、サブルーチンや関数、構造体の
public や private を判定したい。
* [Source] で表示されるソースの色分けをしたい。
* おそらく、parse_rb.rb での色分けロジックを応用すれば
難しくないのでは…。
* f95 ドキュメント特有のもの
* 各メソッドにて [Source] でメソッド内のソースが見えるように、
ファイル自体のドキュメントのページでファイル内のソース全体
が見えるリンクを作りたい。
* 構造体の定義の部分をドキュメントに出力したい。
* 総称名称 (module procedure の部分) を出力したい。
* NAMELIST 変数に関しても出力したい。
* NAMELIST 変数に属する変数の初期値も出力したい。
(同じスコープ内の同名の変数を探すことで探査可能ではないか?)
* 公開要素 (public 属性) の変数も出力したい。
* 例えば、http://www.gfd-dennou.org/arch/prepri/2005/ruby/RDinF90/dcpam2_rd_sample/src/shared/constants/constants.htm
の「Public Data」のようなものを出力したい。
* 実際には、public 行のサブルーチン、関数、変数のうちの変数の
宣言文の部分 (型と初期値) を出力してくれると嬉しい。
* モジュール全体だけでなく、各サブルーチンでも同じモジュールを use
する可能性があるので、重複するものに関しては Included Modules から
省いて欲しい。(各サブルーチンや関数を見る場合に、モジュールの
頭に use が固まってるのは結構読みづらいので…)。
┌□─────────────────────────
■ 森川 靖大 (Morikawa Yasuhiro)
|□ 北海道大学大学院 理学研究科 地球惑星科学専攻
■ 地球流体力学研究室 修士課程 2 年
|□ e-mail : morikawa@xxxxxxxxxxxxxxxxxxxx
■──────────────────────