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 オプションを使用すると、-e オプションで指定したサブプログラムだけが分割されます。たとえば、コマンド
fsplit -e sub1 -e sub2 prog.f
は、sub1 と sub2 だけをファイル sub1.f と sub2.f に抜き出します。
デフォルトでは、すべてのユニット名が小文字に変換されます。-u オプションを使用すると、すべてのユニットで元の名前が保持されます。たとえば、ファイル main.f77 に次が含まれているとします。
subroutine SUB1 ... end subroutine SUB2 ... end
この場合、コマンド
fsplit main.f77
では「sub1.f77」および「sub2.f77」という名前のファイルが作成され、コマンド
fsplit -u main.f77
では「SUB1.f77」および「SUB2.f77」という名前のファイルが作成されます
すでに述べたとおり、fsplit プログラムは FORTRAN-77 と FORTRAN-90 のコードが入ったソースファイルを処理します。命名オプションを設定しない場合 (下記を参照)、fsplit は次の規則に従います。
<syf> が「.f90」または「.F90」の場合、入力ファイルは自由形式の FORTRAN-90 テキストであると見なされます。
<syf> が「.f77」または「.F」の場合、入力ファイルは FORTRAN-77 テキストであると見なされます。
<syf> が上記以外 (たとえば、「.f」や「.for」) の場合も、入力ファイルは FORTRAN-77 テキストであると見なされます。
ソース言語とソース形式の定義にはいくつかオプションがあります
fsplit はソースファイルを FORTRAN-90 として扱います。
fsplit はソースファイルを固定形式として扱います。(このオプションは FORTRAN-90 テキストに対してのみ有効です)。
main1.f ファイルは、固定形式の FORTRAN-90 テキストを含むファイルであると見なされます。
使用例 2 fsplit -f90 main2.fmain2.f ファイルは、自由形式の FORTRAN-90 テキストを含むファイルであると見なされます。
使用例 3 fsplit -f90 main3.f77main3.f77 ファイルは、自由形式の FORTRAN-90 テキストを含むファイルであると見なされます。
-e オプションで指定した名前が見つからない場合、標準エラーに診断が書き込まれます。
ソースの書式が標準でない場合は、fsplit が混乱することがあります。
ソースコードが構文的に正しいプログラムでない場合は、fsplit が混乱することがあります。
名前のないメインプログラムやブロックデータサブプログラムで -e オプションを使用することは、作成後のファイル名を予測しなくてはならないので困難です。