diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-06-11 21:26:06 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-11 21:26:06 -0500 |
commit | 26cbcdf0b1a78e2c06fee553d2889ddb2a7cfa88 (patch) | |
tree | 21bd19f3cbfc158ef0fbadd94d59f60bbcd655fd /src/theory/strings/sequences_rewriter.cpp | |
parent | aa9de792acc87e72f9b273534ff035f29bbe8caa (diff) | |
parent | 4d547e52d3f2b54a0af7270d2b653d2cb24edb57 (diff) |
Merge branch 'master' into fixStaticInstallfixStaticInstall
Diffstat (limited to 'src/theory/strings/sequences_rewriter.cpp')
-rw-r--r-- | src/theory/strings/sequences_rewriter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/theory/strings/sequences_rewriter.cpp b/src/theory/strings/sequences_rewriter.cpp index 3c40062f5..befe52574 100644 --- a/src/theory/strings/sequences_rewriter.cpp +++ b/src/theory/strings/sequences_rewriter.cpp @@ -2948,6 +2948,13 @@ Node SequencesRewriter::rewriteReplaceRe(Node node) return returnRewrite(node, x, Rewrite::REPLACE_RE_EVAL); } } + // str.replace_re( x, y, z ) ---> z ++ x if "" in y ---> true + String emptyStr(""); + if (RegExpEntail::testConstStringInRegExp(emptyStr, 0, y)) + { + Node ret = nm->mkNode(STRING_CONCAT, z, x); + return returnRewrite(node, ret, Rewrite::REPLACE_RE_EMP_RE); + } return node; } |