85 * structure we are. |
85 * structure we are. |
86 */ |
86 */ |
87 // int il_parenthesis_level; |
87 // int il_parenthesis_level; |
88 // bool error_found; |
88 // bool error_found; |
89 |
89 |
|
90 /* This variable was created to pass information from |
|
91 * fill_candidate_datatypes_c::visit(enumerated_spec_init_c *symbol) function to |
|
92 * fill_candidate_datatypes_c::visit(enumerated_value_list_c *symbol) function. |
|
93 */ |
|
94 symbol_c *current_enumerated_spec_type; |
|
95 |
90 /* Pointer to the previous IL instruction, which contains the current data type (actually, the list of candidate data types) of the data stored in the IL stack, i.e. the default variable, a.k.a. accumulator */ |
96 /* Pointer to the previous IL instruction, which contains the current data type (actually, the list of candidate data types) of the data stored in the IL stack, i.e. the default variable, a.k.a. accumulator */ |
91 symbol_c *prev_il_instruction; |
97 symbol_c *prev_il_instruction; |
92 /* the current IL operand being analyzed */ |
98 /* the current IL operand being analyzed */ |
93 symbol_c *il_operand; |
99 symbol_c *il_operand; |
94 symbol_c *widening_conversion(symbol_c *left_type, symbol_c *right_type, const struct widen_entry widen_table[]); |
100 symbol_c *widening_conversion(symbol_c *left_type, symbol_c *right_type, const struct widen_entry widen_table[]); |
169 /* B 1.3 - Data types */ |
175 /* B 1.3 - Data types */ |
170 /**********************/ |
176 /**********************/ |
171 /********************************/ |
177 /********************************/ |
172 /* B 1.3.3 - Derived data types */ |
178 /* B 1.3.3 - Derived data types */ |
173 /********************************/ |
179 /********************************/ |
|
180 // void *visit(data_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */ |
|
181 // void *visit(type_declaration_list_c *symbol); /* Not required. already handled by iterator_visitor_c base class */ |
|
182 // void *visit(simple_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */ |
174 void *visit(simple_spec_init_c *symbol); |
183 void *visit(simple_spec_init_c *symbol); |
|
184 // void *visit(subrange_type_declaration_c *symbol); |
|
185 // void *visit(subrange_spec_init_c *symbol); |
|
186 // void *visit(subrange_specification_c *symbol); |
175 void *visit(subrange_c *symbol); |
187 void *visit(subrange_c *symbol); |
176 // void *visit(data_type_declaration_c *symbol); |
188 // void *visit(enumerated_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */ |
|
189 void *visit(enumerated_spec_init_c *symbol); |
|
190 void *visit(enumerated_value_list_c *symbol); |
177 void *visit(enumerated_value_c *symbol); |
191 void *visit(enumerated_value_c *symbol); |
178 |
192 // void *visit(array_type_declaration_c *symbol); |
|
193 // void *visit(array_spec_init_c *symbol); |
|
194 // void *visit(array_specification_c *symbol); |
|
195 // void *visit(array_subrange_list_c *symbol); |
|
196 // void *visit(array_initial_elements_list_c *symbol); |
|
197 // void *visit(array_initial_elements_c *symbol); |
|
198 // void *visit(structure_type_declaration_c *symbol); |
|
199 // void *visit(initialized_structure_c *symbol); |
|
200 // void *visit(structure_element_declaration_list_c *symbol); |
|
201 // void *visit(structure_element_declaration_c *symbol); |
|
202 // void *visit(structure_element_initialization_list_c *symbol); |
|
203 // void *visit(structure_element_initialization_c *symbol); |
|
204 // void *visit(string_type_declaration_c *symbol); |
|
205 |
|
206 |
179 /*********************/ |
207 /*********************/ |
180 /* B 1.4 - Variables */ |
208 /* B 1.4 - Variables */ |
181 /*********************/ |
209 /*********************/ |
182 void *visit(symbolic_variable_c *symbol); |
210 void *visit(symbolic_variable_c *symbol); |
183 |
211 |