5 #include <frith/variable.hpp>
6 #include <frith/function.hpp>
21 struct symbol_tree_node
;
24 struct symbol_tree_entity
29 variable
* variable_pointer
;
30 function
* function_pointer
;
31 class_type
* class_pointer
;
32 module
* module_pointer
;
36 symbol_tree_entity(symbol::type type
);
39 typedef std::map
<std::string
, symbol_tree_entity
> scope_entities
;
41 struct symbol_tree_node
43 scope_entities entities
;
44 symbol_tree_node
* parent
;
48 bool exists(std::string
const & name
);
49 bool find_entity(std::string
const & name
, symbol_tree_node
* & entity_scope_output
, symbol_tree_entity
* & entity_output
);
53 #include <frith/class.hpp>
54 #include <frith/module.hpp>