mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
65da0f9f3a
commit
9c6271dded
14 changed files with 529 additions and 479 deletions
|
@ -776,6 +776,8 @@ extern "C" {
|
|||
SET_ERROR_CODE(Z3_SORT_ERROR);
|
||||
RETURN_Z3(of_expr(0));
|
||||
}
|
||||
SASSERT(from[i]->get_ref_count() > 0);
|
||||
SASSERT(to[i]->get_ref_count() > 0);
|
||||
}
|
||||
expr_safe_replace subst(m);
|
||||
for (unsigned i = 0; i < num_exprs; i++) {
|
||||
|
|
|
@ -26,6 +26,7 @@ Revision History:
|
|||
extern "C" {
|
||||
|
||||
Z3_ast_vector Z3_API Z3_mk_ast_vector(Z3_context c) {
|
||||
std::cout << "ast-vector\n";
|
||||
Z3_TRY;
|
||||
LOG_Z3_mk_ast_vector(c);
|
||||
RESET_ERROR_CODE();
|
||||
|
|
|
@ -3822,6 +3822,7 @@ public class Context extends IDisposable
|
|||
m_Params_DRQ.clear(this);
|
||||
m_Probe_DRQ.clear(this);
|
||||
m_Solver_DRQ.clear(this);
|
||||
m_Optimize_DRQ.clear(this);
|
||||
m_Statistics_DRQ.clear(this);
|
||||
m_Tactic_DRQ.clear(this);
|
||||
m_Fixedpoint_DRQ.clear(this);
|
||||
|
|
912
src/api/ml/z3.ml
912
src/api/ml/z3.ml
File diff suppressed because it is too large
Load diff
|
@ -46,6 +46,7 @@ struct z3_replayer::imp {
|
|||
size_t m_ptr;
|
||||
size_t_map<void *> m_heap;
|
||||
svector<z3_replayer_cmd> m_cmds;
|
||||
vector<std::string> m_cmds_names;
|
||||
|
||||
enum value_kind { INT64, UINT64, DOUBLE, STRING, SYMBOL, OBJECT, UINT_ARRAY, INT_ARRAY, SYMBOL_ARRAY, OBJECT_ARRAY, FLOAT };
|
||||
|
||||
|
@ -509,6 +510,7 @@ struct z3_replayer::imp {
|
|||
if (idx >= m_cmds.size())
|
||||
throw z3_replayer_exception("invalid command");
|
||||
try {
|
||||
TRACE("z3_replayer_cmd", tout << m_cmds_names[idx] << "\n";);
|
||||
m_cmds[idx](m_owner);
|
||||
}
|
||||
catch (z3_error & ex) {
|
||||
|
@ -672,9 +674,11 @@ struct z3_replayer::imp {
|
|||
m_result = obj;
|
||||
}
|
||||
|
||||
void register_cmd(unsigned id, z3_replayer_cmd cmd) {
|
||||
void register_cmd(unsigned id, z3_replayer_cmd cmd, char const* name) {
|
||||
m_cmds.reserve(id+1, 0);
|
||||
m_cmds_names.reserve(id+1, "");
|
||||
m_cmds[id] = cmd;
|
||||
m_cmds_names[id] = name;
|
||||
}
|
||||
|
||||
void reset() {
|
||||
|
@ -786,8 +790,8 @@ void z3_replayer::store_result(void * obj) {
|
|||
return m_imp->store_result(obj);
|
||||
}
|
||||
|
||||
void z3_replayer::register_cmd(unsigned id, z3_replayer_cmd cmd) {
|
||||
return m_imp->register_cmd(id, cmd);
|
||||
void z3_replayer::register_cmd(unsigned id, z3_replayer_cmd cmd, char const* name) {
|
||||
return m_imp->register_cmd(id, cmd, name);
|
||||
}
|
||||
|
||||
void z3_replayer::parse() {
|
||||
|
|
|
@ -62,7 +62,7 @@ public:
|
|||
void ** get_obj_addr(unsigned pos);
|
||||
|
||||
void store_result(void * obj);
|
||||
void register_cmd(unsigned id, z3_replayer_cmd cmd);
|
||||
void register_cmd(unsigned id, z3_replayer_cmd cmd, char const* name);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue