stage3/fill_candidate_datatypes.hh
changeset 479 a174d61f2087
parent 478 b13feab3b918
child 487 1619b2fe03e1
equal deleted inserted replaced
478:b13feab3b918 479:a174d61f2087
    81     symbol_c *il_operand;
    81     symbol_c *il_operand;
    82     symbol_c *widening_conversion(symbol_c *left_type, symbol_c *right_type, const struct widen_entry widen_table[]);
    82     symbol_c *widening_conversion(symbol_c *left_type, symbol_c *right_type, const struct widen_entry widen_table[]);
    83 
    83 
    84     /* Match a function declaration with a function call through their parameters.*/
    84     /* Match a function declaration with a function call through their parameters.*/
    85     /* returns true if compatible function/FB invocation, otherwise returns false */
    85     /* returns true if compatible function/FB invocation, otherwise returns false */
    86     bool match_nonformal_call(symbol_c *f_call, symbol_c *f_decl);
    86     bool  match_nonformal_call(symbol_c *f_call, symbol_c *f_decl);
    87     bool match_formal_call   (symbol_c *f_call, symbol_c *f_decl, symbol_c **first_param_datatype = NULL);
    87     bool  match_formal_call   (symbol_c *f_call, symbol_c *f_decl, symbol_c **first_param_datatype = NULL);
    88     void handle_function_call(symbol_c *fcall, generic_function_call_t fcall_data);
    88     void  handle_function_call(symbol_c *fcall, generic_function_call_t fcall_data);
    89     void handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
    89     void  handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
       
    90     void *handle_binary_expression(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
       
    91     void *handle_binary_operator  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    90     
    92     
    91     /* a helper function... */
    93     /* a helper function... */
    92     symbol_c *base_type(symbol_c *symbol);    
    94     symbol_c *base_type(symbol_c *symbol);    
    93     
    95     
    94     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */
    96     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */