PREPROCESS, P

コンパイラに原始ファイルの代わりにプリプロセッサから、原始プログラムを取らせる。

構文:
>>-.---.-.----.-PREPROCESS-.-"name".----------------..------..><
   +-/-+ |    +-P----------+       +-preproc-params-++-ENDP-+|
         +-NO-.-PREPROCESS-.---------------------------------+
              +-P----------+
パラメータ:
name 使用するプリプロセッサ
preproc-params プリプロセッサに渡されるパラメタ
属性:
省略値: NOPREPROCESS
段階: 構文チェック
$SET: 最初のソース行に対して
不可 (NOPREPROCESSの場合)
No (with NOPREPROCESS)
説明:

本指令は、コンパイラに統合型プリプロセッサが使用されることを知らせる。

使用の詳細については、「統合型プリプロセッサ」を参照のこと。

$SET文は、コンパイラとプリプロセッサの両方で処理される。さらに、PREPROCESS指令が$SET文の中で設定された場合は、$SET文全体の処理完了後に本指令は有効となる。$SET文が他の指令を含んでいる場合は、2回目にプリプロセッサがソースを解析した時に互換性を失う可能性がある。特に、SOURCEFORMAT指令を指定すると、コンパイラがソースを固定形式と解釈しているのに、プリプロセッサがソースを自由形式として処理する、またはその逆の現象が発生する場合がある。PREPROCESSコンパイラ指令を$SET文の中で指定した場合、$SET文にPREPROCESS指令のみを指定するようにしなければならない。他の指令を設定する場合には、PREPROCESS 指令を指定した $SET 文以降の行に別の $SET 文を使って指定する。

プリプロセッサに渡す指令は、ENDP COBOL 指令を使用して終了させることを推奨する。ENDPの後ろに置かれた指令は、COBOLコンパイラに渡される。ENDP 指令を指定しないと、コンパイラ指令が、COBOL コンパイラにではなく、プリプロセッサに渡され続ける可能性がある。

COBSQLプリプロセッサに指令を送っている場合は、COBSQLに渡す指令とプリプロセッサに渡す指令とを区別するためにEND-Cを用いること。以 下のコマンド行では、END-Cの前に置かれた指令が COBSQLに渡され、END-CとENDPの間に置かれた指令がCOBSQLを経由してプロプロセッサに渡される。

preprocess(cobsql) csqltype=oracle end-c comp5=yes endp;

COBSQLに関する詳しい情報については、COBSQLを参照のこと。

他参照:

関連項目