目的
SUBROUTINE ステートメントはサブルーチン・サブプログラムの最初のステートメントです。
構文
.------------. V | >>---+--------+-+--SUBROUTINE--name-----------------------------> '-prefix-' >--+-------------------------------+--------------------------->< '-(--+---------------------+--)-' '-dummy_argument_list-' |
規則
最大 1 つの prefix を指定できます。
反復をあらかじめ指定している場合を除いて、サブルーチン名を、サブルーチンの有効範囲内の他のステートメントに指定することはできません。
以下の場合、キーワード RECURSIVE を直接または間接的に指定しなければなりません。
キーワード RECURSIVE を指定した場合、サブプログラムの中でプロシージャー・インターフェースは明示的になります。
+---------------------------------Fortran 95---------------------------------+
PURE またはELEMENTAL prefix を使用すると、コンパイラーが、順序に関係なく、あたかも副次作用がないかのようにサブルーチンを呼び出すことを示します。 エレメント型プロシージャーでは、キーワード ELEMENTAL を指定しなければなりません。 ELEMENTAL キーワードを指定している場合、 RECURSIVE キーワードを指定することはできません。
+------------------------------Fortran 95 の終り------------------------------+
+----------------------------------IBM 拡張----------------------------------+
XL Fortran では、PURE サブルーチンに以下の 3 つの例外が許されます。
-qrecur コンパイラー・オプションを指定すると、外部プロシージャーを再帰的に呼び出すことができます。ただし、SUBROUTINE ステートメントがキーワード RECURSIVE を指定している場合、XL Fortran はこのオプションを無視します。
+--------------------------------IBM 拡張の終り-------------------------------+
RECURSIVE SUBROUTINE SUB(X,Y) INTEGER X,Y IF (X.LT.Y) THEN RETURN ELSE CALL SUB(X,Y+1) END IF END SUBROUTINE SUB
関連情報