Annotation of src/usr.bin/compile_et/compile_et.1, Revision 1.1
1.1 ! downsj 1: .\" Copyright (c) 1988 Massachusetts Institute of Technology,
! 2: .\" Student Information Processing Board. All rights reserved.
! 3: .\"
! 4: .\" $OpenBSD$
! 5: .\"
! 6: .TH COMPILE_ET 1 "22 Nov 1988" SIPB
! 7: .SH NAME
! 8: compile_et \- error table compiler
! 9: .SH SYNOPSIS
! 10: .B /usr/libexec/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".