計算データ、プログラム制御データ、およびプログラム特性を示します。
|
AREA BINARY BIT CHARACTER COMPLEX DECIMAL DIMENSION ENTRY |
FILE FIXED FLOAT FORMAT GRAPHIC HANDLE LABEL NONVARYING |
OFFSET ORDINAL PICTURE POINTER PRECISION REAL RETURNS SIGNED |
STRUCTURE TASK TYPE UNSIGNED UNION VARYING VARYINGZ WIDECHAR |
非データ・エレメント (例えば、組み込み関数) を示すか、 またはほかのデータ属性を持つエレメントに説明を追加します。
|
ABNORMAL ALIGNED ASSIGNABLE AUTOMATIC BASED BIGENDIAN BUFFERED BUILTIN BYADDR BYVALUE CONDITION CONNECTED CONTROLLED |
DEFINED DIRECT ENVIRONMENT EXCLUSIVE EXTERNAL GENERIC HEXADEC IEEE INITIAL INPUT INTERNAL KEYED |
LIKE LIST LITTLEENDIAN NONASSIGNABLE NONCONNECTED NORMAL OPTIONAL OPTIONS OUTPUT PARAMETER POSITION |
PRINT RECORD SEQUENTIAL STATIC STREAM UNALIGNED UNBUFFERED UPDATE VALUE VARIABLE |
例えば、CHARACTER というキーワードは、 計算データのストリング・タイプのデータ属性です。 FILE というキーワードは、プログラム制御データのファイル・タイプのデータ属性です。 INTERNAL という有効範囲属性は、データ項目が宣言されるブロック内でのみ、 そのデータ項目が認識されることを指定します。
キーワードと式を使用して属性を指定する方法の詳細 については、データ宣言を参照してください。 属性を指定する方法の概略は次のとおりです。
表 7 と 表 8 は、 PL/I の各種の属性と、計算データおよびプログラム制御データの 各タイプとの関連を示しています。 これらの表では、定数と名前のついた定数を表しており、示された データ属性と有効範囲属性 (表 7) だけを持つことができます。 変数を使用して付加属性を指定することができます (表 8)。
以下に例を示します。
Area = (Radius**2)*3.1416;
定数 3.1416 には、次のような属性が指定されます。
(表 7 の「コード化算術式」の行、 および「データ属性」と「有効範囲属性」の列を参照してください。)
定数 1.0 (10 進固定小数点定数) は、定数 1 (もう 1 つの 10 進固定小数点定数)、 '1'B (ビット定数)、'1' (文字定数)、 1B (2 進固定小数点定数) または 1E0 (10 進浮動小数点定数) とは異なります。
以下の例では、変数 Pi は 5 桁の 10 進数で、 そのうちの 4 桁は小数点の右側にあるという PRECISION のついた、FIXED および DECIMAL というプログラマー定義のデータ属性があります。
declare Pi fixed decimal(5,4) initial(3.1416);
この DECLARE ステートメントには、Pi についてのほかの属性を 持たないので PL/I は、残りの属性のデフォルトを適用します。
(表 8 のコード化算術式の行を参照してください。)
|
定数タイプ |
||
|---|---|---|
|
REAL | 虚数 FLOAT | FIXED BINARY | DECIMAL PRECISION SIGNED |
内部 |
|
|
REAL | COMPLEX FLOAT | FIXED BINARY | DECIMAL PRECISION VALUE SIGNED | UNSIGNED |
内部 |
|
|
BIT | CHARACTER | GRAPHIC | WIDECHAR (長さ) |
内部 |
|
|
BIT | CHARACTER | GRAPHIC | WIDECHAR [(長さ)] NONVARYING VALUE |
内部 |
|
|
名前の付いたロケーター |
POINTER | OFFSET | HANDLE VALUE |
内部 |
|
名前の付いたピクチャー |
PICTURE REAL | COMPLEX VALUE |
内部 |
|
FILE ENVIRONMENT STREAM | RECORD INPUT | OUTPUT | UPDATE SEQUENTIAL | DIRECT BUFFERED | UNBUFFERED 注 4 KEYED |
INTERNAL | EXTERNAL |
|
|
ENTRY [RETURNS] |
INTERNAL | EXTERNAL |
|
|
フォーマット注 5 |
FORMAT |
内部 |
|
LABEL |
内部 |
|
|
注:
|
||
|
変数 タイプ |
データ属性 |
位置合わせ 属性 |
有効範囲 属性 |
ストレージ 属性 |
|---|---|---|---|---|
|
AREA(size) |
ALIGNED |
INTERNAL | EXTERNAL (INTERNAL は AUTOMATIC BASED DEFINED PARAMETER に必須) |
AUTOMATIC | STATIC | BASED | CONTROLLED (AUTOMATIC は INTERNAL についてデフォルト。 STATIC は EXTERNAL について デフォルト。) 定義された 変数: DEFINED [POSITION] パラメーター: PARAMETER [CONNECTED | NONCONNECTED] [CONTROLLED] [INITIAL [CALL]] [VARIABLE] [NORMAL | ABNORMAL] ASSIGNABLE | NONASSIGNABLE |
|
|
REAL | COMPLEX FLOAT | FIXED BINARY | DECIMAL PRECISION [SIGNED | UNSIGNED] |
ALIGNED | UNALIGNED |
|||
|
ENTRY [RETURNS] [LIMITED] |
||||
|
FILE |
||||
|
FORMAT |
||||
|
LABEL |
||||
|
POINTER | HANDLE | {OFFSET [(区域変数)]} |
||||
|
ORDINAL |
||||
|
ピクチャー |
PICTURE REAL | COMPLEX |
ALIGNED | UNALIGNED |
||
|
BIT | CHARACTER | GRAPHIC | WIDECHAR [(長さ)] [VARYING | VARYINGZ | NONVARYING] |
||||
|
TASK |
ALIGNED | UNALIGNED |
|||
| 配列: DIMENSION は任意の変数の宣言に追加できます。 詳細については、配列を参照してください。 | ||||
構造体および共用体
|
||||
|
注:
|
||||