3 #ifndef CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_SOLVER_PROCESS_H
4 #define CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_SOLVER_PROCESS_H
28 &identifier_table) = 0;
43 std::string command_line,
52 const std::unordered_map<irep_idt, smt_identifier_termt> &identifier_table)
93 const std::unordered_map<irep_idt, smt_identifier_termt> &identifier_table)
108 const std::string
desc =
"SMT2 incremental dry-run";
Class that provides messages with a built-in verbosity 'level'.
virtual const std::string & description()=0
virtual void send(const smt_commandt &command)=0
Converts given SMT2 command to SMT2 string and sends it to the solver process.
virtual ~smt_base_solver_processt()=default
virtual smt_responset receive_response(const std::unordered_map< irep_idt, smt_identifier_termt > &identifier_table)=0
Class for an incremental SMT solver used in combination with --outfile argument where the solver is n...
const std::string & description() override
smt_responset receive_response(const std::unordered_map< irep_idt, smt_identifier_termt > &identifier_table) override
void send(const smt_commandt &smt_command) override
Converts given SMT2 command to SMT2 string and sends it to the solver process.
std::unique_ptr< std::ostream > file_stream
Pointer to the file stream to print the SMT formula.
std::ostream & out_stream
The output stream reference to print the SMT formula to.
messaget log
For debug printing.
smt_incremental_dry_run_solvert(message_handlert &message_handler, std::ostream &out_stream, std::unique_ptr< std::ostream > file_stream)
const std::string desc
Description of the current solver.
~smt_incremental_dry_run_solvert() override=default
messaget log
For debug printing.
std::string command_line_description
The command line used to start the process.
void send(const smt_commandt &smt_command) override
Converts given SMT2 command to SMT2 string and sends it to the solver process.
~smt_piped_solver_processt() override=default
const std::string & description() override
std::stringstream response_stream
For buffering / combining communications from the solver to cbmc.
smt_piped_solver_processt(std::string command_line, message_handlert &message_handler, std::unique_ptr< std::ostream > out_stream)
smt_responset receive_response(const std::unordered_map< irep_idt, smt_identifier_termt > &identifier_table) override
std::unique_ptr< std::ostream > out_stream
Pointer to the stream to print the SMT formula. nullptr if no output.
piped_processt process
The raw solver sub process.
Subprocess communication with pipes.