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, " string"
そして、最後に
end
でテーブルの終りを示します。
テーブルの名前は、エラーテーブルを認識するために com_err(3) ライブラリの順序で呼び出されなければならない、サブルーチンの名前 initialize_XXXX_error_table を構築するために使用されます。
定義された様々なエラーコードは、(テーブルの名前のハッシュ関数として計算された大きな数で始まる) 連続して増加された数が割り当てられます。したがって、互換性について、新しいコードは、既存のテーブルの終りにのみ追加され、コードは、テーブルから削除されないことが推奨されます。
テーブルで定義される名前は、32 ビットの大きさ以内の整数の定数としてそれらを定義するプリプロセッサの指令で C のヘッダファイルに入れられます。
コンパイルされるべきである C のソースファイルも生成され、これらのエラーコードを参照するオブジェクトファイルとリンクされます。それは、メッセージのテキストと初期化サブルーチンを含んでいます。両方の C のファイルは、``.c'' と ``.h'' によって置き換えられる ``.et'' 接尾辞がある、オリジナルのソースファイルに由来する名前があります。
ソースファイル中の ``#'' は、コメント文字として扱われ、ソースの行の終りまでの残りのテキストは、すべて無視されます。
バグ
compile_et は、 yacc(1) に基づいたたいへん簡単なパーサを使用するので、そのエラーリカバリは、好ましくない点が多くあります。November 22, 1988 | FreeBSD |