この章では、式および参照のさまざまなタイプを説明しています。
式 は、値を表すものです。 式は以下のいずれかになります。
演算子が含まれている式を演算式 といいます。 演算式の定数および変数は、オペランド と呼ばれます。 詳しくは、演算式を参照してください。
>>-| unary-expression |-----------------------------------------> .-----------------------------------------. V | >----+-------------------------------------+-+----------------->< | (1) | '-infix-operator-----unary-expression-' unary-expression: .--------------------------. V | |----+----------------------+-+--| elementary-expression |------| | (1) | '-prefix-operator------' elementary-expression: |--+-(expression)--+--------------------------------------------| +-| reference |-+ '-constant------' reference: |--+----------------------------+--| basic-reference |----------> | (2) | '-| locator-qualifier |------' >--+-----------------------------+------------------------------> | (3) | '-(-| subscript-list |------)-' .--------------------------------. V | >----+----------------------------+-+---------------------------| | (4) | '-(-| argument-list |------)-' locator-qualifier: (2) |---------reference--+- -> -+-----------------------------------| +- => -+ '- . --' basic-reference: (6) |--+------------------------------+--identifier-----------------| | (5) | '-| qualified-reference |------' subscript-list: .-,--------------. (3) V | |-----------+-expression-+-+------------------------------------| '-*----------' argument-list: .-,--------------. (4) V | |-----------+-expression-+-+------------------------------------| '-*----------' qualified-reference: (5) |---------basic-reference--+------------------------+--.--------| '-(-| subscript-list |-)-'
式は要素式 (スカラー式ともいう)、 配列式、または構造式 のいずれかに分類されます。 要素変数および配列変数は、同じ式内に書くことができます。
dcl A(10,10) bin fixed(31),
B(10,10) bin fixed(31),
1 Rate,
2 Primary dec fixed(4,2),
2 Secondary dec fixed(4,2),
1 Cost(2),
2 Primary dec fixed(4,2),
2 Secondary dec fixed(4,2),
C bin fixed(15),
D bin fixed(15);
dcl Pi bin float value(3.1416);
以下は要素式です。
Pi 27 C C * D A(3,2) + B(4,8) Rate.Primary - Cost.Primary(1) A(4,4) * C Rate.Secondary / 4 A(4,6) * Cost.Secondary(2) sum(A) addr(Rate)
A A + B A * C - D B / 10B
大半の PL/I ステートメントの構文では、 式の計算結果がステートメントの構文規則に合ってさえいれば、 式を使うことができます。 構文の仕様のあとにテキスト内で特に明記していない限り、 修飾されていない term expression (式) または reference (参照) は スカラー式を指しています。 スカラー式以外の式については、式のタイプが明記してあります。 例えば、array expression (配列式) という用語は、 スカラー式が無効であることを示します。
構造式の例は次のとおりです。
Rate = Rate*2