aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/compile_et.1
blob: 716db23909ed6e1e4137acedc8acace9a80887a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
.\" 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