目的
ラベル付きのプリプロセッサ文に制御を移します。
構文
%[label:]... GOTO statement-label;
代替形式:%GOTO の代わりに %GO TO を使用できます。
パラメーター
statement-label は、プリプロセッサ文に対する参照です。
例
%DECLARE A CHARACTER;
%A = 'NAME';
%GOTO PREP_LABEL;
C = A;
%PREP_LABEL:; /* Null statement */
D = A;
この例で生成されるテキストは次のようになります。
D = NAME;
制約事項
GOTO の後ろに指定するラベルとしてプリプロセッサ プロシージャのラベルは使用できません。
説明
%GOTO 文は、指定されたラベルの位置でプリプロセッサにスキャンをさせます。
GOTO の後ろに指定するラベルには、スキャンを移動する先のポイントを指定します。それはプリプロセッサ文のラベルでなければなりません。
プリプロセッサ プロシージャ内に現れるプリプロセッサ GOTO 文では、そのプロシージャの外部にあるポイントに制御を移すことはできません。
GOTO 文では、入れ子の内部レベルにある別のインクルード ファイル内のラベルに制御を移すことができます。