diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2017-11-03 15:36:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-03 15:36:38 -0500 |
commit | 5cafed748989602263b8ad1a27ac6b9bd159a441 (patch) | |
tree | b0e474f47251d480dce48637e73f663aba0dd179 /src/options/options_handler.cpp | |
parent | 3f2c2c745ae2f13441c1cabd363e6539c9bdaeb9 (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.cpp | 51 |
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); |