667 s4o.print("REF_TO "); |
667 s4o.print("REF_TO "); |
668 symbol->type_name->accept(*this); |
668 symbol->type_name->accept(*this); |
669 return NULL; |
669 return NULL; |
670 } |
670 } |
671 |
671 |
672 |
|
673 /* For the moment, we do not support initialising reference data types */ |
672 /* For the moment, we do not support initialising reference data types */ |
674 /* ref_spec_init: ref_spec; */ |
673 /* ref_spec_init: ref_spec [ ASSIGN ref_initialization ]; */ |
675 /* SYM_REF0(ref_spec_init_c) */ |
674 /* NOTE: ref_initialization may be NULL!! */ |
|
675 // SYM_REF2(ref_spec_init_c, ref_spec, ref_initialization) |
|
676 void *visit(ref_spec_init_c *symbol) { |
|
677 symbol->ref_spec->accept(*this); |
|
678 if (symbol->ref_initialization != NULL) { |
|
679 s4o.print(" := "); |
|
680 symbol->ref_initialization->accept(*this); |
|
681 } |
|
682 return NULL; |
|
683 } |
676 |
684 |
677 /* ref_type_decl: identifier ':' ref_spec_init */ |
685 /* ref_type_decl: identifier ':' ref_spec_init */ |
678 // SYM_REF2(ref_type_decl_c, ref_type_name, ref_spec_init) |
686 // SYM_REF2(ref_type_decl_c, ref_type_name, ref_spec_init) |
679 void *visit(ref_type_decl_c *symbol) { |
687 void *visit(ref_type_decl_c *symbol) { |
680 symbol->ref_type_name->accept(*this); |
688 symbol->ref_type_name->accept(*this); |