summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/driver_unified.cpp5
-rw-r--r--src/parser/smt2/Smt2.g8
2 files changed, 7 insertions, 6 deletions
diff --git a/src/main/driver_unified.cpp b/src/main/driver_unified.cpp
index 0cec616fd..2f75c8887 100644
--- a/src/main/driver_unified.cpp
+++ b/src/main/driver_unified.cpp
@@ -383,11 +383,11 @@ int runCvc4(int argc, char* argv[], Options& opts) {
} else {
Command* copy = cmd->clone();
allCommands.back().push_back(copy);
+ status = pExecutor->doCommand(cmd);
if(dynamic_cast<QuitCommand*>(cmd) != NULL) {
delete cmd;
break;
}
- status = pExecutor->doCommand(cmd);
}
delete cmd;
}
@@ -417,11 +417,11 @@ int runCvc4(int argc, char* argv[], Options& opts) {
replayParser->useDeclarationsFrom(parser);
}
while(status && (cmd = parser->nextCommand())) {
+ status = pExecutor->doCommand(cmd);
if(dynamic_cast<QuitCommand*>(cmd) != NULL) {
delete cmd;
break;
}
- status = pExecutor->doCommand(cmd);
delete cmd;
}
// Remove the parser
@@ -444,6 +444,7 @@ int runCvc4(int argc, char* argv[], Options& opts) {
}
#ifdef CVC4_COMPETITION_MODE
+ *opts[options::out] << flush;
// exit, don't return (don't want destructors to run)
// _exit() from unistd.h doesn't run global destructors
// or other on_exit/atexit stuff.
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g
index 8590229a2..8a2fa5225 100644
--- a/src/parser/smt2/Smt2.g
+++ b/src/parser/smt2/Smt2.g
@@ -1557,12 +1557,12 @@ symbol[std::string& id,
PARSER_STATE->checkDeclaration(id, check, type);
}
}
- | UNTERMINATED_QUOTED_SYMBOL
+ /*| UNTERMINATED_QUOTED_SYMBOL
( EOF
{ PARSER_STATE->unexpectedEOF("unterminated |quoted| symbol"); }
| '\\'
{ PARSER_STATE->unexpectedEOF("backslash not permitted in |quoted| symbol"); }
- )
+ )*/
;
/**
@@ -1803,9 +1803,9 @@ EMPTYSET_TOK: { PARSER_STATE->isTheoryEnabled(Smt2::THEORY_SETS) }? 'emptyset';
QUOTED_SYMBOL
: '|' ~('|' | '\\')* '|'
;
-UNTERMINATED_QUOTED_SYMBOL
+/*UNTERMINATED_QUOTED_SYMBOL
: '|' ~('|' | '\\')*
- ;
+ ;*/
/**
* Matches a keyword from the input. A keyword is a simple symbol prefixed
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback