mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
This commit is contained in:
parent
c230d89a3a
commit
a10de2e975
|
@ -1188,7 +1188,7 @@ namespace smt2 {
|
||||||
|
|
||||||
void parse_string_const() {
|
void parse_string_const() {
|
||||||
SASSERT(curr() == scanner::STRING_TOKEN);
|
SASSERT(curr() == scanner::STRING_TOKEN);
|
||||||
zstring zs(m_scanner.get_string());
|
zstring zs(m_scanner.get_string(), true);
|
||||||
expr_stack().push_back(sutil().str.mk_string(zs));
|
expr_stack().push_back(sutil().str.mk_string(zs));
|
||||||
TRACE("smt2parser", tout << "new string: " << mk_pp(expr_stack().back(), m()) << "\n";);
|
TRACE("smt2parser", tout << "new string: " << mk_pp(expr_stack().back(), m()) << "\n";);
|
||||||
next();
|
next();
|
||||||
|
|
|
@ -73,10 +73,10 @@ bool zstring::is_escape_char(char const *& s, unsigned& result) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
zstring::zstring(char const* s) {
|
zstring::zstring(char const* s, bool from_input) {
|
||||||
while (*s) {
|
while (*s) {
|
||||||
unsigned ch = 0;
|
unsigned ch = 0;
|
||||||
if (is_escape_char(s, ch)) {
|
if (from_input && is_escape_char(s, ch)) {
|
||||||
m_buffer.push_back(ch);
|
m_buffer.push_back(ch);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -32,8 +32,8 @@ public:
|
||||||
static unsigned ascii_max_char() { return 255; }
|
static unsigned ascii_max_char() { return 255; }
|
||||||
static unsigned ascii_num_bits() { return 8; }
|
static unsigned ascii_num_bits() { return 8; }
|
||||||
zstring() {}
|
zstring() {}
|
||||||
zstring(char const* s);
|
zstring(char const* s, bool from_input);
|
||||||
zstring(const std::string &str) : zstring(str.c_str()) {}
|
zstring(const std::string &str) : zstring(str.c_str(), false) {}
|
||||||
zstring(unsigned sz, unsigned const* s) { m_buffer.append(sz, s); SASSERT(well_formed()); }
|
zstring(unsigned sz, unsigned const* s) { m_buffer.append(sz, s); SASSERT(well_formed()); }
|
||||||
zstring(unsigned ch);
|
zstring(unsigned ch);
|
||||||
zstring replace(zstring const& src, zstring const& dst) const;
|
zstring replace(zstring const& src, zstring const& dst) const;
|
||||||
|
|
Loading…
Reference in a new issue