************* hgen.pl 1.7 *****************
The perl-based header-generator program

usage: hgen.pl {options} [filename(s)]
options:
  --help : this help
  -m --multiple: more than one input-file given
      all files will be processed, -h option required !!
  -h --header {header-file}:
      specify the name of the header-file to create

  -p [number {number ...}]
      specify the parts of the source-file that are to be processed, a
      source-file may have several parts (0..19) that may be intermixed.
      See also the @PE()-command
  -c check wether the new header-file differs from the old one. If no
     difference is found, the header file is left intact. Useful when
     hgen.p is called from within a makefile.
  -q less messages on the screen

hgen-commands in sourcecode:
A command starts with a '@' and is followed by 2 to 3 letters. A command
must always be splaced within a c-comment.  Example for a command:
/*@EX(1)*/ is the command 'EX(1)'

List of commands:
 EL  exclude line
 IL  include line
 ET  exclude text (until IT),
     U, IL, EX, EXI override this for their scope
 IT  include text (was excluded by ET)
 EX  generate extern-statement in next line
 EX(1)...EX(n)
     generate extern-statement and place finishing ';' 
     0 bis n lines below
 ET, IT or EX followed by 'I' cause the command to take
     effect in the current line instead of the next line
 U   uncomment whole comment (that may span several lines)
     this command should not be followed immediately by 
     alphanumeric chars for future compability
 EM("text")
     emit text (may contain '\n' and '\"')
     '/@' in the text is changed to '/*', '@/' is changed 
      to '*/'
 PS(number)
 PE(number)
     PS: define the start of a  in the source-file. 
     PE: define the end of a  in the source-file. This
     works together with the -p command-line option of hgen.
     PS and PE define "parts" in the source file. Only the parts, that
     were specified with the "-p" command are evaluated.