6 #include <ail/types.hpp>
10 namespace executable_unit_type
25 namespace assignment_type
42 namespace unary_operator_type
52 namespace binary_operator_type
66 greater_than_or_equal
,
82 namespace parse_tree_node_type
99 typedef std::vector
<parse_tree_node
> parse_tree_nodes
;
100 typedef std::vector
<parse_tree_symbol
> parse_tree_symbols
;
101 typedef std::vector
<executable_unit
> executable_units
;
102 typedef std::vector
<binary_operator_type::type
> binary_operator_container
;
104 struct parse_tree_symbol
109 struct parse_tree_unary_operator_node
111 unary_operator_type type
;
112 parse_tree_node argument
;
115 struct parse_tree_binary_operator_node
117 binary_operator_type type
;
123 struct parse_tree_call
125 parse_tree_node function
;
126 parse_tree_nodes arguments
;
129 struct parse_tree_array
131 parse_tree_node elements
;
134 struct parse_tree_node
136 parse_tree_node_type::type type
;
139 parse_tree_symbol
* symbol_pointer
;
140 parse_tree_unary_operator_node
* unary_operator_pointer
;
141 parse_tree_binary_operator_node
* binary_operator_pointer
;
142 parse_tree_call
* call_pointer
;
143 parse_tree_array
* array_pointer
;
147 struct assignment_statement
149 assignment_type::type type
;
150 parse_tree_symbols symbols
;
151 parse_tree_node term
;
156 parse_tree_node conditional_term
;
157 parse_tree_nodes body
;
160 struct if_else_statement
162 parse_tree_node conditional_term
;
168 struct for_each_statement
170 parse_tree_symbol container
;
171 parse_tree_nodes body
;
180 parse_tree_nodes body
;
183 struct while_statement
185 parse_tree_node conditional_term
;
186 parse_tree_nodes body
;
189 struct executable_unit
191 executable_unit_type::type type
;
195 parse_tree_node
* statement_pointer
;
196 if_statement
* if_pointer
;
197 if_else_statement
* if_else_pointer
;
198 for_each_statement
* for_each_pointer
;
199 for_statement
* for_pointer
;
200 while_statement
* while_pointer
;
206 string_vector arguments
;
207 executable_units units
;