EN JA
COMPILE_ET(1)
COMPILE_ET(1) FreeBSD General Commands Manual COMPILE_ET(1)

名前

compile_et -エラー表のコンパイラー

書式

compile_et file

説明

compile_et は、エラーコードの名前と対応するメッセージをリストした表を、 com_err(3) ライブラリで扱いやすい C ソース形式に変換する。
 
ソースファイルの名前は ``.et'' という拡張子で終わっている必要がある。ファイルの先頭で、まずエラーコード表の名前 (名前は 4 文字まで)。を与える宣言を行う。
 
error_table name
 
続いて、エントリを次の形式で与える (256 エントリまで)。
 
error_code name,
 
 
そして最後に表の末尾を
 
end
 
によって示す。
 
表の名前は、サブルーチンの名前をつくるときに initialize_XXXX_error_table の様に用いられる。 com_err ライブラリにこのエラー表を認識させるには、このサブルーチンを呼び出す必要がある。
 
各種エラーコードの定義は、ひとつずつ増える数値に割り当てられる (先頭の数値は、表の名前をハッシュ関数に与えて計算された値になる)。したがって互換性を保つためには、新しいコードの追加は既存の表の末尾に行い、表からコードの削除を行わないことである。
 
表で定義されている名前は、 C のヘッダファイルにおいて、それらの名前を 32 ビットまでの整数定数として定義するプリプロセッサ指定になる。
 
C ソースファイルも生成されるので、これをコンパイルして、エラーコードを参照するオブジェクトファイルにリンクする。 C ソースファイルには、メッセージのテキストと初期化サブルーチンとが含まれる。 C のヘッダファイル・ソースファイル両者の名前は、オリジナルのソースファイルの名前の ``.et'' 拡張子を、それぞれ ``.h'', ``.c'' に置き換えたものになる。
 
ソースファイル中の ``#'' はコメント文字として扱われ、その行の末尾までの残りのテキストは無視される。

バグ

オリジナルの compile_etyacc(1) を用いた非常に簡単なパーサーを使っていたし、現在のバージョンの compile_et は awk と sed スクリプトを組み合わせて用いているので、エラーリカバリは望ましい水準からはほど遠い。

関連項目

com_err (3)
 
Ken Raeburn, "A Common Error Description Library for UNIX".
30 Mar 1998 SIPB