stage3/visit_expression_type.hh
changeset 375 7a11f9e9e703
parent 360 f4ce1b1c2112
child 390 9cf96d45853d
equal deleted inserted replaced
349:b826f13c260e 375:7a11f9e9e703
   188     /* check semantics of FB call in the IL language using input operators */
   188     /* check semantics of FB call in the IL language using input operators */
   189     /* e.g. CU, CLK, IN, PT, SR, ...                                       */
   189     /* e.g. CU, CLK, IN, PT, SR, ...                                       */
   190     void check_il_fbcall(symbol_c *symbol, const char *input_operator);
   190     void check_il_fbcall(symbol_c *symbol, const char *input_operator);
   191     /* check the semantics of a FB or Function non-formal call */
   191     /* check the semantics of a FB or Function non-formal call */
   192     /* e.g. foo(1, 2, 3, 4);  */
   192     /* e.g. foo(1, 2, 3, 4);  */
   193     void check_nonformal_call(symbol_c *f_call, symbol_c *f_decl, bool use_il_defvar = false);
   193     /* If error_count pointer is NULL, print out error messages.
       
   194      * If error_count pointer is != NULL, do not print out error messages, but tally up
       
   195      * how many errors were found.
       
   196      */
       
   197     void check_nonformal_call(symbol_c *f_call, symbol_c *f_decl, bool use_il_defvar = false, int *error_count = NULL);
   194     /* check the semantics of a FB or Function formal call */
   198     /* check the semantics of a FB or Function formal call */
   195     /* e.g. foo(IN1 := 1, OUT1 =>x, EN := true);  */
   199     /* e.g. foo(IN1 := 1, OUT1 =>x, EN := true);  */
   196     void check_formal_call(symbol_c *f_call, symbol_c *f_decl);
   200     /* If error_count pointer is NULL, print out error messages.
       
   201      * If error_count pointer is != NULL, do not print out error messages, but tally up
       
   202      * how many errors were found.
       
   203      */
       
   204     void check_formal_call(symbol_c *f_call, symbol_c *f_decl, int *error_count = NULL);
   197 
   205 
   198 
   206 
   199     void *compute_standard_function_default(function_invocation_c *st_symbol, il_formal_funct_call_c *il_symbol);
   207     void *compute_standard_function_default(function_invocation_c *st_symbol, il_formal_funct_call_c *il_symbol);
   200     void *compute_standard_function_il(il_function_call_c *symbol, symbol_c *param_data_type);
   208     void *compute_standard_function_il(il_function_call_c *symbol, symbol_c *param_data_type);
   201 
   209 
   204     typedef bool (visit_expression_type_c::*is_data_type_t)(symbol_c *type_symbol);  /* a pointer to a function! */
   212     typedef bool (visit_expression_type_c::*is_data_type_t)(symbol_c *type_symbol);  /* a pointer to a function! */
   205 //    symbol_c *compute_boolean_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   213 //    symbol_c *compute_boolean_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   206 //    symbol_c *compute_numeric_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   214 //    symbol_c *compute_numeric_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   207 //    symbol_c *compute_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   215 //    symbol_c *compute_expression(symbol_c *left_exp, symbol_c *right_exp, is_data_type_t is_data_type);
   208     symbol_c *compute_expression(symbol_c *left_type, symbol_c *right_type, is_data_type_t is_data_type,
   216     symbol_c *compute_expression(symbol_c *left_type, symbol_c *right_type, is_data_type_t is_data_type,
   209                                  symbol_c *left_expr=NULL, symbol_c *right_expr=NULL);
   217                                  symbol_c *left_expr, symbol_c *right_expr);
   210 
   218 
   211 
   219 
   212     /* a helper function... */
   220     /* a helper function... */
   213     symbol_c *base_type(symbol_c *symbol);
   221     symbol_c *base_type(symbol_c *symbol);
   214 
   222