00001 #ifndef JPLUS_H
00002 #define JPLUS_H
00003
00004 #include <istream>
00005 #include <vector>
00006 #include <set>
00007 #include "jengine.h"
00008
00009 class BasicBlock;
00010
00014 class jplus: public jengine {
00015 private:
00016 BasicBlock* program;
00017
00018 public:
00020 jplus();
00021
00025 bool init(std::istream &script);
00026
00028 ~jplus();
00029
00035 bool set(std::string name, jarray data);
00036
00041 jarray get(std::string name);
00042
00048 std::vector<std::string> getProgram(std::set<std::string> vars);
00049
00053 std::vector<std::string> getProgram();
00054
00055 protected:
00060 virtual void libInit();
00061
00062 private:
00063
00064 jplus(const jplus &);
00065 const jplus& operator=(const jplus&);
00066 };
00067
00068 #endif