1138 /* B 3.2.2 Subprogram Control Statements */ |
1138 /* B 3.2.2 Subprogram Control Statements */ |
1139 /*****************************************/ |
1139 /*****************************************/ |
1140 /* fb_name '(' [param_assignment_list] ')' */ |
1140 /* fb_name '(' [param_assignment_list] ')' */ |
1141 /* formal_param_list -> may be NULL ! */ |
1141 /* formal_param_list -> may be NULL ! */ |
1142 /* nonformal_param_list -> may be NULL ! */ |
1142 /* nonformal_param_list -> may be NULL ! */ |
1143 /* NOTES: |
1143 /* NOTE: The parameter 'called_fb_declaration'is used to pass data between stage 3 and stage4 (although currently it is not used in stage 4 */ |
1144 * The parameter 'called_fb_declaration'... |
|
1145 * ...is used to pass data between two passes of stage 3. |
|
1146 * (actually set in fill_candidate_datatypes_c, and used in narrow_candidate_datatypes_c and print_datatypes_error_c). |
|
1147 * This allows fill_candidate_datatypes_c to figure out whether it is a valid FB call, |
|
1148 * and let the other classes handle it aproproately. |
|
1149 * It could also be used in stage 4, if required. |
|
1150 */ |
|
1151 // SYM_REF3(fb_invocation_c, fb_name, formal_param_list, nonformal_param_list, symbol_c *called_fb_declaration;) |
1144 // SYM_REF3(fb_invocation_c, fb_name, formal_param_list, nonformal_param_list, symbol_c *called_fb_declaration;) |
1152 void *print_datatypes_error_c::visit(fb_invocation_c *symbol) { |
1145 void *print_datatypes_error_c::visit(fb_invocation_c *symbol) { |
1153 symbol_c *param_value, *param_name; |
1146 symbol_c *param_value, *param_name; |
1154 function_call_param_iterator_c fcp_iterator(symbol); |
1147 function_call_param_iterator_c fcp_iterator(symbol); |
1155 bool function_invocation_error = false; |
1148 bool function_invocation_error = false; |