public StackFrame(EvaluationContext context, string methodName, StackFrame caller, StackFrame parent) { MethodName = methodName; Caller = caller; Parent = parent; Values = new ValuesTable(8); }
public EvaluationContext(LanguageRuntime runtime) { Runtime = runtime; LanguageCaseSensitive = Runtime.Language.Grammar.CaseSensitive; //Globals = new GlobalValuesTable(100, Symbols, LanguageCaseSensitive); Globals = new ValuesTable(100); CallDispatcher = new DynamicCallDispatcher(this); ThreadId = Thread.CurrentThread.ManagedThreadId; TopFrame = new StackFrame(this, Globals); CurrentFrame = TopFrame; Data = new DataStack(); Data.Init(runtime.Unassigned); //set LastPushedItem to unassigned }
public void PushFrame(string methodName, AstNode node, StackFrame parent) { CurrentFrame = new StackFrame(this, methodName, CurrentFrame, parent); }