stage3/narrow_candidate_datatypes.cc
changeset 810 d9c48ad646f1
parent 808 7a6b53d61ea3
child 813 0630cc31569f
equal deleted inserted replaced
809:9204559768f1 810:d9c48ad646f1
   638 
   638 
   639 /*  string_type_name ':' elementary_string_type_name string_type_declaration_size string_type_declaration_init */
   639 /*  string_type_name ':' elementary_string_type_name string_type_declaration_size string_type_declaration_init */
   640 // SYM_REF4(string_type_declaration_c, string_type_name, elementary_string_type_name, string_type_declaration_size, string_type_declaration_init/* may be == NULL! */) 
   640 // SYM_REF4(string_type_declaration_c, string_type_name, elementary_string_type_name, string_type_declaration_size, string_type_declaration_init/* may be == NULL! */) 
   641 
   641 
   642 
   642 
       
   643 /* structure_type_name ASSIGN structure_initialization */
       
   644 /* structure_initialization may be NULL ! */
       
   645 // SYM_REF2(initialized_structure_c, structure_type_name, structure_initialization)
       
   646 void *narrow_candidate_datatypes_c::visit(fb_spec_init_c *symbol) {return narrow_spec_init(symbol, symbol->function_block_type_name, symbol->structure_initialization);}
   643 
   647 
   644 
   648 
   645 /*********************/
   649 /*********************/
   646 /* B 1.4 - Variables */
   650 /* B 1.4 - Variables */
   647 /*********************/
   651 /*********************/
   715   set_datatype(symbol->located_var_spec_init->datatype, symbol->location);
   719   set_datatype(symbol->located_var_spec_init->datatype, symbol->location);
   716   symbol->location->accept(*this);
   720   symbol->location->accept(*this);
   717   return NULL;
   721   return NULL;
   718 }
   722 }
   719 
   723 
   720 
       
   721 /* fb_name_list ':' function_block_type_name ASSIGN structure_initialization */
       
   722 /* structure_initialization -> may be NULL ! */
       
   723 // SYM_REF3(fb_name_decl_c, fb_name_list, function_block_type_name, structure_initialization)
       
   724 // NOTE: Although the fb_name_decl_c is in section ( B 1.4.3 - Declaration & Initialisation), it is also acting
       
   725 //       as a datatype declaration, so we need to handle it here!
       
   726 void *narrow_candidate_datatypes_c::visit(fb_name_decl_c *symbol) {return narrow_spec_init(symbol, symbol->function_block_type_name, symbol->structure_initialization);}
       
   727 
   724 
   728 
   725 
   729 /************************************/
   726 /************************************/
   730 /* B 1.5 Program organization units */
   727 /* B 1.5 Program organization units */
   731 /************************************/
   728 /************************************/