@@ -52,61 +52,9 @@ class smt2_convt : public stack_decision_proceduret
52
52
const std::string &_notes,
53
53
const std::string &_logic,
54
54
solvert _solver,
55
- std::ostream &_out)
56
- : use_FPA_theory(false ),
57
- use_datatypes (false ),
58
- use_array_of_bool(false ),
59
- emit_set_logic(true ),
60
- ns(_ns),
61
- out(_out),
62
- benchmark(_benchmark),
63
- notes(_notes),
64
- logic(_logic),
65
- solver(_solver),
66
- boolbv_width(_ns),
67
- pointer_logic(_ns),
68
- no_boolean_variables(0 )
69
- {
70
- // We set some defaults differently
71
- // for some solvers.
72
-
73
- switch (solver)
74
- {
75
- case solvert::GENERIC:
76
- break ;
77
-
78
- case solvert::BOOLECTOR:
79
- break ;
80
-
81
- case solvert::CPROVER_SMT2:
82
- use_array_of_bool = true ;
83
- emit_set_logic = false ;
84
- break ;
85
-
86
- case solvert::CVC3:
87
- break ;
88
-
89
- case solvert::CVC4:
90
- break ;
91
-
92
- case solvert::MATHSAT:
93
- break ;
94
-
95
- case solvert::YICES:
96
- break ;
97
-
98
- case solvert::Z3:
99
- use_array_of_bool=true ;
100
- emit_set_logic=false ;
101
- use_datatypes=true ;
102
- break ;
103
- }
104
-
105
- write_header ();
106
- }
55
+ std::ostream &_out);
107
56
108
57
~smt2_convt () override = default ;
109
- resultt dec_solve () override ;
110
58
111
59
bool use_FPA_theory;
112
60
bool use_datatypes;
@@ -116,10 +64,7 @@ class smt2_convt : public stack_decision_proceduret
116
64
exprt handle (const exprt &expr) override ;
117
65
void set_to (const exprt &expr, bool value) override ;
118
66
exprt get (const exprt &expr) const override ;
119
- std::string decision_procedure_text () const override
120
- {
121
- return " SMT2" ;
122
- }
67
+ std::string decision_procedure_text () const override ;
123
68
void print_assignment (std::ostream &out) const override ;
124
69
125
70
// / Unimplemented
@@ -131,10 +76,6 @@ class smt2_convt : public stack_decision_proceduret
131
76
// / Currently, only implements a single stack element (no nested contexts)
132
77
void pop () override ;
133
78
134
- void convert_expr (const exprt &);
135
- void convert_type (const typet &);
136
- void convert_literal (const literalt);
137
-
138
79
std::size_t get_number_of_solver_calls () const override ;
139
80
140
81
protected:
@@ -148,6 +89,8 @@ class smt2_convt : public stack_decision_proceduret
148
89
149
90
std::size_t number_of_solver_calls = 0 ;
150
91
92
+ resultt dec_solve () override ;
93
+
151
94
void write_header ();
152
95
void write_footer (std::ostream &);
153
96
@@ -181,6 +124,10 @@ class smt2_convt : public stack_decision_proceduret
181
124
182
125
std::string convert_identifier (const irep_idt &identifier);
183
126
127
+ void convert_expr (const exprt &);
128
+ void convert_type (const typet &);
129
+ void convert_literal (const literalt);
130
+
184
131
literalt convert (const exprt &expr);
185
132
tvt l_get (literalt l) const ;
186
133
0 commit comments