stage3/stage3.cc
changeset 508 dc6906338042
parent 444 92d40d2a7adc
child 510 9317e04c1dde
equal deleted inserted replaced
507:30b31d8f6d0f 508:dc6906338042
    36 
    36 
    37 #include "flow_control_analysis.hh"
    37 #include "flow_control_analysis.hh"
    38 #include "fill_candidate_datatypes.hh"
    38 #include "fill_candidate_datatypes.hh"
    39 #include "narrow_candidate_datatypes.hh"
    39 #include "narrow_candidate_datatypes.hh"
    40 #include "print_datatypes_error.hh"
    40 #include "print_datatypes_error.hh"
    41 
    41 #include "lvalue_check.hh"
    42 
    42 
    43 static int flow_control_analysis(symbol_c *tree_root){
    43 static int flow_control_analysis(symbol_c *tree_root){
    44   flow_control_analysis_c flow_control_analysis(tree_root);
    44   flow_control_analysis_c flow_control_analysis(tree_root);
    45   tree_root->accept(flow_control_analysis);
    45   tree_root->accept(flow_control_analysis);
    46   return 0;
    46   return 0;
    56 	tree_root->accept(narrow_candidate_datatypes);
    56 	tree_root->accept(narrow_candidate_datatypes);
    57 	print_datatypes_error_c print_datatypes_error(tree_root);
    57 	print_datatypes_error_c print_datatypes_error(tree_root);
    58 	tree_root->accept(print_datatypes_error);
    58 	tree_root->accept(print_datatypes_error);
    59 	if (print_datatypes_error.get_error_found())
    59 	if (print_datatypes_error.get_error_found())
    60 		return -1;
    60 		return -1;
       
    61 	lvalue_check_c lvalue_check(tree_root);
       
    62 	tree_root->accept(lvalue_check);
       
    63 	if (lvalue_check.get_error_found())
       
    64 		return -1;
    61 	return 0;
    65 	return 0;
    62 }
    66 }
    63 
    67 
    64 
    68 
    65 
    69