summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/printer/cvc/cvc_printer.cpp9
-rw-r--r--src/printer/smt2/smt2_printer.cpp5
-rw-r--r--test/unit/parser/parser_builder_black.h12
3 files changed, 12 insertions, 14 deletions
diff --git a/src/printer/cvc/cvc_printer.cpp b/src/printer/cvc/cvc_printer.cpp
index b7e1520b7..4f0d4b664 100644
--- a/src/printer/cvc/cvc_printer.cpp
+++ b/src/printer/cvc/cvc_printer.cpp
@@ -398,8 +398,13 @@ void CvcPrinter::toStream(std::ostream& out, TNode n, int depth, bool types, boo
}
}
break;
- case kind::APPLY_TESTER:
- toStream(op, n.getOperator(), depth, types, false);
+ case kind::APPLY_TESTER: {
+ Assert( !n.getType().isTuple() && !n.getType().isRecord() );
+ op << "is_";
+ unsigned cindex = Datatype::indexOf(n.getOperator().toExpr());
+ const Datatype& dt = Datatype::datatypeOf(n.getOperator().toExpr());
+ toStream(op, Node::fromExpr(dt[cindex].getConstructor()), depth, types, false);
+ }
break;
case kind::CONSTRUCTOR_TYPE:
case kind::SELECTOR_TYPE:
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);
}
diff --git a/test/unit/parser/parser_builder_black.h b/test/unit/parser/parser_builder_black.h
index f65dadf1b..c2f8317b1 100644
--- a/test/unit/parser/parser_builder_black.h
+++ b/test/unit/parser/parser_builder_black.h
@@ -16,7 +16,6 @@
#include <cxxtest/TestSuite.h>
-#include <ext/stdio_filebuf.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
@@ -30,9 +29,6 @@
#include "parser/parser_builder.h"
#include "smt/command.h"
-
-typedef __gnu_cxx::stdio_filebuf<char> filebuf_gnu;
-
using namespace CVC4;
using namespace CVC4::parser;
using namespace CVC4::language::input;
@@ -85,20 +81,12 @@ public:
void testEmptyFileInput() {
char *filename = mkTemp();
- /* FILE *fp = tmpfile(); */
- /* filebuf_gnu fs( fd, ios_base::out ); */
-
- /* ptr = tmpnam(filename); */
- /* std::fstream fs( ptr, fstream::out ); */
- /* fs.close(); */
-
checkEmptyInput(
ParserBuilder(d_exprManager,filename)
.withInputLanguage(LANG_CVC4)
);
remove(filename);
- // mkfifo(ptr, S_IWUSR | s_IRUSR);
free(filename);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback