doc/documentation/manual-pages/ja/man1/compile_et.1
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

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