{ cmd = new AssertCommand(expr); }
| /* checksat */
CHECKSAT_TOK { PARSER_STATE->checkThatLogicIsSet(); }
- { cmd = new CheckSatCommand(MK_CONST(bool(true))); }
+ ( term[expr, expr2]
+ { if(PARSER_STATE->strictModeEnabled()) {
+ PARSER_STATE->parseError("Extended commands (such as check-sat with an argument) are not permitted while operating in strict compliance mode.");
+ }
+ }
+ | { expr = MK_CONST(bool(true)); } )
+ { cmd = new CheckSatCommand(expr); }
| /* get-assertions */
GET_ASSERTIONS_TOK { PARSER_STATE->checkThatLogicIsSet(); }
{ cmd = new GetAssertionsCommand(); }
#ifndef CVC4_COMPETITION_MODE
tryBadInput("(assert)"); // no args
tryBadInput("(set-info :notes |Symbols can't contain the | character|)");
- tryBadInput("(set-logic QF_UF) (check-sat true)"); // shouldn't have an arg
+ tryBadInput("(set-logic QF_UF) (check-sat true)", true); // check-sat shouldn't have an arg
tryBadInput("(declare-sort a)"); // no arg
tryBadInput("(declare-sort a 0) (declare-sort a 0)"); // double decl
tryBadInput("(set-logic QF_UF) (declare-fun p Bool)"); // should be "p () Bool"