stage4/generate_iec/generate_iec.cc
changeset 813 0630cc31569f
parent 810 d9c48ad646f1
child 862 2b6b1202f8a8
--- a/stage4/generate_iec/generate_iec.cc	Mon Mar 11 12:54:25 2013 +0100
+++ b/stage4/generate_iec/generate_iec.cc	Thu Apr 04 09:45:11 2013 +0900
@@ -633,7 +633,16 @@
   return NULL;
 }
 
-
+/*  function_block_type_name ASSIGN structure_initialization */
+/* structure_initialization -> may be NULL ! */
+void *visit(fb_spec_init_c *symbol) {
+  symbol->function_block_type_name->accept(*this);
+  if (symbol->structure_initialization != NULL) {
+    s4o.print(" := ");
+    symbol->structure_initialization->accept(*this);
+  }
+  return NULL;
+}
 
 
 
@@ -722,9 +731,7 @@
   if (typeid(*(symbol->method)) == typeid(explicit_definition_c)) {
     symbol->name->accept(*this);
     s4o.print(" : ");
-    symbol->type->accept(*this);
-    s4o.print(" := ");
-    symbol->value->accept(*this);
+    symbol->type_decl->accept(*this);
   }
   return NULL;
 }
@@ -814,11 +821,7 @@
 void *visit(fb_name_decl_c *symbol) {
   symbol->fb_name_list->accept(*this);
   s4o.print(" : ");
-  symbol->function_block_type_name->accept(*this);
-  if (symbol->structure_initialization != NULL) {
-    s4o.print(" := ");
-    symbol->structure_initialization->accept(*this);
-  }
+  symbol->fb_spec_init->accept(*this);
   return NULL;
 }