+-------------------------Fortran 2003 ドラフト標準--------------------------+

ASSOCIATE

目的

ASSOCIATE ステートメントは、ASSOCIATE 構文の最初のステートメントです。これは、各エンティティーと変数または式の値との関連を設定します。

構文



                                                  .-,----------------------------.
                                                  V                              |
>>-+-----------------------------+--ASSOCIATE--(----associate_name--=>--selector-+--)-><
   '-associate_construct_name--:-'
 
 

associate_construct_name
ASSOCIATE 構文を識別する名前です。

associate_name
エンティティーの名前です。

selector
変数または式です。

規則

selector がベクトルの添え字を持つ式または変数の場合、エンティティーにはその式または変数の値が割り当てられます。この場合、関連するエンティティーを再定義 にすることも、未定義にすることもできません。

selector がベクトルの添え字を持たない変数である場合は、エンティティーは指定された変数と関連付けられます。この変数の値が変更されると常に、関連したエンティティー の値も変更されます。

selectorALLOCATABLE 属性を持つ場合、関連するエンティティーは ALLOCATABLE 属性を持ちません。selectorPOINTER 属性を持つ場合、エンティティーはポインターのターゲットと関連付けられ、POINTER 属性を持ちません。 selectorINTENTTARGET、または VOLATILE 属性を持つ場合、関連するエンティティーが変数であれば、このエンティティーは同じ属性を持ちます。

selectorOPTIONAL 属性を持つ場合は、これを指定する必要があります。

関連するエンティティーは、selector と同じ型、型付きパラメーター、およびランクを持ちます。selector が配列の場合、関連するエンティティーは配列となり、それぞれの次元の下限は組み込み LBOUND(selector) の値と等しくなります。 各次元の上限は、エクステントから 1 を引いた値を下限に加算したものと等しくなります。

associate_name は、その有効範囲単位内で固有でなければなりません。

associate_construct_nameASSOCIATE 構文ステートメントに指定する場合、対応する END ASSOCIATE ステートメントにも指定しなければなりません。

ASSOCIATE 構文ステートメントは、並列領域の動的エクステントまたは字句エクステント内には指定できません。

      test_equiv: ASSOCIATE (a1 => 2, a2 => 40, a3 => 80)
        IF ((a1 * a2) .eq. a3) THEN
          PRINT *, "a3 = (a1 * a3)"
        END IF
      END ASSOCIATE test_equiv
 
      END

関連情報

名前の有効範囲

+----------------------End of Fortran 2003 ドラフト標準----------------------+

IBM Copyright 2003