.\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" .\" Japanese Version Copyright (c) 2000 NAKANO Takeo all rights reserved. .\" Translated Thu 13 2000 by NAKANO Takeo .\" .\" $Header$ .\" .TH COMPILE_ET 1 "30 Mar 1998" SIPB .SH 名前 compile_et \- エラー表のコンパイラー .SH 書式 .B compile_et file .SH 説明 .B compile_et は、エラーコードの名前と対応するメッセージをリストした表を、 .IR com_err (3) ライブラリで扱いやすい C ソース形式に変換する。 ソースファイルの名前は ``.et'' という拡張子で終わっている必要がある。 ファイルの先頭で、まずエラーコード表の名前 (名前は 4 文字まで)。 を与える宣言を行う。 .RS .sp .B error_table .I name .sp .RE 続いて、エントリを次の形式で与える (256 エントリまで)。 .RS .sp .B error_code .I name, .RI \" string \" .sp .RE そして最後に表の末尾を .RS .sp .B end .sp .RE によって示す。 表の名前は、サブルーチンの名前をつくるときに .I initialize_XXXX_error_table の様に用いられる。 .I com_err ライブラリにこのエラー表を認識させるには、 このサブルーチンを呼び出す必要がある。 各種エラーコードの定義は、ひとつずつ増える数値に割り当てられる (先頭の数値は、表の名前をハッシュ関数に与えて計算された値になる)。 したがって互換性を保つためには、 新しいコードの追加は既存の表の末尾に行い、 表からコードの削除を行わないことである。 表で定義されている名前は、 C のヘッダファイルにおいて、 それらの名前を 32 ビットまでの整数定数として定義する プリプロセッサ指定になる。 C ソースファイルも生成されるので、これをコンパイルして、 エラーコードを参照するオブジェクトファイルにリンクする。 C ソースファイルには、メッセージのテキストと初期化サブルーチンとが含まれる。 C のヘッダファイル・ソースファイル両者の名前は、 オリジナルのソースファイルの名前の ``.et'' 拡張子を、 それぞれ ``.h'', ``.c'' に置き換えたものになる。 ソースファイル中の ``#'' はコメント文字として扱われ、 その行の末尾までの残りのテキストは無視される。 .SH バグ オリジナルの .B compile_et は .IR yacc (1) を用いた非常に簡単なパーサーを使っていたし、 現在のバージョンの .B compile_et は awk と sed スクリプトを組み合わせて用いているので、 エラーリカバリは望ましい水準からはほど遠い。 .\" .IR for manual entries .\" .PP for paragraph breaks .SH 関連項目 com_err (3) Ken Raeburn, "A Common Error Description Library for UNIX".