Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

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

この場合、コマンド

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 テキストであると見なされます。

ソース言語とソース形式の定義にはいくつかオプションがあります

-f90

fsplit はソースファイルを 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 オプションを使用することは、作成後のファイル名を予測しなくてはならないので困難です。