サブルーチン副プログラムにおける ENTRY 文

ENTRY 文がサブルーチン副プログラムに含まれている場合,その ENTRY 文は新たなサブルーチンを定義しています。サブルーチン名は,ENTRY 文で指定されている名前です。

SUBROUTINE 文で RECURSIVE が指定されている場合,ENTRY 文によって定義されるサブルーチンのインタフェースは,サブルーチン副プログラム中で明示的となります。

次の例は,ENTRY 文を含むサブルーチンを呼び出す主プログラムを示しています。

	PROGRAM TEST
	  ...
	  CALL SUBA(A, B, C)	! A, B, と C は,エントリ・ポイント SUBA に
	  ...			! 渡される実引数
	END
	SUBROUTINE SUB(X, Y, Z)
	  ...
	  ENTRY SUBA(Q, R, S)	! Q, R, と S は仮引数
	  ...			! 実行はこの文から開始される
	END SUBROUTINE

次の例は,選択戻りを宣言する ENTRY 文を示しています。

	CALL SUBC(M, N, *100, *200, P)
	...
	SUBROUTINE SUB(K, *, *)
	  ...
	  ENTRY SUBC(J, K, *, *, X)
	  ...
	  RETURN 1
	  RETURN 2
	END

エントリ・ポイント SUBC に対する CALL 文に,選択戻り実引数が含まれていることに注意してください。RETURN 1 文は制御を呼び出し側プログラム中の文番号 100 に移し,RETURN 2 文は制御を文番号 200 に移します。