]>
Commit | Line | Data |
---|---|---|
d1b2a10e | 1 | .\" Copyright (c) 1988 Massachusetts Institute of Technology, |
2 | .\" Student Information Processing Board. All rights reserved. | |
3 | .\" | |
4 | .\" $Header$ | |
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". |