diff options
author | Morgan Deters <mdeters@gmail.com> | 2012-09-21 20:34:19 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2012-09-21 20:34:19 +0000 |
commit | b5e4b809d1913c9cfc5cf95c04e9fc34c1ca42f3 (patch) | |
tree | 38f605f758581026af28e5c4d4ad72e12b9cb944 /src/printer | |
parent | 9c543757e459bfae5ce1254322212f72af0d37a4 (diff) |
SMT-LIBv2 compliance updates:
* chainability of =, <, <=, >, >= via the new CHAINABLE kind and
TheoryBuiltin rewriter support (resolves bug #383)
* with --smtlib2, force interactive mode off by default
Also:
* fix a few bugs causing crashes
* better "alias" processing for options
* configure-time fixes to readline detection
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/printer')
-rw-r--r-- | src/printer/cvc/cvc_printer.cpp | 6 | ||||
-rw-r--r-- | src/printer/smt2/smt2_printer.cpp | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/printer/cvc/cvc_printer.cpp b/src/printer/cvc/cvc_printer.cpp index 6dbf4ed03..b14f6a9c8 100644 --- a/src/printer/cvc/cvc_printer.cpp +++ b/src/printer/cvc/cvc_printer.cpp @@ -73,7 +73,7 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo if (depth == 0) { out << "(...)"; } else { - depth --; + --depth; } // null @@ -221,6 +221,10 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo case kind::APPLY: toStream(op, n.getOperator(), depth, types, true); break; + case kind::CHAIN: + case kind::DISTINCT: // chain and distinct not supported directly in CVC4, blast them away with the rewriter + toStream(out, theory::Rewriter::rewrite(n), depth, types, true); + return; case kind::SORT_TYPE: { string name; diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp index 842325869..7f973aaee 100644 --- a/src/printer/smt2/smt2_printer.cpp +++ b/src/printer/smt2/smt2_printer.cpp @@ -208,6 +208,7 @@ void Smt2Printer::toStream(std::ostream& out, TNode n, case kind::APPLY: break; case kind::EQUAL: case kind::DISTINCT: out << smtKindString(k) << " "; break; + case kind::CHAIN: break; case kind::TUPLE: break; // bool theory |