Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
term_grammar.hpp
Go to the documentation of this file.
1 #ifndef STAN__GM__PARSER__TERM_GRAMMAR__HPP
2 #define STAN__GM__PARSER__TERM_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>
13 
14 namespace stan {
15 
16  namespace gm {
17 
18  template <typename Iterator>
19  struct term_grammar;
20 
21  template <typename Iterator>
22  struct expression_grammar;
23 
24  template <typename Iterator>
25  struct term_grammar
26  : public boost::spirit::qi::grammar<Iterator,
27  expression(var_origin),
28  whitespace_grammar<Iterator> > {
29 
30  term_grammar(variable_map& var_map,
31  std::stringstream& error_msgs,
32  expression_grammar<Iterator>& eg);
33 
35 
36  std::stringstream& error_msgs_;
37 
39 
40 
41  boost::spirit::qi::rule<Iterator,
42  std::vector<expression>(var_origin),
45 
46 
47  boost::spirit::qi::rule<Iterator,
48  std::vector<expression>(var_origin),
51 
52 
53  boost::spirit::qi::rule<Iterator,
57 
58 
59  boost::spirit::qi::rule<Iterator,
60  boost::spirit::qi::locals<bool>,
64 
65 
66  boost::spirit::qi::rule<Iterator,
67  fun(var_origin),
70 
71  boost::spirit::qi::rule<Iterator,
75 
76 
77  boost::spirit::qi::rule<Iterator,
78  std::string(),
81 
82 
83  boost::spirit::qi::rule<Iterator,
87 
88 
89  boost::spirit::qi::rule<Iterator,
90  int_literal(),
93 
94 
95  boost::spirit::qi::rule<Iterator,
99 
100 
101  boost::spirit::qi::rule<Iterator,
105 
106 
107  boost::spirit::qi::rule<Iterator,
111 
112 
113  boost::spirit::qi::rule<Iterator,
114  variable(),
117 
118  };
119 
120  }
121 }
122 
123 #endif
variable_map & var_map_
boost::spirit::qi::rule< Iterator, variable(), whitespace_grammar< Iterator > > variable_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > term_r
boost::spirit::qi::rule< Iterator, int_literal(), whitespace_grammar< Iterator > > int_literal_r
stan::gm::expression_grammar< Iterator > & expression_g
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > exponentiated_factor_r
boost::spirit::qi::rule< Iterator, double_literal(), whitespace_grammar< Iterator > > double_literal_r
boost::spirit::qi::rule< Iterator, integrate_ode(var_origin), whitespace_grammar< Iterator > > integrate_ode_r
std::vector< std::vector< typename stan::return_type< T1, T2 >::type > > integrate_ode(const F &f, const std::vector< T1 > y0, const double t0, const std::vector< double > &ts, const std::vector< T2 > &theta, const std::vector< double > &x, const std::vector< int > &x_int, std::ostream *msgs)
Return the solutions for the specified system of ordinary differential equations given the specified ...
term_grammar(variable_map &var_map, std::stringstream &error_msgs, expression_grammar< Iterator > &eg)
boost::spirit::qi::rule< Iterator, fun(var_origin), whitespace_grammar< Iterator > > fun_r
boost::spirit::qi::rule< Iterator, std::vector< expression >var_origin), whitespace_grammar< Iterator > > args_r
std::stringstream & error_msgs_
boost::spirit::qi::rule< Iterator, std::string(), whitespace_grammar< Iterator > > identifier_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::locals< bool >, expression(var_origin), whitespace_grammar< Iterator > > factor_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > negated_factor_r
boost::spirit::qi::rule< Iterator, expression(var_origin), whitespace_grammar< Iterator > > indexed_factor_r
int var_origin
Definition: ast.hpp:411
boost::spirit::qi::rule< Iterator, std::vector< expression >var_origin), whitespace_grammar< Iterator > > dims_r

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