Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > rdoc/parsers/parse_f95ライブラリ
Fortran95 のソースコードを解析するためのサブライブラリです。
拡張子が .f90、.F90、.f95、.F95 のファイルを解析する事ができます。解析 のためには、Fortran95 の仕様に適合している必要があります。
[注意] rdoc 2.4.0 から rdoc-f95 に分かれたため、1.9.2 から rdoc/parsers/parse_f95 は標準添付ライブラリに含まれなくなりました。 1.9.2 以降でも使用したい場合は rdoc-f95 を RubyGems でインストールして ください。
rdoc/parsers/parse_f95 は以下を解析する事ができます。
Ruby と比べてみると以下のようになります。
ファイル(Ruby と同じ)
module
subroutine, function, 変数, 定数, 派生型, ユーザ定義単項演算子, ユーザー定義代入
use 文で読み込まれた module, external 宣言された subroutine、function
use 文で読み込まれた module
派生型や use 文で読み込まれた module
以下の情報は自動的に解析されます。
interface 文の中で定義した alias は上記の「メソッド」と同様に処理されます。
基本的な規則は Ruby のソースコード中にドキュメントを記述する場合と同じ です。ただし、Fortran95 では、コメントを記述するためには「#」ではなく、 「!」を行頭に記述しなければなりません。コメントは文の後(もしくは下)に記 述します。
字下げは任意の位置に行う事ができます。
! (Top of file) ! ! このファイルに対するコメントを記述します。 ! !-- ! "!--" から "!++" で囲まれたコメントは無視されます。 !++ ! module hogehoge ! ! この module(もしくは、program) に対するコメントを記述します。 ! private logical :: a ! private 変数 real, public :: b ! public 変数 integer, parameter :: c = 0 ! public 定数 public :: c public :: MULTI_ARRAY public :: hoge, foo type MULTI_ARRAY ! ! 派生型に対するコメントを記述します。 ! real, pointer :: var(:) =>null() ! 変数に対するコメント integer :: num = 0 end type MULTI_ARRAY contains subroutine hoge( in, & ! 継続する行に対するコメントは無視されます。 & out ) ! ! subroutine や function に対するコメントを記述します。 ! character(*),intent(in):: in ! 引数に対するコメントを記述します。 character(*),intent(out),allocatable,target :: in character(32) :: file ! 下記の NAMELIST 中の変数に対するコメントとして処理されます。 integer :: id namelist /varinfo_nml/ file, id ! ! NAMELIST に対するコメントを記述します。 ! 上記の変数に対するコメントを記述できます。 ! .... end subroutine hoge integer function foo( in ) ! ! この行は処理されますが、 ! この行のような、空行の下に記述したコメントは無視されます。 ! integer, intent(in):: inA ! この行は処理されますが、 ! この行は無視されます。 end function foo subroutine hide( in, & & out ) !:nodoc: ! ! 上記のように subroutine の最後の行に "!:nodoc:" を記述した場 ! 合は処理されません。 .... end subroutine hide end module hogehoge
RDoc::Fortran95parser | Fortran95 のソースコードを解析するためのクラスです。 |
rdoc/code_objects | Ruby のソースコード中にあるクラス、モジュール、メソッドなどの構成要素を 表現するためのサブライブラリです。 |
rdoc/tokenstream | トークンを管理するためのサブライブラリです。 |