22 ch==
'~' || ch==
'!' || ch==
'@' || ch==
'$' || ch==
'%' ||
23 ch==
'^' || ch==
'&' || ch==
'*' || ch==
'_' || ch==
'-' ||
24 ch==
'+' || ch==
'=' || ch==
'<' || ch==
'>' || ch==
'.' ||
96 if(ch==
'0' || ch==
'1')
166 throw error(
"EOF within quoted symbol");
201 throw error(
"EOF within string literal");
230 case static_cast<char>(160):
270 throw error(
"expecting symbol after colon");
283 throw error(
"unknown numeral token");
286 throw error(
"unexpected EOF in numeral token");
303 throw error() <<
"unexpected character '" << ch <<
'\'';
token_kindt kind
The kind of token; see token_kindt.
std::string text
The source text of the token (excluding any delimiters): the symbol name for SYMBOL/KEYWORD,...
unsigned line_no
The source line number on which the token ends.
bool quoted_symbol
True iff kind == SYMBOL and the symbol was given in |...| quoted form; always false for other token k...
tokent get_string_literal()
Read a STRING_LITERAL of the form "..." from the stream, applying SMT-LIB v2.6 quote-doubling: a "" i...
std::optional< tokent > peeked
Token that has been peeked but not yet consumed.
tokent get_decimal_numeral()
Read a NUMERAL of the form "[0-9.]+" from the stream.
tokent next_token()
Consume and return the next token.
smt2_errort error() const
generate an error exception
tokent get_bin_numeral()
Read a NUMERAL of the form "#b[01]+" from the stream.
tokent get_simple_symbol()
Read a SYMBOL of the form "[A-Za-z~!@$%^&*_\-+=<>.?/][...]*" from the stream.
tokent get_quoted_symbol()
Read a quoted SYMBOL of the form |...| from the stream.
unsigned line_no
Number of the source line currently being read.
tokent read_token()
Read a single token directly from the input stream.
tokent get_hex_numeral()
Read a NUMERAL of the form "#x[0-9a-fA-F]+" from the stream.
bool is_smt2_simple_symbol_character(char ch)
Tokenizer for the SMT-LIB v2.6 syntax.
bool is_smt2_simple_symbol_character(char)