7 #if !defined(EXPRESSION_HPP)
16 #define BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
24 #include <boost/spirit/include/qi.hpp>
32 namespace qi = boost::spirit::qi;
33 namespace ascii = boost::spirit::ascii;
38 template <
typename Iterator>
39 struct expression : qi::grammar<Iterator, ast::expression(), qi::locals<char>, skipper<Iterator> >
57 qi::rule<Iterator, std::list<ast::function_call_argument>(), qi::locals<char>,
skipper<Iterator> >
69 qi::symbols<char, ast::optoken>
boost::variant< nil, bool, unsigned int, double, identifier, boost::recursive_wrapper< unary >, boost::recursive_wrapper< function_call >, boost::recursive_wrapper< expression > > operand
qi::symbols< char > keywords
qi::symbols< char, ast::optoken > unary_op
qi::symbols< char, ast::optoken > multiplicative_op
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > additive_expr
qi::symbols< char, ast::optoken > logical_and_op
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > relational_expr
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > quoted_string
qi::symbols< char, ast::optoken > relational_op
qi::symbols< char, ast::optoken > additive_op
qi::symbols< char, ast::optoken > logical_or_op
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_and_expr
expression(error_handler< Iterator > &error_handler)
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > unary_expr
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > equality_expr
qi::rule< Iterator, ast::function_call(), qi::locals< char >, skipper< Iterator > > function_call
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > expr
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > constant_expr
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > multiplicative_expr
qi::symbols< char, ast::optoken > equality_op
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > primary_expr
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_or_expr
qi::rule< Iterator, std::list< ast::function_call_argument >), qi::locals< char >, skipper< Iterator > > argument_list
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > identifier