--- a/absyntax_utils/search_base_type.cc Sun Jul 06 23:31:08 2014 +0100
+++ b/absyntax_utils/search_base_type.cc Sun Jul 13 12:26:58 2014 +0100
@@ -361,7 +361,7 @@
string_type_declaration_size,
string_type_declaration_init) // may be == NULL!
*/
-void *search_base_type_c::visit(string_type_declaration_c *symbol) {return (void *)symbol;}
+void *search_base_type_c::visit(string_type_declaration_c *symbol) {return (void *)symbol;}
/* function_block_type_name ASSIGN structure_initialization */
@@ -373,6 +373,27 @@
+/* ref_spec: REF_TO (non_generic_type_name | function_block_type_name) */
+// SYM_REF1(ref_spec_c, type_name)
+void *search_base_type_c::visit(ref_spec_c *symbol) {return (void *)symbol;}
+
+/* For the moment, we do not support initialising reference data types */
+/* 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 *search_base_type_c::visit(ref_spec_init_c *symbol) {
+ return symbol->ref_spec->accept(*this);
+}
+
+/* ref_type_decl: identifier ':' ref_spec_init */
+// SYM_REF2(ref_type_decl_c, ref_type_name, ref_spec_init)
+void *search_base_type_c::visit(ref_type_decl_c *symbol) {
+ this->current_basetype_name = symbol->ref_type_name;
+ return symbol->ref_spec_init->accept(*this);
+}
+
+
+
/*****************************/
/* B 1.5.2 - Function Blocks */
/*****************************/