00001
00011 #ifndef __INTERPRETER__H__
00012 #define __INTERPRETER__H__
00013
00014
00015 #include "../simkin/skInterpreter.h"
00016 #include "../simkin/skElementExecutable.h"
00017 #include "../simkin/skRValue.h"
00018 #include "../simkin/skRValueArray.h"
00019 #include "../simkin/skInputSource.h"
00020
00021 #include "../common.h"
00022 #include "../Singleton.h"
00023 #include "ObjectAgent.h"
00024
00028 class Interpreter : public skElementExecutable {
00029 public:
00033 Interpreter(): agent(0) {}
00034
00038 ~Interpreter() {}
00039
00045 void Interpret(string objectType, ObjectAgent * collisionAgent);
00046
00051 void Interpret(ObjectAgent * freeAgent);
00052
00053 private:
00061 bool method(const skString & name, skRValueArray & arguments,
00062 skRValue & returnValue, skExecutableContext & context);
00063
00064 private:
00066 skInterpreter interpreter;
00068 ObjectAgent * agent;
00069 };
00070
00072 typedef Singleton<Interpreter> Simkin;
00073
00074 #endif
00075
00076