stage3/fill_candidate_datatypes.hh
changeset 945 477393b00f95
parent 940 61e2bdae5899
child 996 c752b113237b
equal deleted inserted replaced
943:566414d7ba1f 945:477393b00f95
    94     void *handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name,   symbol_c *&called_fb_declaration);
    94     void *handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name,   symbol_c *&called_fb_declaration);
    95     void *handle_S_and_R_operator   (symbol_c *symbol,         const char *operator_str, symbol_c *&called_fb_declaration);
    95     void *handle_S_and_R_operator   (symbol_c *symbol,         const char *operator_str, symbol_c *&called_fb_declaration);
    96     void *handle_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    96     void *handle_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    97     void *handle_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    97     void *handle_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    98     void *handle_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    98     void *handle_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    99     void *handle_conditional_il_flow_control_operator(symbol_c *symbol);
    99     void *handle_conditional_il_flow_control_operator   (symbol_c *symbol);
   100     void *fill_type_decl(symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init);
   100     void *fill_type_decl            (symbol_c *symbol,   symbol_c *type_name, symbol_c *spec_init);
   101     void *fill_spec_init(symbol_c *symbol, symbol_c *type_spec, symbol_c *init_value);
   101     void *fill_spec_init            (symbol_c *symbol,   symbol_c *type_spec, symbol_c *init_value);
   102     
   102     void *fill_var_declaration      (symbol_c *var_list, symbol_c *type);
       
   103 
   103     /* a helper function... */
   104     /* a helper function... */
   104     symbol_c *base_type(symbol_c *symbol);    
   105     symbol_c *base_type(symbol_c *symbol);    
   105     
   106     
   106     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */
   107     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */
   107     /* Returns true if it really did add the datatype to the list, or false if it was already present in the list! */
   108     /* Returns true if it really did add the datatype to the list, or false if it was already present in the list! */
   228     void *visit(structured_variable_c *symbol);
   229     void *visit(structured_variable_c *symbol);
   229 
   230 
   230     /******************************************/
   231     /******************************************/
   231     /* B 1.4.3 - Declaration & Initialisation */
   232     /* B 1.4.3 - Declaration & Initialisation */
   232     /******************************************/
   233     /******************************************/
   233     void *visit(var1_list_c *symbol);
   234     void *visit(var1_list_c                  *symbol);
   234     void *visit(location_c *symbol);
   235     void *visit(location_c                   *symbol);
   235     void *visit(located_var_decl_c *symbol);
   236     void *visit(located_var_decl_c           *symbol);
       
   237     void *visit(var1_init_decl_c             *symbol);
       
   238     void *visit(array_var_init_decl_c        *symbol);
       
   239     void *visit(structured_var_init_decl_c   *symbol);
       
   240     void *visit(fb_name_decl_c               *symbol);
       
   241     void *visit(array_var_declaration_c      *symbol);
       
   242     void *visit(structured_var_declaration_c *symbol);
       
   243     void *visit(external_declaration_c       *symbol);
       
   244     void *visit(global_var_decl_c            *symbol);
       
   245     void *visit(incompl_located_var_decl_c   *symbol);
       
   246     //void *visit(single_byte_string_var_declaration_c *symbol);
       
   247     //void *visit(double_byte_string_var_declaration_c *symbol);
   236 
   248 
   237     /**************************************/
   249     /**************************************/
   238     /* B 1.5 - Program organization units */
   250     /* B 1.5 - Program organization units */
   239     /**************************************/
   251     /**************************************/
   240     /***********************/
   252     /***********************/
   258     void *visit(transition_condition_c *symbol);
   270     void *visit(transition_condition_c *symbol);
   259 
   271 
   260     /********************************/
   272     /********************************/
   261     /* B 1.7 Configuration elements */
   273     /* B 1.7 Configuration elements */
   262     /********************************/
   274     /********************************/
   263     void *visit(configuration_declaration_c *symbol);
   275     void *visit(configuration_declaration_c   *symbol);
       
   276     void *visit(resource_declaration_c        *symbol);
       
   277     void *visit(single_resource_declaration_c *symbol);
   264 
   278 
   265     /****************************************/
   279     /****************************************/
   266     /* B.2 - Language IL (Instruction List) */
   280     /* B.2 - Language IL (Instruction List) */
   267     /****************************************/
   281     /****************************************/
   268     /***********************************/
   282     /***********************************/