入れ子にされた DO 構文

DO 構文は 1 つまたは複数の完全な DO 構文 (ループ) を含むことができます。内側の入れ子にされた DO 構文の範囲は,次の外側の DO 構文の範囲に完全に収まっていなくてはなりません。入れ子にされた非整構造 DO 構文は,文番号付きの終了文を共有することができます。

次図は,入れ子にされた DO 構文として正しい例と間違っている例を示しています。

入れ子にされた DO 構文

入れ子にされた DO 構文では,内側の構文から外側の構文に制御を移すことができます。ただし,外側の構文から内側の構文に制御を移すことはできません。

複数の入れ子にされた DO 構文が同じ終了文を共有している場合,その文には,一番内側の構文の範囲内からしか制御を移すことができません。その文に別のところから制御が移された場合,外側の構文から内側の構文への制御の転送として扱われます。これは,共有文が一番内側の構文の範囲に含まれているためです。