public override void EvaluateNode(EvaluationContext context, AstMode mode) { switch (mode) { case AstMode.Read: object value; if (context.TryGetValue(Symbol, out value)) context.Data.Push(value); else context.ThrowError(Resources.ErrVarNotDefined, Symbol); break; case AstMode.Write: context.SetValue(Symbol, context.Data.Pop()); break; } }