cprover
smt2_solvert Class Reference
+ Inheritance diagram for smt2_solvert:
+ Collaboration diagram for smt2_solvert:

Public Member Functions

 smt2_solvert (std::istream &_in, decision_proceduret &_solver)
 
- Public Member Functions inherited from smt2_parsert
 smt2_parsert (std::istream &_in)
 
bool parse () override
 
void skip_to_end_of_list ()
 This skips tokens until all bracketed expressions are closed. More...
 
- Public Member Functions inherited from smt2_tokenizert
 smt2_tokenizert (std::istream &_in)
 
- Public Member Functions inherited from parsert
virtual void clear ()
 
 parsert ()
 
virtual ~parsert ()
 
bool read (char &ch)
 
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

enum  { NOT_SOLVED, SAT, UNSAT }
 
- Protected Types inherited from smt2_parsert
using renaming_mapt = std::map< irep_idt, irep_idt >
 
using renaming_counterst = std::map< irep_idt, unsigned >
 
- Protected Types inherited from smt2_tokenizert
using tokent = enum { NONE, END_OF_FILE, STRING_LITERAL, NUMERAL, SYMBOL, KEYWORD, OPEN, CLOSE }
 

Protected Member Functions

void command (const std::string &) override
 
void define_constants ()
 
void expand_function_applications (exprt &)
 
- Protected Member Functions inherited from smt2_parsert
tokent next_token () override
 
void command_sequence ()
 
irep_idt get_fresh_id (const irep_idt &)
 
irep_idt rename_id (const irep_idt &) const
 
void ignore_command ()
 
exprt expression ()
 
exprt function_application ()
 
exprt function_application_ieee_float_op (const irep_idt &, const exprt::operandst &)
 
exprt function_application_fp (const exprt::operandst &)
 
typet sort ()
 
exprt::operandst operands ()
 
typet function_signature_declaration ()
 
signature_with_parameter_idst function_signature_definition ()
 
exprt multi_ary (irep_idt, const exprt::operandst &)
 
exprt binary_predicate (irep_idt, const exprt::operandst &)
 
exprt binary (irep_idt, const exprt::operandst &)
 
exprt unary (irep_idt, const exprt::operandst &)
 
exprt let_expression ()
 
exprt quantifier_expression (irep_idt)
 
exprt function_application (const irep_idt &identifier, const exprt::operandst &op)
 
exprt::operandst cast_bv_to_signed (const exprt::operandst &)
 Apply typecast to signedbv to expressions in vector. More...
 
exprt cast_bv_to_unsigned (const exprt &)
 Apply typecast to unsignedbv to given expression. More...
 
- Protected Member Functions inherited from smt2_tokenizert
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

decision_proceduretsolver
 
std::set< irep_idtconstants_done
 
enum smt2_solvert:: { ... }  status
 
- Protected Attributes inherited from smt2_parsert
std::size_t parenthesis_level
 
renaming_mapt renaming_map
 
renaming_counterst renaming_counters
 
- Protected Attributes inherited from smt2_tokenizert
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
 

Additional Inherited Members

- Public Types inherited from smt2_parsert
using id_mapt = std::map< irep_idt, idt >
 
using named_termst = std::map< irep_idt, named_termt >
 
- 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 smt2_parsert
id_mapt id_map
 
named_termst named_terms
 
bool exit
 
- 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 25 of file smt2_solver.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NOT_SOLVED 
SAT 
UNSAT 

Definition at line 42 of file smt2_solver.cpp.

Constructor & Destructor Documentation

◆ smt2_solvert()

smt2_solvert::smt2_solvert ( std::istream &  _in,
decision_proceduret _solver 
)
inline

Definition at line 28 of file smt2_solver.cpp.

Member Function Documentation

◆ command()

void smt2_solvert::command ( const std::string &  c)
overrideprotectedvirtual

Reimplemented from smt2_parsert.

Definition at line 121 of file smt2_solver.cpp.

◆ define_constants()

void smt2_solvert::define_constants ( )
protected

Definition at line 50 of file smt2_solver.cpp.

◆ expand_function_applications()

void smt2_solvert::expand_function_applications ( exprt expr)
protected

Definition at line 75 of file smt2_solver.cpp.

Member Data Documentation

◆ constants_done

std::set<irep_idt> smt2_solvert::constants_done
protected

Definition at line 40 of file smt2_solver.cpp.

◆ solver

decision_proceduret& smt2_solvert::solver
protected

Definition at line 34 of file smt2_solver.cpp.

◆ status

enum { ... } smt2_solvert::status

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