--- 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;
}