XL Fortran for AIX V8.1.1

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

CALL

目的

CALL ステートメントは実行するサブルーチンを呼び出します。

構文



>>-CALL--name--+-------------------------------------+---------><
               '-(--+---------------------------+--)-'
                    '-actual_argument_spec_list-'
 
 

name
内部、外部、またはモジュール・サブルーチン、外部またはモジュール・サブルーチンのエントリー、組み込みサブルーチンの名前、または総称名です。

規則

CALL ステートメントを実行すると次のイベントが順番に発生します。

  1. 式である実引き数が評価されます。
  2. 実引き数が、対応する仮引き数に関連付けられます。
  3. 指定されたサブルーチンに制御が移ります。
  4. サブルーチンが実行されます。
  5. サブルーチンから制御が戻ります。

サブルーチン・ステートメントで RECURSIVE キーワードを指定していると、サブプログラムはそれ自身を再帰的、直接的、あるいは間接的に呼び出すことができます。

+----------------------------------IBM 拡張----------------------------------+

-qrecur コンパイラー・オプションを指定した場合、外部サブプログラムもそれ自身を直接的、あるいは間接的に参照することができます。

+--------------------------------IBM 拡張の終り-------------------------------+

CALL ステートメントの引き数の中に 1 つ以上の選択戻り指定がある場合、RETURN ステートメントのサブルーチンによって指定されたアクションによって、指定したステートメント・ラベルの 1 つに制御を移すことができます。

+----------------------------------IBM 拡張----------------------------------+

値または参照により引き数を引き渡すことによって言語間呼び出しを容易にするために、それぞれの場合に使用するための引き数リスト組み込み関数 %VAL および %REF が提供されています。それらは、Fortran 以外のプロシージャー参照にのみ使用することができます。

+--------------------------------IBM 拡張の終り-------------------------------+

値による引き数の引き渡しには、VALUE 属性を使用することもできます。

INTERFACE
  SUBROUTINE SUB3(D1,D2)
    REAL D1,D2
  END SUBROUTINE
END INTERFACE
ARG1=7 ; ARG2=8
CALL SUB3(D2=ARG2,D1=ARG1)    ! subroutine call with argument keywords
END
 
SUBROUTINE SUB3(F1,F2)
  REAL F1,F2,F3,F4
  F3 = F1/F2
  F4 = F1-F2
  PRINT *, F3, F4
END SUBROUTINE

関連情報


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