#include "env.hpp" #include int env_var::get_offset(const std::string& name) const { if(name == this->name) return 0; assert(parent); return parent->get_offset(name) + 1; } bool env_var::has_variable(const std::string& name) const { if(name == this->name) return true; if(parent) return parent->has_variable(name); return false; } int env_offset::get_offset(const std::string& name) const { assert(parent); return parent->get_offset(name) + offset; } bool env_offset::has_variable(const std::string& name) const { if(parent) return parent->has_variable(name); return false; }