cprover
smt2_tokenizert Class Reference

#include <smt2_tokenizer.h>

+ Inheritance diagram for smt2_tokenizert:
+ Collaboration diagram for smt2_tokenizert:

Classes

class  smt2_errort
 

Public Member Functions

 smt2_tokenizert (std::istream &_in)
 
- Public Member Functions inherited from parsert
virtual void clear ()
 
 parsert ()
 
virtual ~parsert ()
 
bool read (char &ch)
 
virtual bool parse ()=0
 
bool eof ()
 
void parse_error (const std::string &message, const std::string &before)
 
void inc_line_no ()
 
void set_line_no (unsigned _line_no)
 
void set_file (const irep_idt &file)
 
irep_idt get_file () const
 
unsigned get_line_no () const
 
unsigned get_column () const
 
void set_column (unsigned _column)
 
void set_source_location (exprt &e)
 
void set_function (const irep_idt &function)
 
void advance_column (unsigned token_width)
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to message_stream using output_generator if the configured verbosity is at least as high as that of message_stream. More...
 

Protected Types

using tokent = enum { NONE, END_OF_FILE, STRING_LITERAL, NUMERAL, SYMBOL, KEYWORD, OPEN, CLOSE }
 

Protected Member Functions

virtual tokent next_token ()
 
tokent peek ()
 
void skip_to_end_of_list ()
 skip any tokens until all parentheses are closed or the end of file is reached More...
 
smt2_errort error (const std::string &message)
 generate an error exception, pre-filled with a message More...
 
smt2_errort error ()
 generate an error exception More...
 

Protected Attributes

std::string buffer
 
bool quoted_symbol = false
 
bool peeked
 
tokent token
 
- Protected Attributes inherited from parsert
source_locationt source_location
 
unsigned line_no
 
unsigned previous_line_no
 
unsigned column
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Private Member Functions

tokent get_decimal_numeral ()
 
tokent get_hex_numeral ()
 
tokent get_bin_numeral ()
 
tokent get_simple_symbol ()
 
tokent get_quoted_symbol ()
 
tokent get_string_literal ()
 
void get_token_from_stream ()
 read a token from the input stream and store it in 'token' More...
 

Static Private Member Functions

static bool is_simple_symbol_character (char)
 

Additional Inherited Members

- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static commandt command (unsigned c)
 Create an ECMA-48 SGR (Select Graphic Rendition) command. More...
 
- Public Attributes inherited from parsert
std::istream * in
 
std::string this_line
 
std::string last_line
 
std::vector< exprtstack
 
- Static Public Attributes inherited from messaget
static eomt eom
 
static const commandt reset
 return to default formatting, as defined by the terminal More...
 
static const commandt red
 render text with red foreground color More...
 
static const commandt green
 render text with green foreground color More...
 
static const commandt yellow
 render text with yellow foreground color More...
 
static const commandt blue
 render text with blue foreground color More...
 
static const commandt magenta
 render text with magenta foreground color More...
 
static const commandt cyan
 render text with cyan foreground color More...
 
static const commandt bright_red
 render text with bright red foreground color More...
 
static const commandt bright_green
 render text with bright green foreground color More...
 
static const commandt bright_yellow
 render text with bright yellow foreground color More...
 
static const commandt bright_blue
 render text with bright blue foreground color More...
 
static const commandt bright_magenta
 render text with bright magenta foreground color More...
 
static const commandt bright_cyan
 render text with bright cyan foreground color More...
 
static const commandt bold
 render text with bold font More...
 
static const commandt faint
 render text with faint font More...
 
static const commandt italic
 render italic text More...
 
static const commandt underline
 render underlined text More...
 

Detailed Description

Definition at line 18 of file smt2_tokenizer.h.

Member Typedef Documentation

◆ tokent

using smt2_tokenizert::tokent = enum { NONE, END_OF_FILE, STRING_LITERAL, NUMERAL, SYMBOL, KEYWORD, OPEN, CLOSE }
protected

Definition at line 73 of file smt2_tokenizer.h.

Constructor & Destructor Documentation

◆ smt2_tokenizert()

smt2_tokenizert::smt2_tokenizert ( std::istream &  _in)
inlineexplicit

Definition at line 21 of file smt2_tokenizer.h.

Member Function Documentation

◆ error() [1/2]

smt2_errort smt2_tokenizert::error ( const std::string &  message)
inlineprotected

generate an error exception, pre-filled with a message

Definition at line 95 of file smt2_tokenizer.h.

◆ error() [2/2]

smt2_errort smt2_tokenizert::error ( )
inlineprotected

generate an error exception

Definition at line 101 of file smt2_tokenizer.h.

◆ get_bin_numeral()

smt2_tokenizert::tokent smt2_tokenizert::get_bin_numeral ( )
private

Definition at line 86 of file smt2_tokenizer.cpp.

◆ get_decimal_numeral()

smt2_tokenizert::tokent smt2_tokenizert::get_decimal_numeral ( )
private

Definition at line 59 of file smt2_tokenizer.cpp.

◆ get_hex_numeral()

smt2_tokenizert::tokent smt2_tokenizert::get_hex_numeral ( )
private

Definition at line 115 of file smt2_tokenizer.cpp.

◆ get_quoted_symbol()

smt2_tokenizert::tokent smt2_tokenizert::get_quoted_symbol ( )
private

Definition at line 144 of file smt2_tokenizer.cpp.

◆ get_simple_symbol()

smt2_tokenizert::tokent smt2_tokenizert::get_simple_symbol ( )
private

Definition at line 26 of file smt2_tokenizer.cpp.

◆ get_string_literal()

smt2_tokenizert::tokent smt2_tokenizert::get_string_literal ( )
private

Definition at line 172 of file smt2_tokenizer.cpp.

◆ get_token_from_stream()

void smt2_tokenizert::get_token_from_stream ( )
private

read a token from the input stream and store it in 'token'

Definition at line 213 of file smt2_tokenizer.cpp.

◆ is_simple_symbol_character()

bool smt2_tokenizert::is_simple_symbol_character ( char  ch)
staticprivate

Definition at line 13 of file smt2_tokenizer.cpp.

◆ next_token()

smt2_tokenizert::tokent smt2_tokenizert::next_token ( )
protectedvirtual

Reimplemented in smt2_parsert.

Definition at line 203 of file smt2_tokenizer.cpp.

◆ peek()

tokent smt2_tokenizert::peek ( )
inlineprotected

Definition at line 78 of file smt2_tokenizer.h.

◆ skip_to_end_of_list()

void smt2_tokenizert::skip_to_end_of_list ( )
protected

skip any tokens until all parentheses are closed or the end of file is reached

Member Data Documentation

◆ buffer

std::string smt2_tokenizert::buffer
protected

Definition at line 61 of file smt2_tokenizer.h.

◆ peeked

bool smt2_tokenizert::peeked
protected

Definition at line 63 of file smt2_tokenizer.h.

◆ quoted_symbol

bool smt2_tokenizert::quoted_symbol = false
protected

Definition at line 62 of file smt2_tokenizer.h.

◆ token

tokent smt2_tokenizert::token
protected

Definition at line 74 of file smt2_tokenizer.h.


The documentation for this class was generated from the following files: