summaryrefslogtreecommitdiff
path: root/src/printer
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-09-21 20:34:19 +0000
committerMorgan Deters <mdeters@gmail.com>2012-09-21 20:34:19 +0000
commitb5e4b809d1913c9cfc5cf95c04e9fc34c1ca42f3 (patch)
tree38f605f758581026af28e5c4d4ad72e12b9cb944 /src/printer
parent9c543757e459bfae5ce1254322212f72af0d37a4 (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.cpp6
-rw-r--r--src/printer/smt2/smt2_printer.cpp1
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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback