640 elementary_string_type_name, |
640 elementary_string_type_name, |
641 string_type_declaration_size, |
641 string_type_declaration_size, |
642 string_type_declaration_init) /* may be == NULL! */ |
642 string_type_declaration_init) /* may be == NULL! */ |
643 #endif |
643 #endif |
644 |
644 |
|
645 |
|
646 |
|
647 /* ref_spec: REF_TO (non_generic_type_name | function_block_type_name) */ |
|
648 // SYM_REF1(ref_spec_c, type_name) |
|
649 void *visit(ref_spec_c *symbol) { |
|
650 return symbol->type_name->accept(*this); |
|
651 } |
|
652 |
|
653 /* For the moment, we do not support initialising reference data types */ |
|
654 /* ref_spec_init: ref_spec [ ASSIGN ref_initialization ] */ |
|
655 /* NOTE: ref_initialization may be NULL!! */ |
|
656 // SYM_REF2(ref_spec_init_c, ref_spec, ref_initialization) |
|
657 void *visit(ref_spec_init_c *symbol) { |
|
658 return symbol->ref_spec->accept(*this); |
|
659 } |
|
660 |
|
661 /* ref_type_decl: identifier ':' ref_spec_init */ |
|
662 // SYM_REF2(ref_type_decl_c, ref_type_name, ref_spec_init) |
|
663 void *visit(ref_type_decl_c *symbol) { |
|
664 TRACE("ref_type_decl_c"); |
|
665 |
|
666 current_type_name = NULL; |
|
667 current_typedefinition = none_td; |
|
668 |
|
669 s4o_incl.print("__DECLARE_REFTO_TYPE("); |
|
670 symbol->ref_type_name->accept(*basedecl); |
|
671 s4o_incl.print(", "); |
|
672 symbol->ref_spec_init->accept(*this); |
|
673 s4o_incl.print(") "); |
|
674 |
|
675 current_type_name = NULL; |
|
676 current_typedefinition = none_td; |
|
677 |
|
678 return NULL; |
|
679 } |
|
680 |
|
681 |
|
682 |
|
683 |
|
684 |
|
685 |
|
686 |
645 /*********************/ |
687 /*********************/ |
646 /* B 1.4 - Variables */ |
688 /* B 1.4 - Variables */ |
647 /*********************/ |
689 /*********************/ |
648 /* done in base class(es) */ |
690 /* done in base class(es) */ |
649 |
691 |