スポンサーリンク

COMPILE_ET(1) FreeBSD 一般コマンドマニュアル COMPILE_ET(1)

名称

compile_et − エラーテーブルコンパイラ

書式

compile_et file

解説

compile_et は、エラーコード名とそれに対応するメッセージをリストアップした テーブルを、 com_err(3) ライブラリと共に用いるのに適した C のソースファイ ルに変換します。

ソースファイル名は末尾が ‘‘.et’’ で終わっていなければなりません。このファ イルは以下のものから成ります。まず、エラーコードテーブル名の宣言(4文字ま で):

error_table name

続いて以下の形式のエントリ(256 エントリまで):

error_code name, "string"

そして最後にテーブルの終わりを示す次の行です:

end

上のテーブル名はサブルーチン名 initialize_XXXX_error_table を構築するのに 用いられます。このサブルーチンは com_err(3) ライブラリがエラーテーブルを 認識するために呼び出される必要があります。

ここで定義された様々なエラーコードには、連続した昇順の番号(最初の数は、 テーブル名のハッシュ関数として求められた、ある大きな数です)が割り当てられ ます。従って、互換性を保つために、新しいコードは既存のテーブルの末尾にの み追加し、また既存のコードはテーブルから削除しないようにすべきです。

このテーブルで定義された名前は C のヘッダファイルに置かれ、プリプロセッサ ディレクティブによって最大 32 ビットの大きさの整定数として定義されます。

同時に C のソースファイルが生成されます。このファイルはコンパイルされ、こ れらのエラーコードを参照するオブジェクトファイルとリンクされます。この C ソースファイルには、メッセージテキストと初期化ルーチンが含まれます。いず れの C のファイルも、オリジナルソースファイル末尾の ‘‘.et’’ を ‘‘.c’’ お よび ‘‘.h’’ で置き換えた名前になります。

ソースファイル中の ‘‘#’’ はコメント文字として扱われ、そこから行末までのテ キストは無視されます。

バグ

compile_etyacc(1) に基づく極めて単純なパーサを用いているため、エラー 回復処理には改良すべき点が数多く残されています。

関連項目

yacc(1), com_err(3)

       Ken Raeburn,                      A Common Error Description Library for UNIX.
FreeBSD 10.0                   November 22, 1988                  FreeBSD 10.0
スポンサーリンク