      Dereferencing a lexer iterator returns a reference to the last matched
            token instance. It encapsulates the part of the underlying input sequence
            matched by the regular expression used during the definition of this
            token type. Incrementing the lexer iterator invokes the lexical analyzer
            to match the next token by advancing the underlying input stream. The
            token data structure contains at least the token id of the matched token
            type