cprover
smt2_parsert Class Reference

#include <smt2_parser.h>

+ Inheritance diagram for smt2_parsert:
+ Collaboration diagram for smt2_parsert:

Classes

struct  idt
 
struct  named_termt
 
struct  signature_with_parameter_idst
 

Public Types

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
}
 

Public Member Functions

 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...
 

Public Attributes

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
 

Protected Types

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

tokent next_token () override
 
void command_sequence ()
 
virtual void command (const std::string &)
 
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

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

- 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...
 
- 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_parser.h.

Member Typedef Documentation

◆ id_mapt

using smt2_parsert::id_mapt = std::map<irep_idt, idt>

Definition at line 43 of file smt2_parser.h.

◆ named_termst

Definition at line 52 of file smt2_parser.h.

◆ renaming_counterst

using smt2_parsert::renaming_counterst = std::map<irep_idt, unsigned>
protected

Definition at line 72 of file smt2_parser.h.

◆ renaming_mapt

using smt2_parsert::renaming_mapt = std::map<irep_idt, irep_idt>
protected

Definition at line 70 of file smt2_parser.h.

Constructor & Destructor Documentation

◆ smt2_parsert()

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

Definition at line 21 of file smt2_parser.h.

Member Function Documentation

◆ binary()

exprt smt2_parsert::binary ( irep_idt  id,
const exprt::operandst op 
)
protected

Definition at line 379 of file smt2_parser.cpp.

◆ binary_predicate()

exprt smt2_parsert::binary_predicate ( irep_idt  id,
const exprt::operandst op 
)
protected

Definition at line 355 of file smt2_parser.cpp.

◆ cast_bv_to_signed()

exprt::operandst smt2_parsert::cast_bv_to_signed ( const exprt::operandst op)
protected

Apply typecast to signedbv to expressions in vector.

Definition at line 299 of file smt2_parser.cpp.

◆ cast_bv_to_unsigned()

exprt smt2_parsert::cast_bv_to_unsigned ( const exprt expr)
protected

Apply typecast to unsignedbv to given expression.

Definition at line 322 of file smt2_parser.cpp.

◆ command()

void smt2_parsert::command ( const std::string &  c)
protectedvirtual

Reimplemented in smt2_solvert.

Definition at line 1164 of file smt2_parser.cpp.

◆ command_sequence()

void smt2_parsert::command_sequence ( )
protected

Definition at line 38 of file smt2_parser.cpp.

◆ expression()

exprt smt2_parsert::expression ( )
protected

Definition at line 912 of file smt2_parser.cpp.

◆ function_application() [1/2]

exprt smt2_parsert::function_application ( )
protected

Definition at line 448 of file smt2_parser.cpp.

◆ function_application() [2/2]

exprt smt2_parsert::function_application ( const irep_idt identifier,
const exprt::operandst op 
)
protected

Definition at line 276 of file smt2_parser.cpp.

◆ function_application_fp()

exprt smt2_parsert::function_application_fp ( const exprt::operandst op)
protected

Definition at line 419 of file smt2_parser.cpp.

◆ function_application_ieee_float_op()

exprt smt2_parsert::function_application_ieee_float_op ( const irep_idt id,
const exprt::operandst op 
)
protected

Definition at line 390 of file smt2_parser.cpp.

◆ function_signature_declaration()

typet smt2_parsert::function_signature_declaration ( )
protected

Definition at line 1130 of file smt2_parser.cpp.

◆ function_signature_definition()

smt2_parsert::signature_with_parameter_idst smt2_parsert::function_signature_definition ( )
protected

Definition at line 1087 of file smt2_parser.cpp.

◆ get_fresh_id()

irep_idt smt2_parsert::get_fresh_id ( const irep_idt id)
protected

Definition at line 119 of file smt2_parser.cpp.

◆ ignore_command()

void smt2_parsert::ignore_command ( )
protected

Definition at line 78 of file smt2_parser.cpp.

◆ let_expression()

exprt smt2_parsert::let_expression ( )
protected

Definition at line 149 of file smt2_parser.cpp.

◆ multi_ary()

exprt smt2_parsert::multi_ary ( irep_idt  id,
const exprt::operandst op 
)
protected

Definition at line 334 of file smt2_parser.cpp.

◆ next_token()

smt2_parsert::tokent smt2_parsert::next_token ( )
overrideprotectedvirtual

Reimplemented from smt2_tokenizert.

Definition at line 19 of file smt2_parser.cpp.

◆ operands()

exprt::operandst smt2_parsert::operands ( )
protected

Definition at line 107 of file smt2_parser.cpp.

◆ parse()

bool smt2_parsert::parse ( )
inlineoverridevirtual

Implements parsert.

Definition at line 26 of file smt2_parser.h.

◆ quantifier_expression()

exprt smt2_parsert::quantifier_expression ( irep_idt  id)
protected

Definition at line 218 of file smt2_parser.cpp.

◆ rename_id()

irep_idt smt2_parsert::rename_id ( const irep_idt id) const
protected

Definition at line 139 of file smt2_parser.cpp.

◆ skip_to_end_of_list()

void smt2_parsert::skip_to_end_of_list ( )

This skips tokens until all bracketed expressions are closed.

Definition at line 31 of file smt2_parser.cpp.

◆ sort()

typet smt2_parsert::sort ( )
protected

Definition at line 1003 of file smt2_parser.cpp.

◆ unary()

exprt smt2_parsert::unary ( irep_idt  id,
const exprt::operandst op 
)
protected

Definition at line 371 of file smt2_parser.cpp.

Member Data Documentation

◆ exit

bool smt2_parsert::exit

Definition at line 55 of file smt2_parser.h.

◆ id_map

id_mapt smt2_parsert::id_map

Definition at line 44 of file smt2_parser.h.

◆ named_terms

named_termst smt2_parsert::named_terms

Definition at line 53 of file smt2_parser.h.

◆ parenthesis_level

std::size_t smt2_parsert::parenthesis_level
protected

Definition at line 62 of file smt2_parser.h.

◆ renaming_counters

renaming_counterst smt2_parsert::renaming_counters
protected

Definition at line 73 of file smt2_parser.h.

◆ renaming_map

renaming_mapt smt2_parsert::renaming_map
protected

Definition at line 71 of file smt2_parser.h.


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