END DO、END IF、END SELECT、および END WHERE ステートメントは、それぞれ DO (または DO WHILE)、 IF、CASE、および WHERE 構造体を終了させます。
+---------------------------------Fortran 95---------------------------------+
END FORALL ステートメントは FORALL 構造体を終了させます。
+------------------------------Fortran 95 の終り------------------------------+
構文
>>-+-END DO--+-------------------+--------------+-------------->< | '-DO_construct_name-' | | (1) | +-END FORALL--+-----------------------+------+ | '-FORALL_construct_name-' | +-END IF--+-------------------+--------------+ | '-IF_construct_name-' | +-END SELECT--+---------------------+--------+ | '-CASE_construct_name-' | | (2) | '-END WHERE--+----------------------+--------' '-where_construct_name-'
注:
|
+---------------------------------Fortran 95---------------------------------+
+------------------------------Fortran 95 の終り------------------------------+
+---------------------------------Fortran 95---------------------------------+
+------------------------------Fortran 95 の終り------------------------------+
規則
END DO ステートメントにラベルを付けると、ラベル付きまたはラベルなしの DO または DO WHILE 構造体の終端ステートメントとして使用することができます。 END DO ステートメントが終了させる構造体は最も内側の DO または DO WHILE 構造体だけです。 DO または DO WHILE ステートメントがステートメント・ラベルを指定しない場合、DO または DO WHILE 構造体の終端ステートメントは END DO ステートメントでなければなりません。
DO (または DO WHILE)、IF、または CASE 構造体の内部から、それぞれ END DO、END IF、または END SELECT ステートメントに分岐できます。 END IF ステートメントには IF 構造体の外部からも分岐できます。
+---------------------------------Fortran 95---------------------------------+
Fortran 95 では、 END IF ステートメントには IF 構造体の外部からは分岐できません。
+------------------------------Fortran 95 の終り------------------------------+
構造体の最初のステートメントに構造体名を指定した場合、構造体を終了させる END ステートメントは同じ構造体名を持っていなければなりません。構造体の最初のステートメントに構造体名を指定した場合、構造体を終了させる END ステートメントは同じ構造体名を持っていなければなりません。
END WHERE ステートメントは分岐ターゲット・ステートメントにはなれません。
例
INTEGER X(100,100) DECR: DO WHILE (I.GT.0)
·
·
·
IF (J.LT.K) THEN
·
·
·
END IF ! Cannot reference a construct name I=I-1 END DO DECR ! Reference to construct name DECR mandatory END
以下の例は、無効な where_construct_name の使用を示しています。
BW: WHERE (A /= 0) B = B + 1 END WHERE EW ! The where_construct_name on the END WHERE statement ! does not match the where_construct_name on the WHERE ! statement.
関連情報