Stan  2.10.0
probability, sampling & optimization
program_grammar.hpp
Go to the documentation of this file.
1 #ifndef STAN_LANG_GRAMMARS_PROGRAM_GRAMMAR_HPP
2 #define STAN_LANG_GRAMMARS_PROGRAM_GRAMMAR_HPP
3 
4 #include <stan/lang/ast.hpp>
11 #include <boost/spirit/include/qi.hpp>
12 #include <string>
13 #include <sstream>
14 #include <vector>
15 #include <utility>
16 
17 namespace stan {
18 
19  namespace lang {
20 
21  template <typename Iterator>
23  : boost::spirit::qi::grammar<Iterator,
24  program(),
25  whitespace_grammar<Iterator> > {
26  std::string model_name_;
28  std::stringstream error_msgs_;
33 
34  program_grammar(const std::string& model_name);
35 
36  boost::spirit::qi::rule<Iterator,
37  std::vector<var_decl>(),
40 
41  boost::spirit::qi::rule<Iterator,
42  std::pair<std::vector<var_decl>,
43  std::vector<statement> >(),
46 
47  boost::spirit::qi::rule<Iterator,
48  std::pair<std::vector<var_decl>,
49  std::vector<statement> >(),
52 
53  boost::spirit::qi::rule<Iterator,
54  std::pair<std::vector<var_decl>,
55  std::vector<statement> >(),
58 
59  boost::spirit::qi::rule<Iterator,
60  statement(),
63 
64  boost::spirit::qi::rule<Iterator,
65  std::vector<var_decl>(),
68 
69 
70  boost::spirit::qi::rule<Iterator,
71  program(),
74 
75  boost::spirit::qi::rule<Iterator,
76  boost::spirit::qi::unused_type,
79 
80  boost::spirit::qi::rule<Iterator,
81  boost::spirit::qi::unused_type,
84 
85  boost::spirit::qi::rule<Iterator,
86  boost::spirit::qi::unused_type,
89  };
90 
91  }
92 }
93 #endif
Probability, optimization and sampling library.
boost::spirit::qi::rule< Iterator, std::vector< var_decl >), whitespace_grammar< Iterator > > param_var_decls_r
program_grammar(const std::string &model_name)
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > derived_data_var_decls_r
expression_grammar< Iterator > expression_g
var_decls_grammar< Iterator > var_decls_g
boost::spirit::qi::rule< Iterator, statement(), whitespace_grammar< Iterator > > model_r
statement_grammar< Iterator > statement_g
boost::spirit::qi::rule< Iterator, program(), whitespace_grammar< Iterator > > program_r
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > generated_var_decls_r
boost::spirit::qi::rule< Iterator, std::pair< std::vector< var_decl >, std::vector< statement > >), whitespace_grammar< Iterator > > derived_var_decls_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_decls_r
boost::spirit::qi::rule< Iterator, std::vector< var_decl >), whitespace_grammar< Iterator > > data_var_decls_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_definitions_r
boost::spirit::qi::rule< Iterator, boost::spirit::qi::unused_type, whitespace_grammar< Iterator > > end_var_decls_statements_r
functions_grammar< Iterator > functions_g

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