仮引数
仮引数は、引数が以下のいずれかの場合に作成されます。
- 定数 (パラメーターが NONASSIGNABLE 属性を持つ場合を除く)
- 演算子、括弧、または関数参照を使用する式
- データ属性、位置合わせ属性、または接続属性が
パラメーターに宣言された属性と異なる変数。
境界、長さ、またはサイズだけが異なり、
しかもこれらがアスタリスクを使用して宣言されている場合、
および定数以外の式を使用して被制御パラメーターの
エクステントを定義している場合には、
上記は制御されていないパラメーターには適用されません。
定数以外の式を使用して被制御パラメーターのエクステントを定義している場合、
引数とパラメーターのエクステントは一致すると見なされます。
PICTURE 属性を持つ引数とパラメーターの場合、反復因数が適用されたあと、
ピクチャー指定が正確に一致しない限り、仮引数が作成されます。
唯一の例外は、スケール因数に正符号が付いている引数またはパラメーターは、正符号の付いていないパラメーターまたは引数と一致することです。
- 調整可能な長さやサイズを持つストリングまたは区域 (長さやサイズが一定の
制御されないパラメーターに関連付けられるもの)
なお、RULES(LAXCTL) コンパイラー・オプションの場合は、CONTROLLED ストリングまたは AREA のエクステントは常に変更可能です。
一方、RULES(NOLAXCTL) コンパイラー・オプションの場合は、定数として宣言されていない限り、CONTROLLED ストリングまたは AREA のエクステントは変更可能です。
仮引数属性の派生
PL/I では、以下のものから仮引数の属性を派生します。
- 内部プロシージャーの関連パラメーターに宣言された属性。
- 外部入り口宣言の関連パラメーターのパラメーター記述子に指定された属性。
このパラメーターの記述子がなかった場合には、定数または式の属性が使用されます。
- 配列境界の引数、ストリングの長さ、
または区域のサイズのエクステント (宣言にアスタリスクが付けられている場合)。
仮引数の規則
以下の規則が、仮引数に適用されます。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)