
``-Wcondition-order``
    Warn if the generated program makes implicit
    assumptions about condition numbering. One should use either the ``-t, --type-header`` option or
    the ``/*!types:re2c*/`` directive to generate a mapping of condition names to numbers and then use
    the autogenerated condition names.

``-Wempty-character-class``
    Warn if a regular expression contains an empty
    character class. Trying to match an empty character class makes no sense: it should always fail.
    However, for backwards compatibility reasons ``re2c`` allows empty character classes and
    treats them as empty strings. Use the ``--empty-class`` option to change the default
    behavior.

``-Wmatch-empty-string``
    Warn if a rule is nullable (matches an empty string).
    If the lexer runs in a loop and the empty match is unintentional,
    the lexer may unexpectedly hang in an infinite loop.

``-Wswapped-range``
    Warn if the lower bound of a range is greater than its upper
    bound. The default behavior is to silently swap the range bounds.

``-Wundefined-control-flow``
    Warn if some input strings cause undefined
    control flow in the lexer (the faulty patterns are reported). This is the
    most dangerous and most common mistake. It can be easily fixed by adding
    the default rule ``*`` which has the lowest priority, matches any code unit, and consumes
    exactly one code unit.

``-Wunreachable-rules``
    Warn about rules that are shadowed by other rules and will never match.

``-Wuseless-escape``
    Warn if a symbol is escaped when it shouldn't be.
    By default, re2c silently ignores such escapes, but this may as well indicate a
    typo or an error in the escape sequence.

``-Wnondeterministic-tags``
    Warn if a tag has ``n``-th degree of nondeterminism, where ``n`` is greater than 1.

``-Wsentinel-in-midrule``
    Warn if the sentinel symbol occurs in the middle of a rule --- this may
    cause reads past the end of buffer, crashes or memory corruption in the
    generated lexer. This warning is only applicable if the sentinel method of
    checking for the end of input is used.
    It is set to an error if ``re2c:sentinel`` configuration is used.

