stage3/print_datatypes_error.cc
changeset 490 29f6ab0bf954
parent 487 1619b2fe03e1
child 491 6f4083fe169e
equal deleted inserted replaced
489:2c874cccbb44 490:29f6ab0bf954
   990 void *print_datatypes_error_c::visit(   add_expression_c *symbol) {return print_binary_expression_errors( "+" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   990 void *print_datatypes_error_c::visit(   add_expression_c *symbol) {return print_binary_expression_errors( "+" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   991 void *print_datatypes_error_c::visit(   sub_expression_c *symbol) {return print_binary_expression_errors( "-" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   991 void *print_datatypes_error_c::visit(   sub_expression_c *symbol) {return print_binary_expression_errors( "-" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   992 void *print_datatypes_error_c::visit(   mul_expression_c *symbol) {return print_binary_expression_errors( "*" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   992 void *print_datatypes_error_c::visit(   mul_expression_c *symbol) {return print_binary_expression_errors( "*" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   993 void *print_datatypes_error_c::visit(   div_expression_c *symbol) {return print_binary_expression_errors( "/" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   993 void *print_datatypes_error_c::visit(   div_expression_c *symbol) {return print_binary_expression_errors( "/" , symbol, symbol->l_exp, symbol->r_exp, symbol->deprecated_operation);}
   994 void *print_datatypes_error_c::visit(   mod_expression_c *symbol) {return print_binary_expression_errors("MOD", symbol, symbol->l_exp, symbol->r_exp);}
   994 void *print_datatypes_error_c::visit(   mod_expression_c *symbol) {return print_binary_expression_errors("MOD", symbol, symbol->l_exp, symbol->r_exp);}
   995 
   995 void *print_datatypes_error_c::visit( power_expression_c *symbol) {return print_binary_expression_errors( "**", symbol, symbol->l_exp, symbol->r_exp);}
   996 
       
   997 void *print_datatypes_error_c::visit(power_expression_c *symbol) {
       
   998 	symbol->l_exp->accept(*this);
       
   999 	symbol->r_exp->accept(*this);
       
  1000 	if ((symbol->candidate_datatypes.size() == 0) 		&&
       
  1001 		(symbol->l_exp->candidate_datatypes.size() > 0)	&&
       
  1002 		(symbol->r_exp->candidate_datatypes.size() > 0))
       
  1003 		STAGE3_ERROR(0, symbol, symbol, "Data type mismatch for '**' expression.");
       
  1004 	return NULL;
       
  1005 }
       
  1006 
   996 
  1007 
   997 
  1008 void *print_datatypes_error_c::visit(neg_expression_c *symbol) {
   998 void *print_datatypes_error_c::visit(neg_expression_c *symbol) {
  1009 	symbol->exp->accept(*this);
   999 	symbol->exp->accept(*this);
  1010 	if ((symbol->candidate_datatypes.size() == 0)      &&
  1000 	if ((symbol->candidate_datatypes.size() == 0)      &&