diff -r 9e8e1ba5ca46 -r 8b2a31dea131 stage4/generate_iec/generate_iec.cc --- a/stage4/generate_iec/generate_iec.cc Sun Jul 06 23:31:08 2014 +0100 +++ b/stage4/generate_iec/generate_iec.cc Sun Jul 13 12:26:58 2014 +0100 @@ -669,10 +669,18 @@ return NULL; } - /* For the moment, we do not support initialising reference data types */ -/* ref_spec_init: ref_spec; */ -/* SYM_REF0(ref_spec_init_c) */ +/* ref_spec_init: ref_spec [ ASSIGN ref_initialization ]; */ +/* NOTE: ref_initialization may be NULL!! */ +// SYM_REF2(ref_spec_init_c, ref_spec, ref_initialization) +void *visit(ref_spec_init_c *symbol) { + symbol->ref_spec->accept(*this); + if (symbol->ref_initialization != NULL) { + s4o.print(" := "); + symbol->ref_initialization->accept(*this); + } + return NULL; +} /* ref_type_decl: identifier ':' ref_spec_init */ // SYM_REF2(ref_type_decl_c, ref_type_name, ref_spec_init)