目的
END (構文) ステートメントは、構文の実行を終了します。構文終了ステートメント 表に、各構文を終了するための該当ステートメントをリストします。
構文 | 終了ステートメント |
ASSOCIATE | END ASSOCIATE |
DO | END DO |
FORALL | END FORALL |
IF | END IF |
SELECT CASE | END SELECT |
WHERE | END WHERE |
+---------------------------------Fortran 95---------------------------------+
END FORALL ステートメントは FORALL 構造体を終了させます。
+-----------------------------End of Fortran 95------------------------------+
構文
>>-+-END ASSOCIATE--+-------------------------------+-+-------->< | | (1) | | | '-ASSOCIATE_construct_name------' | +-END DO--+-------------------+--------------------+ | '-DO_construct_name-' | | (2) | +-END FORALL--+-----------------------+------------+ | '-FORALL_construct_name-' | +-END IF--+-------------------+--------------------+ | '-IF_construct_name-' | +-END SELECT--+---------------------+--------------+ | '-CASE_construct_name-' | | (3) | '-END WHERE--+----------------------+--------------' '-where_construct_name-'
注:
|
+-------------------------Fortran 2003 ドラフト標準--------------------------+
+----------------------End of Fortran 2003 ドラフト標準----------------------+
+---------------------------------Fortran 95---------------------------------+
+-----------------------------End of Fortran 95------------------------------+
+---------------------------------Fortran 95---------------------------------+
+-----------------------------End of 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 構文の外部からは 分岐できません。
+-----------------------------End of 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.
関連情報