|re2c| allows one to generate header file from the input ``.re`` file using
``--header`` option or ``re2c:header`` configuration and block pairs of the form
``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/``, or ``%{header:on%}`` and
``%{header:off%}``. The first block marks the beginning of header file, and the
second block marks the end of it. Everything between these blocks is processed by
|re2c|, and the generated code is written to the file specified with ``--header``
option or ``re2c:header`` configuration (or ``stdout`` if neither option nor
configuration is used). Autogenerated header file may be needed in cases when
|re2c| is used to generate definitions  that must be visible from other
translation units.

Here is an example of generating a header file that contains definition of the
lexer state with tag variables (the number variables depends on the regular
grammar and is unknown to the programmer).
