Stan  1.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Pages
expression_grammar.hpp
Go to the documentation of this file.
1 #ifndef __STAN__GM__PARSER__EXPRESSION_GRAMMAR__HPP__
2 #define __STAN__GM__PARSER__EXPRESSION_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>
12 
13 namespace stan {
14 
15  namespace gm {
16 
17  template <typename Iterator>
19  : public boost::spirit::qi::grammar<Iterator,
20  expression(),
21  whitespace_grammar<Iterator> > {
22 
24  std::stringstream& error_msgs);
25 
27 
28  std::stringstream& error_msgs_;
29 
30  boost::spirit::qi::rule<Iterator,
31  std::vector<expression>(),
34 
35  boost::spirit::qi::rule<Iterator,
36  std::vector<expression>(),
39 
40  boost::spirit::qi::rule<Iterator,
44 
45  boost::spirit::qi::rule<Iterator,
46  expression(),
49 
50  boost::spirit::qi::rule<Iterator,
51  boost::spirit::qi::locals<bool>,
52  expression(),
55 
56  boost::spirit::qi::rule<Iterator,
57  fun(),
60 
61  boost::spirit::qi::rule<Iterator,
62  std::string(),
65 
66  boost::spirit::qi::rule<Iterator,
67  expression(),
70 
71  boost::spirit::qi::rule<Iterator,
72  int_literal(),
75 
76  boost::spirit::qi::rule<Iterator,
77  expression(),
80 
81  boost::spirit::qi::rule<Iterator,
82  expression(),
85 
86  boost::spirit::qi::rule<Iterator,
87  variable(),
90 
91 
92  };
93 
94  }
95 }
96 
97 #endif

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