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

言語に固有のデフォルト

データ属性を指定しないで宣言された変数には、 デフォルトにより算術属性が与えられます。 モード、スケール、基数が DECLARE ステートメントまたは DEFAULT ステートメントによって 指定されていない場合は、DEFAULT コンパイラー・オプションが これらの属性を次のように決定します。

スケール因数が精度属性に指定されていない場合、 ほかのすべての属性に先行して、FIXED 属性が適用されます。 したがって、BINARY (p,q) 属性を指定した宣言は、 常に FIXED BINARY (p,q) 属性を指定した宣言と同じになります。

算術宣言で精度が指定されていない場合、 DEFAULT コンパイラー・オプションにより、表 27 に従って精度が決定されます。 有効範囲、ストレージ、および位置合わせ属性に関する言語に固有のデフォルトは、 表 8表 7 に示されています。

ENTRY 宣言で記述リストが指定されていない場合、引数の属性は、 呼び出されたプロシージャー内のパラメーターの属性と一致しなければなりません。 例えば、下記の宣言の場合、

  dcl X entry;
  call X( 1 );

引数は属性 REAL FIXED DECIMAL(1,0) を持っています。 次の例に示すように、プロシージャー x がそのパラメーターを別の属性で宣言した場合には、 エラーが発生します。

  X: proc( Y );
    dcl Y fixed bin(15);

入り口宣言によってすべてのパラメーターの属性を指定すれば、 こうしたエラーの可能性を回避することができます。

表 27. デフォルトの算術精度
属性 DEFAULT(IBM) DEFAULT(ANS)
DECIMAL FIXED (5,0) (10,0)
BINARY FIXED (15,0) (31,0)
DECIMAL FLOAT (6) (6)
BINARY FLOAT (21) (21)

Terms of use | Feedback

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