11 using namespace boost::spirit::classic;
13 bool returnValue =
false;
14 const char* startingFrom = value.c_str();
16 returnValue =
parse(startingFrom, grammar.use_parser<1>() >> end_p, space_p).full;
19 <<
"Expression parser error:" <<
baseExceptionWhat(e) <<
" (char " << e.where - startingFrom <<
")\n";
bool expressionParser(const edm::TypeWithDict &t, const std::string &value, ExpressionPtr &expr, bool lazy)
boost::spirit::classic::parser_error< reco::parser::SyntaxErrors > BaseException
std::shared_ptr< ExpressionBase > ExpressionPtr
const char * baseExceptionWhat(const BaseException &e)
returns the appropriate 'what' message for the exception