public Aplus(Scope dlrglobals, LexerMode parsemode) { this.sysvars = new SystemVariables(); this.dependencies = new DependencyManager(); this.callbackManager = new CallbackManager(); this.dlrglobals = dlrglobals; this.globals = new DYN.ExpandoObject(); this.sysvars["mode"] = ASymbol.Create(parsemode.ToString().ToLower()); this.mmfmanager = new MemoryMappedFileManager(); this.systemFunctions = Function.SystemFunction.DiscoverSystemFunctions(); if (String.IsNullOrEmpty(Environment.GetEnvironmentVariable("APATH", EnvironmentVariableTarget.User))) { string paths = String.Join(";", ".", "./Runtime/Context/"); Environment.SetEnvironmentVariable("APATH", paths, EnvironmentVariableTarget.User); } // TODO: Move this to app.config? this.autoloadContexts = new string[] { "sys" }; this.contextLoader = new ContextLoader(this); }