Stan  2.14.0
probability, sampling & optimization
program.hpp
Go to the documentation of this file.
1 #ifndef STAN_LANG_AST_NODE_PROGRAM_HPP
2 #define STAN_LANG_AST_NODE_PROGRAM_HPP
3 
7 #include <utility>
8 #include <vector>
9 
10 
11 namespace stan {
12  namespace lang {
13 
17  struct program {
21  typedef std::vector<function_decl_def> function_decls_t;
22 
26  typedef std::vector<var_decl> var_decls_t;
27 
31  typedef std::vector<statement> statements_t;
32 
36  typedef std::pair<var_decls_t, statements_t> var_decls_statements_t;
37 
41  program();
42 
54  program(const function_decls_t& functions,
55  const var_decls_t& data,
56  const var_decls_statements_t& transformed_data,
57  const var_decls_t& parameters,
58  const var_decls_statements_t& transformed_parameters,
59  const statement& model,
60  const var_decls_statements_t& generated_quantities);
61 
65  std::vector<function_decl_def> function_decl_defs_;
66 
70  std::vector<var_decl> data_decl_;
71 
75  std::pair<std::vector<var_decl>, std::vector<statement> >
77 
81  std::vector<var_decl> parameter_decl_;
82 
86  std::pair<std::vector<var_decl>, std::vector<statement> > derived_decl_;
87 
92 
96  std::pair<std::vector<var_decl>, std::vector<statement> > generated_decl_;
97  };
98 
99  }
100 }
101 #endif
Structure to wrap the variant type of statements.
Definition: statement.hpp:29
statement statement_
Model block.
Definition: program.hpp:91
Probability, optimization and sampling library.
std::vector< var_decl > data_decl_
Data block.
Definition: program.hpp:70
std::vector< function_decl_def > function_decls_t
Type of a sequence of function declarations.
Definition: program.hpp:21
program()
Construct an uninitialized program.
Definition: program_def.hpp:9
std::vector< function_decl_def > function_decl_defs_
Functions block.
Definition: program.hpp:65
std::pair< std::vector< var_decl >, std::vector< statement > > derived_data_decl_
Transformed data block.
Definition: program.hpp:76
std::pair< std::vector< var_decl >, std::vector< statement > > generated_decl_
Generated quantities block.
Definition: program.hpp:96
std::vector< statement > statements_t
Type of a sequence of statements.
Definition: program.hpp:31
std::pair< var_decls_t, statements_t > var_decls_statements_t
Type of pair of variable declaration sequence and statement sequence.
Definition: program.hpp:36
std::pair< std::vector< var_decl >, std::vector< statement > > derived_decl_
Transformed parameters block.
Definition: program.hpp:86
std::vector< var_decl > var_decls_t
Type of a sequence of variable declarations.
Definition: program.hpp:26
AST node for a complete Stan program.
Definition: program.hpp:17
std::vector< var_decl > parameter_decl_
Parameters block.
Definition: program.hpp:81

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