プリプロセッサの呼び出し

注: この統合プリプロセッサはネイティブ COBOL 用にのみサポートされます。

プリプロセッサはコンパイラから呼び出します。具体的には、PREPROCESS コンパイラ指令を使用します。この指令の一般的な形式は次のとおりです。

>>--.---.-.----.-PREPROCESS-.-"name".----------------.-.------.-.><
    +-/-+ |    +-P----------+       +-preproc-params-+ +-ENDP-+ |
          |                                                     |
          +-NO-.-PREPROCESS-.-----------------------------------+
               +-P----------+

パラメーターは次のとおりです。

name プリプロセッサの名前です。
preproc-params 1 つ以上のオプションのプリプロセッサ パラメーターです。

ファイルを前処理してコンパイルする場合は、この指令を指定します。

PREPROCESS 指令の後から行の終わり (ENDP 指令) までに記述されたコマンド ライン上のパラメーターはすべて、チェックされずにプリプロセッサに渡されます。

注: コンパイラ指令をプリプロセッサへ渡すのを止める場合は、ENDP 指令を使用してください。ENDP があると、その後に記述した指令は COBOL コンパイラに渡されます。ENDP 指令がない場合には、コンパイラ指令はプリプロセッサに送られ、COBOL コンパイラには渡されません。

他のコンパイラ指令と同様に、PREPROCESS は、指令ファイル内で指定するか、$SET 文を使ってソース コード内に記述することができます。使用する方法にかかわらず、指定箇所は 1 箇所のみです。$SET 文を使用する場合は、ソース ファイルの先頭行に指定する必要があります。

複数のプリプロセッサの呼び出し

複数のプリプロセッサを呼び出すには、PREPROCESS 指令を 1 つのプリプロセッサに渡し、そのプリプロセッサに次のプリプロセッサを呼び出させます。つまり、最初のプリプロセッサが 2 番目のプリプロセッサを呼び出し、2 番目のプリプロセッサが 3 番目のプリプロセッサを呼び出します。この方法に対応していないプリプロセッサは、一連の呼び出しの最後のプリプロセッサとしてのみ使用できます。

複数のプリプロセッサを呼び出すには、指令を次のように指定します。

   +---------------------------------------+
   V                                       |
>>----preprocess"name"-.----------------.--+---><
                       +-preproc-params-+
                        

この方法を使用するようにプリプロセッサを記述するための詳細は、「複数のプリプロセッサ」のトピックを参照してください。