diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-23 17:18:19 -0600 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-12-23 15:18:19 -0800 |
commit | b3471b719f1cd031d35e9a431027088b0dec156b (patch) | |
tree | bc5e55a278f9e927471ce99146e9fdc992bc716b /src/printer | |
parent | f5ca3e5d09b457ac21b10793eb5d1efe3fbe40f6 (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.cpp | 2 |
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.<="; |