addOperator(kind::STRING_CHARAT, "str.at" );
addOperator(kind::STRING_STRIDOF, "str.indexof" );
addOperator(kind::STRING_STRREPL, "str.replace" );
- addOperator(kind::STRING_STRREPLALL, "str.replaceall");
if (!strictModeEnabled())
{
addOperator(kind::STRING_TOLOWER, "str.tolower");
// at the moment, we only use this syntax for smt2.6.1
if (getLanguage() == language::input::LANG_SMTLIB_V2_6_1)
{
- addOperator(kind::STRING_ITOS, "str.from-int");
- addOperator(kind::STRING_STOI, "str.to-int");
- addOperator(kind::STRING_IN_REGEXP, "str.in-re");
- addOperator(kind::STRING_TO_REGEXP, "str.to-re");
+ addOperator(kind::STRING_ITOS, "str.from_int");
+ addOperator(kind::STRING_STOI, "str.to_int");
+ addOperator(kind::STRING_IN_REGEXP, "str.in_re");
+ addOperator(kind::STRING_TO_REGEXP, "str.to_re");
+ addOperator(kind::STRING_CODE, "str.to_code");
+ addOperator(kind::STRING_STRREPLALL, "str.replace_all");
}
else
{
addOperator(kind::STRING_STOI, "str.to.int");
addOperator(kind::STRING_IN_REGEXP, "str.in.re");
addOperator(kind::STRING_TO_REGEXP, "str.to.re");
+ addOperator(kind::STRING_CODE, "str.code");
+ addOperator(kind::STRING_STRREPLALL, "str.replaceall");
}
addOperator(kind::REGEXP_CONCAT, "re.++");
addOperator(kind::REGEXP_OPT, "re.opt");
addOperator(kind::REGEXP_RANGE, "re.range");
addOperator(kind::REGEXP_LOOP, "re.loop");
- addOperator(kind::STRING_CODE, "str.code");
addOperator(kind::STRING_LT, "str.<");
addOperator(kind::STRING_LEQ, "str.<=");
}
defineType("RegLan", getExprManager()->regExpType());
defineType("Int", getExprManager()->integerType());
- defineVar("re.nostr", d_solver->mkRegexpEmpty().getExpr());
+ if (getLanguage() == language::input::LANG_SMTLIB_V2_6_1)
+ {
+ defineVar("re.none", d_solver->mkRegexpEmpty().getExpr());
+ }
+ else
+ {
+ defineVar("re.nostr", d_solver->mkRegexpEmpty().getExpr());
+ }
defineVar("re.allchar", d_solver->mkRegexpSigma().getExpr());
addStringOperators();
regress0/strings/bug002.smt2
regress0/strings/bug612.smt2
regress0/strings/bug613.smt2
+ regress0/strings/code-eval.smt2
regress0/strings/code-perf.smt2
regress0/strings/code-sat-neg-one.smt2
regress0/strings/escchar.smt2
regress0/strings/norn-simp-rew.smt2
regress0/strings/parser-syms.cvc
regress0/strings/re.all.smt2
+ regress0/strings/re-syntax.smt2
regress0/strings/regexp-native-simple.cvc
regress0/strings/regexp_inclusion.smt2
regress0/strings/regexp_inclusion_reduction.smt2