diff -r 9204559768f1 -r d9c48ad646f1 stage4/generate_iec/generate_iec.cc --- a/stage4/generate_iec/generate_iec.cc Tue Feb 05 17:40:23 2013 +0000 +++ b/stage4/generate_iec/generate_iec.cc Wed Feb 13 18:56:25 2013 +0000 @@ -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; +} @@ -812,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; }