3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-21 10:41:35 +00:00

print model-add in display method

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-21 21:26:07 -08:00
parent 2313b14210
commit 107bfb1438
5 changed files with 17 additions and 13 deletions

View file

@ -58,7 +58,7 @@ void generic_model_converter::display(std::ostream & out) {
display_del(out, e.m_f);
}
for (entry const& e : m_add_entries) {
display_del(out, e.m_f);
display_add(out, m, e.m_f, e.m_def);
}
}

View file

@ -96,11 +96,11 @@ model_converter * concat(model_converter * mc1, model_converter * mc2) {
class model2mc : public model_converter {
model_ref m_model;
buffer<symbol> m_labels;
labels_vec m_labels;
public:
model2mc(model * m):m_model(m) {}
model2mc(model * m, buffer<symbol> const & r):m_model(m), m_labels(r) {}
model2mc(model * m, labels_vec const & r):m_model(m), m_labels(r) {}
virtual ~model2mc() {}
@ -122,27 +122,25 @@ public:
}
void display(std::ostream & out) override {
out << "(model->model-converter-wrapper\n";
out << "(rmodel->model-converter-wrapper\n";
model_v2_pp(out, *m_model);
out << ")\n";
}
virtual model_converter * translate(ast_translation & translator) {
model * m = m_model->translate(translator);
return alloc(model2mc, m);
return alloc(model2mc, m, m_labels);
}
};
model_converter * model2model_converter(model * m) {
if (m == 0)
return 0;
if (!m) return nullptr;
return alloc(model2mc, m);
}
model_converter * model_and_labels2model_converter(model * m, buffer<symbol> & r) {
if (m == 0)
return 0;
model_converter * model_and_labels2model_converter(model * m, labels_vec const & r) {
if (!m) return nullptr;
return alloc(model2mc, m, r);
}

View file

@ -98,7 +98,7 @@ model_converter * concat(model_converter * mc1, model_converter * mc2);
model_converter * model2model_converter(model * m);
model_converter * model_and_labels2model_converter(model * m, buffer<symbol> &r);
model_converter * model_and_labels2model_converter(model * m, labels_vec const &r);
void model_converter2model(ast_manager & mng, model_converter * mc, model_ref & m);