XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

SUBROUTINE

目的

SUBROUTINE ステートメントはサブルーチン・サブプログラムの最初のステートメントです。

構文



   .------------.
   V            |
>>---+--------+-+--SUBROUTINE--name----------------------------->
     '-prefix-'
 
>--+-------------------------------+---------------------------><
   '-(--+---------------------+--)-'
        '-dummy_argument_list-'
 
 

prefix
次のうちの 1 つです。

FORTRAN 95 の開始 ELEMENTAL FORTRAN 95 の終了
FORTRAN 95 の開始 PURE FORTRAN 95 の終了
RECURSIVE
注:
type_spec はサブルーチン・サブプログラムの名前です。

name
サブルーチン・サブプログラムの名前です。

規則

最大 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

関連情報


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]