/EOF は、コンパイラーに対して、 現行ソース・メンバー内のソース行の残りを無視するように指示します。
/EOF コンパイラー指示は、現行ソース・ファイル の「ファイルの終わり」に達していることをコンパイラーが考慮する 必要があることを示すために使用します。 /EOF に使用する記入項目は次のとおりです。
/EOF は、現行ソース・メンバーの読み取り中に活動状態になった 活動 /IF グループをすべて終了します。 /EOF が /COPY ファイル内に ある場合、/COPY 指示が読み取られた ときに活動状態だった条件は、そのまま活動状態となります。
/EOF 指示を使用すると、/COPY メンバー全体が 1 度しか使用 されないで、複数回コピーされる可能性がある場合、コンパイル時パフォーマンスが向上します。 (これは、除外された行が印刷されている場合には該当しません。)
以下は、/EOF 指示の例です。
*----------------------------------------------------------------- * Main source file *----------------------------------------------------------------- .... /IF DEFINED(READ_XYZ) 1 /COPY XYZ /ENDIF 2 .... *----------------------------------------------------------------- * /COPY file XYZ *----------------------------------------------------------------- /IF DEFINED(XYZ_COPIED) 3 /EOF /ELSE /DEFINE XYZ_COPIED D ..... /ENDIF
最初にこの /COPY メンバーが読み取られるとき は、XYZ_COPIED は定義されないので、/EOF は考慮されません。
2 回目にこのメンバーが読み取られるときには、XYZ_COPIED は 定義され、/EOF は処理されます。 /IF DEFINED(XYZ_COPIED) ( 3 ) は終了したと見なされ、そのファイルはクローズされます。ただし、メイン・ソース・メンバーの /IF DEFINED(READ_XYZ) ( 1 ) は、それ自身の /ENDIF ( 2 ) に達するまでは、活動状態のままです。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.