マニュアルページ fsplit.1
名前
fsplit - 複数のルーチンを含む FORTRAN 90 または、FORTRAN 77
ファイルのルーチンごとの分割
形式
fsplit [ -e efile ] ... [ fsplit_options ] file
機能説明
fsplit は、FORTRAN 77 または FORTRAN 90 のソースコードを持つ
ファイルを入力とみなします。入力を別々のルーチンファイルに分
割し、各ファイルに <name>.<syf> の形式で名前を付けようとしま
す。 <name> は、プログラムユニット (関数、サブルーチン、モ
ジュール、ブロックデータ、またはプログラム) の名前で す。 ま
た、 <syf> は、ソースコードのソース言語に対応する名前の拡張
子です。
名前を持たな い ブ ロッ ク デー タ 副 プ ロ グ ラ ム に は、
blkdtaNNN.<syf> の形式で名前が付けられます。 NNN は 3 桁の数
字で、既存のファイルに同じ名前のものがないことが前提となりま
す。
名前を持たないメインプログラムには、mainNNN.<syf> の形式で名
前が付けられます。
プログラムユニットの分類中にエラーが発生する か、 name.<syf>
が すでに存在する場合、そのプログラムユニットは zzzNNN.<syf>
というファイルに置かれます (ここでも、zzzNNN.<syf> と い う
ファイルが存在していないことが前提となります)。
オプション
-e efile
通常、各副プログラムユニットは別々のファイルに分割さ れ
ま す。しかし、-e オプションを使用すると、-e オプション
で指定した副プログラムだけが分割されます。
例コマンド fsplit -e sub1 -e sub2 prog.f は、 sub1 と
sub2 だけをファイル sub1.f と sub2.f に抜き出します。
-u デフォルトでは、すべてのユニット名は小文字に変換され ま
す。-u オプションを使用すると、すべてのユニットはオリジ
ナルの名前で保存されます。
例ファイル main.f77 には、次のようなサブルーチンが 入っ
ていると仮定します。
subroutine SUB1
...
end
subroutine SUB2
...
end
このとき、次のコマンドを実行すると、ファイ ル sub1.f77
と sub2.f77 が作成されます。
fsplit main.f77
しかし、次のコマンドを実行すると、ファイル SUB1.f77 と
SUB2.f77 が作成されます。
fsplit -u main.f77
命名オプション
すでに述べたとおり、fsplit プログラムは FORTRAN-77 と
FORTRAN-90 のコードが入ったソースファイルを処理します。
命名オプションを設定しない場合 (次を参照)、fsplit は 次
の 規則に従います。<syf> が .f90 または .F90 の場合、入
力ファイルは自由形式の FORTRAN-90 テキストであると考 え
ら れます。<syf> が .f77 または .F の場合、入力ファイル
は FORTRAN-77 テキストであると考えられます。<syf> が 上
記 以 外 の 場合 (たとえば、.f や .for)、入力ファイルは
FORTRAN-77 テキストであると考えられます。
ソース言語とソース形式の定義にはいくつかオプションがあ り ま
す。
-f90 はソースファイルを FORTRAN-90 として扱います。
-fixed
fsplit はソースファイルを固定形式として扱います。このオ
プションは、FORTRAN-90 のテキストのみに有効です。
使用例
1. fsplit -f90 -fixed main1.f
main1.f ファイルは、固定形式の FORTRAN-90 テキストを持つファ
イルであると考えられます。
2. fsplit -f90 main2.f
main2.f ファイルは、自由形式の FORTRAN-90 テキストを持つファ
イルであると考えられます。
3. fsplit -f90 main3.f77
main3.f77 ファイルは、自由形式の FORTRAN-90 テキストを 持 つ
ファイルであると考えられます。
診断
-e オプションで指定した名前が見つからない場合、診断メッ セー
ジが標準エラーに出力されます。
使用上の留意点
ソースファイルの書式が標準でない場合は、 fsplit が混乱するこ
とがあります。
ソースコードが構文的に正しくないプログラムの場合、 fsplit が
混乱することがあります。
名前のないメインプログラムやブロックデータ副プログラムで -e
オプションを使用すると、作成後のファイル名を予想しなくてはな
らないので、手間がかかります。