Fill in the symbol->datatype of elementary datatypes.
--- a/stage3/narrow_candidate_datatypes.cc Thu Jan 10 10:49:50 2013 +0000
+++ b/stage3/narrow_candidate_datatypes.cc Sun Jan 13 14:25:38 2013 +0000
@@ -420,6 +420,60 @@
/**********************/
/* B 1.3 - Data types */
/**********************/
+/***********************************/
+/* B 1.3.1 - Elementary Data Types */
+/***********************************/
+/* NOTE: elementary datatypes are their own basetype ! */
+void *narrow_candidate_datatypes_c::visit( time_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( bool_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( sint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( int_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( dint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( lint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( usint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( uint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( udint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( ulint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( real_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( lreal_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( date_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( tod_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( dt_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( byte_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( word_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( dword_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( lword_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( string_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit( wstring_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+
+void *narrow_candidate_datatypes_c::visit(safetime_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safebool_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safesint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safedint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safelint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeusint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeuint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeudint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeulint_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safereal_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safelreal_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safedate_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safetod_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safedt_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safebyte_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safeword_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safedword_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safelword_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safestring_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+void *narrow_candidate_datatypes_c::visit(safewstring_type_name_c *symbol) {symbol->datatype = search_base_type_c::get_basetype_decl(symbol); return NULL;}
+
+
+/********************************/
+/* B.1.3.2 - Generic data types */
+/********************************/
+/* empty!! */
+
/********************************/
/* B 1.3.3 - Derived data types */
/********************************/
--- a/stage3/narrow_candidate_datatypes.hh Thu Jan 10 10:49:50 2013 +0000
+++ b/stage3/narrow_candidate_datatypes.hh Sun Jan 13 14:25:38 2013 +0000
@@ -93,6 +93,58 @@
/**********************/
/* B 1.3 - Data types */
/**********************/
+ /***********************************/
+ /* B 1.3.1 - Elementary Data Types */
+ /***********************************/
+ void *visit( time_type_name_c *symbol);
+ void *visit( bool_type_name_c *symbol);
+ void *visit( sint_type_name_c *symbol);
+ void *visit( int_type_name_c *symbol);
+ void *visit( dint_type_name_c *symbol);
+ void *visit( lint_type_name_c *symbol);
+ void *visit( usint_type_name_c *symbol);
+ void *visit( uint_type_name_c *symbol);
+ void *visit( udint_type_name_c *symbol);
+ void *visit( ulint_type_name_c *symbol);
+ void *visit( real_type_name_c *symbol);
+ void *visit( lreal_type_name_c *symbol);
+ void *visit( date_type_name_c *symbol);
+ void *visit( tod_type_name_c *symbol);
+ void *visit( dt_type_name_c *symbol);
+ void *visit( byte_type_name_c *symbol);
+ void *visit( word_type_name_c *symbol);
+ void *visit( dword_type_name_c *symbol);
+ void *visit( lword_type_name_c *symbol);
+ void *visit( string_type_name_c *symbol);
+ void *visit( wstring_type_name_c *symbol);
+
+ void *visit(safetime_type_name_c *symbol);
+ void *visit(safebool_type_name_c *symbol);
+ void *visit(safesint_type_name_c *symbol);
+ void *visit(safeint_type_name_c *symbol);
+ void *visit(safedint_type_name_c *symbol);
+ void *visit(safelint_type_name_c *symbol);
+ void *visit(safeusint_type_name_c *symbol);
+ void *visit(safeuint_type_name_c *symbol);
+ void *visit(safeudint_type_name_c *symbol);
+ void *visit(safeulint_type_name_c *symbol);
+ void *visit(safereal_type_name_c *symbol);
+ void *visit(safelreal_type_name_c *symbol);
+ void *visit(safedate_type_name_c *symbol);
+ void *visit(safetod_type_name_c *symbol);
+ void *visit(safedt_type_name_c *symbol);
+ void *visit(safebyte_type_name_c *symbol);
+ void *visit(safeword_type_name_c *symbol);
+ void *visit(safedword_type_name_c *symbol);
+ void *visit(safelword_type_name_c *symbol);
+ void *visit(safestring_type_name_c *symbol);
+ void *visit(safewstring_type_name_c *symbol);
+
+
+ /********************************/
+ /* B.1.3.2 - Generic data types */
+ /********************************/
+
/********************************/
/* B 1.3.3 - Derived data types */
/********************************/