部分列を等価にする方法

1 つの部分列を別の部分列と等価にしたとき,EQUIVALENCE 文は,文字言語要素中の他の対応する文字も結合します。以下に例を示します。

	CHARACTER NAME*16, ID*9
	EQUIVALENCE(NAME(10:13), ID(2:5))

これらの文により,文字変数 NAMEID は空間を共有します (下図を参照)。配列の位置合わせは次の文でも行うことができます。

	EQUIVALENCE(NAME(9:9), ID(1:1))

部分列の等価関係

部分列引用が配列要素である場合,EQUIVALENCE 文は,配列全体の他の対応する文字も結合します。

配列の文字要素は任意の文字位置で重なり合うことができます。たとえば,以下の文により,文字配列 FIELDSSTAR が記憶域を共有するようになります (次図を参照)。

	CHARACTER FIELDS(100)*4, STAR(5)*5
	EQUIVALENCE(FIELDS(1)(2:4), STAR(2)(3:5))

文字配列の等価関係

EQUIVALENCE 文は,同じ文字変数または文字配列中の異なる文字位置から始まる 2 つ以上の部分列に同じ記憶位置を割り付けることはできません。また,EQUIVALENCE 文は,文字変数と配列の通常の線形の記憶域との一貫性がない形でメモリー位置を割り付けることはできません。