diff options
Diffstat (limited to 'src/parser/parser.cpp')
-rw-r--r-- | src/parser/parser.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index 4c7e28dc0..298669b80 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -81,6 +81,9 @@ SmtParser::SmtParser(ExprManager* em, istream& input) : SmtParser::SmtParser(ExprManager*em, const char* file_name) : Parser(em), d_input(file_name) { + if(!d_input) { + throw ParserException(string("File not found or inaccessible: ") + file_name); + } d_antlr_lexer = new AntlrSmtLexer(d_input); d_antlr_lexer->setFilename(file_name); d_antlr_parser = new AntlrSmtParser(*d_antlr_lexer); @@ -132,6 +135,9 @@ CvcParser::CvcParser(ExprManager* em, istream& input) : CvcParser::CvcParser(ExprManager*em, const char* file_name) : Parser(em), d_input(file_name) { + if(!d_input) { + throw ParserException(string("File not found or inaccessible: ") + file_name); + } d_antlr_lexer = new AntlrCvcLexer(d_input); d_antlr_lexer->setFilename(file_name); d_antlr_parser = new AntlrCvcParser(*d_antlr_lexer); |