(1)PROGRAM、FUNCTION、SUBROUTINE、MODULE、BLOCK DATA のいずれかのステートメント | |
(2)USE ステートメント | |
(3)DATA、FORMAT、および ENTRY ステートメント | (4)派生型定義、インターフェース・ブロック、タイプ宣言ステートメント、仕様ステートメント、 IMPLICIT ステートメント、PARAMETER ステートメント |
(5)実行可能構造体 | |
(6)CONTAINS ステートメント | |
(7)内部サブプログラムまたはモジュール・サブプログラム | |
(8)END ステートメント | |
ステートメントの順序 縦線の範囲内では、さまざまなステートメントを選択することができますが、水平線を超えてステートメントを入れ換えることはできません。図中の数字は、特定のコンテキストで使用できる一群のステートメントを識別するために本書の中で後ほど使用されます。この節の参照は、本書の他の箇所でこれらの番号が使用される場所に記載されています。
|
---|
ステートメントの順序に関する規則および制限の詳細については、 第 7 章, プログラム単位およびプロシージャーまたは 第 10 章, ステートメントおよび属性を参照してください。
通常の実行順序は、指定した関数への参照が任意の順序で処理され、それに続いて実行可能なステートメントが有効範囲単位に現れる順番で処理されます。
制御の転送は、通常の実行順序の代わりとなるものです。実行順序を制御するために使用できるステートメントとして以下のものがあります。
サブプログラムによって定義されているプロシージャーを参照する場合、プログラムの実行は、プロシージャーを定義しているサブプログラムの有効範囲単位で参照される、指定された関数で継続します。プログラムは、プロシージャーを定義している FUNCTION、SUBROUTINE、または ENTRY ステートメントに続く最初の実行可能ステートメントで再開されます。サブプログラムから戻ると、プログラムの実行は、プロシージャーが参照された場所、または代替戻り指定子によって参照されるステートメントから継続されます。
本書では、特定の制御の転送でのイベントの順序に関する記述は、エラーの発生や STOP ステートメントの実行などのイベントによって通常の順序が変更されないことを前提としています。