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_et は yacc(1) に基づく極めて単純なパーサを用いているため、 エラー回復処理には改良すべき点が数多く残されています。

関連項目
yacc(1), com_err(3) Ken Raeburn, A Common Error Description Library for UNIX.