1 #ifndef STAN_LANG_GRAMMARS_INDEXES_GRAMMAR_DEF_HPP
2 #define STAN_LANG_GRAMMARS_INDEXES_GRAMMAR_DEF_HPP
8 #include <boost/spirit/include/qi.hpp>
9 #include <boost/spirit/include/phoenix_core.hpp>
15 (
stan::lang::expression, idxs_) )
18 (
stan::lang::expression, lb_) )
21 (
stan::lang::expression, ub_) )
24 (
stan::lang::expression, lb_)
25 (
stan::lang::expression, ub_) )
31 template <
typename Iterator>
32 indexes_grammar<Iterator>::indexes_grammar(variable_map& var_map,
33 std::stringstream& error_msgs,
34 expression_grammar<Iterator>& eg)
35 : indexes_grammar::base_type(indexes_r),
37 error_msgs_(error_msgs),
39 using boost::spirit::qi::eps;
40 using boost::spirit::qi::lit;
41 using boost::spirit::qi::_val;
42 using boost::spirit::qi::_r1;
43 using boost::spirit::qi::_1;
44 using boost::spirit::qi::_pass;
52 index_r.name(
"index expression, one of: "
53 " int, int[], int:, :int, int:int, :)");
63 " int, int[], int:, :int, int:int, :)");
71 " int, int[], int:, :int, int:int, :)");
78 " int, int[], int:, :int, int:int, :)");
83 " int, int[], int:, :int, int:int, :)");
91 " int, int[], int:, :int, int:int, :)");
98 " int, int[], int:, :int, int:int, :)");
boost::spirit::qi::rule< Iterator, multi_idx(var_origin), whitespace_grammar< Iterator > > multi_index_r
std::stringstream & error_msgs_
Probability, optimization and sampling library.
boost::spirit::qi::rule< Iterator, ub_idx(var_origin), whitespace_grammar< Iterator > > ub_index_r
boost::spirit::qi::rule< Iterator, lub_idx(var_origin), whitespace_grammar< Iterator > > lub_index_r
boost::spirit::qi::rule< Iterator, uni_idx(var_origin), whitespace_grammar< Iterator > > uni_index_r
boost::phoenix::function< validate_int_expression > validate_int_expression_f
boost::phoenix::function< validate_ints_expression > validate_ints_expression_f
boost::spirit::qi::rule< Iterator, omni_idx(var_origin), whitespace_grammar< Iterator > > omni_index_r
BOOST_FUSION_ADAPT_STRUCT(stan::lang::expr_type,(stan::lang::base_expr_type, base_type_)(size_t, num_dims_)) namespace stan
expression_grammar< Iterator > & expression_g
boost::spirit::qi::rule< Iterator, idx(var_origin), whitespace_grammar< Iterator > > index_r
boost::phoenix::function< set_omni_idx > set_omni_idx_f
boost::spirit::qi::rule< Iterator, lb_idx(var_origin), whitespace_grammar< Iterator > > lb_index_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > int_expression_r
boost::spirit::qi::rule< Iterator, std::vector< idx >var_origin), whitespace_grammar< Iterator > > indexes_r