summaryrefslogtreecommitdiff
path: root/src/options/options_handler.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2017-11-03 15:36:38 -0500
committerGitHub <noreply@github.com>2017-11-03 15:36:38 -0500
commit5cafed748989602263b8ad1a27ac6b9bd159a441 (patch)
treeb0e474f47251d480dce48637e73f663aba0dd179 /src/options/options_handler.cpp
parent3f2c2c745ae2f13441c1cabd363e6539c9bdaeb9 (diff)
Sygus clean main (#1297)
* Remove front end hack for sygus. * Remove other hack, add sygus solution output mode. * Clang format * Minor * Fix * Minor * Remove unused field.
Diffstat (limited to 'src/options/options_handler.cpp')
-rw-r--r--src/options/options_handler.cpp51
1 files changed, 50 insertions, 1 deletions
diff --git a/src/options/options_handler.cpp b/src/options/options_handler.cpp
index 351c8b608..3d74091fd 100644
--- a/src/options/options_handler.cpp
+++ b/src/options/options_handler.cpp
@@ -554,7 +554,6 @@ all \n\
\n\
";
-
theory::quantifiers::InstWhenMode OptionsHandler::stringToInstWhenMode(std::string option, std::string optarg) throw(OptionException) {
if(optarg == "pre-full") {
return theory::quantifiers::INST_WHEN_PRE_FULL;
@@ -1311,6 +1310,56 @@ SimplificationMode OptionsHandler::stringToSimplificationMode(std::string option
}
}
+const std::string OptionsHandler::s_sygusSolutionOutModeHelp =
+ "\
+Modes for finite model finding bound minimization, supported by --sygus-out:\n\
+\n\
+status \n\
++ Print only status for check-synth calls.\n\
+\n\
+status-and-def (default) \n\
++ Print status followed by definition corresponding to solution.\n\
+\n\
+status-or-def \n\
++ Print status if infeasible, or definition corresponding to\n\
+ solution if feasible.\n\
+\n\
+sygus-standard \n\
++ Print based on SyGuS standard.\n\
+\n\
+";
+
+SygusSolutionOutMode OptionsHandler::stringToSygusSolutionOutMode(
+ std::string option, std::string optarg) throw(OptionException)
+{
+ if (optarg == "status")
+ {
+ return SYGUS_SOL_OUT_STATUS;
+ }
+ else if (optarg == "status-and-def")
+ {
+ return SYGUS_SOL_OUT_STATUS_AND_DEF;
+ }
+ else if (optarg == "status-or-def")
+ {
+ return SYGUS_SOL_OUT_STATUS_OR_DEF;
+ }
+ else if (optarg == "sygus-standard")
+ {
+ return SYGUS_SOL_OUT_STANDARD;
+ }
+ else if (optarg == "help")
+ {
+ puts(s_sygusSolutionOutModeHelp.c_str());
+ exit(1);
+ }
+ else
+ {
+ throw OptionException(std::string("unknown option for --sygus-out: `")
+ + optarg
+ + "'. Try --sygus-out help.");
+ }
+}
void OptionsHandler::setProduceAssertions(std::string option, bool value) throw() {
options::produceAssertions.set(value);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback