1 #ifndef STAN_LANG_AST_NODE_ARRAY_EXPR_HPP 2 #define STAN_LANG_AST_NODE_ARRAY_EXPR_HPP 3 4 #include <stan/lang/ast/type/bare_expr_type.hpp> 5 #include <stan/lang/ast/scope.hpp> 6 #include <stan/lang/ast/node/expression.hpp> 7 #include <vector> 8 #include <cstddef> 9 10 namespace stan { 11 namespace lang { 12 13 struct expresssion; 14 15 /** 16 * Structure to hold an array expression. 17 */ 18 struct array_expr { 19 /** 20 * Sequence of expressions for array values. 21 */ 22 std::vector<expression> args_; 23 24 /** 25 * Type of array. 26 */ 27 bare_expr_type type_; 28 29 /** 30 * True if there is a variable within any of the expressions 31 * that is a parameter, transformed parameter, or non-integer 32 * local variable. 33 */ 34 bool has_var_; 35 36 /** 37 * Scope of this array expression. 38 * 39 */ 40 scope array_expr_scope_; 41 42 /** 43 * Construct a default array expression. 44 */ 45 array_expr(); 46 }; 47 48 } // namespace lang 49 } // namespace stan 50 #endif 51