| #ifndef __SCOPE_H__ | |
| #define __SCOPE_H__ | |
| #include "string_cache.h" | |
| #include <vector> | |
| struct sc_scope{ | |
| STRING_CACHE *defparam_sc; | |
| STRING_CACHE *param_sc; | |
| }; | |
| sc_scope *new_sc_scope(); | |
| void move_sc_scope_items(sc_scope **source, sc_scope *destination); | |
| void free_sc_scope(sc_scope **to_free_ref, STRING_CACHE **param, STRING_CACHE **defparam); | |
| extern sc_scope *current_scope; | |
| extern std::vector<sc_scope *> scope_stack; | |
| sc_scope *pop_scope(); | |
| void merge_top_scopes(); | |
| void push_scope(); | |
| #endif |