Stan  1.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Pages
statement_grammar.hpp
Go to the documentation of this file.
1 #ifndef __STAN__GM__PARSER__STATEMENT_GRAMMAR__HPP__
2 #define __STAN__GM__PARSER__STATEMENT_GRAMMAR__HPP__
3 
4 #include <string>
5 #include <sstream>
6 #include <vector>
7 
8 #include <boost/spirit/include/qi.hpp>
9 
10 #include <stan/gm/ast.hpp>
14 
15 namespace stan {
16 
17  namespace gm {
18 
19  template <typename Iterator>
21  : boost::spirit::qi::grammar<Iterator,
22  statement(bool,var_origin),
23  whitespace_grammar<Iterator> > {
24 
25 
26 
28  std::stringstream& error_msgs);
29 
30 
31  // global info for parses
33  std::stringstream& error_msgs_;
34 
35  // grammars
38 
39  // rules
40  boost::spirit::qi::rule<Iterator,
41  assignment(),
44 
45  boost::spirit::qi::rule<Iterator,
46  std::vector<expression>(),
49 
50  boost::spirit::qi::rule<Iterator,
51  distribution(),
54 
55  boost::spirit::qi::rule<Iterator,
56  boost::spirit::qi::locals<std::string>,
60 
61  boost::spirit::qi::rule<Iterator,
65 
66  boost::spirit::qi::rule<Iterator,
67  printable(),
70 
71  boost::spirit::qi::rule<Iterator,
72  std::string(),
75 
76 
77  boost::spirit::qi::rule<Iterator,
78  std::string(),
81 
82  boost::spirit::qi::rule<Iterator,
83  std::vector<var_decl>(),
86 
87  boost::spirit::qi::rule<Iterator,
88  no_op_statement(),
91 
92  boost::spirit::qi::rule<Iterator,
93  std::vector<expression>(),
96 
97  boost::spirit::qi::rule<Iterator,
98  range(),
101 
102  boost::spirit::qi::rule<Iterator,
103  sample(bool),
106 
107  boost::spirit::qi::rule<Iterator,
108  statement(bool,var_origin),
111 
112  boost::spirit::qi::rule<Iterator,
113  boost::spirit::qi::locals<std::vector<var_decl> >,
114  statements(bool,var_origin),
117 
118  boost::spirit::qi::rule<Iterator,
119  range(),
122 
123  boost::spirit::qi::rule<Iterator,
124  variable_dims(),
127 
128  };
129 
130 
131  }
132 }
133 
134 #endif

     [ Stan Home Page ] © 2011–2012, Stan Development Team.