This ensures sygus is interpreted as sygus version 2; sygus1 must be used to specify sygus version 1.
Required for the 1.8 release.
bool isInputLangSygus(InputLanguage lang)
{
- return lang == input::LANG_SYGUS || lang == input::LANG_SYGUS_V2;
+ return lang == input::LANG_SYGUS_V1 || lang == input::LANG_SYGUS_V2;
}
bool isOutputLangSygus(OutputLanguage lang)
{
- return lang == output::LANG_SYGUS || lang == output::LANG_SYGUS_V2;
+ return lang == output::LANG_SYGUS_V1 || lang == output::LANG_SYGUS_V2;
}
InputLanguage toInputLanguage(OutputLanguage language) {
case output::LANG_TPTP:
case output::LANG_CVC4:
case output::LANG_Z3STR:
- case output::LANG_SYGUS:
+ case output::LANG_SYGUS_V1:
case output::LANG_SYGUS_V2:
// these entries directly correspond (by design)
return InputLanguage(int(language));
case input::LANG_TPTP:
case input::LANG_CVC4:
case input::LANG_Z3STR:
- case input::LANG_SYGUS:
+ case input::LANG_SYGUS_V1:
case input::LANG_SYGUS_V2:
// these entries directly correspond (by design)
return OutputLanguage(int(language));
} else if(language == "z3str" || language == "z3-str" ||
language == "LANG_Z3STR") {
return output::LANG_Z3STR;
- } else if(language == "sygus" || language == "LANG_SYGUS") {
- return output::LANG_SYGUS;
}
- else if (language == "sygus2" || language == "LANG_SYGUS_V2")
+ else if (language == "sygus1" || language == "LANG_SYGUS_V1")
+ {
+ return output::LANG_SYGUS_V1;
+ }
+ else if (language == "sygus" || language == "LANG_SYGUS"
+ || language == "sygus2" || language == "LANG_SYGUS_V2")
{
return output::LANG_SYGUS_V2;
}
} else if(language == "z3str" || language == "z3-str" ||
language == "LANG_Z3STR") {
return input::LANG_Z3STR;
- } else if(language == "sygus" || language == "LANG_SYGUS") {
- return input::LANG_SYGUS;
+ }
+ else if (language == "sygus1" || language == "LANG_SYGUS_V1")
+ {
+ return input::LANG_SYGUS_V1;
}
else if (language == "sygus2" || language == "LANG_SYGUS_V2")
{
LANG_CVC4,
/** The Z3-str input language */
LANG_Z3STR,
- /** The SyGuS input language */
- LANG_SYGUS,
+ /** The SyGuS input language version 1.0 */
+ LANG_SYGUS_V1,
/** The SyGuS input language version 2.0 */
LANG_SYGUS_V2,
case LANG_Z3STR:
out << "LANG_Z3STR";
break;
- case LANG_SYGUS:
- out << "LANG_SYGUS";
- break;
+ case LANG_SYGUS_V1: out << "LANG_SYGUS_V1"; break;
case LANG_SYGUS_V2: out << "LANG_SYGUS_V2"; break;
default:
out << "undefined_input_language";
LANG_CVC4 = input::LANG_CVC4,
/** The Z3-str output language */
LANG_Z3STR = input::LANG_Z3STR,
- /** The sygus output language */
- LANG_SYGUS = input::LANG_SYGUS,
+ /** The sygus output language version 1.0 */
+ LANG_SYGUS_V1 = input::LANG_SYGUS_V1,
/** The sygus output language version 2.0 */
LANG_SYGUS_V2 = input::LANG_SYGUS_V2,
case LANG_Z3STR:
out << "LANG_Z3STR";
break;
- case LANG_SYGUS:
- out << "LANG_SYGUS";
- break;
+ case LANG_SYGUS_V1: out << "LANG_SYGUS_V1"; break;
case LANG_SYGUS_V2: out << "LANG_SYGUS_V2"; break;
case LANG_AST:
out << "LANG_AST";
%rename(INPUT_LANG_CVC4) CVC4::language::input::LANG_CVC4;
%rename(INPUT_LANG_MAX) CVC4::language::input::LANG_MAX;
%rename(INPUT_LANG_Z3STR) CVC4::language::input::LANG_Z3STR;
-%rename(INPUT_LANG_SYGUS) CVC4::language::input::LANG_SYGUS;
+%rename(INPUT_LANG_SYGUS_V1) CVC4::language::input::LANG_SYGUS_V1;
%rename(INPUT_LANG_SYGUS_V2) CVC4::language::input::LANG_SYGUS_V2;
%rename(OUTPUT_LANG_AUTO) CVC4::language::output::LANG_AUTO;
%rename(OUTPUT_LANG_AST) CVC4::language::output::LANG_AST;
%rename(OUTPUT_LANG_MAX) CVC4::language::output::LANG_MAX;
%rename(OUTPUT_LANG_Z3STR) CVC4::language::output::LANG_Z3STR;
-%rename(OUTPUT_LANG_SYGUS) CVC4::language::output::LANG_SYGUS;
+%rename(OUTPUT_LANG_SYGUS_V1) CVC4::language::output::LANG_SYGUS_V1;
%rename(OUTPUT_LANG_SYGUS_V2) CVC4::language::output::LANG_SYGUS_V2;
%include "options/language.h"
smt2.5 | smtlib2.5 SMT-LIB format 2.5\n\
smt2.6 | smtlib2.6 SMT-LIB format 2.6 with support for the strings standard\n\
tptp TPTP format (cnf, fof and tff)\n\
- sygus | sygus2 SyGuS version 1.0 and 2.0 formats\n\
+ sygus1 SyGuS version 1.0 \n\
+ sygus | sygus2 SyGuS version 2.0\n\
\n\
Languages currently supported as arguments to the --output-lang option:\n\
auto match output language to input language\n\
break;
}
- case LANG_SYGUS:
+ case LANG_SYGUS_V1:
case LANG_SYGUS_V2: input = new SygusInput(inputStream); break;
case LANG_TPTP:
Parser* parser = NULL;
switch (d_lang)
{
- case language::input::LANG_SYGUS:
+ case language::input::LANG_SYGUS_V1:
case language::input::LANG_SYGUS_V2:
parser = new Smt2(d_solver, input, d_strictMode, d_parseOnly);
break;
bool Smt2::sygus() const
{
InputLanguage ilang = getLanguage();
- return ilang == language::input::LANG_SYGUS
+ return ilang == language::input::LANG_SYGUS_V1
|| ilang == language::input::LANG_SYGUS_V2;
}
bool Smt2::sygus_v1() const
{
- return getLanguage() == language::input::LANG_SYGUS;
+ return getLanguage() == language::input::LANG_SYGUS_V1;
}
bool Smt2::sygus_v2() const
return unique_ptr<Printer>(
new printer::smt2::Smt2Printer(printer::smt2::z3str_variant));
- case LANG_SYGUS:
+ case LANG_SYGUS_V1:
return unique_ptr<Printer>(
new printer::smt2::Smt2Printer(printer::smt2::sygus_variant));
return language::output::LANG_SMTLIB_V2_0;
case z3str_variant:
return language::output::LANG_Z3STR;
- case sygus_variant:
- return language::output::LANG_SYGUS;
+ case sygus_variant: return language::output::LANG_SYGUS_V1;
case no_variant:
- default:
- return language::output::LANG_SMTLIB_V2_5;
+ default: return language::output::LANG_SMTLIB_V2_6;
}
}
void Result::toStream(std::ostream& out, OutputLanguage language) const {
switch (language) {
- case language::output::LANG_SYGUS:
+ case language::output::LANG_SYGUS_V1:
case language::output::LANG_SYGUS_V2: toStreamSmt2(out); break;
case language::output::LANG_TPTP:
toStreamTptp(out);
bool SExpr::languageQuotesKeywords(OutputLanguage language) {
switch (language) {
- case language::output::LANG_SYGUS:
+ case language::output::LANG_SYGUS_V1:
case language::output::LANG_TPTP:
return true;
case language::output::LANG_AST: