69 il_instruction_c *fake_prev_il_instruction; |
69 il_instruction_c *fake_prev_il_instruction; |
70 il_instruction_c *current_il_instruction; |
70 il_instruction_c *current_il_instruction; |
71 |
71 |
72 bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool *deprecated_status = NULL); |
72 bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool *deprecated_status = NULL); |
73 |
73 |
74 void narrow_function_invocation(symbol_c *f_call, generic_function_call_t fcall_data); |
74 void *narrow_spec_init (symbol_c *symbol, symbol_c *type_decl, symbol_c *init_value); |
75 void narrow_nonformal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); |
75 void *narrow_type_decl (symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init); |
76 void narrow_formal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); |
76 void narrow_function_invocation (symbol_c *f_call, generic_function_call_t fcall_data); |
77 void *narrow_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration); |
77 void narrow_nonformal_call (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); |
78 |
78 void narrow_formal_call (symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); |
79 void *handle_il_instruction(symbol_c *symbol); |
79 void *narrow_implicit_il_fb_call (symbol_c *symbol, const char *param_name, symbol_c *&called_fb_declaration); |
|
80 void *narrow_S_and_R_operator (symbol_c *symbol, const char *param_name, symbol_c * called_fb_declaration); |
|
81 void *narrow_store_operator (symbol_c *symbol); |
|
82 void *narrow_conditional_operator(symbol_c *symbol); |
80 void *narrow_binary_operator (const struct widen_entry widen_table[], symbol_c *symbol, bool *deprecated_operation = NULL); |
83 void *narrow_binary_operator (const struct widen_entry widen_table[], symbol_c *symbol, bool *deprecated_operation = NULL); |
81 void *narrow_binary_expression (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false); |
84 void *narrow_binary_expression (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL, bool allow_enums = false); |
82 void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL); |
85 void *narrow_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL); |
83 |
86 |
84 void *narrow_spec_init(symbol_c *symbol, symbol_c *type_decl, symbol_c *init_value); |
87 void *set_il_operand_datatype (symbol_c *il_operand, symbol_c *datatype); |
85 void *narrow_type_decl(symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init); |
88 |
86 |
|
87 void *narrow_conditional_flow_control_IL_instruction(symbol_c *symbol); |
|
88 |
89 |
89 |
90 |
90 public: |
91 public: |
91 narrow_candidate_datatypes_c(symbol_c *ignore); |
92 narrow_candidate_datatypes_c(symbol_c *ignore); |
92 virtual ~narrow_candidate_datatypes_c(void); |
93 virtual ~narrow_candidate_datatypes_c(void); |
179 void *visit(fb_spec_init_c *symbol); |
180 void *visit(fb_spec_init_c *symbol); |
180 |
181 |
181 /*********************/ |
182 /*********************/ |
182 /* B 1.4 - Variables */ |
183 /* B 1.4 - Variables */ |
183 /*********************/ |
184 /*********************/ |
|
185 void *visit(symbolic_variable_c *symbol); |
184 /********************************************/ |
186 /********************************************/ |
185 /* B 1.4.1 - Directly Represented Variables */ |
187 /* B 1.4.1 - Directly Represented Variables */ |
186 /********************************************/ |
188 /********************************************/ |
187 /*************************************/ |
189 /*************************************/ |
188 /* B 1.4.2 - Multi-element variables */ |
190 /* B 1.4.2 - Multi-element variables */ |
189 /*************************************/ |
191 /*************************************/ |
190 void *visit(array_variable_c *symbol); |
192 void *visit(array_variable_c *symbol); |
191 void *visit(subscript_list_c *symbol); |
193 void *visit(subscript_list_c *symbol); |
|
194 void *visit(structured_variable_c *symbol); |
192 |
195 |
193 /******************************************/ |
196 /******************************************/ |
194 /* B 1.4.3 - Declaration & Initialisation */ |
197 /* B 1.4.3 - Declaration & Initialisation */ |
195 /******************************************/ |
198 /******************************************/ |
196 void *visit(var1_list_c *symbol); |
199 void *visit(var1_list_c *symbol); |
212 |
215 |
213 /**********************/ |
216 /**********************/ |
214 /* B 1.5.3 - Programs */ |
217 /* B 1.5.3 - Programs */ |
215 /**********************/ |
218 /**********************/ |
216 void *visit(program_declaration_c *symbol); |
219 void *visit(program_declaration_c *symbol); |
|
220 |
|
221 /********************************************/ |
|
222 /* B 1.6 Sequential function chart elements */ |
|
223 /********************************************/ |
|
224 |
|
225 void *visit(transition_condition_c *symbol); |
217 |
226 |
218 /********************************/ |
227 /********************************/ |
219 /* B 1.7 Configuration elements */ |
228 /* B 1.7 Configuration elements */ |
220 /********************************/ |
229 /********************************/ |
221 void *visit(configuration_declaration_c *symbol); |
230 void *visit(configuration_declaration_c *symbol); |