1 #ifndef __STAN__GM__PARSER__PROGRAM_GRAMMAR__HPP__
2 #define __STAN__GM__PARSER__PROGRAM_GRAMMAR__HPP__
8 #include <boost/spirit/include/qi.hpp>
20 template <
typename Iterator>
22 : boost::spirit::qi::grammar<Iterator,
24 whitespace_grammar<Iterator> > {
39 boost::spirit::qi::rule<Iterator,
40 std::vector<var_decl>(),
44 boost::spirit::qi::rule<Iterator,
45 std::pair<std::vector<var_decl>,
46 std::vector<statement> >(),
50 boost::spirit::qi::rule<Iterator,
51 std::pair<std::vector<var_decl>,
52 std::vector<statement> >(),
56 boost::spirit::qi::rule<Iterator,
57 std::pair<std::vector<var_decl>,
58 std::vector<statement> >(),
62 boost::spirit::qi::rule<Iterator,
67 boost::spirit::qi::rule<Iterator,
68 std::vector<var_decl>(),
72 boost::spirit::qi::rule<Iterator,