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

暗黙宣言

プログラム内で使用する名前を明示的に宣言しなかった場合、その名前は暗黙のうちに宣言されます。 暗黙宣言の有効範囲は、その名前が使われている外部プロシージャーの PROCEDURE ステートメントのすぐあとで DECLARE ステートメントによってその名前を宣言した場合と同様にして決まります。

ファイル、入り口、組み込み関数を除き、暗黙宣言は、名前が最外部の プロシージャーで宣言された場合と同様の効果を持ちます。 ファイルと組み込み関数については、暗黙宣言は、名前が任意の プロシージャーの外側の論理パッケージに宣言された場合と同様の効果を持ちます。

注:
組み込み関数およびファイル SYSIN と SYSPRINT 以外のものに 暗黙宣言を使用するのは、1987 ANSI 規格に対する違反であり、 避けなければなりません。

暗黙のうちに宣言された名前の属性の中には、その名前が使われているコンテキスト上から判定することができます。 これはコンテキスト宣言 と呼ばれ、次のような場合です。

コンテキスト宣言の例は、以下のとおりです。

  read file (PREQ) into (Q);

  allocate X in (S);

これらのステートメントでは、PREQ に FILE 属性、 S に AREA 属性が与えられます。

コンテキスト宣言ではない暗黙宣言は、属性のデフォルトに示すように、 すべてデフォルトによって属性を取得します。 コンテキスト宣言は明示宣言の有効範囲内には存在することができないため、 明示宣言内の名前について確立された属性に、 名前のコンテキストが別の属性を追加することはできません。


Terms of use | Feedback

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