doc/ja/man/man1/compile_et.1
Jun Kuriyama 88a4de0fb8 Catch up to 3.0-19980827-SNAP and some fixes.
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1998-09-26 06:20:22 +00:00

80 lines
2.2 KiB
Groff

.\" 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