예제 #1
0
 public StackFrame(EvaluationContext context, string methodName, StackFrame caller, StackFrame parent)
 {
     MethodName = methodName;
       Caller = caller;
       Parent = parent;
       Values = new ValuesTable(8);
 }
예제 #2
0
 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
 }
예제 #3
0
 public void PushFrame(string methodName, AstNode node, StackFrame parent) {
   CurrentFrame = new StackFrame(this, methodName, CurrentFrame, parent);
 }