ステートメントおよび実行の順序


表 3. ステートメントの順序

(1)PROGRAM、FUNCTION、SUBROUTINE、MODULE、BLOCK DATA の いずれかのステートメント
(2)USE ステートメント
(3)IMPORT ステートメント
(4)DATA、FORMAT、および ENTRY ステートメント (5) 派生型定義、インターフェース・ブロック、型宣言ステートメント、 仕様ステートメント、IMPLICIT ステートメント、および PARAMETER ステートメント
(6) 実行可能構造体
(7)CONTAINS ステートメント
(8) 内部サブプログラムまたはモジュール・サブプログラム
(9)END ステートメント

ステートメントの順序

縦線の範囲内では、散在したさまざまなステートメントを選択することができますが、 水平線を超えて散在したステートメントを入れ換えることはできません。 図中の数字は、特定のコンテキストで使用できる一群のステートメントを識別するために本書の中で後ほど使用されます。 本節への参照は、本書の他の箇所でこれらの番号が使用される場所に記載されています。

ステートメントの順序に関する規則および制限の詳細については、 プログラム単位およびプロシージャーまたは ステートメントおよび属性を参照してください。

通常の実行シーケンスは、指定関数への参照が任意の順序で処理され、それに続いて実行可能なステートメントが有効範囲単位に現れる 順番で処理されます。

制御の転送は、通常の実行シーケンスの代わりとなるものです。 実行シーケンスを制御するために使用できるステートメントとして以下のものがあります。

サブプログラムによって定義されているプロシージャーを参照する場合、プログラムの実行は、プロシージャーを定義している サブプログラムの範囲指定ユニットで参照される、指定関数で継続します。 プログラムは、プロシージャーを定義している FUNCTIONSUBROUTINE、または ENTRY ステートメントに続く最初の実行可能ステートメントで再開されます。 サブプログラムから戻ると、プログラムの実行は、プロシージャーが参照された場所、または代替戻り指定子によって 参照されるステートメントから継続されます。

本書では、特定の制御の転送でのイベントの順序に関する記述は、エラーの発生や STOP ステートメントの 実行などのイベントによって通常の順序が変更されないことを前提としています。 IBM Copyright 2003