ユーザー指令ファイル

特定の指令セットを常にまとめて使用する場合は、ユーザー指令ファイルを使用します。

ユーザー指令ファイルは、コンパイラに一度にまとめて渡す指令セットを定義する ASCII テキスト ファイルです。DIRECTIVES コンパイラ指令または USE コンパイラ指令を使用して、このファイルをコンパイラに渡すことができます。

たとえば、別の方言からプログラムを移植する場合は、その方言との互換性を得るために必要な指令を指令ファイル (myDialectDirectives.dir など) に記述します。各指令は、1 行に 1 つずつ指定するか、同じ行に空白、コロン、またはセミコロンで区切って指定します。

コンパイル時にこのファイルを使用するには、USE 指令または DIRECTIVES 指令を、IDE のプロジェクトのプロパティで設定するか、プログラムの $SET 文で記述します。次に例を示します。

USE"myDialectDirectives.dir"	

指令ファイルは、現在のディレクトリ、および COBOL システム ディレクトリで検索されます。拡張子が指定されていない場合は、検索を行う前にファイル拡張子 .dir が付加されます。拡張子が付いたファイルが検出されない場合は、次に拡張子なしのファイルが検索されます。

次のように、環境変数を USE または DIRECTIVES のパラメーターとして使用することもできます。
DIRECTIVES"$mydirs"
環境変数 mydirs をユーザー指令ファイルのパスに設定した場合、コマンド ラインからコンパイルする際にそのパスが解決されます。

コンパイラでは、USE 指令または DIRECTIVES 指令の代わりとして、ファイル内の指令を処理します。したがって、その時点で指令に適用されていた制約は、ファイルから読み取られた指令にも適用されます。また、指令ファイルの使用後に設定した指令は、指令ファイル内の同じ指令をオーバーライドします。

指令ファイル内で、別の指令ファイルを指定することも可能です。別の指令ファイルの指定が検出されると、コンパイラの処理対象がその指令ファイルに移行し、処理終了後に元の指令ファイルに戻ります。コンパイラは指令ファイルの処理を完了すると、引き続きコマンド ラインや $SET 文の後続の指令を処理します。