00001 #ifndef VARIABLES_HPP_ 00002 #define VARIABLES_HPP_ 00003 00004 #include <map> 00005 #include <string> 00006 00007 #include "node.hpp" 00008 00013 typedef std::map<std::string, node> symbol_table; 00014 00019 class set_symbol_table 00020 { 00021 public: 00022 set_symbol_table(symbol_table const& symtab); 00023 ~set_symbol_table(); 00024 }; 00025 00030 node get_variable(std::string const& name); 00031 00037 node get_function(std::string const& name); 00038 00043 void set_variable(std::string const& name, node value); 00044 00049 void set_function(std::string const& name, node definition); 00050 00051 #endif