diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-02-26 21:54:29 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-26 21:54:29 -0600 |
commit | 87f3741db6ed41d3a776774bc1b60fd696585391 (patch) | |
tree | 26f2498075d175ecc6c18743cb21ff3998ccc008 /src/theory/strings/kinds | |
parent | cca153771119b70cbf01a3d05d8e2fd8d7e8636a (diff) |
Add support for is_digit and regular expression difference (#3828)
Towards support for the strings standard. This adds support for str.is_digit and re.diff, which both can be eliminated eager during preprocessing.
Diffstat (limited to 'src/theory/strings/kinds')
-rw-r--r-- | src/theory/strings/kinds | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/strings/kinds b/src/theory/strings/kinds index 052b75302..965c56ee4 100644 --- a/src/theory/strings/kinds +++ b/src/theory/strings/kinds @@ -25,6 +25,7 @@ operator STRING_STRREPL 3 "string replace" operator STRING_STRREPLALL 3 "string replace all" operator STRING_PREFIX 2 "string prefixof" operator STRING_SUFFIX 2 "string suffixof" +operator STRING_IS_DIGIT 1 "string isdigit, returns true if argument is a string of length one that represents a digit" operator STRING_ITOS 1 "integer to string" operator STRING_STOI 1 "string to integer (total function)" operator STRING_CODE 1 "string to code, returns the code of the first character of the string if it has length one, -1 otherwise" @@ -63,6 +64,7 @@ operator STRING_TO_REGEXP 1 "convert string to regexp" operator REGEXP_CONCAT 2: "regexp concat" operator REGEXP_UNION 2: "regexp union" operator REGEXP_INTER 2: "regexp intersection" +operator REGEXP_DIFF 2: "regexp difference" operator REGEXP_STAR 1 "regexp *" operator REGEXP_PLUS 1 "regexp +" operator REGEXP_OPT 1 "regexp ?" @@ -81,6 +83,7 @@ typerule REGEXP_RV "SimpleTypeRule<RRegExp, AInteger>" typerule REGEXP_CONCAT "SimpleTypeRuleVar<RRegExp, ARegExp>" typerule REGEXP_UNION "SimpleTypeRuleVar<RRegExp, ARegExp>" typerule REGEXP_INTER "SimpleTypeRuleVar<RRegExp, ARegExp>" +typerule REGEXP_DIFF "SimpleTypeRuleVar<RRegExp, ARegExp>" typerule REGEXP_STAR "SimpleTypeRule<RRegExp, ARegExp>" typerule REGEXP_PLUS "SimpleTypeRule<RRegExp, ARegExp>" typerule REGEXP_OPT "SimpleTypeRule<RRegExp, ARegExp>" @@ -102,6 +105,7 @@ typerule STRING_STRREPL "SimpleTypeRule<RString, AString, AString, AString>" typerule STRING_STRREPLALL "SimpleTypeRule<RString, AString, AString, AString>" typerule STRING_PREFIX "SimpleTypeRule<RBool, AString, AString>" typerule STRING_SUFFIX "SimpleTypeRule<RBool, AString, AString>" +typerule STRING_IS_DIGIT "SimpleTypeRule<RBool, AString>" typerule STRING_ITOS "SimpleTypeRule<RString, AInteger>" typerule STRING_STOI "SimpleTypeRule<RInteger, AString>" typerule STRING_CODE "SimpleTypeRule<RInteger, AString>" |