stage4/generate_iec/generate_iec.cc
changeset 813 0630cc31569f
parent 810 d9c48ad646f1
child 862 2b6b1202f8a8
equal deleted inserted replaced
804:7898ba56c7cf 813:0630cc31569f
   631   if (symbol->string_type_declaration_init != NULL)
   631   if (symbol->string_type_declaration_init != NULL)
   632     symbol->string_type_declaration_init->accept(*this);
   632     symbol->string_type_declaration_init->accept(*this);
   633   return NULL;
   633   return NULL;
   634 }
   634 }
   635 
   635 
   636 
   636 /*  function_block_type_name ASSIGN structure_initialization */
       
   637 /* structure_initialization -> may be NULL ! */
       
   638 void *visit(fb_spec_init_c *symbol) {
       
   639   symbol->function_block_type_name->accept(*this);
       
   640   if (symbol->structure_initialization != NULL) {
       
   641     s4o.print(" := ");
       
   642     symbol->structure_initialization->accept(*this);
       
   643   }
       
   644   return NULL;
       
   645 }
   637 
   646 
   638 
   647 
   639 
   648 
   640 /*********************/
   649 /*********************/
   641 /* B 1.4 - Variables */
   650 /* B 1.4 - Variables */
   720 /* EN : BOOL := 1 */
   729 /* EN : BOOL := 1 */
   721 void *visit(en_param_declaration_c *symbol) {
   730 void *visit(en_param_declaration_c *symbol) {
   722   if (typeid(*(symbol->method)) == typeid(explicit_definition_c)) {
   731   if (typeid(*(symbol->method)) == typeid(explicit_definition_c)) {
   723     symbol->name->accept(*this);
   732     symbol->name->accept(*this);
   724     s4o.print(" : ");
   733     s4o.print(" : ");
   725     symbol->type->accept(*this);
   734     symbol->type_decl->accept(*this);
   726     s4o.print(" := ");
       
   727     symbol->value->accept(*this);
       
   728   }
   735   }
   729   return NULL;
   736   return NULL;
   730 }
   737 }
   731 
   738 
   732 /* ENO : BOOL */
   739 /* ENO : BOOL */
   812 /* name_list ':' function_block_type_name ASSIGN structure_initialization */
   819 /* name_list ':' function_block_type_name ASSIGN structure_initialization */
   813 /* structure_initialization -> may be NULL ! */
   820 /* structure_initialization -> may be NULL ! */
   814 void *visit(fb_name_decl_c *symbol) {
   821 void *visit(fb_name_decl_c *symbol) {
   815   symbol->fb_name_list->accept(*this);
   822   symbol->fb_name_list->accept(*this);
   816   s4o.print(" : ");
   823   s4o.print(" : ");
   817   symbol->function_block_type_name->accept(*this);
   824   symbol->fb_spec_init->accept(*this);
   818   if (symbol->structure_initialization != NULL) {
       
   819     s4o.print(" := ");
       
   820     symbol->structure_initialization->accept(*this);
       
   821   }
       
   822   return NULL;
   825   return NULL;
   823 }
   826 }
   824 
   827 
   825 /* name_list ',' fb_name */
   828 /* name_list ',' fb_name */
   826 void *visit(fb_name_list_c *symbol) {return print_list(symbol, "", ", ");}
   829 void *visit(fb_name_list_c *symbol) {return print_list(symbol, "", ", ");}