Skip to content
Snippets Groups Projects
Commit 28bb7435 authored by ilor's avatar ilor
Browse files

fix Parser::parseAnyOperator silently ignoring errors

parent 31b917fa
No related merge requests found
......@@ -135,11 +135,11 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
std::istream& istr) const
{
ANTLRLexer lexer(istr);
ANTLRParser parser(lexer);
boost::shared_ptr<ANTLRParserResultBase> result;
if (!result) {
istr.seekg(0, std::ios::beg);
ANTLRLexer lexer(istr);
ANTLRParser parser(lexer);
try {
result = parser.parse_sym_set_operator(this->tagset);
} catch (antlr::ANTLRException) {
......@@ -147,6 +147,9 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
}
}
if (!result) {
istr.seekg(0, std::ios::beg);
ANTLRLexer lexer(istr);
ANTLRParser parser(lexer);
try {
result = parser.parse_string_operator(this->tagset);
} catch (antlr::ANTLRException) {
......@@ -154,6 +157,9 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
}
}
if (!result) {
istr.seekg(0, std::ios::beg);
ANTLRLexer lexer(istr);
ANTLRParser parser(lexer);
try {
result = parser.parse_predicates(this->tagset);
} catch (antlr::ANTLRException) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment