GO TO(飛越し)文

GO TO(飛越し)文は、手続き部のある部分から別の部分へ制御を移転させる。

形式 1 のGO TO文中の手続き名-1を省略することは、ANSI'85標準では廃棄要素に分類されており、ANSI標準の次回の全面改訂の際に削除される予定である。

この構文は、Micro Focus COBOL に組み込まれているすべての方言で全面的に使用できる。FLAGSTD指令を使用すると、この構文が使われているすべての箇所を見つけ出すことができる。

A標準COBOL定義の一部を構成するにもかかわらず、X/OpenのCOBOL言語定義では、形式 1 で手続き名を省略することは明示的に除外されている。したがって、X/OpenのCOBOLに準拠する原始プログラム内ではこの文を使用するべきではない。

一般形式

形式 1

形式 2

構文規則

すべての形式
  1. 一意名は、整数をとる数字基本項目の名前である。

  2. ALTER(変更)文によって参照される段落は、段落の見出しとその後ろに書いた書き方1のGO TO文だけで構成しなければならない。
形式 1
  1. 手続き名-1を伴わない形式 1 のGO TO文は、単一の文からなる段落内にだけ書ける。

    この規則は強制しない。

  2. 完結文の中の一連の無条件文の1つとして、形式 1 のGO TO文を使用する場合は、その最後の文とする。
形式 2
  1. 形式 2 では、少なくとも2つの手続き名を書く必要がある。

    形式 2 で手続き名が1つだけであってもよい。

一般規則

すべての形式
  1. 形式 1 で手続き名-1を指定しない場合は、このGO TO文を参照するALTER文を、このGO TO文の実行に先立って実行しておく。

    このGO TO文を実行する前に、このGO TO文が含まれる段階を参照するALTERが実行されていない場合には、このGO TO文はCONTINUE(継続)文と同じに扱われる。

形式 1
  1. 形式 1 のGO TO文が実行されると、制御は手続き名-1に移される。ただし、ALTER文によってそのGO TO文が変更されている場合には、変更された手続き名に制御が移される。
形式 2
  1. 形式 2 のGO TO文が実行されると、一意名の値が1, 2, ... nのどれであるかに応じて、手続き名-1、手続き名-2などに制御が移される。一意名の値が正または符号の付かない1, 2, ... nでない場合は、制御の移転は行われず、通常の実行順序の次の文が実行される。