プリプロセッサの起動

プリプロセッサはコンパイラによって起動されます。この起動は、PREPROCESS 指令を使用して行います。 この指令の一般的な形式は次のとおりです。

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

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

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

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

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

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

PREPROCESS 指令は他のコンパイラ指令と同様に、指令ファイルに記述することも、ソースコード内の $SET 文に記述することもできます。 この指令を複数の場所で指定することはできません。$SET 文に記述する場合は、ソースファイル内の最初の行で指定する必要があります。

複数のプリプロセッサの起動

PREPROCESS 指令を次のプリプロセッサへ渡して次のプリプロセッサを起動することで、複数のプリプロセッサを順に起動します。 つまり、最初のプリプロセッサが 2 番目のプリプロセッサを起動し、2 番目のプリプロセッサが 3 番目のプリプロセッサを起動します。 このスタック方式が使用できるように記述されていないプリプロセッサは、別のプリプロセッサを起動できません。

複数のプリプロセッサを起動するには、指令を次のように指定します。

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

スタック方式を使用できるようにプリプロセッサを記述する方法については、複数のプリプロセッサ のトピックを参照してください。