Support the SMT-LIB Unicode string standard by default (#4378)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 28 Apr 2020 16:15:00 +0000 (11:15 -0500)
committerGitHub <noreply@github.com>
Tue, 28 Apr 2020 16:15:00 +0000 (11:15 -0500)
commit967332f464f3e26d43f05bb9c68a0be788337ef6
tree561391457c65750a8e7fac9b6656a7e7e4176a69
parent8ea1603f55d940e56ab3cbee8177f06200228aaa
Support the SMT-LIB Unicode string standard by default (#4378)

This PR merges --lang=smt2.6.1 and --lang=smt2.6 (default). It makes it so that 2.6 always expects the syntax of the string standard http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml.

I've updated the regressions so that the 2.6 benchmarks are now compliant with the standard. Some of the <=2.5 benchmarks I've updated to 2.6. Others I have left for now, in particular the ones that rely on special characters or ad-hoc escape sequences. The old formats will be supported in the release but removed shortly afterwards.

This PR is a prerequisite for the release, but not necessarily SMT-COMP (which will use --lang=smt2.6.1 if needed). Notice that we still do not have parsing support for str.replace_re or str.replace_re_all. This is required to be fully compliant.
120 files changed:
contrib/competitions/smt-comp/run-script-smtcomp-current
contrib/competitions/smt-comp/run-script-smtcomp-current-unsat-cores
src/api/cvc4cpp.cpp
src/options/language.cpp
src/options/language.h
src/options/language.i
src/options/options_template.cpp
src/parser/parser.cpp
src/parser/parser.h
src/parser/smt2/smt2.cpp
src/printer/printer.cpp
src/printer/smt2/smt2_printer.cpp
src/printer/smt2/smt2_printer.h
src/smt/smt_engine.cpp
test/regress/regress0/lang_opts_2_6_1.smt2
test/regress/regress0/strings/bidir_star.smt2
test/regress/regress0/strings/bug001.smt2
test/regress/regress0/strings/char-representations.smt2
test/regress/regress0/strings/code-eval.smt2
test/regress/regress0/strings/code-perf.smt2
test/regress/regress0/strings/code-sat-neg-one.smt2
test/regress/regress0/strings/complement-simple.smt2
test/regress/regress0/strings/escchar_25.smt2
test/regress/regress0/strings/from_code.smt2
test/regress/regress0/strings/gen-esc-seq.smt2
test/regress/regress0/strings/is_digit_simple.smt2
test/regress/regress0/strings/issue1189.smt2
test/regress/regress0/strings/issue2958.smt2
test/regress/regress0/strings/issue3440.smt2
test/regress/regress0/strings/issue3497.smt2
test/regress/regress0/strings/issue3657-evalLeq.smt2
test/regress/regress0/strings/issue4070.smt2
test/regress/regress0/strings/issue4376.smt2
test/regress/regress0/strings/itos-entail.smt2
test/regress/regress0/strings/large-model.smt2
test/regress/regress0/strings/leadingzero001.smt2
test/regress/regress0/strings/loop-wrong-sem.smt2
test/regress/regress0/strings/model-code-point.smt2
test/regress/regress0/strings/model-friendly.smt2
test/regress/regress0/strings/norn-31.smt2
test/regress/regress0/strings/norn-simp-rew.smt2
test/regress/regress0/strings/re-syntax.smt2
test/regress/regress0/strings/re.all.smt2
test/regress/regress0/strings/re_diff.smt2
test/regress/regress0/strings/regexp_inclusion.smt2
test/regress/regress0/strings/regexp_inclusion_reduction.smt2
test/regress/regress0/strings/replace-const.smt2
test/regress/regress0/strings/replaceall-eval.smt2
test/regress/regress0/strings/rewrites-re-concat.smt2
test/regress/regress0/strings/rewrites-v2.smt2
test/regress/regress0/strings/std2.6.1.smt2
test/regress/regress0/strings/strip-endpoint-itos.smt2
test/regress/regress0/strings/tolower-rrs.smt2
test/regress/regress0/strings/type001.smt2
test/regress/regress0/strings/unicode-esc.smt2
test/regress/regress1/fmf/bug723-irrelevant-funs.smt2
test/regress/regress1/strings/artemis-0512-nonterm.smt2
test/regress/regress1/strings/bug615.smt2
test/regress/regress1/strings/bug799-min.smt2
test/regress/regress1/strings/code-sequence.smt2
test/regress/regress1/strings/complement-test.smt2
test/regress/regress1/strings/fmf001.smt2
test/regress/regress1/strings/fmf002.smt2
test/regress/regress1/strings/issue1684-regex.smt2
test/regress/regress1/strings/issue2060.smt2
test/regress/regress1/strings/issue2429-code.smt2
test/regress/regress1/strings/issue2981.smt2
test/regress/regress1/strings/issue2982.smt2
test/regress/regress1/strings/issue3090.smt2
test/regress/regress1/strings/issue3272.smt2
test/regress/regress1/strings/issue3357.smt2
test/regress/regress1/strings/kaluza-fl.smt2
test/regress/regress1/strings/no-lazy-pp-quant.smt2
test/regress/regress1/strings/non_termination_regular_expression4.smt2
test/regress/regress1/strings/norn-13.smt2
test/regress/regress1/strings/norn-360.smt2
test/regress/regress1/strings/norn-ab.smt2
test/regress/regress1/strings/norn-nel-bug-052116.smt2
test/regress/regress1/strings/norn-simp-rew-sat.smt2
test/regress/regress1/strings/nt6-dd.smt2
test/regress/regress1/strings/nterm-re-inter-sigma.smt2
test/regress/regress1/strings/pierre150331.smt2
test/regress/regress1/strings/policy_variable.smt2
test/regress/regress1/strings/query4674.smt2
test/regress/regress1/strings/query8485.smt2
test/regress/regress1/strings/re-agg-total1.smt2
test/regress/regress1/strings/re-agg-total2.smt2
test/regress/regress1/strings/re-all-char-hard.smt2
test/regress/regress1/strings/re-elim-exact.smt2
test/regress/regress1/strings/re-mod-eq.smt2
test/regress/regress1/strings/re-neg-concat-reduct.smt2
test/regress/regress1/strings/re-neg-unfold-rev-a.smt2
test/regress/regress1/strings/re-unsound-080718.smt2
test/regress/regress1/strings/regexp-strat-fix.smt2
test/regress/regress1/strings/regexp001.smt2
test/regress/regress1/strings/regexp002.smt2
test/regress/regress1/strings/regexp003.smt2
test/regress/regress1/strings/reloop.smt2
test/regress/regress1/strings/replaceall-len.smt2
test/regress/regress1/strings/replaceall-replace.smt2
test/regress/regress1/strings/rew-check1.smt2
test/regress/regress1/strings/simple-re-consume.smt2
test/regress/regress1/strings/stoi-400million.smt2
test/regress/regress1/strings/stoi-solve.smt2
test/regress/regress1/strings/str-code-sat.smt2
test/regress/regress1/strings/str-code-unsat-2.smt2
test/regress/regress1/strings/str-code-unsat-3.smt2
test/regress/regress1/strings/str-code-unsat.smt2
test/regress/regress1/strings/string-unsound-sem.smt2
test/regress/regress1/strings/type002.smt2
test/regress/regress1/strings/type003.smt2
test/regress/regress1/strings/username_checker_min.smt2
test/regress/regress2/strings/issue918.smt2
test/regress/regress2/strings/non_termination_regular_expression6.smt2
test/regress/regress2/strings/norn-dis-0707-3.smt2
test/regress/regress2/strings/range-perf.smt2
test/regress/regress2/strings/replaceall-diffrange.smt2
test/regress/regress2/strings/replaceall-len-c.smt2
test/regress/regress2/strings/small-1.smt2
test/unit/api/solver_black.h