ブロック

PL/I はブロック構造の言語です。特定の言語要素で文を構成するように、文のグループでブロックを構成します。Open PL/I には、次の 2 種類のブロックがあります。

プロシージャ ブロックは、Open PL/I の基本となる実行可能プログラム ユニットであり、1 対の PROCEDURE 文と END 文の範囲内に記述される文のグループで構成されます。

BEGIN ブロックは、プロシージャの標準の制御フローで実行されるプログラム ユニットです。BEGIN ブロック内の文は、1 対の BEGIN 文と END 文の範囲内に記述されます。

プロシージャ ブロックまたは BEGIN ブロックが開始されるたびに、そのブロックに対するブロックの有効化が作成されます。ブロックの有効化は、ブロック内で宣言された変数に対する記憶域の割り当て、およびそのブロックを有効化のチェーンにおいて前のブロックにリンクするシステム情報で構成されます。

以降のセクションでは、プロシージャ ブロックと BEGIN ブロック、およびそれらの有効化について詳しく説明します。