1 #ifndef STAN_LANG_GRAMMARS_VAR_DECLS_GRAMMAR_HPP 2 #define STAN_LANG_GRAMMARS_VAR_DECLS_GRAMMAR_HPP 9 #include <boost/spirit/include/qi.hpp> 17 template <
typename Iterator>
19 : boost::spirit::qi::grammar<Iterator,
20 boost::spirit::qi::locals<bool>,
21 std::vector<var_decl>(bool, var_origin),
22 whitespace_grammar<Iterator> > {
24 std::stringstream& error_msgs);
31 boost::spirit::qi::rule<Iterator,
36 boost::spirit::qi::rule<Iterator,
41 boost::spirit::qi::rule<Iterator,
46 boost::spirit::qi::rule<Iterator,
51 boost::spirit::qi::rule<Iterator,
56 boost::spirit::qi::rule<Iterator,
61 boost::spirit::qi::rule<Iterator,
66 boost::spirit::qi::rule<Iterator,
71 boost::spirit::qi::rule<Iterator,
76 boost::spirit::qi::rule<Iterator,
81 boost::spirit::qi::rule<Iterator,
86 boost::spirit::qi::rule<Iterator,
91 boost::spirit::qi::rule<Iterator,
97 boost::spirit::qi::rule<Iterator,
102 boost::spirit::qi::rule<Iterator,
107 boost::spirit::qi::rule<Iterator,
112 boost::spirit::qi::rule<Iterator,
117 boost::spirit::qi::rule<Iterator,
122 boost::spirit::qi::rule<Iterator,
127 boost::spirit::qi::rule<Iterator,
132 boost::spirit::qi::rule<Iterator,
137 boost::spirit::qi::rule<Iterator,
142 boost::spirit::qi::rule<Iterator,
147 boost::spirit::qi::rule<Iterator,
148 boost::spirit::qi::locals<bool>,
153 boost::spirit::qi::rule<Iterator,
154 boost::spirit::qi::locals<bool>,
An integer variable declaration and optional definition.
Structure to hold the declaration of a positive ordered vector.
boost::spirit::qi::rule< Iterator, row_vector_var_decl(var_origin), whitespace_grammar< Iterator > > row_vector_decl_r
Structure to hold a row vector variable declaration.
boost::spirit::qi::rule< Iterator, std::string(), whitespace_grammar< Iterator > > identifier_name_r
boost::spirit::qi::rule< Iterator, ordered_var_decl(var_origin), whitespace_grammar< Iterator > > ordered_decl_r
Probability, optimization and sampling library.
boost::spirit::qi::rule< Iterator, positive_ordered_var_decl(var_origin), whitespace_grammar< Iterator > > positive_ordered_decl_r
expression_grammar< Iterator > expression_g
boost::spirit::qi::rule< Iterator, matrix_var_decl(var_origin), whitespace_grammar< Iterator > > matrix_decl_r
boost::spirit::qi::rule< Iterator, unit_vector_var_decl(var_origin), whitespace_grammar< Iterator > > unit_vector_decl_r
boost::spirit::qi::rule< Iterator, cholesky_corr_var_decl(var_origin), whitespace_grammar< Iterator > > cholesky_corr_decl_r
Structure to hold a covariance matrix variable declaration.
A map from function names to their base declarations and their origin.
boost::spirit::qi::rule< Iterator, std::string(), whitespace_grammar< Iterator > > identifier_r
Structure to hold the declaration of a simplex.
Structure to hold a Cholesky factor for a correlation matrix variable declaration.
boost::spirit::qi::rule< Iterator, cholesky_factor_var_decl(var_origin), whitespace_grammar< Iterator > > cholesky_factor_decl_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > int_data_expr_r
AST structure for a range object with a low and high value.
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > def_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > dim1_r
boost::spirit::qi::rule< Iterator, range(var_origin), whitespace_grammar< Iterator > > range_brackets_int_r
boost::spirit::qi::rule< Iterator, simplex_var_decl(var_origin), whitespace_grammar< Iterator > > simplex_decl_r
Structure to hold the declaration of a unit vector.
boost::spirit::qi::rule< Iterator, int_var_decl(var_origin), whitespace_grammar< Iterator > > int_decl_r
int var_origin
The type of a variable indicating where a variable was declared.
Structure to hold a matrix variable declaration.
Structure to hold a Cholesky factor variable declaration.
boost::spirit::qi::rule< Iterator, double_var_decl(var_origin), whitespace_grammar< Iterator > > double_decl_r
Structure to hold a column vector variable declaration.
expression07_grammar< Iterator > expression07_g
The variant structure to hold a variable declaration.
boost::spirit::qi::rule< Iterator, std::vector< expression >var_origin), whitespace_grammar< Iterator > > dims_r
Structure to hold a correlation matrix variable declaration.
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > opt_def_r
std::stringstream & error_msgs_
boost::spirit::qi::rule< Iterator, boost::spirit::qi::locals< bool >, var_decl(bool, var_origin), whitespace_grammar< Iterator > > var_decl_r
boost::spirit::qi::rule< Iterator, range(var_origin), whitespace_grammar< Iterator > > range_brackets_double_r
boost::spirit::qi::rule< Iterator, vector_var_decl(var_origin), whitespace_grammar< Iterator > > vector_decl_r
An integer variable declaration and optional definition.
boost::spirit::qi::rule< Iterator, cov_matrix_var_decl(var_origin), whitespace_grammar< Iterator > > cov_matrix_decl_r
Structure to hold the declaration of an ordered vector.
var_decls_grammar(variable_map &var_map, std::stringstream &error_msgs)
boost::spirit::qi::rule< Iterator, corr_matrix_var_decl(var_origin), whitespace_grammar< Iterator > > corr_matrix_decl_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::locals< bool >, std::vector< var_decl >bool, var_origin), whitespace_grammar< Iterator > > var_decls_r
boost::spirit::qi::rule< Iterator, std::vector< expression >var_origin), whitespace_grammar< Iterator > > opt_dims_r