プリプロセッサ エラー メッセージの生成

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

基本レベル外

プリプロセッサがソース コードを処理している間にエラーが発生した場合は、ユーザーに表示するメッセージのテキストを返します。

このメッセージは、WARNING および ERRQ 指令に従って、他のコンパイラ メッセージと同じ方法で表示されます。また、ソース コード内でハイライト表示されます。

エラーを生成するためには、エラーとなったソース行をプリプロセッサが渡す必要があります。エラー メッセージは次の設定で渡されます。

resp-main 17
resp-more 重大度を示す値
1 情報
2 警告
3 エラー
4 重大なエラー
重大度
buffer メッセージの内容。メッセージテキストが文字列 OFFSETnnn (大文字と小文字を区別) と 1 つの空白文字で始まる場合は、nnn で示すエラーの位置にはフラグがつけられています。nnn は 3 バイトの数値です。この文字列はメッセージの一部としては表示されません。
1 回復不能なエラー
2 重大なエラー
3 エラー
4 警告
5 情報
6 フラグ カウント

関数 resp-main=17 は 1 行以上のユーザーのソース行がプリプロセッサによってチェッカーに返されたときにのみ使用します。

注: 状況によっては、この機能を使用すると、通常よりも後でエラーが強調表示されます。この遅れは、コンパイラが継続行を見つけるなどのために先読みしている場合に発生します。コンパイラがプリプロセッサからエラー要求を受け取って処理し、エラーが先読み部分より前の行にあったことがわかった場合は、プリプロセッサによってフラグがつけられた行が強調表示されます。

すべてのレベル

エラー状態を処理する古い方法は今でも使用可能です。この方法では、プリプロセッサがエラー メッセージの実際の表示を行う必要があり、十分には統合されていません。このため、この方法はお勧めしません。

プリプロセッサがソース コードを処理している間にエラーが発生した場合は、エラーをコンパイラに通知することで、エラーを構文エラーとして扱うことができます。これを行う方法は 2 つあります。

  • resp-main を 5 に設定し、buffer に注記行を入れます。注記はリスト ファイルに挿入されます。
  • resp-main を 6 に設定します。その結果、コンパイラは終了します。

resp-more の値は、エラーが検出された列番号を示します。この値は、エディターに制御が戻った際のカーソルの位置決定に使用されます。

また、上記の 2 つの処理のうちの 1 つに関連して、コンパイラにその内部エラー カウントを増加させることができます。これは、resp-main を 7 に設定し、resp-more でどのエラー カウントを増加させるかを指定することによって行います。resp-more の値は次のとおりです。

重大度
1 回復不能なエラー
2 重大なエラー
3 エラー
4 警告
5 情報
6 フラグ カウント

回復不能なエラーのカウントを増加させると、コンパイラはただちに終了します。buffer の内容は無視されます。

コンパイラを終了させたり、エラー カウントを増加させる前に、ユーザー側にエラー メッセージを出力する処理を、プリプロセッサで実行する必要があります。このエラー メッセージは、リスト ファイルに挿入できる情報メッセージとは区別してください。