Esempio n. 1
0
        public object VisitAssignExpr(Expr.Assign expr)
        {
            var value = Evaluate(expr.Value);

            if (_locals.TryGetValue(expr, out var distance))
            {
                _environment.AssignAt(distance, expr.Name, value);
            }
            else
            {
                _globals.Assign(expr.Name, value);
            }

            return(value);
        }
Esempio n. 2
0
 public string VisitAssignExpr(Expr.Assign expr)
 {
     return(Parenthesize2("=", expr.Name.Lexeme, expr.Value));
 }
Esempio n. 3
0
 public object VisitAssignExpr(Expr.Assign expr)
 {
     Resolve(expr.Value);
     ResolveLocal(expr, expr.Name);
     return(null);
 }