#ifndef __GUT_ENVIRON_HXX #define __GUT_ENVIRON_HXX #include #include #include #include "util.hpp" #include "variable.hpp" namespace gut { class environment { private: typedef std::map vartype; inline std::pair make_pair(const char *name, variable *var) { return std::make_pair(string_key(name), var); } vartype m_vars; environment *m_parent_env; public: environment(environment *parent_env = NULL); ~environment(void); variable *find_var(const char *name); void set_var_int(const char *name, long value); void set_var_float(const char *name, float value); void set_var_string(const char *name, const char *value); environment *get_parent_env(void); void print(void);//debug }; extern environment g_environ; } // namespace gut #endif // __GUT_ENVIRON_HPP