Exemplo n.º 1
0
        public object visitAssignExpr(Expr.Assign expr)
        {
            object value = evaluate(expr.value);

            environment.assign(expr.name, value);
            return(value);
        }
Exemplo n.º 2
0
        public object Visit(Expr.Assign _assign)
        {
            Resolve(_assign.value);
            ResolveLocal(_assign, _assign.name);

            return(null);
        }
Exemplo n.º 3
0
        object Expr.IVisitor <object> .Visit(Expr.Assign _assign)
        {
            object value = Evaluate(_assign.value);

            if (_locals.TryGetValue(_assign, out int distance))
            {
                _environment.AssignAt(distance, _assign.name, value);
            }
            else
            {
                Globals.Assign(_assign.name, value);
            }

            return(value);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        public object VisitAssignExpr(Expr.Assign expr)
        {
            object value = Evaluate(expr.value);

            if (locals.TryGetValue(expr, out int distance))
            {
                environment.AssignAt(distance, expr.name, value);
            }
            else
            {
                environment.Assign(expr.name, value);
            }

            return(value);
        }
Exemplo n.º 6
0
 string Expr.IVisitor <string> .Visit(Expr.Assign _assign)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 7
0
 public string visitAssignExpr(Expr.Assign expr)
 {
     return($"Assign {expr.name.lexeme}");
 }
Exemplo n.º 8
0
 public object VisitAssignExpr(Expr.Assign expr)
 {
     Resolve(expr.value);
     ResolveLocal(expr, expr.name);
     return(null);
 }
Exemplo n.º 9
0
 public Void VisitAssignExpr(Expr.Assign expr)
 {
     Resolve(expr.Value);
     ResolveLocal(expr, expr.Name);
     return(null);
 }
Exemplo n.º 10
0
 public string VisitAssignExpr(Expr.Assign expr)
 {
     return($"({expr.name} <- {expr.value.Accept(this)})");
 }