コンパイラ指令の処理順序

コンパイラ指令は、さまざまな方法で指定できます。コンパイラ指令を処理する順番は、指定方法によって決まります。

コンパイラは、コマンド ラインで指定された指令を左から右に処理します。1 つの指令が複数回指定された場合は、コンパイラで使用されるのは、最後に設定された内容です。

コンパイラは、次の順序で指令を処理します。

  1. システム全体の指令ファイル cobol.dir 内に含まれている指令。
    注: NOCOBOLDIR が設定されている場合、このファイル内の指令は処理されません。
  2. コマンド ラインで、$COBDIR/etc/cobopt ファイルで cob のオプションに指定されているシステムのデフォルトの指令(UNIX 環境にのみ該当)
  3. コマンド ラインで、環境変数 COBOPT で cob のオプションに指定されているユーザーのデフォルトの指令(UNIX 環境にのみ該当)
  4. IDE で、プロジェクト プロパティで指定されている DIALECT 指令が適用されます。
    注: これにより、他の指令が適用される可能性があります。詳細については、「コンパイラ指令」の章の「DIALECT」を参照してください。
  5. IDE 内から、プロジェクト、ビルド構成、およびファイルのプロパティで設定されている指令、またはコマンド ラインで、cob コマンドで指定されているコンパイル時の指令(UNIX 環境にのみ該当)
  6. ソース コード内の $SET 文で設定されている指令。

    また、USE 指令を使用して指定するユーザー指令ファイルで指令を設定できます。これらの指令は、出現したときに処理されます。

上記の順序は、たとえば、$SET 文を使用して設定された指令はプロジェクトのプロパティで設定されているその指令の設定をオーバーライドすることを意味します。