absyntax/absyntax.def
changeset 439 cf7d6862033d
parent 438 744b125d911e
child 443 ff4d26b7e51d
equal deleted inserted replaced
438:744b125d911e 439:cf7d6862033d
   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)