diff --git a/wcclrun/main.cpp b/wcclrun/main.cpp index 236731913526bcf29e4723df4c5c64da7a97d9df..eddc1dd738d3e07b9033dc734d3907dc38e08f7d 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) {