summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-02-26 13:54:41 -0600
committerGitHub <noreply@github.com>2020-02-26 13:54:41 -0600
commitb320aa323923822a7702997bbca05e8512da55a4 (patch)
tree62ed510b54bbfef908296a264002052efc4fff98 /test
parentf26ea8026e94252e4f1418be473d10a5f957b988 (diff)
Basic support for regular expression complement (#3437)
Fixes #3408 . Adds basic rewriter, parsing, type checking and implements the required cases in regexp_operation.cpp. It also adds some missing documentation in regexp_operation.h
Diffstat (limited to 'test')
-rw-r--r--test/regress/CMakeLists.txt2
-rw-r--r--test/regress/regress0/strings/complement-simple.smt25
-rw-r--r--test/regress/regress1/strings/complement-test.smt212
3 files changed, 19 insertions, 0 deletions
diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt
index 3fe4321d0..1113717ce 100644
--- a/test/regress/CMakeLists.txt
+++ b/test/regress/CMakeLists.txt
@@ -898,6 +898,7 @@ set(regress_0_tests
regress0/strings/code-eval.smt2
regress0/strings/code-perf.smt2
regress0/strings/code-sat-neg-one.smt2
+ regress0/strings/complement-simple.smt2
regress0/strings/escchar.smt2
regress0/strings/escchar_25.smt2
regress0/strings/hconst-092618.smt2
@@ -1661,6 +1662,7 @@ set(regress_1_tests
regress1/strings/cmu-inc-nlpp-071516.smt2
regress1/strings/cmu-substr-rw.smt2
regress1/strings/code-sequence.smt2
+ regress1/strings/complement-test.smt2
regress1/strings/crash-1019.smt2
regress1/strings/csp-prefix-exp-bug.smt2
regress1/strings/double-replace.smt2
diff --git a/test/regress/regress0/strings/complement-simple.smt2 b/test/regress/regress0/strings/complement-simple.smt2
new file mode 100644
index 000000000..c19699448
--- /dev/null
+++ b/test/regress/regress0/strings/complement-simple.smt2
@@ -0,0 +1,5 @@
+(set-logic SLIA)
+(set-info :status sat)
+(declare-fun x () String)
+(assert (str.in.re x (re.comp (str.to.re "ABC"))))
+(check-sat)
diff --git a/test/regress/regress1/strings/complement-test.smt2 b/test/regress/regress1/strings/complement-test.smt2
new file mode 100644
index 000000000..1fcbdc2c3
--- /dev/null
+++ b/test/regress/regress1/strings/complement-test.smt2
@@ -0,0 +1,12 @@
+(set-logic SLIA)
+(set-info :status sat)
+(declare-fun x () String)
+(declare-fun y () String)
+(declare-fun z () String)
+(assert (= x (str.++ "AB" y)))
+(assert (or (= y "C") (= y (str.++ "D" z)) (= (str.len y) 10)))
+(assert (str.in.re x
+ (re.inter
+ (re.comp (str.to.re "AB"))
+ (re.comp (re.++ (str.to.re "AB") (re.range "A" "E") (re.* re.allchar))))))
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback