直接または間接的に自身を参照することのできるプロシージャーを 再帰プロシージャーと呼びます。 このようなプロシージャーは、特定の条件を満たすまで、無限に そのプロシージャー自身を参照することができます。 たとえば、次のように正の整数 N の階乗を決定する ことができます。
INTEGER N, RESULT READ (5,*) N IF (N.GE.0) THEN RESULT = FACTORIAL(N) END IF CONTAINS RECURSIVE FUNCTION FACTORIAL (N) RESULT (RES) INTEGER RES IF (N.EQ.0) THEN RES = 1 ELSE RES = N * FACTORIAL(N-1) END IF END FUNCTION FACTORIAL END
構文および規則に関する 詳細については、FUNCTION、SUBROUTINE、 または ENTRYを参照してください。
+----------------------------------IBM 拡張----------------------------------+
また、コンパイラー・オプション -qrecur を指定することによって、 外部プロシージャーを再帰的に呼び出すことができます。ただし、XL Fortran は、 プロシージャーが RECURSIVE または RESULT のいずれかの キーワードを指定している場合に、このオプションを無視します。
+------------------------------End of IBM 拡張-------------------------------+