指標付け

指標付けを指定して、同種の要素からなる表の中の個々の要素を参照できる。指標を付けるには、表を定義する際に、該当するレベルに INDEXED BY を指定する。INDEXED BY で指定した名前を指標名といい、付けた指標を参照するために使用する。指標の値は、関連付けられた表または他の任意の表の中の要素の出現番号に対応する。指標名は、表の参照に使用する前に初期化しておく必要がある。指標名に初期値を与えるには、SET 文を指定する。

添え字は単なる数値データ項目または定数であるのに対し、指標は表中要素の出現番号を表わす特別な型の項目である。その表現形式には各種あり、指標の内容は数値とは見なされない。

直接指標付けは、添え字と同じ形式で指標名を使用する方法である。相対指標付けは、指標名の後ろに演算子「+」または「-」を続けてから符号なしの整数の定数を書き、その全体を一対の左かっこと右かっこで囲んで、表要素のデータ名の後ろに続けた形式で指標名を使用する方法である。相対指標付けによる出現番号は次のようにして決定される。演算子に「+」を指定した場合は、指標の値によって表される出現番号に定数の値が追加される。演算子に「-」を指定した場合は、指標の値によって表される出現番号から定数の値が差し引かれる。複数の指標名を指定する必要がある場合は、データ構造の次元の上位のものから順に書く。

INDEXED BY 指定で記述した指標によってのみ、表に指標付けができる。

OSVSVSC2MF または、他の表を記述する指標を代わりに使用できる。ただし、2 つの表に含まれる要素のサイズが同じである場合に限る。

指標付きの表の要素を参照する文を実行する際に、指標付けに使用される指標に含まれる値は、1 未満の値にすることはできず、また関連付けられた表の要素が取り得る出現番号の最大値を超えることもできない。この制限は、相対指標付けの結果として得られる値にも該当する。

MF NOBOUND コンパイラ指令を指定した場合は、この一般規則は実行時に適用されない。

データ名には指標名を 3 個まで指定できる。

ANS85 データ名には指標名を 7 個まで指定できる。

MF データ名には指標名を 16 個まで指定できる。

指標付けの一般形式については、「添え字付け」セクションに記載の一般形式を参照。