#ifndef SAINTERPRETER_CONTEXT_H_INCLUDED #define SAINTERPRETER_CONTEXT_H_INCLUDED #include #include #include #include namespace SAInterpreter { class Context : public Interpreter::Context { std::vector mShorts; std::vector mLongs; std::vector mFloats; std::vector mNames; public: Context (const std::string& filename); ///< Create context from file /// \note A context for an integreted interpreter will typically not /// configure at construction, but will offer a separate function. virtual int getLocalShort (int index) const; virtual int getLocalLong (int index) const; virtual float getLocalFloat (int index) const; virtual void setLocalShort (int index, int value); virtual void setLocalLong (int index, int value); virtual void setLocalFloat (int index, float value); void report(); ///< Write state to std::cout }; } #endif