文:コンパイラに対して,現在のファイルから文を読み込むのを中止し,インクルードされるファイルまたはテキスト・モジュール文を読み込むように指示します。
INCLUDE 文は,以下のいずれかの形式を取ります。
形式
INCLUDE 'filename [/[NO]LIST]'
INCLUDE '[text-lib] (module-name) [/[NO]LIST]' (VMS のみ)
filename
インクルードするファイルの名前を指定する文字列。これは名前付き定数であってはなりません。
ファイル名の形式は,システム・ドキュメントに記述されている,オペレーティング・システムで使用可能な形式でなくてはなりません。
[/[NO]LIST]
取り込んだコードをコンパイル・ソース・リストに出力するかどうかを指定します。リスト中では,取り込まれた個々の文の前に番号が表示されます。この番号は,取り込まれたコードの入れ子の深さを示しています。基本設定は /NOLIST です。/LIST と /NOLIST は完全な単語を指定しなくてはなりません。
Tru64 UNIX,Linux,および Windows システムで,/vms コンパイラ・オプション (OpenVMS 基本設定を設定します) を使用した場合,/[NO]LIST しか使用できません。
text-lib (VMS のみ)
検索するテキスト・ライブラリーのファイル名を指定する文字列。
ファイル名の形式は,システム・ドキュメントに記述されている,オペレーティング・システムで使用可能な形式でなくてはなりません。ファイル名の書式は,オペレーティング・システムが受け付ける書式でなければなりません。詳細は,システムのマニュアルを参照してください。
module-name (VMS のみ)
インクルードするテキスト・ライブラリー・モジュールの名前を指定する文字列です。テキスト・モジュールの名前は括弧で囲まなくてはなりません。最大 31 文字の任意の英数字と,特殊文字のドル記号 ($) および下線 (_) を含むことができます。
規則と振る舞い
INCLUDE 文は有効域中の任意の位置に置くことができます。この文は複数のソース行にまたがることができますが,同じ行に他の文があってはなりません。ソース行に文番号を付けることはできません。
インクルードされるファイルまたはテキスト・モジュールは継続行で始まってはならず,個々の Fortran 文は完全に 1 つのファイルに含まれていなくてはなりません。
インクルードされるファイルまたはテキスト・モジュールは任意のソース・テキストを含むことができますが,不完全な Fortran 文で開始または終了することはできません。
インクルードされた文は,コンパイル時に他の文と結合されたときに,「文」に示した文の順序の制約を満たさなくてはなりません。
インクルードされるファイルまたはテキスト・モジュールは,さらに INCLUDE 文を含むことができますが,再帰的なインクルードであってはなりません。INCLUDE 文はシステム・リソースが使い尽くされるまで入れ子にすることができます。
インクルードされるファイルまたはテキスト・モジュールが実行を完了すると,コンパイルは INCLUDE 文の後の文から再開されます。
関連するデータ形式と手続のカプセル化を実行するためにインクルード・ファイルの代わりにモジュールを使うことができます。たとえば,1 つのモジュールには構造型定義とそれらに適用される特別な演算子や手続も同様に含むことができます。モジュールの使い方についての詳細は,「プログラム単位と手続」を参照してください。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
次の例では,(現在の作業用ディレクトリ中の) COMMON.FOR という名前のファイルがインクルードされ,入力として読み込まれます。
ファイルからのテキストのインクルード
主プログラム・ファイル COMMON.FOR ファイル PROGRAM INCLUDE 'COMMON.FOR' INTEGER, PARAMETER :: M=100 REAL, DIMENSION(M) :: Z REAL, DIMENSION(M) :: X, Y CALL CUBE COMMON X, Y DO I = 1, M Z(I) = X(I) + SQRT(Y(I)) ... END DO END SUBROUTINE CUBE INCLUDE 'COMMON.FOR' DO I=1,M X(I) = Y(I)**3 END DO RETURN END
ファイル COMMON.FOR は,M という名前付き定数を定義し,無名共通ブロックの一部として配列 X と Y を定義します。
以下の例プログラムは,インクルード・ファイル内で共通データを宣言しています。INCLUDE.INC の内容は,各 INCLUDE 'INCLUDE.INC' 文の場所のソース・コードに挿入されます。これは,共通領域変数へのすべての参照が矛盾しないことを保証しています。
INTEGER i REAL x INCLUDE 'INCLUDE.INC' DO i = 1, 5 READ (*, '(F10.5)') x CALL Push (x) END DO