summaryrefslogtreecommitdiff
path: root/src/printer/smt2
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-11-22 13:26:26 -0600
committerajreynol <andrew.j.reynolds@gmail.com>2016-11-22 13:26:41 -0600
commit92d78a10ac24962efad4daf240acf5c5fb265a59 (patch)
tree90911f825d9844ea7447993790a76e5f5c68513b /src/printer/smt2
parent9c14d7c0ccdd220b8ae3d4a39cb5b5810bc28c01 (diff)
Fix smt2 and cvc printers for testers when output and input languages are different.
Diffstat (limited to 'src/printer/smt2')
-rw-r--r--src/printer/smt2/smt2_printer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index be550474c..aa5849960 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -668,6 +668,11 @@ void Smt2Printer::toStream(std::ostream& out, TNode n,
tmp.replace(pos, 8, "::");
}
out << tmp;
+ }else if( n.getKind()==kind::APPLY_TESTER ){
+ unsigned cindex = Datatype::indexOf(n.getOperator().toExpr());
+ const Datatype& dt = Datatype::datatypeOf(n.getOperator().toExpr());
+ out << "is-";
+ toStream(out, Node::fromExpr(dt[cindex].getConstructor()), toDepth < 0 ? toDepth : toDepth - 1, types);
}else{
toStream(out, n.getOperator(), toDepth < 0 ? toDepth : toDepth - 1, types);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback