ブロック・データのプログラム単位

ブロック・データのプログラム単位は、名前付き共通ブロック内の オブジェクトに初期値を与えます。



>>-BLOCK_DATA_statement----------------------------------------><
 
 
>>-+--------------------+--------------------------------------><
   '-specification_part-'
 
 
>>-END_BLOCK_DATA_statement------------------------------------><
 
 

BLOCK_DATA_statement
構文の詳細については、BLOCK DATAを参照してください。

specification_part
ステートメントおよび実行の順序(2)(4)、および (5) の番号が付けられたステートメント・グループの ステートメント・シーケンスです。

END_BLOCK_DATA_statement
構文の詳細については、ENDを参照してください。

specification_part では、 型宣言、BINDUSEIMPLICITCOMMONDATAEQUIVALENCE、 および整数ポインター・ステートメント、派生型定義、および使用可能な属性仕様ステートメントを指定できます。 指定可能な属性としては、DIMENSIONINTRINSICPARAMETERPOINTERSAVE、 および TARGET があります。

ブロック・データ specification-part 内の型宣言ステートメントには、 ALLOCATABLE または EXTERNAL 属性指定子を含んではなりません。

1 つの実行可能プログラム内に複数のブロック・データ・プログラム単位を 入れることができますが、名前を指定しなくてよいのはその中の 1 つだけです。 また、ブロック・データ・プログラム単位内の 複数の名前付き共通ブロックを初期化することができます。

ブロック・データ・プログラム単位内の共通ブロックに関する制約事項は、以下のとおりです。

ブロック・データ・プログラム単位の例

PROGRAM MAIN
  COMMON /L3/ C, X(10)
  COMMON /L4/ Y(5)
END PROGRAM
BLOCK DATA BDATA
  COMMON /L3/ C, X(10)
  DATA C, X /1.0, 10*2.0/   ! Initializing common block L3
END BLOCK DATA
 
BLOCK DATA                  ! An unnamed block data program unit
  PARAMETER (Z=10)
  DIMENSION Y(5)
  COMMON /L4/ Y
  DATA Y /5*Z/
END BLOCK DATA
IBM Copyright 2003