summaryrefslogtreecommitdiff
path: root/src/printer/cvc/cvc_printer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/printer/cvc/cvc_printer.cpp')
-rw-r--r--src/printer/cvc/cvc_printer.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/printer/cvc/cvc_printer.cpp b/src/printer/cvc/cvc_printer.cpp
index 65117c9db..afbd7ee58 100644
--- a/src/printer/cvc/cvc_printer.cpp
+++ b/src/printer/cvc/cvc_printer.cpp
@@ -25,9 +25,11 @@
#include <vector>
#include "expr/dtype.h"
-#include "expr/expr.h" // for ExprSetDepth etc..
+#include "expr/expr.h" // for ExprSetDepth etc..
+#include "expr/expr_sequence.h"
#include "expr/node_manager_attributes.h" // for VarNameAttr
#include "expr/node_visitor.h"
+#include "expr/sequence.h"
#include "options/language.h" // for LANG_AST
#include "options/smt_options.h"
#include "printer/dagification_visitor.h"
@@ -165,6 +167,30 @@ void CvcPrinter::toStream(
out << '"' << n.getConst<String>().toString() << '"';
break;
}
+ case kind::CONST_SEQUENCE:
+ {
+ const Sequence& sn = n.getConst<ExprSequence>().getSequence();
+ const std::vector<Node>& snvec = sn.getVec();
+ if (snvec.size() > 1)
+ {
+ out << "CONCAT(";
+ }
+ bool first = true;
+ for (const Node& snvc : snvec)
+ {
+ if (!first)
+ {
+ out << ", ";
+ }
+ out << "SEQ_UNIT(" << snvc << ")";
+ first = false;
+ }
+ if (snvec.size() > 1)
+ {
+ out << ")";
+ }
+ break;
+ }
case kind::TYPE_CONSTANT:
switch(TypeConstant tc = n.getConst<TypeConstant>()) {
case REAL_TYPE:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback