BEGIN

目的

プログラムの一連の文をグループ化し、そのブロック内で宣言される名前の範囲を定義します。

構文

BEGIN[ORDER|REORDER];

説明

BEGIN 文は、begin ブロックを定義し、そのブロックの開始を示します。このブロックは END 文で終わる必要があります。

BEGIN 文は実行可能な文であり、IF 文の THEN 句や ELSE 句、ON 文の ON-unit として記述できるほか、プロシージャ内の任意の箇所に単純文として記述できます。

BEGIN 文が実行されると、begin ブロックが有効化されます。ブロックの有効化は、対応する END 文が実行されるか、RETURN 文が実行される (ブロックを含むプロシージャが終了される) か、ブロック外部のラベルを参照する GOTO 文が実行されると終了します。

BEGIN 文を実行する場合、ブロックの有効化を設定するオーバーヘッドとして時間および領域が余分に必要になるため、基本の文を含めるのには単純な DO グループの方が適しています。ただし、DO グループは ON-unit として使用することはできず、宣言に対して新しい範囲も設定されないことに注意してください。このような場合は、BEGIN 文を使用する必要があります。

ORDER および REORDER は、IBM メインフレームの PL/I プログラムで最適化のために使用されることがあるオプションです。Open PL/I では、これらのオプションは必要なく、解析されるだけか無視されます。

BEGIN;
   .
   .
   .
END;
ON ERROR 
   BEGIN;
      .
      .
      .
   END;

制約事項

なし。