stage3/narrow_candidate_datatypes.cc
changeset 802 cac262d1d6a5
parent 798 d21e598b0b75
child 813 0630cc31569f
equal deleted inserted replaced
800:2481fffe6e58 802:cac262d1d6a5
   753 	delete search_varfb_instance_type;
   753 	delete search_varfb_instance_type;
   754 	search_varfb_instance_type = NULL;
   754 	search_varfb_instance_type = NULL;
   755 	return NULL;
   755 	return NULL;
   756 }
   756 }
   757 
   757 
       
   758 /********************************************/
       
   759 /* B 1.6 Sequential function chart elements */
       
   760 /********************************************/
       
   761 
       
   762 void *narrow_candidate_datatypes_c::visit(transition_condition_c *symbol) {
       
   763 	if (symbol->candidate_datatypes.size() != 1)
       
   764 		return NULL;
       
   765 	symbol->datatype = symbol->candidate_datatypes[0];
       
   766 	if (symbol->transition_condition_il != NULL) {
       
   767 		symbol->transition_condition_il->datatype = symbol->datatype;
       
   768 		symbol->transition_condition_il->accept(*this);
       
   769 	}
       
   770 	if (symbol->transition_condition_st != NULL) {
       
   771 		symbol->transition_condition_st->datatype = symbol->datatype;
       
   772 		symbol->transition_condition_st->accept(*this);
       
   773 	}
       
   774 	return NULL;
       
   775 }
   758 
   776 
   759 /********************************/
   777 /********************************/
   760 /* B 1.7 Configuration elements */
   778 /* B 1.7 Configuration elements */
   761 /********************************/
   779 /********************************/
   762 void *narrow_candidate_datatypes_c::visit(configuration_declaration_c *symbol) {
   780 void *narrow_candidate_datatypes_c::visit(configuration_declaration_c *symbol) {