Class DebuggingStringFormulaManager
- All Implemented Interfaces:
StringFormulaManager
-
Constructor Summary
ConstructorsConstructorDescriptionDebuggingStringFormulaManager(StringFormulaManager pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging) -
Method Summary
Modifier and TypeMethodDescriptionall()Note: The size of the used alphabet depends on the underlying SMT solver.allChar()Note: The size of the used alphabet depends on the underlying SMT solver.charAt(StringFormula str, NumeralFormula.IntegerFormula index) Get a substring of length 1 from the given String.closure(RegexFormula regex) complement(RegexFormula regex) concat(List<StringFormula> parts) concatRegex(List<RegexFormula> parts) contains(StringFormula str, StringFormula part) cross(RegexFormula regex) difference(RegexFormula regex1, RegexFormula regex2) equal(StringFormula str1, StringFormula str2) greaterOrEquals(StringFormula str1, StringFormula str2) greaterThan(StringFormula str1, StringFormula str2) in(StringFormula str, RegexFormula regex) indexOf(StringFormula str, StringFormula part, NumeralFormula.IntegerFormula startIndex) Get the first index for a substring in a String, or -1 if the substring is not found.intersection(RegexFormula regex1, RegexFormula regex2) length(StringFormula str) lessOrEquals(StringFormula str1, StringFormula str2) lessThan(StringFormula str1, StringFormula str2) Returns aRegexFormularepresenting the given constant.makeString(String value) Returns aStringFormularepresenting the given constant.makeVariable(String pVar) Creates a variable of type String with exactly the given name.none()optional(RegexFormula regex) prefix(StringFormula prefix, StringFormula str) Check whether the given prefix is a real prefix of str.range(StringFormula start, StringFormula end) replace(StringFormula fullStr, StringFormula target, StringFormula replacement) Replace the first appearances of target in fullStr with the replacement.replaceAll(StringFormula fullStr, StringFormula target, StringFormula replacement) Replace all appearances of target in fullStr with the replacement.substring(StringFormula str, NumeralFormula.IntegerFormula index, NumeralFormula.IntegerFormula length) Get a substring from the given String.suffix(StringFormula suffix, StringFormula str) Check whether the given suffix is a real suffix of str.times(RegexFormula regex, int repetitions) Interpret a String formula as an Integer formula.Interpret an Integer formula as a String formula.union(RegexFormula regex1, RegexFormula regex2) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.sosy_lab.java_smt.api.StringFormulaManager
concat, concat, range
-
Constructor Details
-
DebuggingStringFormulaManager
public DebuggingStringFormulaManager(StringFormulaManager pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging)
-
-
Method Details
-
makeString
Description copied from interface:StringFormulaManagerReturns aStringFormularepresenting the given constant.- Specified by:
makeStringin interfaceStringFormulaManager- Parameters:
value- the string value the returnedFormulashould represent- Returns:
- a Formula representing the given value
-
makeVariable
Description copied from interface:StringFormulaManagerCreates a variable of type String with exactly the given name.This variable (symbol) represents a "String" for which the SMT solver needs to find a model.
Please make sure that the given name is valid in SMT-LIB2. Take a look at
FormulaManager.isValidName(java.lang.String)for further information.This method does not quote or unquote the given name, but uses the plain name "AS IS".
Formula.toString()can return a different String than the given one.- Specified by:
makeVariablein interfaceStringFormulaManager
-
equal
- Specified by:
equalin interfaceStringFormulaManager
-
greaterThan
- Specified by:
greaterThanin interfaceStringFormulaManager
-
greaterOrEquals
- Specified by:
greaterOrEqualsin interfaceStringFormulaManager
-
lessThan
- Specified by:
lessThanin interfaceStringFormulaManager
-
lessOrEquals
- Specified by:
lessOrEqualsin interfaceStringFormulaManager
-
prefix
Description copied from interface:StringFormulaManagerCheck whether the given prefix is a real prefix of str.- Specified by:
prefixin interfaceStringFormulaManager
-
suffix
Description copied from interface:StringFormulaManagerCheck whether the given suffix is a real suffix of str.- Specified by:
suffixin interfaceStringFormulaManager
-
contains
- Specified by:
containsin interfaceStringFormulaManager
-
indexOf
public NumeralFormula.IntegerFormula indexOf(StringFormula str, StringFormula part, NumeralFormula.IntegerFormula startIndex) Description copied from interface:StringFormulaManagerGet the first index for a substring in a String, or -1 if the substring is not found. startIndex (inlcuded) denotes the start of the search for the index.- Specified by:
indexOfin interfaceStringFormulaManager
-
charAt
Description copied from interface:StringFormulaManagerGet a substring of length 1 from the given String.The result is underspecified, if the index is out of bounds for the given String.
- Specified by:
charAtin interfaceStringFormulaManager
-
substring
public StringFormula substring(StringFormula str, NumeralFormula.IntegerFormula index, NumeralFormula.IntegerFormula length) Description copied from interface:StringFormulaManagerGet a substring from the given String.The result is underspecified, if the start index is out of bounds for the given String or if the requested length is negative. The length of the result is the minimum of the requested length and the remaining length of the given String.
- Specified by:
substringin interfaceStringFormulaManager
-
replace
public StringFormula replace(StringFormula fullStr, StringFormula target, StringFormula replacement) Description copied from interface:StringFormulaManagerReplace the first appearances of target in fullStr with the replacement.- Specified by:
replacein interfaceStringFormulaManager
-
replaceAll
public StringFormula replaceAll(StringFormula fullStr, StringFormula target, StringFormula replacement) Description copied from interface:StringFormulaManagerReplace all appearances of target in fullStr with the replacement.- Specified by:
replaceAllin interfaceStringFormulaManager
-
length
- Specified by:
lengthin interfaceStringFormulaManager
-
concat
- Specified by:
concatin interfaceStringFormulaManager
-
in
- Specified by:
inin interfaceStringFormulaManager- Parameters:
str- formula representing the string to matchregex- formula representing the regular expression- Returns:
- a formula representing the acceptance of the string by the regular expression
-
makeRegex
Description copied from interface:StringFormulaManagerReturns aRegexFormularepresenting the given constant.This method does not parse an existing regex from String, but uses the String directly as a constant.
- Specified by:
makeRegexin interfaceStringFormulaManager- Parameters:
value- the regular expression the returnedFormulashould represent
-
none
- Specified by:
nonein interfaceStringFormulaManager- Returns:
- formula denoting the empty set of strings
-
all
Description copied from interface:StringFormulaManagerNote: The size of the used alphabet depends on the underlying SMT solver.- Specified by:
allin interfaceStringFormulaManager- Returns:
- formula denoting the set of all strings, also known as Regex
".*".
-
allChar
Description copied from interface:StringFormulaManagerNote: The size of the used alphabet depends on the underlying SMT solver.- Specified by:
allCharin interfaceStringFormulaManager- Returns:
- formula denoting the set of all strings of length 1, also known as DOT operator which
represents one arbitrary char, or as Regex
".".
-
range
- Specified by:
rangein interfaceStringFormulaManager- Returns:
- formula denoting the range regular expression over two sequences of length 1.
-
concatRegex
- Specified by:
concatRegexin interfaceStringFormulaManager- Returns:
- formula denoting the concatenation
-
union
- Specified by:
unionin interfaceStringFormulaManager- Returns:
- formula denoting the union
-
intersection
- Specified by:
intersectionin interfaceStringFormulaManager- Returns:
- formula denoting the intersection
-
complement
- Specified by:
complementin interfaceStringFormulaManager- Returns:
- formula denoting the Kleene closure
-
closure
- Specified by:
closurein interfaceStringFormulaManager- Returns:
- formula denoting the Kleene closure (0 or more), also known as STAR operand.
-
difference
- Specified by:
differencein interfaceStringFormulaManager- Returns:
- formula denoting the difference
-
cross
- Specified by:
crossin interfaceStringFormulaManager- Returns:
- formula denoting the Kleene cross (1 or more), also known as PLUS operand.
-
optional
- Specified by:
optionalin interfaceStringFormulaManager- Returns:
- formula denoting the optionality, also known as QUESTIONMARK operand.
-
times
- Specified by:
timesin interfaceStringFormulaManager- Returns:
- formula denoting the concatenation n times
-
toIntegerFormula
Description copied from interface:StringFormulaManagerInterpret a String formula as an Integer formula.The number is interpreted in base 10 and has no leading zeros. The method works as expected for positive numbers, including zero. It returns the constant value of
-1for negative numbers or invalid number representations, for example if any char is no digit.- Specified by:
toIntegerFormulain interfaceStringFormulaManager
-
toStringFormula
Description copied from interface:StringFormulaManagerInterpret an Integer formula as a String formula.The number is in base 10. The method works as expected for positive numbers, including zero. It returns the empty string
""for negative numbers.- Specified by:
toStringFormulain interfaceStringFormulaManager
-