summaryrefslogtreecommitdiff
path: root/src/printer
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-12-23 17:18:19 -0600
committerAndres Noetzli <andres.noetzli@gmail.com>2019-12-23 15:18:19 -0800
commitb3471b719f1cd031d35e9a431027088b0dec156b (patch)
treebc5e55a278f9e927471ce99146e9fdc992bc716b /src/printer
parentf5ca3e5d09b457ac21b10793eb5d1efe3fbe40f6 (diff)
Initial support for string reverse (#3581)
Type rules, parsing and printing, basic rewriting including constant evaluation, reduction for string reverse (`str.rev`). Also improves support in a few places for tolower/toupper.
Diffstat (limited to 'src/printer')
-rw-r--r--src/printer/smt2/smt2_printer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index f0a1e740f..223bd9af9 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -666,6 +666,7 @@ void Smt2Printer::toStream(std::ostream& out,
case kind::STRING_STRREPLALL:
case kind::STRING_TOLOWER:
case kind::STRING_TOUPPER:
+ case kind::STRING_REV:
case kind::STRING_PREFIX:
case kind::STRING_SUFFIX:
case kind::STRING_LEQ:
@@ -1228,6 +1229,7 @@ static string smtKindString(Kind k, Variant v)
case kind::STRING_STRREPLALL: return "str.replaceall";
case kind::STRING_TOLOWER: return "str.tolower";
case kind::STRING_TOUPPER: return "str.toupper";
+ case kind::STRING_REV: return "str.rev";
case kind::STRING_PREFIX: return "str.prefixof" ;
case kind::STRING_SUFFIX: return "str.suffixof" ;
case kind::STRING_LEQ: return "str.<=";
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback