35 template <
typename Iterator>
49 void skip_ws(Iterator& it, Iterator last)
const;
50 bool match(Iterator& it, Iterator last,
char c)
const;
51 bool match_word(Iterator& it, Iterator last,
char const* word)
const;
52 bool match_op_token(Iterator& it, Iterator last,
char const* token)
const;
55 template <
typename NextLevel,
typename OpMatcher>
57 NextLevel next, OpMatcher match_op);
71 bool parse_argument_list(Iterator& it, Iterator last, std::list<ast::function_call_argument>& out);
std::variant< expression, quoted_string > function_call_argument
std::variant< nil, bool, unsigned int, double, identifier, recursive_wrapper< unary >, recursive_wrapper< function_call >, recursive_wrapper< expression > > operand
bool parse_logical_and(Iterator &it, Iterator last, ast::expression &out)
bool parse_primary(Iterator &it, Iterator last, ast::operand &out)
bool parse_multiplicative(Iterator &it, Iterator last, ast::expression &out)
annotation< Iterator > annotation_
bool parse_argument_list(Iterator &it, Iterator last, std::list< ast::function_call_argument > &out)
bool parse_quoted_string(Iterator &it, Iterator last, std::string &out)
bool parse_call_argument(Iterator &it, Iterator last, ast::function_call_argument &out)
bool match_word(Iterator &it, Iterator last, char const *word) const
bool parse_constant(Iterator &it, Iterator last, ast::operand &out)
bool parse_relational(Iterator &it, Iterator last, ast::expression &out)
bool parse_level(Iterator &it, Iterator last, ast::expression &out, NextLevel next, OpMatcher match_op)
bool match_op_token(Iterator &it, Iterator last, char const *token) const
bool parse(Iterator &first, Iterator last, ast::expression &attr)
bool parse_expr(Iterator &it, Iterator last, ast::expression &out)
static ast::operand to_operand(ast::expression &&e)
void skip_ws(Iterator &it, Iterator last) const
bool parse_logical_or(Iterator &it, Iterator last, ast::expression &out)
bool parse_unary(Iterator &it, Iterator last, ast::operand &out)
bool parse_equality(Iterator &it, Iterator last, ast::expression &out)
bool try_identifier_token(Iterator &it, Iterator last, std::string &word) const
bool match(Iterator &it, Iterator last, char c) const
error_handler< Iterator > & error_handler_
bool parse_additive(Iterator &it, Iterator last, ast::expression &out)