プリプロセッサの記述

注:

統合化プリプロセッサはネイティブCOBOLでのみサポートされています。

ここでは、統合プリプロセッサを記述する方法と、プリプロセッサとコンパイラ間で情報を受け渡すために使用するインターフェイスについて説明します。

プリプロセッサは COBOL 以外の言語で記述することも可能ですが、次の説明では COBOL で記述することを前提としています。

統合プリプロセッサインターフェイスでは、前処理は単純に編集の 1 形態であると考えられています。 プリプロセッサは、ソースコードの各行を次のどれかにマークします。

COBOL プログラムをコンパイルするとき、コンパイラは直接ソースファイルを読み取らずにプリプロセッサを呼び出します。そして、プリプロセッサからコードを 1 行ずつ受け取ります。

デバッガの動作は、オブジェクトコードの各行がどのようにソースコードの各行に変換されているかに依存します。 上記で説明したように原始行にマークをつけることで、オブジェクトコードとソースコードの対応が、たとえ一致しなかった場合でも、有効となります。

プリプロセッサのテスト

プリプロセッサプログラムは、デバッグの必要なプログラムと同じ方法でコンパイルされます。

プリプロセッサプログラムをアニメートするためにコンパイルした後は、コンパイラ自体をアニメート (つまり COBOL をアニメート) するように、デバッガを使用することができます。 コンパイラをデバッグのためにコンパイルすることはないため、コンパイラはアニメートされませんが、デバッグのためにコンパイルされたプリプロセッサなど、コンパイラが呼び出すプログラムはすべてアニメートされます。