15 #define BOOST_PHOENIX_STL_TUPLE_H_
20 #include <boost/phoenix/function.hpp>
21 #include <boost/phoenix.hpp>
22 #include <boost/fusion/adapted.hpp>
25 namespace client {
namespace parser
27 template <
typename Iterator>
39 qi::double_type double_;
42 qi::lexeme_type lexeme;
44 qi::no_skip_type no_skip;
55 typedef function<client::error_handler<Iterator> > error_handler_function;
56 typedef function<client::annotation<Iterator> > annotation_function;
162 omit [ char_(
"'\"") [_a = _1] ]
163 >> no_skip [ *(char_ - char_(_a)) ]
171 >> raw[lexeme[(alpha |
'_') >> *(alnum |
'_')]]
176 BOOST_SPIRIT_DEBUG_NODES(
183 (multiplicative_expr)
195 error_handler_function(error_handler)(
196 std::string(
"Error! Expecting "), _4, _3));
201 annotation_function(error_handler.
iters)(_val, _1));
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > relational_expr
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > unary_expr
qi::symbols< char, ast::optoken > multiplicative_op
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_and_expr
qi::rule< Iterator, ast::function_call(), qi::locals< char >, skipper< Iterator > > function_call
qi::rule< Iterator, std::list< ast::function_call_argument >), qi::locals< char >, skipper< Iterator > > argument_list
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > constant_expr
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > quoted_string
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > equality_expr
qi::symbols< char, ast::optoken > unary_op
qi::symbols< char, ast::optoken > equality_op
qi::symbols< char, ast::optoken > logical_and_op
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > additive_expr
qi::rule< Iterator, ast::operand(), qi::locals< char >, skipper< Iterator > > primary_expr
qi::rule< Iterator, std::string(), qi::locals< char >, skipper< Iterator > > identifier
expression(error_handler< Iterator > &error_handler)
double function(PyOpalObjectNS::PyOpalObject< C > pyobject, double t)
constexpr double alpha
The fine structure constant, no dimension.
qi::symbols< char, ast::optoken > relational_op
std::vector< Iterator > iters
qi::symbols< char, ast::optoken > logical_or_op
qi::symbols< char > keywords
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > expr
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > logical_or_expr
qi::rule< Iterator, ast::expression(), qi::locals< char >, skipper< Iterator > > multiplicative_expr
qi::symbols< char, ast::optoken > additive_op