diff -r 61410284a9b4 -r dabffc3086dc stage3/stage3.cc --- a/stage3/stage3.cc Tue Jun 05 11:10:12 2012 +0200 +++ b/stage3/stage3.cc Tue Jun 05 19:17:29 2012 +0200 @@ -40,12 +40,18 @@ #include "print_datatypes_error.hh" #include "lvalue_check.hh" #include "array_range_check.hh" +#include "constant_folding.hh" +static int constant_check(symbol_c *tree_root){ + constant_folding_c constant_folding(tree_root); + tree_root->accept(constant_folding); + return constant_folding.get_error_count(); +} static int flow_control_analysis(symbol_c *tree_root){ - flow_control_analysis_c flow_control_analysis(tree_root); - tree_root->accept(flow_control_analysis); - return 0; + flow_control_analysis_c flow_control_analysis(tree_root); + tree_root->accept(flow_control_analysis); + return 0; } @@ -81,6 +87,7 @@ int stage3(symbol_c *tree_root){ int error_count = 0; + error_count += constant_check(tree_root); error_count += flow_control_analysis(tree_root); error_count += type_safety(tree_root); error_count += lvalue_check(tree_root);