ENTRY

:副プログラムの中に 1 つまたは複数のエントリ・ポイントを提供します。これは実行文ではなく,副プログラムの中で CONTAINS 文 (存在する場合) の前に置かなくてはなりません。

形式

ENTRY name [ ( [d-arg [, d-arg ] ...] ) [ RESULT (r-name)] ]

name
エントリ・ポイント名。RESULT が指定される場合,このエントリ・ポイント名は,関数副プログラムの有効域中のどの宣言文にも現れてはなりません。

d-arg
(省略可能) 仮引数。仮引数は,ENTRY 文がサブルーチン副プログラム中にある場合,選択戻り指定子 (*) であってもかまいません。

r-name
(省略可能) 関数結果の名前。この名前は,エントリ・ポイント名,または他の関数あるいは関数結果の名前と同じであってはなりません。このパラメタは関数副プログラムに対してしか指定できません。

規則と振る舞い

ENTRY 文は,外部手続またはモジュール手続にしか置くことができません。

ENTRY 文は,CASEDOIFFORALL,または WHERE 構文や,非整構造 DO ループ中に置くことはできません。

サブルーチン副プログラム中にある ENTRY 文は,CALL 文によって引用されます。関数副プログラム中にある ENTRY 文は,関数引用によって引用されます。

関数副プログラム中のエントリ・ポイント名は,型宣言文中で使用することができます。

ENTRY 文を含む副プログラム中で,エントリ・ポイント名は,FUNCTION または SUBROUTINE 文中の仮引数として存在していてはならず,EXTERNAL または INTRINSIC 文中に存在していてもなりません。たとえば,以下の例はどちらも無効です。

	(1)  SUBROUTINE SUB(E)
	     ENTRY E
	     ...

	(2)  SUBROUTINE SUB
	     EXTERNAL E
	     ENTRY E
	     ...

ENTRY 文は,関数またはサブルーチン副プログラムが RECURSIVE として定義されている場合,自分自身を引用することができます。

ENTRY 文では,同じ副プログラム中の FUNCTIONSUBROUTINE,および他の ENTRY 文で使われている仮引数と,その順序,個数,型,種別パラメタ,および名前が異なる場合でも,仮引数を使用することができます。ただし,関数,サブルーチン,またはエントリ・ポイントに対する個々の引用は,対応する FUNCTIONSUBROUTINE,または ENTRY 文に含まれる仮引数並びと,その順序,個数,および型が一致する実引数並びを使用しなくてはなりません。

仮引数は,仮引数が指定されている最初の SUBROUTINEFUNCTION,または ENTRY 文の次の実行文中でしか引用できません。仮引数がその時点で実引数に結合されていない場合,仮引数は不定の状態にあり,引用はできません。引数は,副プログラムの引用から他への引用で結合を保ちません。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

関数副プログラムにおける ENTRYサブルーチン副プログラムにおける ENTRYプログラム単位と手続

	! このプログラムの一部は,num が正または負の
	! どちらかであることを示すメッセージを書き出します。
	  IF (num .GE. 0) THEN
	    CALL Sign
	  ELSE
	    CALL Negative
	  END IF
	  ...
	  END

	SUBROUTINE Sign
	  WRITE (*, *) 'It''s positive.'
	  RETURN
	  ENTRY Negative
	  WRITE (*, *) 'It''s negative.'
	  RETURN
	END SUBROUTINE