summaryrefslogtreecommitdiff
path: root/src/theory/strings/sequences_rewriter.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-06-11 21:26:06 -0500
committerGitHub <noreply@github.com>2020-06-11 21:26:06 -0500
commit26cbcdf0b1a78e2c06fee553d2889ddb2a7cfa88 (patch)
tree21bd19f3cbfc158ef0fbadd94d59f60bbcd655fd /src/theory/strings/sequences_rewriter.cpp
parentaa9de792acc87e72f9b273534ff035f29bbe8caa (diff)
parent4d547e52d3f2b54a0af7270d2b653d2cb24edb57 (diff)
Merge branch 'master' into fixStaticInstallfixStaticInstall
Diffstat (limited to 'src/theory/strings/sequences_rewriter.cpp')
-rw-r--r--src/theory/strings/sequences_rewriter.cpp7
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;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback