stage3/fill_candidate_datatypes.hh
changeset 813 0630cc31569f
parent 802 cac262d1d6a5
parent 810 d9c48ad646f1
child 834 783ef40344dd
equal deleted inserted replaced
804:7898ba56c7cf 813:0630cc31569f
    92     void *handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
    92     void *handle_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
    93     void *handle_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    93     void *handle_equality_comparison(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    94     void *handle_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    94     void *handle_binary_expression  (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    95     void *handle_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    95     void *handle_binary_operator    (const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr);
    96     void *handle_conditional_il_flow_control_operator(symbol_c *symbol);
    96     void *handle_conditional_il_flow_control_operator(symbol_c *symbol);
       
    97     void *fill_type_decl(symbol_c *symbol, symbol_c *type_name, symbol_c *spec_init);
       
    98     void *fill_spec_init(symbol_c *symbol, symbol_c *type_spec, symbol_c *init_value);
    97     
    99     
    98     /* a helper function... */
   100     /* a helper function... */
    99     symbol_c *base_type(symbol_c *symbol);    
   101     symbol_c *base_type(symbol_c *symbol);    
   100     
   102     
   101     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */
   103     /* add a data type to a candidate data type list, while guaranteeing no duplicate entries! */
   167     /********************************/
   169     /********************************/
   168     /* B 1.3.3 - Derived data types */
   170     /* B 1.3.3 - Derived data types */
   169     /********************************/
   171     /********************************/
   170 //  void *visit(data_type_declaration_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   172 //  void *visit(data_type_declaration_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   171 //  void *visit(type_declaration_list_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   173 //  void *visit(type_declaration_list_c *symbol);   /* Not required. already handled by iterator_visitor_c base class */
   172 //  void *visit(simple_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */
   174     void *visit(simple_type_declaration_c *symbol); /* Not required. already handled by iterator_visitor_c base class */
   173     void *visit(simple_spec_init_c *symbol);
   175     void *visit(simple_spec_init_c *symbol);
   174 //  void *visit(subrange_type_declaration_c *symbol);
   176     void *visit(subrange_type_declaration_c *symbol);
   175 //  void *visit(subrange_spec_init_c *symbol);
   177     void *visit(subrange_spec_init_c *symbol);
   176 //  void *visit(subrange_specification_c *symbol);
   178 //  void *visit(subrange_specification_c *symbol);
   177     void *visit(subrange_c *symbol);
   179     void *visit(subrange_c *symbol);
   178     void *visit(enumerated_type_declaration_c *symbol);
   180     void *visit(enumerated_type_declaration_c *symbol);
   179     void *visit(enumerated_spec_init_c *symbol);
   181     void *visit(enumerated_spec_init_c *symbol);
   180     void *visit(enumerated_value_list_c *symbol);
   182     void *visit(enumerated_value_list_c *symbol);
   181     void *visit(enumerated_value_c *symbol);
   183     void *visit(enumerated_value_c *symbol);
   182 //  void *visit(array_type_declaration_c *symbol);
   184     void *visit(array_type_declaration_c *symbol);
   183 //  void *visit(array_spec_init_c *symbol);
   185     void *visit(array_spec_init_c *symbol);
   184 //  void *visit(array_specification_c *symbol);
   186 //  void *visit(array_specification_c *symbol);
   185 //  void *visit(array_subrange_list_c *symbol);
   187 //  void *visit(array_subrange_list_c *symbol);
   186 //  void *visit(array_initial_elements_list_c *symbol);
   188 //  void *visit(array_initial_elements_list_c *symbol);
   187 //  void *visit(array_initial_elements_c *symbol);
   189 //  void *visit(array_initial_elements_c *symbol);
   188 //  void *visit(structure_type_declaration_c *symbol);
   190     void *visit(structure_type_declaration_c *symbol);
   189 //  void *visit(initialized_structure_c *symbol);
   191     void *visit(initialized_structure_c *symbol);
   190 //  void *visit(structure_element_declaration_list_c *symbol);
   192 //  void *visit(structure_element_declaration_list_c *symbol);
   191 //  void *visit(structure_element_declaration_c *symbol);
   193 //  void *visit(structure_element_declaration_c *symbol);
   192 //  void *visit(structure_element_initialization_list_c *symbol);
   194 //  void *visit(structure_element_initialization_list_c *symbol);
   193 //  void *visit(structure_element_initialization_c *symbol);
   195 //  void *visit(structure_element_initialization_c *symbol);
   194 //  void *visit(string_type_declaration_c *symbol);
   196 //  void *visit(string_type_declaration_c *symbol);
       
   197     void *visit(fb_spec_init_c *symbol);
   195 
   198 
   196     
   199     
   197     /*********************/
   200     /*********************/
   198     /* B 1.4 - Variables */
   201     /* B 1.4 - Variables */
   199     /*********************/
   202     /*********************/
   214     /* B 1.4.3 - Declaration & Initialisation */
   217     /* B 1.4.3 - Declaration & Initialisation */
   215     /******************************************/
   218     /******************************************/
   216     void *visit(var1_list_c *symbol);
   219     void *visit(var1_list_c *symbol);
   217     void *visit(location_c *symbol);
   220     void *visit(location_c *symbol);
   218     void *visit(located_var_decl_c *symbol);
   221     void *visit(located_var_decl_c *symbol);
   219 
       
   220 
   222 
   221     /**************************************/
   223     /**************************************/
   222     /* B 1.5 - Program organization units */
   224     /* B 1.5 - Program organization units */
   223     /**************************************/
   225     /**************************************/
   224     /***********************/
   226     /***********************/