private static object Compile(string script) { var program = JintEngine.ParseProgram(script); if (program == null) return JsUndefined.Instance; var typeSystem = new TypeSystem(); var scriptBuilder = typeSystem.CreateScriptBuilder(null); var bindingVisitor = new BindingVisitor(scriptBuilder); program.Accept(bindingVisitor); var boundProgram = bindingVisitor.Program; var interpreter = new JsonInterpreter(new JintEngine().Global); if (boundProgram.Body.Accept(interpreter)) return interpreter.Result; return null; }