目的
EXTERNAL 属性は、名前を外部プロシージャー、ダミー・プロシージャー、 ブロック・データ・プログラム単位として指定します。 EXTERNAL 属性を持つプロシージャー名は実引き数として使用できます。
構文
>>-EXTERNAL--+-----+--name_list-------------------------------->< '- ::-' |
規則
外部プロシージャー名または仮引き数名を実引き数として使用する場合は、EXTERNAL 属性で指定するか、 またはその有効範囲単位内のインターフェース・ブロックで宣言しなければなりません。 ただし、それらの両方で指定することはできません。
1 つの有効範囲単位内で EXTERNAL 属性を持たせて組み込みプロシージャー名 を指定すると、その名前はユーザー定義の外部プロシージャー名になります。 したがって、それと同じ名前の組み込みプロシージャーを、その有効範囲単位から 呼び出すことはできません。
1 つの有効範囲単位内では、1 つの名前に EXTERNAL 属性は 1 回しか 指定できません。
有効範囲単位内のインターフェース・ブロックでは、EXTERNAL ステートメントに指定した名前を、 特定のプロシージャー名として指定することはできません。
EXTERNAL 属性と互換性のある属性 | ||||
---|---|---|---|---|
|
例
PROGRAM MAIN EXTERNAL AAA CALL SUB(AAA) ! Procedure AAA is passed to SUB END SUBROUTINE SUB(ARG) CALL ARG() ! This results in a call to AAA END SUBROUTINE
関連情報