%DECLARE

目的

識別子がプリプロセッサ変数またはプリプロセッサ プロシージャ名であることを示します。

構文

%[label]... DECLARE(ident[dimension,...][,ident]...); 

省略形:%DECLARE は %DCL。

パラメーター

ident は PL/I 名です。

dimension の形式は次のとおりです。

[lower-bound:]upper-bound

配列の次元の下限と上限を示します。境界は数字リテラルでなければならず、各配列を独自の %DECLARE 文で宣言する必要があります。

注: 配列の境界は 15 を超えてはなりません。

説明

%DECLARE 文は、識別子をプリプロセッサ変数またはプリプロセッサ プロシージャ名として設定します。その識別子を RESCAN オプションを使用して有効にする役割もあります。

プリプロセッサ プロシージャでパラメーターを宣言する場合は、すべてのパラメーターを最初の文で一緒に宣言します。

CHARACTER (省略形は CHAR) は、識別子が最大 4096 文字の可変長の文字列を表すことを示します。FIXED は、変数に PL/I 属性 DECIMAL (5,0) も設定するように指定します。BIT は、識別子が最大長 16 のビット文字列を表すことを示します。

ENTRY 宣言は、ソース プログラムのプリプロセッサのエントリ名ごとに指定できます。この宣言でエントリ名が有効になります。プリプロセッサ プロシージャのエントリ名は、%PROCEDURE 文のラベルとして記述することで明示的に宣言できます。ただし、この明示的な宣言ではプリプロセッサ プロシージャ名は有効になりません。プリプロセッサの組み込み関数の名前は、プリプロセッサ プロシージャの名前には使用できません。

BUILTIN は、識別子が同じ名前のプリプロセッサ組み込み関数であることを示します。

属性の要素宣言が可能です。複数の名前に共通する属性を要素宣言で指定すると、同じ属性を繰り返し指定せずにすみます。要素宣言を行うには、名前をかっこで囲み、その後にすべての名前に適用される一連の属性を指定します。かっこで囲んだリスト内の各宣言はカンマで区切ります。

%DECLARE A FIXED, (B,C) CHARACTER; 
%DECLARE SUBSTR BUILTIN;

/* Note that preprocessor variables B and C are declared using factored declaration. */