8a72894489
Sync with the original version. Unify some japanese words. Submitted by: kano@na.rim.or.jp
77 lines
2.2 KiB
Groff
77 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.3 2001/02/16 11:35:39 ru 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 ,
|
|
.No \(dq Ns Em string Ns \(dq
|
|
.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 com_err 3
|
|
.Rs
|
|
.%A Ken Raeburn
|
|
.%T "A Common Error Description Library for UNIX"
|
|
.Re
|