public object Interpret(object exp) { IASTNode node = ASTCompiler.Compile(null, ListProcess.TransformLibraryForms(exp)); Env.ReserveGlobalVariables(SymbolTable.GetGlobalSymbolCount()); return(new ASTNodeVisitor_Interpreter(null, node).Value); }
public object Interpret(object exp) { IASTNode node = ASTCompiler.Compile(null, ListProcess.TransformLibraryForms(exp)); GlobalEnv.Instance().ReserveVariables(SymbolTable.GetGlobalSymbolCount()); var lambda = new ASTNode_Lambda { bodyNode = node, localVarCount = 0, freeAddresses = new List <FreeAddress>(), }; return(mStack.CallScriptProcedure(new ScriptProcedure(null, CompileToByteCode(lambda)), new List <object> { })); }