3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-12 22:20:54 +00:00

Merge branch 'develop' into upstream-master

Conflicts:
	.gitignore
	README
	src/ast/ast_smt2_pp.h
	src/ast/ast_smt_pp.cpp
	src/ast/reg_decl_plugins.cpp
	src/cmd_context/cmd_context.cpp
	src/parsers/smt2/smt2parser.cpp
This commit is contained in:
Murphy Berzish 2016-06-01 17:30:25 -04:00
commit d79837eed0
17 changed files with 5647 additions and 8 deletions

View file

@ -304,6 +304,18 @@ format * smt2_pp_environment::mk_float(rational const & val) const {
return mk_string(get_manager(), s.c_str());
}
format * smt2_pp_environment::pp_str_literal(app * t) {
TRACE("parse_string", tout << "pp_str_literal\n";);
str_util & u = get_strutil();
SASSERT(u.is_string(t));
const char * val;
u.is_string(t, &val);
ast_manager & m = get_manager();
string_buffer<> buf;
buf << "\"" << val << "\"";
return mk_string(m, buf.c_str());
}
format * smt2_pp_environment::pp_arith_literal(app * t, bool decimal, unsigned decimal_prec) {
arith_util & u = get_autil();
SASSERT(u.is_numeral(t) || u.is_irrational_algebraic_numeral(t));
@ -614,6 +626,9 @@ class smt2_printer {
else if (m_env.get_dlutil().is_numeral(c)) {
f = m_env.pp_datalog_literal(c);
}
else if (m_env.get_strutil().is_string(c)) {
f = m_env.pp_str_literal(c);
}
else {
buffer<symbol> names;
if (m().is_label_lit(c, names)) {