public Interpret ( string moduleName, string sourcePath, string source ) : InterpretResult | ||
moduleName | string | |
sourcePath | string | |
source | string | |
return | InterpretResult |
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_()"); }
public static void LoadLibrary(WrenVM vm) { vm.Interpret("", "", MetaLibSource); ObjClass meta = (ObjClass)vm.FindVariable("Meta"); vm.Primitive(meta.ClassObj, "eval(_)", Eval); }
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); }
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 }
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); }
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); } }
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 = ""; } }
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); }
public static void LoadLibrary(WrenVM vm) { vm.Interpret("timer", "timer", _timerSource); ObjClass timer = (ObjClass)vm.FindVariable("timer", "Timer"); vm.Primitive(timer.ClassObj, "startTimer_(_,_)", StartTimer); }