I/O 並び

データ転送文において,I/O 並びは値を転送する要素を指定します。I/O 並びは,DO 形反復または変数の単純並び (大きさ引継ぎ配列を除く) です。

入力文では,I/O 並びは定数と式を含むことはできません。これらは,プログラム内で後に引用できる名前付きメモリー位置を指定していないからです。

しかし,出力文の I/O 並びは定数と式を含むことができます。これは,コンパイラが一時的なメモリー位置を使用して,I/O 文の実行中にこれらの値を保持しておくことができるためです。

入力項目がポインタである場合,確定可能な指示先に現在結合されていなくてはなりません。データはファイルから結合された指示先に転送されます。出力項目がポインタである場合,指示先に現在結合されていなくてはなりません。データは指示先からファイルに転送されます。

入力または出力項目が配列である場合,要素 (存在する場合) が配列要素順序で指定されたかのように扱われます。たとえば,ARRAY_A が形状 (2,1) の配列だった場合,以下の入力文は等価です。

	READ *, ARRAY_A
	READ *, ARRAY_A(1,1), ARRAY_A(2,1)

ただし,その配列の要素が,入力並び中の式の値に影響を与えることはできず,1 つの入力並びに同じ要素が 2 度以上現れることはできません。たとえば,以下の入力文は無効です。

	INTEGER  B(50)
	...
	READ *, B(B)
	READ *, B(B(1):B(10))

入力または出力項目が割付け配列である場合,その配列は現在割り付けられていなくてはなりません。

入力または出力項目が構造型である場合,以下の規則が適用されます。

以下の項では,「I/O 並び中の単純並び項目」と,「I/O 並び中の DO 形反復」について説明します。