diff -r 2b4e69c7ff8b -r 30b31d8f6d0f absyntax_utils/search_var_instance_decl.hh --- a/absyntax_utils/search_var_instance_decl.hh Sat Apr 14 16:53:35 2012 +0100 +++ b/absyntax_utils/search_var_instance_decl.hh Sat Apr 14 18:05:50 2012 +0100 @@ -98,12 +98,14 @@ /* variable used to store the type of variable currently being processed... */ /* Will contain a single value of generate_c_vardecl_c::XXXX_vt */ unsigned int current_vartype; + unsigned int current_option; public: search_var_instance_decl_c(symbol_c *search_scope); symbol_c *get_decl(symbol_c *variable_instance_name); unsigned int get_vartype(symbol_c *variable_instance_name); + unsigned int get_option(symbol_c *variable_instance_name); public: @@ -118,6 +120,11 @@ static const unsigned int global_vt = 0x0040; // VAR_GLOBAL static const unsigned int located_vt = 0x0080; // VAR AT + static const unsigned int none_opt = 0x0000; + static const unsigned int constant_opt = 0x0001; + static const unsigned int retain_opt = 0x0002; + static const unsigned int non_retain_opt = 0x0003; + private: /***************************/ /* B 0 - Programming Model */ @@ -131,6 +138,11 @@ /* edge -> The F_EDGE or R_EDGE directive */ // SYM_REF2(edge_declaration_c, edge, var1_list) // TODO + void *visit(constant_option_c *symbol); + void *visit(retain_option_c *symbol); + void *visit(non_retain_option_c *symbol); + + void *visit(input_declarations_c *symbol); /* VAR_OUTPUT [RETAIN | NON_RETAIN] var_init_decl_list END_VAR */ /* option -> may be NULL ! */