Interpret() публичный Метод

public Interpret ( string moduleName, string sourcePath, string source ) : InterpretResult
moduleName string
sourcePath string
source string
Результат InterpretResult
Пример #1
0
 public static void LoadLibrary(WrenVM vm)
 {
     vm.Interpret("scheduler", "scheduler", _schedulerSource);
     ObjClass scheduler = (ObjClass)vm.FindVariable("scheduler", "Scheduler");
     vm.Primitive(scheduler.ClassObj, "captureMethods_()", CaptureMethods);
     vm.Interpret("scheduler", "scheduler", "Scheduler.captureMethods_()");
 }
Пример #2
0
        public static void LoadLibrary(WrenVM vm)
        {
            vm.Interpret("", "", MetaLibSource);

            ObjClass meta = (ObjClass)vm.FindVariable("Meta");
            vm.Primitive(meta.ClassObj, "eval(_)", Eval);
        }
Пример #3
0
        static int RunFile(string path)
        {
            if (!File.Exists(path)) 
                return 66; // File Not Found

            _loadedFile = path;
            string source = File.ReadAllText(path);
            WrenVM vm = new WrenVM { LoadModuleFn = LoadModule };
            LibraryLoader.LoadLibraries(vm);
            return (int)vm.Interpret("main", path, source);
        }
Пример #4
0
 static int RunFile(string path)
 {
     if (File.Exists(path))
     {
         loadedFile = path;
         string source = File.ReadAllText(path);
         WrenVM vm = new WrenVM { LoadModuleFn = LoadModule };
         return (int)vm.Interpret(path, source);
     }
     return 66; // File Not Found
 }
Пример #5
0
        public static void LoadLibrary(WrenVM vm)
        {
            vm.Interpret("io", "io", IoSource);
            ObjClass file = (ObjClass)vm.FindVariable("io", "File");
            vm.Primitive(file.ClassObj, "open_(_,_)", Open);
            vm.Primitive(file.ClassObj, "sizePath_(_,_)", SizePath);

            vm.Primitive(file, "close_(_)", Close);
            vm.Primitive(file, "descriptor", Descriptor);
            vm.Primitive(file, "readBytes_(_,_)", ReadBytes);
            vm.Primitive(file, "size_(_)", Size);
        }
Пример #6
0
        static void RunRepl()
        {
            WrenVM vm = new WrenVM();

            Console.WriteLine("-- wren v0.0.0");

            string line = "";

            for (; line != "/exit"; )
            {
                Console.Write("> ");
                line = Console.ReadLine();

                // TODO: Handle failure.
                vm.Interpret("Prompt", line);
            }
        }
Пример #7
0
        static void RunRepl()
        {
            WrenVM vm = new WrenVM();
            LibraryLoader.LoadLibraries(vm);

            Console.WriteLine("-- wren v0.0.0");

            string line = "";

            for (; ; )
            {
                Console.Write("> ");
                line += Console.ReadLine() + "\n";

                if(OpenBrackets(line) > 0)
                    continue;

                // TODO: Handle failure.
                vm.Interpret("Prompt","Prompt", line);
                line = "";
            }
        }
Пример #8
0
 public static void LoadIOLibrary(WrenVM vm)
 {
     vm.Interpret("", IOLibSource);
     ObjClass IO = (ObjClass)vm.FindVariable("IO").Obj;
     vm.Primitive(IO.ClassObj, "writeString_(_)", WriteString);
     vm.Primitive(IO.ClassObj, "read", Read);
     vm.Primitive(IO.ClassObj, "clock", Clock);
     vm.Primitive(IO.ClassObj, "time", Time);
 }
Пример #9
0
 public static void LoadLibrary(WrenVM vm)
 {
     vm.Interpret("timer", "timer", _timerSource);
     ObjClass timer = (ObjClass)vm.FindVariable("timer", "Timer");
     vm.Primitive(timer.ClassObj, "startTimer_(_,_)", StartTimer);
 }