Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

式および参照

計算の順序
ターゲット
変数
疑似変数
中間結果
演算式
ポインター演算
算術演算
ビット演算子
比較演算
連結演算
各種演算の組み合わせ
配列式
接頭演算子と配列
挿入演算子と配列
構造式
制限付き式

この章では、式および参照のさまざまなタイプを説明しています。

は、値を表すものです。 式は以下のいずれかになります。

演算子が含まれている式を演算式 といいます。 演算式の定数および変数は、オペランド と呼ばれます。 詳しくは、演算式を参照してください。

以下の図は、式および参照の構文を示しています。

構文図を読む構文図をスキップする>>-| 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 |-)-'
 

注:
  1. 演算子は、表 6 に示されています。
  2. ロケーター修飾子は、ロケーター修飾タイプ付き構造体修飾で説明されています。
  3. 添え字は、配列で説明されています。
  4. 引数は、プロシージャーへの引数の引き渡しで説明されています。
  5. 修飾される参照は、構造体/共用体の修飾で説明されています。
  6. ID は、IDで説明されています。

式は要素式 (スカラー式ともいう)、 配列式、または構造式 のいずれかに分類されます。 要素変数および配列変数は、同じ式内に書くことができます。

要素式
単一の値を表します。 この定義には、構造体や共用体内の基本名や、 配列の単一エレメントを指定する添え字付きの名前も含まれます。
配列式
値の配列を表します。 この定義には、次元属性を持つ構造体や共用体のメンバーが含まれます。
構造式
構造化された値のセットを表します。

以下に例を示します。

  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

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)