目的
END ステートメントは、プログラム単位またはプロシージャーの終了を示します。
構文
>>-END--+---------------------------------+-------------------->< +-BLOCK DATA--+-----------------+-+ | '-BLOCK_DATA_name-' | +-FUNCTION--+---------------+-----+ | '-FUNCTION_name-' | +-MODULE--+-------------+---------+ | '-MODULE_name-' | +-PROGRAM--+--------------+-------+ | '-PROGRAM_name-' | '-SUBROUTINE--+-----------------+-' '-SUBROUTINE_name-' |
規則
END ステートメントは、プログラム単位内で唯一の必須ステートメントです。
内部サブプログラムまたはモジュール・サブプログラムの場合、 FUNCTION または SUBROUTINE キーワードを END ステートメントで指定する必要があります。ブロック・データ・プログラム単位、外部サブプログラム、メインプログラム、モジュールおよびインターフェース本体の場合、対応するキーワードはオプションとなります。
オプションの PROGRAM ステートメントを使用し、プログラム名が PROGRAM ステートメントで指定したプログラム名と一致する場合にのみ、そのプログラム名を END PROGRAM ステートメントに含めることができます。
ブロック・データ名が BLOCK DATA ステートメント内で与えられ、 BLOCK DATA ステートメントに指定したプログラム名と一致する場合にのみ、そのブロック・データ名を END BLOCK DATA ステートメントに含めることができます。
END MODULE、END FUNCTION、または END SUBROUTINE ステートメントに名前を指定する場合、その名前はそれぞれ MODULE、FUNCTION、または SUBROUTINE ステートメントに指定されているものと同じでなければなりません。
END、END FUNCTION、END PROGRAM、および END SUBROUTINE ステートメントは、分岐可能な実行可能ステートメントです。固定形式および Fortran 90 自由形式の書式では、1 つの行で END ステートメントの後に他のステートメントを続けることはできません。固定形式の書式では、プログラム単位の END ステートメントを継続することはできません。また、開始行がプログラム単位の END ステートメントになるステートメントも継続できません。
メインプログラムの END ステートメントは、プログラムの実行を終了させます。関数またはサブルーチンの END には、 RETURN ステートメントと同じ機能があります。インライン注釈を、 END ステートメントと同じ行に指定することができます。 END ステートメントの後の注釈行は次のプログラム単位に属します。
PROGRAM TEST CALL SUB() CONTAINS SUBROUTINE SUB
·
·
·
END SUBROUTINE ! Reference to subroutine name SUB is optional END PROGRAM TEST
関連情報