3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

trying new build infrastructure on linux

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-10-23 13:10:41 -07:00
parent efff6db567
commit 1d795e9a5e
9 changed files with 41 additions and 72 deletions

View file

@ -46,7 +46,7 @@ Revision History:
#include "str_hashtable.h"
#include "front_end_params.h"
#include "stopwatch.h"
front_end_params& Z3_API Z3_get_parameters(__in Z3_context c);
front_end_params& Z3_API Z3_get_parameters(Z3_context c);
class id_param_info {
symbol m_string;

View file

@ -30,49 +30,6 @@ using namespace format_ns;
#define MAX_INDENT 16
#define SMALL_INDENT 2
bool is_smt2_simple_symbol_char(char s) {
return
('0' <= s && s <= '9') ||
('a' <= s && s <= 'z') ||
('A' <= s && s <= 'Z') ||
s == '~' || s == '!' || s == '@' || s == '$' || s == '%' || s == '^' || s == '&' ||
s == '*' || s == '_' || s == '-' || s == '+' || s == '=' || s == '<' || s == '>' ||
s == '.' || s == '?' || s == '/';
}
bool is_smt2_quoted_symbol(char const * s) {
if (s == 0)
return false;
if ('0' <= s[0] && s[0] <= '9')
return true;
unsigned len = static_cast<unsigned>(strlen(s));
for (unsigned i = 0; i < len; i++)
if (!is_smt2_simple_symbol_char(s[i]))
return true;
return false;
}
bool is_smt2_quoted_symbol(symbol const & s) {
if (s.is_numerical())
return false;
return is_smt2_quoted_symbol(s.bare_str());
}
std::string mk_smt2_quoted_symbol(symbol const & s) {
SASSERT(is_smt2_quoted_symbol(s));
string_buffer<> buffer;
buffer.append('|');
char const * str = s.bare_str();
while (*str) {
if (*str == '|' || *str == '\\')
buffer.append('\\');
buffer.append(*str);
str++;
}
buffer.append('|');
return std::string(buffer.c_str());
}
format * smt2_pp_environment::pp_fdecl_name(symbol const & s, unsigned & len) const {
ast_manager & m = get_manager();
if (is_smt2_quoted_symbol(s)) {

View file

@ -29,11 +29,7 @@ Revision History:
#include"array_decl_plugin.h"
#include"float_decl_plugin.h"
#include"dl_decl_plugin.h"
bool is_smt2_simple_symbol_char(char c);
bool is_smt2_quoted_symbol(char const * s);
bool is_smt2_quoted_symbol(symbol const & s);
std::string mk_smt2_quoted_symbol(symbol const & s);
#include"smt2_util.h"
class smt2_pp_environment {
protected:

View file

@ -712,14 +712,14 @@ namespace pdr {
pred_transformer& p = pt();
ast_manager& m = p.get_manager();
manager& pm = p.get_pdr_manager();
TRACE("pdr", model_v2_pp(tout, model()););
TRACE("pdr", model_v2_pp(tout, get_model()););
func_decl* f = p.head();
unsigned arity = f->get_arity();
expr_ref_vector args(m);
func_decl_ref v(m);
for (unsigned i = 0; i < arity; ++i) {
v = pm.o2n(p.sig(i),0);
expr* e = model().get_const_interp(v);
expr* e = get_model().get_const_interp(v);
if (e) {
args.push_back(e);
}

View file

@ -196,7 +196,7 @@ namespace pdr {
pred_transformer& pt() const { return m_pt; }
model_node* parent() const { return m_parent; }
model* model_ptr() const { return m_model.get(); }
model const& model() const { return *m_model; }
model const& get_model() const { return *m_model; }
unsigned index() const;
bool is_closed() const { return m_closed; }

View file

@ -418,10 +418,10 @@ namespace pdr {
// nodes from leaves that are repeated
// inside the search tree don't have models.
//
if (!(&node.model())) {
if (!(&node.get_model())) {
return;
}
m_current_rule = &pt.find_rule(node.model());
m_current_rule = &pt.find_rule(node.get_model());
m_current_pt = &pt;
m_current_node = &node;
if (!m_current_rule) {

View file

@ -908,9 +908,6 @@ bool model_evaluator::check_model(ptr_vector<expr> const& formulas) {
m_cfg(m, p) {}
};
template class rewriter_tpl<ite_hoister_cfg>;
void hoist_non_bool_if(expr_ref& fml) {
ast_manager& m = fml.get_manager();
datalog::scoped_no_proof _sp(m);
@ -1039,3 +1036,8 @@ bool model_evaluator::check_model(ptr_vector<expr> const& formulas) {
}
}
template class rewriter_tpl<pdr::ite_hoister_cfg>;

View file

@ -498,7 +498,7 @@ public:
unsigned j = 0;
for (unsigned i = 0; i < vars.size(); ++i) {
if (used.contains(vars.size()-i-1)) {
vars[j] = vars[i];
vars.set(j, vars.get(i));
++j;
}
}