From 9763a63236deb29221b962b3fc25c3701d094a24 Mon Sep 17 00:00:00 2001 From: ilor <kailoran@gmail.com> Date: Wed, 9 Feb 2011 15:07:39 +0100 Subject: [PATCH] better error handling in wcclrun --- wcclrun/main.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/wcclrun/main.cpp b/wcclrun/main.cpp index 2367319..eddc1dd 100644 --- a/wcclrun/main.cpp +++ b/wcclrun/main.cpp @@ -17,7 +17,7 @@ #include <antlr/MismatchedTokenException.hpp> -void load_more_operators(const std::string& filename, Wccl::Parser& parser, +bool load_more_operators(const std::string& filename, Wccl::Parser& parser, std::vector< boost::shared_ptr<Wccl::FunctionalOperator> >& ops) { @@ -32,6 +32,7 @@ void load_more_operators(const std::string& filename, Wccl::Parser& parser, retOp = parser.parseAnyOperator(is); if (retOp) { ops.push_back(retOp); + return true; } else { std::cerr << "Problem while parsing -- " << "parser returned NULL!" << std::endl; @@ -53,6 +54,7 @@ void load_more_operators(const std::string& filename, Wccl::Parser& parser, } catch (antlr::ANTLRException& e) { std::cerr << "Antlr error " << e.getMessage() << std::endl; } + return false; } class streamsave @@ -187,7 +189,13 @@ int main(int argc, char** argv) std::vector< boost::shared_ptr<Wccl::FunctionalOperator> > operators; Wccl::Parser parser(tagset); foreach (const std::string& f, ccl_files) { - load_more_operators(f, parser, operators); + int sz = operators.size(); + if (!load_more_operators(f, parser, operators)) { + std::cerr << "Warning: error while parsing " << f << "\n"; + } + if (operators.size() == sz) { + std::cerr << "Warning: no operators loaded from " << f << "\n"; + } } if (!operators.empty()) { foreach (const std::string& f, corpora_files) { -- GitLab