936 * | il_call_operator prev_declared_fb_name '(' ')' |
936 * | il_call_operator prev_declared_fb_name '(' ')' |
937 * | il_call_operator prev_declared_fb_name '(' eol_list ')' |
937 * | il_call_operator prev_declared_fb_name '(' eol_list ')' |
938 * | il_call_operator prev_declared_fb_name '(' il_operand_list ')' |
938 * | il_call_operator prev_declared_fb_name '(' il_operand_list ')' |
939 * | il_call_operator prev_declared_fb_name '(' eol_list il_param_list ')' |
939 * | il_call_operator prev_declared_fb_name '(' eol_list il_param_list ')' |
940 */ |
940 */ |
941 SYM_REF4(il_fb_call_c, il_call_operator, fb_name, il_operand_list, il_param_list) |
941 /* 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 */ |
|
942 SYM_REF4(il_fb_call_c, il_call_operator, fb_name, il_operand_list, il_param_list, symbol_c *called_fb_declaration;) |
942 |
943 |
943 |
944 |
944 /* | function_name '(' eol_list [il_param_list] ')' */ |
945 /* | function_name '(' eol_list [il_param_list] ')' */ |
945 /* NOTE: The parameter 'called_function_declaration', 'extensible_param_count' and 'candidate_functions' are used to pass data between the stage 3 and stage 4. |
946 /* NOTE: The parameter 'called_function_declaration', 'extensible_param_count' and 'candidate_functions' are used to pass data between the stage 3 and stage 4. |
946 * See the comment above function_invocation_c for more details. |
947 * See the comment above function_invocation_c for more details. |
1097 SYM_REF0(return_statement_c) |
1098 SYM_REF0(return_statement_c) |
1098 |
1099 |
1099 /* fb_name '(' [param_assignment_list] ')' */ |
1100 /* fb_name '(' [param_assignment_list] ')' */ |
1100 /* formal_param_list -> may be NULL ! */ |
1101 /* formal_param_list -> may be NULL ! */ |
1101 /* nonformal_param_list -> may be NULL ! */ |
1102 /* nonformal_param_list -> may be NULL ! */ |
1102 /* NOTES: |
1103 /* 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 */ |
1103 * The parameter 'called_fb_declaration'... |
|
1104 * ...is used to pass data between two passes of stage 3. |
|
1105 * (actually set in fill_candidate_datatypes_c, and used in narrow_candidate_datatypes_c and print_datatypes_error_c). |
|
1106 * This allows fill_candidate_datatypes_c to figure out whether it is a valid FB call, |
|
1107 * and let the other classes handle it aproproately. |
|
1108 * It could also be used in stage 4, if required. |
|
1109 */ |
|
1110 SYM_REF3(fb_invocation_c, fb_name, formal_param_list, nonformal_param_list, symbol_c *called_fb_declaration;) |
1104 SYM_REF3(fb_invocation_c, fb_name, formal_param_list, nonformal_param_list, symbol_c *called_fb_declaration;) |
1111 |
1105 |
1112 /* helper symbol for fb_invocation */ |
1106 /* helper symbol for fb_invocation */ |
1113 /* param_assignment_list ',' param_assignment */ |
1107 /* param_assignment_list ',' param_assignment */ |
1114 SYM_LIST(param_assignment_list_c) |
1108 SYM_LIST(param_assignment_list_c) |