Browse Source

Changed debug output to use LOG4CPLUS

tempestpy_adaptions
gereon 12 years ago
parent
commit
c1801b4ecc
  1. 10
      src/parser/PrismParser.cpp

10
src/parser/PrismParser.cpp

@ -26,6 +26,11 @@
#include <iomanip> #include <iomanip>
#include <limits> #include <limits>
#include "log4cplus/logger.h"
#include "log4cplus/loggingmacros.h"
extern log4cplus::Logger logger;
// Some typedefs and namespace definitions to reduce code size. // Some typedefs and namespace definitions to reduce code size.
typedef std::string::const_iterator BaseIteratorType; typedef std::string::const_iterator BaseIteratorType;
typedef boost::spirit::classic::position_iterator2<BaseIteratorType> PositionIteratorType; typedef boost::spirit::classic::position_iterator2<BaseIteratorType> PositionIteratorType;
@ -276,13 +281,14 @@ storm::ir::Program PrismParser::parse(std::istream& inputStream, std::string con
try { try {
// Now parse the content using phrase_parse in order to be able to supply a skipping parser. // Now parse the content using phrase_parse in order to be able to supply a skipping parser.
// First run. // First run.
LOG4CPLUS_INFO(logger, "Start parsing...");
qi::phrase_parse(positionIteratorBegin, positionIteratorEnd, grammar, boost::spirit::ascii::space | qi::lit("//") >> *(qi::char_ - qi::eol) >> qi::eol, result); qi::phrase_parse(positionIteratorBegin, positionIteratorEnd, grammar, boost::spirit::ascii::space | qi::lit("//") >> *(qi::char_ - qi::eol) >> qi::eol, result);
grammar.prepareForSecondRun(); grammar.prepareForSecondRun();
result = storm::ir::Program(); result = storm::ir::Program();
std::cout << "Now we start the second run..." << std::endl;
LOG4CPLUS_INFO(logger, "Start second parsing run...");
// Second run. // Second run.
qi::phrase_parse(positionIteratorBegin2, positionIteratorEnd, grammar, boost::spirit::ascii::space | qi::lit("//") >> *(qi::char_ - qi::eol) >> qi::eol, result); qi::phrase_parse(positionIteratorBegin2, positionIteratorEnd, grammar, boost::spirit::ascii::space | qi::lit("//") >> *(qi::char_ - qi::eol) >> qi::eol, result);
std::cout << "Here is the parsed grammar: " << std::endl << result.toString() << std::endl;
LOG4CPLUS_INFO(logger, "Finished parsing, here is the parsed program:" << std::endl << result.toString());
} catch(const qi::expectation_failure<PositionIteratorType>& e) { } catch(const qi::expectation_failure<PositionIteratorType>& e) {
// If the parser expected content different than the one provided, display information // If the parser expected content different than the one provided, display information
// about the location of the error. // about the location of the error.

Loading…
Cancel
Save