GO TO(飛越し)文は、手続き部のある部分から別の部分へ制御を移転させる。
形式 1 のGO TO文中の手続き名-1を省略することは、ANSI'85標準では廃棄要素に分類されており、ANSI 規格の次回の全面改訂の際に削除される予定である。
この構文は、Micro Focus COBOL に組み込まれているすべての方言で全面的に使用できる。FLAGSTD指令を使用すると、この構文が使われているすべての箇所を見つけ出すことができる。
A標準COBOL定義の一部を構成するにもかかわらず、X/OpenのCOBOL言語定義では、形式 1 で手続き名を省略することは明示的に除外されている。したがって、X/OpenのCOBOLに準拠する原始プログラム内ではこの文を使用するべきではない。
一般形式
形式 1
形式 2
構文規則
すべての形式
- 一意名は、整数をとる数字基本項目の名前である。
- ALTER(変更)文によって参照される段落は、段落の見出しとその後ろに書いた書き方1のGO TO文だけで構成しなければならない。
形式 1
- 手続き名-1を伴わない形式 1 のGO TO文は、単一の文からなる段落内にだけ書ける。
この規則は強制しない。
- 完結文の中の一連の無条件文の1つとして、形式 1 のGO TO文を使用する場合は、その最後の文とする。
形式 2
- 形式 2 では、少なくとも2つの手続き名を書く必要がある。
形式 2 で手続き名が1つだけであってもよい。
一般規則
すべての形式
- 形式 1 で手続き名-1を指定しない場合は、このGO TO文を参照するALTER文を、このGO TO文の実行に先立って実行しておく。
このGO TO文を実行する前に、このGO TO文が含まれる段階を参照するALTERが実行されていない場合には、このGO TO文はCONTINUE(継続)文と同じに扱われる。
形式 1
- 形式 1 のGO TO文が実行されると、制御は手続き名-1に移される。ただし、ALTER文によってそのGO TO文が変更されている場合には、変更された手続き名に制御が移される。
形式 2
- 形式 2 のGO TO文が実行されると、一意名の値が1, 2, ... nのどれであるかに応じて、手続き名-1、手続き名-2などに制御が移される。一意名の値が正または符号の付かない1, 2, ... nでない場合は、制御の移転は行われず、通常の実行順序の次の文が実行される。