1 #ifndef __STAN__GM__PARSER__STATEMENT_GRAMMAR__HPP__
2 #define __STAN__GM__PARSER__STATEMENT_GRAMMAR__HPP__
8 #include <boost/spirit/include/qi.hpp>
20 template <
typename Iterator>
22 : boost::spirit::qi::grammar<Iterator,
23 statement(bool,var_origin),
24 whitespace_grammar<Iterator> > {
29 std::stringstream& error_msgs);
42 boost::spirit::qi::rule<Iterator,
48 boost::spirit::qi::rule<Iterator,
49 std::vector<expression>(),
54 boost::spirit::qi::rule<Iterator,
60 boost::spirit::qi::rule<Iterator,
61 boost::spirit::qi::locals<std::string>,
67 boost::spirit::qi::rule<Iterator,
73 boost::spirit::qi::rule<Iterator,
79 boost::spirit::qi::rule<Iterator,
84 boost::spirit::qi::rule<Iterator,
90 boost::spirit::qi::rule<Iterator,
95 boost::spirit::qi::rule<Iterator,
96 std::vector<var_decl>(),
100 boost::spirit::qi::rule<Iterator,
105 boost::spirit::qi::rule<Iterator,
106 std::vector<expression>(),
110 boost::spirit::qi::rule<Iterator,
115 boost::spirit::qi::rule<Iterator,
120 boost::spirit::qi::rule<Iterator,
125 boost::spirit::qi::rule<Iterator,
126 boost::spirit::qi::locals<std::vector<var_decl> >,
131 boost::spirit::qi::rule<Iterator,
136 boost::spirit::qi::rule<Iterator,