83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
| .\" Copyright (c) 1988 Massachusetts Institute of Technology,
 | |
| .\" Student Information Processing Board.  All rights reserved.
 | |
| .\"
 | |
| .\" $Header$
 | |
| .\"
 | |
| .TH COMPILE_ET 1 "30 Mar 1998" SIPB
 | |
| .SH NAME
 | |
| compile_et \- error table compiler
 | |
| .SH SYNOPSIS
 | |
| .B compile_et
 | |
| file
 | |
| .SH DESCRIPTION
 | |
| .B Compile_et
 | |
| converts a table listing error-code names and associated messages into
 | |
| a C source file suitable for use with the
 | |
| .IR com_err (3)
 | |
| library.
 | |
| 
 | |
| The source file name must end with a suffix of ``.et''; the file
 | |
| consists of a declaration supplying the name (up to four characters
 | |
| long) of the error-code table:
 | |
| 
 | |
| .B error_table
 | |
| .I name
 | |
| 
 | |
| followed by up to 256 entries of the form:
 | |
| 
 | |
| .B error_code
 | |
| .I name,
 | |
| "
 | |
| .I string
 | |
| "
 | |
| 
 | |
| and a final
 | |
| 
 | |
| .B end
 | |
| 
 | |
| to indicate the end of the table.
 | |
| 
 | |
| The name of the table is used to construct the name of a subroutine
 | |
| .I initialize_XXXX_error_table
 | |
| which must be called in order for the
 | |
| .I com_err
 | |
| library to recognize the error table.
 | |
| 
 | |
| The various error codes defined are assigned sequentially increasing
 | |
| numbers (starting with a large number computed as a hash function of
 | |
| the name of the table); thus for compatibility it is suggested that
 | |
| new codes be added only to the end of an existing table, and that no
 | |
| codes be removed from tables.
 | |
| 
 | |
| The names defined in the table are placed into a C header file with
 | |
| preprocessor directives defining them as integer constants of up to
 | |
| 32 bits in magnitude.
 | |
| 
 | |
| A C source file is also generated which should be compiled and linked
 | |
| with the object files which reference these error codes; it contains
 | |
| the text of the messages and the initialization subroutine.  Both C
 | |
| files have names derived from that of the original source file, with
 | |
| the ``.et'' suffix replaced by ``.c'' and ``.h''.
 | |
| 
 | |
| A ``#'' in the source file is treated as a comment character, and all
 | |
| remaining text to the end of the source line will be ignored.
 | |
| 
 | |
| .SH BUGS
 | |
| 
 | |
| Since the original
 | |
| .B compile_et
 | |
| uses a very simple parser based on
 | |
| .IR yacc (1), 
 | |
| and this current version of 
 | |
| .B compile_et
 | |
| uses an awk/sed combination of scripts, 
 | |
| its error recovery leaves much to be desired.
 | |
| 
 | |
| .\" .IR for manual entries
 | |
| .\" .PP for paragraph breaks
 | |
| 
 | |
| .SH "SEE ALSO"
 | |
| com_err (3).
 | |
| 
 | |
| Ken Raeburn, "A Common Error Description Library for UNIX".
 |