#ifndef PORYGONLANG_EVALUATIONSCOPE_HPP #define PORYGONLANG_EVALUATIONSCOPE_HPP #include #include #include "../EvalValues/EvalValue.hpp" class EvaluationScope { unordered_map* _scriptScope; vector> _localScope; int _currentScope; public: explicit EvaluationScope(unordered_map* scriptVariables, int deepestScope); ~EvaluationScope(); void CreateVariable(int scope, int id, EvalValue* value); void SetVariable(int scope, int id, EvalValue* value); void OuterScope(); void InnerScope(); EvalValue* GetVariable(int scope, int id); }; #endif //PORYGONLANG_EVALUATIONSCOPE_HPP