1 | .\" Copyright (c) 1988 Massachusetts Institute of Technology, |
---|
2 | .\" Student Information Processing Board. All rights reserved. |
---|
3 | .\" |
---|
4 | .\" $HeadURL: svn+ssh://svn.mit.edu/moira/trunk/moira/util/et/compile_et.1 $ $Id: compile_et.1 3956 2010-01-05 20:56:56Z zacheiss $ |
---|
5 | .\" |
---|
6 | .TH COMPILE_ET 1 "22 Nov 1988" SIPB |
---|
7 | .SH NAME |
---|
8 | compile_et \- error table compiler |
---|
9 | .SH SYNOPSIS |
---|
10 | .B compile_et |
---|
11 | file |
---|
12 | .SH DESCRIPTION |
---|
13 | .B Compile_et |
---|
14 | converts a table listing error-code names and associated messages into |
---|
15 | a C source file suitable for use with the |
---|
16 | .IR com_err (3) |
---|
17 | library. |
---|
18 | |
---|
19 | The source file name must end with a suffix of ``.et''; the file |
---|
20 | consists of a declaration supplying the name (up to four characters |
---|
21 | long) of the error-code table: |
---|
22 | |
---|
23 | .B error_table |
---|
24 | .I name |
---|
25 | |
---|
26 | followed by up to 256 entries of the form: |
---|
27 | |
---|
28 | .B error_code |
---|
29 | .I name, |
---|
30 | " |
---|
31 | .I string |
---|
32 | " |
---|
33 | |
---|
34 | and a final |
---|
35 | |
---|
36 | .B end |
---|
37 | |
---|
38 | to indicate the end of the table. |
---|
39 | |
---|
40 | The name of the table is used to construct the name of a subroutine |
---|
41 | .I initialize_XXXX_error_table |
---|
42 | which must be called in order for the |
---|
43 | .I com_err |
---|
44 | library to recognize the error table. |
---|
45 | |
---|
46 | The various error codes defined are assigned sequentially increasing |
---|
47 | numbers (starting with a large number computed as a hash function of |
---|
48 | the name of the table); thus for compatibility it is suggested that |
---|
49 | new codes be added only to the end of an existing table, and that no |
---|
50 | codes be removed from tables. |
---|
51 | |
---|
52 | The names defined in the table are placed into a C header file with |
---|
53 | preprocessor directives defining them as integer constants of up to |
---|
54 | 32 bits in magnitude. |
---|
55 | |
---|
56 | A C source file is also generated which should be compiled and linked |
---|
57 | with the object files which reference these error codes; it contains |
---|
58 | the text of the messages and the initialization subroutine. Both C |
---|
59 | files have names derived from that of the original source file, with |
---|
60 | the ``.et'' suffix replaced by ``.c'' and ``.h''. |
---|
61 | |
---|
62 | A ``#'' in the source file is treated as a comment character, and all |
---|
63 | remaining text to the end of the source line will be ignored. |
---|
64 | |
---|
65 | .SH BUGS |
---|
66 | |
---|
67 | Since |
---|
68 | .B compile_et |
---|
69 | uses a very simple parser based on |
---|
70 | .IR yacc (1), |
---|
71 | its error recovery leaves much to be desired. |
---|
72 | |
---|
73 | .\" .IR for manual entries |
---|
74 | .\" .PP for paragraph breaks |
---|
75 | |
---|
76 | .SH "SEE ALSO" |
---|
77 | com_err (3). |
---|
78 | |
---|
79 | Ken Raeburn, "A Common Error Description Library for UNIX". |
---|