Пример #1
0
 public StackFrame(EvaluationContext context, string methodName, StackFrame caller, StackFrame parent)
 {
     MethodName = methodName;
     Caller     = caller;
     Parent     = parent;
     Values     = new ValuesTable(8);
 }
Пример #2
0
        internal ValuesTable Values; //global values for top frame; parameters and local variables for method frame

        public StackFrame(EvaluationContext context, ValuesTable globals)
        {
            Context = context;
            Values  = globals;
            if (Values == null)
            {
                Values = new ValuesTable(100);
            }
        }
Пример #3
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
 }