stage4/generate_c/search_constant_type.cc
changeset 152 efc510145ab2
parent 70 e1f0ebd2d9ec
child 177 697562a5da7c
equal deleted inserted replaced
151:3b898fb11e73 152:efc510145ab2
    64   static time_type_name_c     time_type_name;
    64   static time_type_name_c     time_type_name;
    65   static int_type_name_c     int_type_name;
    65   static int_type_name_c     int_type_name;
    66 
    66 
    67   static constant_real_type_name_c     constant_real_type_name;
    67   static constant_real_type_name_c     constant_real_type_name;
    68   static constant_int_type_name_c      constant_int_type_name;
    68   static constant_int_type_name_c      constant_int_type_name;
       
    69   static direct_variable_type_name_c   direct_variable_type_name;
    69 
    70 
    70   public:
    71   public:
    71     symbol_c *get_type(symbol_c *constant) {
    72     symbol_c *get_type(symbol_c *constant) {
    72       return (symbol_c *)constant->accept(*this);
    73       return (symbol_c *)constant->accept(*this);
    73     }
    74     }
    74 
    75 
    75   public:
    76   public:
       
    77 
    76 /*********************/
    78 /*********************/
    77 /* B 1.2 - Constants */
    79 /* B 1.2 - Constants */
    78 /*********************/
    80 /*********************/
    79 
    81 
    80 /******************************/
    82 /******************************/
   126     void *visit(date_c *symbol) {return (void *)&date_type_name;}
   128     void *visit(date_c *symbol) {return (void *)&date_type_name;}
   127     void *visit(date_literal_c *symbol) {ERROR; return NULL;}  /* this member function should never be called. */
   129     void *visit(date_literal_c *symbol) {ERROR; return NULL;}  /* this member function should never be called. */
   128     void *visit(date_and_time_c *symbol) {return (void *)&dt_type_name;}
   130     void *visit(date_and_time_c *symbol) {return (void *)&dt_type_name;}
   129 };
   131 };
   130 
   132 
   131 
       
   132 real_type_name_c     search_constant_type_c::real_type_name;
   133 real_type_name_c     search_constant_type_c::real_type_name;
   133 sint_type_name_c     search_constant_type_c::sint_type_name;
   134 sint_type_name_c     search_constant_type_c::sint_type_name;
   134 lint_type_name_c     search_constant_type_c::lint_type_name;
   135 lint_type_name_c     search_constant_type_c::lint_type_name;
   135 dint_type_name_c     search_constant_type_c::dint_type_name;
   136 dint_type_name_c     search_constant_type_c::dint_type_name;
   136 date_type_name_c     search_constant_type_c::date_type_name;
   137 date_type_name_c     search_constant_type_c::date_type_name;
   151 time_type_name_c     search_constant_type_c::time_type_name;
   152 time_type_name_c     search_constant_type_c::time_type_name;
   152 int_type_name_c     search_constant_type_c::int_type_name;
   153 int_type_name_c     search_constant_type_c::int_type_name;
   153 
   154 
   154 constant_real_type_name_c     search_constant_type_c::constant_real_type_name;
   155 constant_real_type_name_c     search_constant_type_c::constant_real_type_name;
   155 constant_int_type_name_c      search_constant_type_c::constant_int_type_name;
   156 constant_int_type_name_c      search_constant_type_c::constant_int_type_name;
       
   157 direct_variable_type_name_c   search_constant_type_c::direct_variable_type_name;
   156 
   158 
   157 
   159 
   158 
   160 
   159 
   161 
   160 
   162