EQUIVALENCE と COMMON の相互作用

共通ブロックは,変数または配列が共通ブロックに格納されている言語要素と結合されていると,元の境界を超えて拡張することができます。ただし,共通ブロックはその最後の要素を超えて拡張するしかなく,ブロックの最初の要素よりも前に拡張することはできません。

以下の 2 つの図は,共通ブロックの有効な拡張と無効な拡張をそれぞれ示しています。

共通ブロックの有効な拡張

共通ブロックの無効な拡張

第 2 の例が無効なのは,拡張された部分である B(1) が共通ブロックの最初の要素よりも前にあるからです。

次の例は,共通ブロックの文脈での有効な EQUIVALENCE 文と無効な EQUIVALENCE 文を示しています。

	COMMON A, B, C
	DIMENSION D(3)
	EQUIVALENCE(B, D(1))		! 有効。共通ブロックが最後から拡張
					! されるため。

	COMMON A, B, C
	DIMENSION D(3)
	EQUIVALENCE(B, D(3))		! 無効。D(1) が A の位置よりも前の
					! 共通ブロックを拡張するため。