Fortran 95 コンパイラは、Fortran 95 標準規則に対して、次のソース言語の機能および拡張機能を提供します。
f95 では、999 行まで行を継続することができます (開始行が 1 行とそのあとの継続行が 999)。標準の Fortran 95 では、固定形式の場合で 19 行まで、自由形式の場合で 39 行までです。
固定形式のソースの場合、1 行に 73 文字以上使用できます。 ただし、73 桁目以降はすべて無視されます。標準の Fortran 95 では、行の長さは 72 文字までです。
f95 の固定形式のソーステキストは、次のように定義されています。
1 から 6 の任意の列にあるタブによって、その行がタブ形式のソース行になります。
タブより前に、コメントインジケータまたは文番号がある場合があります。
タブが最初の文字で空白以外の場合は、次のようになります。
タブのあとの文字がゼロでない数字以外の場合、タブに続くテキストが最初の行です。
最初のタブのあとがゼロでない数字の場合、その行は継続行です。ゼロでない数字に続くテキストは、その文の次の部分です。
f95 のデフォルト最大行の長さは、固定形式で 72 列および自由形式で 132 列です。-e コンパイラオプションを使用すると、固定形式のソースの行を 132 列に拡張できます。
例: 左のタブの形式のソースは、右に表示されます。
!^IUses of tabs ^ICHARACTER *3 A = ’A’ ^IINTEGER B = 2 ^IREAL C = 3.0 ^IWRITE(*,9) A, B, C 9^IFORMAT(1X, A3, ^I1 I3, ^I2 F9.1 ) ^IEND ! Uses of tabs CHARACTER *3 A = ’A’ INTEGER B = 2 REAL C = 3.0 WRITE(*,9) A, B, C 9 FORMAT(1X, A3, 1 I3, 2 F9.1 ) END |
前述の例で、「^I」はタブ文字を表し、「1」および「2」で始まる行は継続行を表しています。コードはさまざまなタブの状態を示しますが、いずれの形式も推奨しません。
f95 は、タブがあると以降その行の 72 桁目までパディングします。そのため、次の行に継続する文字列にタブが挿入された場合、予想外の結果を招くことがあります。
ソースファイル :
^Iprint *, "Tab on next line ^I1this continuation line starts with a tab." ^Iend |
コードの実行結果 :
Tab on next line this continuation line starts with a tab. |
f95 が想定するソースの書式は、オプション、指令、および拡張子によって異なります。
拡張子が .f または .F のファイルは、固定形式とみなされます。拡張子が .f90、.f95、.F90、または .F95 のファイルは、自由形式とみなされます。
表 4–1 F95 ソース書式のコマンド行のオプション
オプション |
処理 |
---|---|
-fixed |
すべてのソースファイルが Fortran の固定形式で記述されていると解釈します。 |
-free |
すべてのソースファイルが Fortran の自由形式で記述されていると解釈します。 |
-free および -fixed オプションは、ファイル名の拡張子よりも優先されます。また、!DIR$ FREE 指令または !DIR$ FIXED 指令は、オプションおよびファイル名の拡張子よりも優先されます。
次のように、異なるソースの書式を混在させてもかまいません。
1 つの f95 のコマンド内で、固定形式のソースファイルと自由形式のソースファイルを混在させることができます。
1 つのファイル内で、!DIR$ FREE 指令または !DIR$ FIXED 指令を使用すると、自由形式と固定形式を混在させることができます。
同じプログラム単位内では、タブ形式と自由形式または固定形式を混在させることができます。
Sun Fortran 95 では、デフォルトでは大文字と小文字が区別されません。すなわち、AbcDeF という変数は、abcdef と同じ文字列として扱われます。-U オプションを付けてコンパイルすると、コンパイラは大文字と小文字を区別します。