プログラム単位、プロシージャー、およびサブプログラム

プログラム単位は 1 行以上のシーケンスで、ステートメント、コメント、およびディレクティブで構成されています。 サブプログラムは、関数かサブルーチンのいずれかで、さらに内部サブプログラム、外部サブプログラム、またはモジュール・サブプログラムのいずれかになります。プログラム単位は、具体的には次のものを指しています。

実行可能プログラムは、1 つのメインプログラム、任意の数の外部サブプログラム、モジュール、Fortran 2008 の始まりサブモジュールFortran 2008 の終わりおよびブロック・データ・プログラム単位からなるプログラム単位の集合です。

サブプログラムは、特定のアクティビティーを実行するためにメインプログラムまたは別のサブプログラムから 呼び出すことができます。プロシージャーを呼び出すと、参照されたサブプログラムが実行されます。

外部サブプログラムまたはモジュール・サブプログラムには、複数の ENTRY ステートメントを 入れることができます。サブプログラムは、各 ENTRY ステートメントごとに 1 つのプロシージャーを 定義し、さらに SUBROUTINE または FUNCTION ステートメントに対するプロシージャーを定義します。

外部プロシージャーは、外部サブプログラムまたは Fortran 以外のプログラム言語で作成された プログラム単位のいずれかで定義されます。

メインプログラム、外部プロシージャー、ブロック・データ・プログラム単位、共通ブロック、バインディング・ラベルのあるエンティティー、モジュール、およびFortran 2008 の始まりサブモジュールFortran 2008 の終わりは、グローバル・エンティティーです。 内部プロシージャーおよびモジュール・プロシージャーは、ローカル・エンティティーです。