Outputs a message through the scanner's msg_handler, resulting from an unexpected token in the input stream.
Note that you should not call peek_next_token followed by unexp_token without an intermediate call to get_next_token, as unexp_token evaluates the scanner's current token (not the peeked token) to construct part of the message.
the expected token
a string describing how the scanner's user refers to identifiers (null defaults to "identifier").
This is used if
a string describing how the scanner's user refers to symbols (null defaults to "symbol"). This is used
the name of the symbol, if the scanner's current token is a symbol.
a message string to output at the end of the warning/error, or null.
if true it is output as an error. If false it is output as a warning.