.\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" .\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.2 1997/06/30 06:42:38 charnier Exp % .\" .\" jpman %Id: compile_et.1,v 1.3 1997/08/20 12:20:14 horikawa Stab % .Dd November 22, 1988 .Os .Dt COMPILE_ET 1 .Sh 名称 .Nm compile_et .Nd エラーテーブルコンパイラ .Sh 書式 .Nm compile_et .Ar file .Sh 解説 .Nm compile_et は、エラーコード名とそれに対応するメッセージをリストアップしたテーブルを、 .Xr com_err 3 ライブラリと共に用いるのに適した C のソースファイルに変換します。 .Pp ソースファイル名は末尾が ``.et'' で終わっていなければなりません。 このファイルは以下のものから成ります。 まず、エラーコードテーブル名の宣言(4文字まで): .Em error_table name 続いて以下の形式のエントリ(256 エントリまで): .Em error_code name , " .Em string " そして最後にテーブルの終わりを示す次の行です: .Em end .Pp 上のテーブル名はサブルーチン名 .Em initialize_XXXX_error_table を構築するのに用いられます。 このサブルーチンは .Xr com_err 3 ライブラリがエラーテーブルを認識するために呼び出される必要があります。 .Pp ここで定義された様々なエラーコードには、 連続した昇順の番号(最初の数は、テーブル名のハッシュ関数として求められた、 ある大きな数です)が割り当てられます。 従って、互換性を保つために、新しいコードは既存のテーブルの末尾にのみ 追加し、また既存のコードはテーブルから削除しないように すべきです。 .Pp このテーブルで定義された名前は C のヘッダファイルに置かれ、 プリプロセッサディレクティブによって 最大 32 ビットの大きさの整定数として定義されます。 .Pp 同時に C のソースファイルが生成されます。 このファイルはコンパイルされ、 これらのエラーコードを参照するオブジェクトファイルとリンクされます。 この C ソースファイルには、 メッセージテキストと初期化ルーチンが含まれます。 いずれの C のファイルも、オリジナルソースファイル 末尾の ``.et'' を ``.c'' および ``.h'' で置き換えた名前になります。 .Pp ソースファイル中の ``#'' はコメント文字として扱われ、 そこから行末までのテキストは無視されます。 .Sh バグ .Nm compile_et は .Xr yacc 1 に基づく極めて単純なパーサを用いているため、 エラー回復処理には改良すべき点が数多く残されています。 .Sh 関連項目 .Xr yacc 1 , .Xr comm_err 3 .Pp .Rs .%A Ken Raeburn .%T "A Common Error Description Library for UNIX" .Re