1 #ifndef STAN_LANG_GRAMMARS_PROGRAM_GRAMMAR_HPP 2 #define STAN_LANG_GRAMMARS_PROGRAM_GRAMMAR_HPP 11 #include <boost/spirit/include/qi.hpp> 21 template <
typename Iterator>
23 : boost::spirit::qi::grammar<Iterator,
25 whitespace_grammar<Iterator> > {
35 bool allow_undefined =
false);
37 boost::spirit::qi::rule<Iterator,
38 std::vector<var_decl>(),
42 boost::spirit::qi::rule<Iterator,
43 std::pair<std::vector<var_decl>,
44 std::vector<statement> >(),
48 boost::spirit::qi::rule<Iterator,
49 std::pair<std::vector<var_decl>,
50 std::vector<statement> >(),
54 boost::spirit::qi::rule<Iterator,
55 std::pair<std::vector<var_decl>,
56 std::vector<statement> >(),
60 boost::spirit::qi::rule<Iterator,
65 boost::spirit::qi::rule<Iterator,
66 std::vector<var_decl>(),
71 boost::spirit::qi::rule<Iterator,
76 boost::spirit::qi::rule<Iterator,
77 boost::spirit::qi::unused_type,
81 boost::spirit::qi::rule<Iterator,
82 boost::spirit::qi::unused_type,
86 boost::spirit::qi::rule<Iterator,
87 boost::spirit::qi::unused_type,
Structure to wrap the variant type of statements.
Probability, optimization and sampling library.
boost::spirit::qi::rule< Iterator, std::vector< var_decl >), whitespace_grammar< Iterator > > param_var_decls_r
std::stringstream error_msgs_
A map from function names to their base declarations and their origin.
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > derived_data_var_decls_r
expression_grammar< Iterator > expression_g
var_decls_grammar< Iterator > var_decls_g
boost::spirit::qi::rule< Iterator, statement(), whitespace_grammar< Iterator > > model_r
statement_grammar< Iterator > statement_g
boost::spirit::qi::rule< Iterator, program(), whitespace_grammar< Iterator > > program_r
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > generated_var_decls_r
program_grammar(const std::string &model_name, bool allow_undefined=false)
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > derived_var_decls_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_decls_r
AST node for a complete Stan program.
boost::spirit::qi::rule< Iterator, std::vector< var_decl >), whitespace_grammar< Iterator > > data_var_decls_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_definitions_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_decls_statements_r
functions_grammar< Iterator > functions_g