プリプロセッサはコンパイラによって起動されます。この起動は、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-+
スタック方式を使用できるようにプリプロセッサを記述する方法については、複数のプリプロセッサ のトピックを参照してください。