diff -r aad6aa35ce60 -r 760b26477193 stage3/constant_folding.hh --- a/stage3/constant_folding.hh Sun Dec 28 22:20:08 2014 +0000 +++ b/stage3/constant_folding.hh Tue Dec 30 22:17:22 2014 +0000 @@ -68,10 +68,12 @@ constant_folding_c(symbol_c *symbol = NULL); virtual ~constant_folding_c(void); int get_error_count(); - int handle_var_extern_global_pair(symbol_c *extern_var_name, symbol_c *extern_var_decl, symbol_c *global_var_name, symbol_c *global_var_decl); typedef symtable_c map_values_t; private: + symbol_c *current_resource; + symbol_c *current_configuration; map_values_t values; + map_values_t var_global_values; void *handle_var_list_decl(symbol_c *var_list, symbol_c *type_decl); void *handle_var_decl (symbol_c *var_list, bool fixed_init_value); // Flag to indicate whether the variables in the variable declaration list will always have a fixed value when the POU is executed! @@ -93,6 +95,10 @@ #endif private: + /***************************/ + /* B 0 - Programming Model */ + /***************************/ + void *visit(library_c *symbol); /*********************/ /* B 1.2 - Constants */ /*********************/ @@ -166,6 +172,8 @@ /********************************/ void *visit( configuration_declaration_c *symbol); void *visit( resource_declaration_c *symbol); + void *visit( program_configuration_c *symbol); + void *visit( fb_task_c *symbol); /****************************************/