[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002152] [RDoc] parser_f95
- To: davis-ml@xxxxxxxxxxxxxx, dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002152] [RDoc] parser_f95
- From: tsukahara daisuke <daktu32@xxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 02 Mar 2005 15:20:12 +0900 (JST)
dennou-ruby, davis の皆様
塚原/森川@北大です.
ruby 1.8 系標準添付の rdoc で rdoc 形式のドキュメントを埋め込
んだ f95/90 ファイルを処理できるようです.
lib/rdoc/parsers に parse_f95.rb なるファイルが存在したので,
試してみました. ruby のバージョンは 1.8.1 です.
実験対象は森川君が誠意作成中の惑星大気大循環モデル DCPAM のソー
スコードです. (一時的に以下に置かせてもらいました)
http://www.ep.sci.hokudai.ac.jp/~daktu32/temp/dcpam_src/
# rd スタイルのドキュメントがコードに埋め込まれています.
RDoc と rd の文法は非常に似ているのでとりあえずテスト
してみました.
dcpam_src のおいてあるディレクトリにて
% rdoc -c euc
としたところ, 以下の html 群が生成されました.
http://www.ep.sci.hokudai.ac.jp/~daktu32/temp/doc/index.html
中々いい感じです.
ただし, デフォルトの parse_f95.rb はコメント行のパース部分が作り
かけという感じで上手くいきませんでしたので修正してみました.
(メール末尾参照)
--------------------------------------------------------
*** parse_f95_old.rb Wed Mar 2 12:38:52 2005
--- parse_f95.rb Wed Mar 2 12:39:27 2005
***************
*** 98,109 ****
comment_block = Array.new
lines.each do |line|
break if line =~ /^\s*\w/
! comment_block.unshift line.sub(/^!\s?/,"")
end
nice_lines = comment_block.join("\n").split "\n\s*\n"
nice_lines.shift
- nice_lines.shift
- nice_lines.shift
end
def progress(char)
--- 98,107 ----
comment_block = Array.new
lines.each do |line|
break if line =~ /^\s*\w/
! comment_block.unshift line.sub(/^(\s*)!(\s*)/,"")
end
nice_lines = comment_block.join("\n").split "\n\s*\n"
nice_lines.shift
end
def progress(char)
--------------------------------------------------------
--------------------------------------
北海道大学院理学研究科 地球惑星科学専攻
地球流体力学研究室 M2 塚原大輔
email::daktu32@xxxxxxxxxxxxxxxxxxxx
--------------------------------------