stage4/generate_iec/generate_iec.cc
changeset 547 dab341e80664
parent 459 01f6664bf8c5
child 580 b6350d9f204d
equal deleted inserted replaced
546:8cc4c51c4bfc 547:dab341e80664
   232   return NULL;
   232   return NULL;
   233 }
   233 }
   234 
   234 
   235 void *visit(fixed_point_c *symbol) {return print_token(symbol);}
   235 void *visit(fixed_point_c *symbol) {return print_token(symbol);}
   236 
   236 
   237 void *visit(days_c *symbol) {
   237 /* SYM_REF5(interval_c, days, hours, minutes, seconds, milliseconds) */
   238   symbol->days->accept(*this);
   238 void *visit(interval_c *symbol) {
   239   s4o.print("d");
   239   if (NULL != symbol->days) {
   240   if (symbol->hours != NULL)
   240     symbol->days->accept(*this);
       
   241     s4o.print("d");
       
   242   }
       
   243 
       
   244   if (NULL != symbol->hours) {
   241     symbol->hours->accept(*this);
   245     symbol->hours->accept(*this);
   242   return NULL;
   246     s4o.print("h");
   243 }
   247   }
   244 
   248 
   245 void *visit(hours_c *symbol) {
   249   if (NULL != symbol->minutes) {
   246   symbol->hours->accept(*this);
       
   247   s4o.print("h");
       
   248   if (symbol->minutes != NULL)
       
   249     symbol->minutes->accept(*this);
   250     symbol->minutes->accept(*this);
   250   return NULL;
   251     s4o.print("m");
   251 }
   252   }
   252 
   253 
   253 void *visit(minutes_c *symbol) {
   254   if (NULL != symbol->seconds) {
   254   symbol->minutes->accept(*this);
       
   255   s4o.print("m");
       
   256   if (symbol->seconds != NULL)
       
   257     symbol->seconds->accept(*this);
   255     symbol->seconds->accept(*this);
   258   return NULL;
   256     s4o.print("s");
   259 }
   257   }
   260 
   258 
   261 void *visit(seconds_c *symbol) {
   259   if (NULL != symbol->milliseconds) {
   262   symbol->seconds->accept(*this);
       
   263   s4o.print("s");
       
   264   if (symbol->milliseconds != NULL)
       
   265     symbol->milliseconds->accept(*this);
   260     symbol->milliseconds->accept(*this);
   266   return NULL;
   261     s4o.print("ms");
   267 }
   262   }
   268 
   263 
   269 void *visit(milliseconds_c *symbol) {
   264   return NULL;
   270   symbol->milliseconds->accept(*this);
   265 }
   271   s4o.print("ms");
   266 
   272   return NULL;
   267 
   273 }
       
   274 
   268 
   275 /************************************/
   269 /************************************/
   276 /* B 1.2.3.2 - Time of day and Date */
   270 /* B 1.2.3.2 - Time of day and Date */
   277 /************************************/
   271 /************************************/
   278 
   272