errhdr reads a file describing error codes and corresponding
messages and produces a C header file, either on standard output or in
The input file has a simple text-based format; one file
(errmsg/valid.msg in the source tree) starts
$$ SEQ_INST, 1
$^ ExtNotAllowed, 1
# This is a comment
A Bioseq "extension" is used for special classes of Bioseq. This class of
Bioseq should not have one but it does. This is probably a software error.
$^ ExtBadOrMissing, 2
This class of Bioseq requires an "extension" but it is missing or of the
wrong type. This is probably a software error.
(Detailed descriptions are optional, and no "end" lines of any sort