doc/ja_JP.eucJP/man/man1/compile_et.1
Kazuo Horikawa cb5d1a9147 Replace jpman project specific RCS keyword with $FreeBSD.
jpman project specific RCS keyword (jpman %Id) is obsolete,
after manual entries are stored in freefall CVS repository.
This old Id is useless and more worse it confuses users and bug reporters.
So, this old Id is removed.

Submitted by:jpman project <man-jp@jp.FreeBSD.org>
2001-05-14 01:10:24 +00:00

79 lines
2.2 KiB
Groff

.\" Copyright (c) 1988 Massachusetts Institute of Technology,
.\" Student Information Processing Board. All rights reserved.
.\"
.\" %FreeBSD: src/contrib/com_err/compile_et.1,v 1.1.2.2 2001/03/05 11:27:28 asmodai Exp %
.\"
.\" $FreeBSD$
.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文字まで):
.Pp
.Em error_table name
.Pp
続いて以下の形式のエントリ(256 エントリまで):
.Pp
.Em error_code name ,
"
.Em string
"
.Pp
そして最後にテーブルの終わりを示す次の行です:
.Pp
.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
.Rs
.%A Ken Raeburn
.%T "A Common Error Description Library for UNIX"
.Re