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