63 std::string trimmedExpression = boost::algorithm::trim_copy_if(expression, boost::is_any_of(
"\""));
68 Grammar<std::string::const_iterator> grammar;
71 std::string::const_iterator expressionIter = trimmedExpression.begin();
72 std::string::const_iterator expressionEnd = trimmedExpression.end();
73 using boost::spirit::ascii::space_type;
74 bool r = phrase_parse(expressionIter, expressionEnd, grammar, space_type(), expr);
75 std::string remainingExpression(expressionIter, expressionEnd);
76 boost::trim(remainingExpression);
77 if (remainingExpression.length() > 0) {
78 throw std::runtime_error(
"Did you forget an operator? This was not parsed: '" + remainingExpression +
"'");