#ifndef INTERPRETER_INTERPRETER_H_INCLUDED #define INTERPRETER_INTERPRETER_H_INCLUDED #include #include "runtime.hpp" #include "types.hpp" namespace Interpreter { class Opcode0; class Opcode1; class Opcode2; class Interpreter { Runtime mRuntime; std::map mSegment0; std::map mSegment1; std::map mSegment2; std::map mSegment3; std::map mSegment4; std::map mSegment5; // not implemented Interpreter (const Interpreter&); Interpreter& operator= (const Interpreter&); void execute (Type_Code code); void abortUnknownCode (int segment, int opcode); void abortUnknownSegment (Type_Code code); public: Interpreter (Context& context); ~Interpreter(); void run (const Type_Code *code, int codeSize); }; } #endif