00001 #ifndef LITTLE_INTERPRETER_H
00002 #define LITTLE_INTERPRETER_H
00003
00004 #include <iostream>
00005 #include <string>
00006 #include "ih.h"
00007
00008 #ifdef HAVE_CONFIG_H
00009 # include <config.h>
00010 #endif
00011
00012 #ifdef HAVE_IXLIB
00013
00014 namespace ixion {
00015 namespace javascript {
00016 class interpreter;
00017 }
00018 }
00019
00020 class Precompiler;
00021
00022 namespace Little {
00023
00025 class Interpreter : public ::Interpreter
00026 {
00027 private:
00028 ixion::javascript::interpreter *ip;
00029 Precompiler &precompiler;
00030
00031 public:
00032 Interpreter( Precompiler& precompiler );
00033 Interpreter( Type type, bool default_int, std::istream& sin, std::ostream& sout, std::ostream& serr, Precompiler &precompiler );
00034 ~Interpreter();
00035
00037 bool exec();
00038
00040 bool exec( std::string buffer );
00041
00042 ixion::javascript::interpreter* get_interpreter() const;
00043 };
00044
00045 }
00046
00047
00048 #endif
00049
00050 #endif