Fortran ツール:FSPLIT と FPR

この節では,以下の Fortran のコマンド行ツールについて説明します。

FSPLITF90SPLIT

FSPLIT および F90SPLIT ツールは,複数のルーチンを含んでいる Fortran ファイルを個々のファイルに分割します。これらのツールは,Fortran プログラムが大きい場合に便利です。

F90SPLIT は,プログラムが自由形式ソースまたは Fortran 90/95 の構成要素を使用している場合に使用します。FSPLIT は FORTRAN 77 のコードに使用します。FSPLIT および F90SPLIT コマンドは同じ形式を持ちます。

FSPLIT [ options ] [input-file...]

F90SPLIT [ options ] [input-file...]

options

次表に示したいずれかのキーワード。複数のオプションを指定する場合には,互いに空白で区切ります。

オプション 説明
-e:name プログラム単位名だけを処理します。コマンド行では -e name を複数指定することができます。
-extend_source 個々のソース行の文欄を,72 列目ではなく 132 列目で終わるものとして扱います。
-help, ? FSPLIT コマンドに関する情報を表示します。
-nologo FSPLIT または F90SPLIT が実行されたときに表示される著作権の表示を禁止します。
-silent 開かれた各ファイル名 (入力および出力ファイル) の表示を禁止します。

input-file

分割する Fortran ソース・ファイル。ファイル一覧を使うことで,複数のファイルを指定することができます。input-file が省略されると,FSPLIT または F90SPLIT ユーティリティは標準入力から読み取りを行います。

FSPLIT または F90SPLIT は,複数のルーチンを含んでいる Fortran ファイルを,filename.for という形式の別々のルーチン・ファイルに分割します。filename はプログラム単位名です (例:関数,サブルーチン,ブロック・データ,プログラム)。名前なしのブロック・データ副プログラムの場合,nnn を 3 桁のコードとして,blkdtannn.for という形式の名前になります。名前なしの主プログラムの場合は,mainnnn.for という形式の名前になります。

プログラム単位の分類でエラーが生じた場合,または filename.for がすでに存在している場合,そのプログラム単位は,nnn を 3 桁のコードとして,zzznnn.for という名前のファイルに保存されます。

通常は,個々の副プログラム単位が別々のファイルに分割されます。

名前なしの主プログラムとブロック・データ副プログラムでは,-e オプションの使用は避けてください。このオプションでは,作成されるファイル名を予測しなければならないからです。

FSPLIT または F90SPLIT が,-e オプションで指定された名前を見つけることができないと,標準エラー装置にエラー・メッセージが書き出されます。

次のコマンド例は,副プログラム単位の readitdoit を別々のファイルに分割します。

FSPLIT -e readit -e doit prog.for

FPR

FPR ツールは,Fortran の復帰制御規約に従って書式設定されたファイルを,ライン・プリンタ規約に従って書式設定されたファイルに変換します。次に FPR コマンドの形式を示します。

FPR [-f record-size] [filename]

record-size

入力として固定長記録を指定します。record-size は 10 進整数でなくてはなりません。

filename

変換するデータ・ファイルを指定します。

FPR は入力の filename を自分自身にコピーし,復帰制御文字を,PRINT コマンドを使って印刷したときに意図した効果を生じさせる文字に置き換えます。次表に示すように,各行の最初の文字は垂直方向の間隔を決定します。

文字 印刷前の垂直間隔
空白 1 行
0 2 行
1 次ページの最初の行まで
+ 前進なし
$ または ASCII NUL 1 行:印刷後に復帰せず

FPR は,入力された全行の最初の文字を,その文字が認識可能な制御文字でない場合にも解釈します。認識不可能な制御文字は空白として扱われ,1 行だけ前進させます。

FPR はストリーム・ファイルと固定長ファイルを処理することができます。FPR への入力は,-f オプションが指定されていない限り,ストリーム (ストリーム LF) ファイルと見なされます。

FPR が認識不可能な制御文字に遭遇しても,診断メッセージは発行されません。