ID、区切り文字、演算子、および定数を使用して、
PL/I ステートメントを作ることができます。
ソース・プログラムは一連のレコードまたは行から構成されますが、
PL/I は、プログラムを連続した文字のストリームと見なします。
PL/I ステートメントのフォーマットにはほとんど制約がないので、
プログラムを作成する際に特別のコーディング規則に注意する必要はなく、
各ステートメントを特定の桁位置から始める必要もありません。
ステートメントは、前のステートメントのすぐあとの位置から開始できます。また、ブランク (いくつでもよい) で区切ることができます。
ステートメントの中には、% 記号で始まるものもあります。
これらのステートメントは、
プリプロセッサーおよびコンパイラーの演算 (ライブラリーからの
プログラム・ソース・テキストをはじめとするリストの制御など) を
指示する % ディレクティブであるか、
または PL/I マクロ機能の % ステートメントであるかのいずれかです。
% ディレクティブは単独で 1 行を占めなければなりません。
プログラムを読みやすく保守しやすくするため、
およびソース行の後続ブランクの欠落によって予測できない結果が生じるのを防ぐため、
以下のことを実行してください。
- 言語エレメントを分割して複数行に置くようなことがないようにします。
ストリング定数を複数行に書かなければならない場合には、
連結記号 (||) を使用してください。
- 1 行に複数のステートメントを記述することはできません。
- % ディレクティブを複数行に分割することはできません。
PL/I ステートメント、マクロ機能 % ステートメント、および
% ディレクティブは、ステートメントとディレクティブにアルファベット順に
リストされています。
PL/I ステートメントの構文は、以下のとおりです。
 >>-+------------------+--+--------------+--+-----------+-------><
'-condition-prefix-' '-label-prefix-' '-statement-'
|
% ディレクティブの構文は、以下のとおりです。
 >>-%--+-----------+--------------------------------------------><
'-statement-'
|
% ステートメントの構文は、以下のとおりです。
 .------------------.
V |
>>-%----+--------------+-+--+-----------+----------------------><
'-label-prefix-' '-statement-'
|
マクロ・ステートメントの構文は、以下のとおりです。
 .------------------.
V |
>>---+--------------+-+--+-----------+-------------------------><
'-label-prefix-' '-statement-'
|
各ステートメントは、いずれかのグループまたはブロックに含まれて
いなければなりません。
マクロ・ステートメントは、なんらかのマクロ・グループ
またはプロシージャーの中に囲まれていなければなりません。
- condition-prefix
- condition-prefix は、PL/I 条件の可能または禁止を指定します (条件処理を参照)。
- label-prefix
- label-prefix は、1 つまたは複数のステートメント・ラベルです。
ステートメント・ラベルとは、
プログラム内のどこか別の場所からそのステートメントを参照できるように、
ステートメントを識別する名前です。
ステートメント・ラベルは、ラベル定数 (ラベル・データと LABEL 属性で取り上げられています)、
入り口定数 (入り口データで取り上げられています)、
またはフォーマット定数 (フォーマット・データと FORMAT 属性で取り上げられています) の
いずれかになります。
DECLARE、DEFAULT、WHEN、OTHERWISE および ON ステートメント以外の任意のステートメントは、
ラベル接頭部を持つことができます。
ラベル接頭部の構文は以下のとおりです。
 .---------------.
V |
>>---identifier--:-+-------------------------------------------><
|
一般的にこの資料全体の独立ステートメントの構文は、条件接頭語または
ラベル接頭部を示しません。
- statement
- 単純または複合ステートメントがあります。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)