END (構文)

目的

END (構文) ステートメントは、構文の実行を終了します。構文終了ステートメント 表に、各構文を終了するための該当ステートメントをリストします。

表 25. 構文終了ステートメント

構文 終了ステートメント
ASSOCIATE END ASSOCIATE
DO

DO WHILE

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-'
 
 


注:


  1. Fortran 2003 ドラフト標準

  2. Fortran 95.

  3. Fortran 95.


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

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

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

DO_construct_name
DO または DO WHILE 構文を 識別する名前です。

+---------------------------------Fortran 95---------------------------------+

FORALL_construct_name
FORALL 構文を識別する名前です。

+-----------------------------End of Fortran 95------------------------------+

IF_construct_name
IF 構文を識別する名前です。

CASE_construct_name
SELECT CASE 構文を識別する名前です。

+---------------------------------Fortran 95---------------------------------+

where_construct_name
WHERE 構文を識別する名前です。

+-----------------------------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 DOEND 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.
 

関連情報

IBM Copyright 2003