コード例 #1
0
ファイル: Interpreter.cs プロジェクト: nmacadam/basil
        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
            {
                globals.Assign(expr.name, value);
            }
            return(value);
        }
コード例 #2
0
ファイル: ASTPrinter.cs プロジェクト: Avatarchik/basil
 public string VisitAssignExpr(Expr.Assign expr)
 {
     throw new System.NotImplementedException();
 }
コード例 #3
0
ファイル: Resolver.cs プロジェクト: nmacadam/basil
 public object VisitAssignExpr(Expr.Assign expr)
 {
     Resolve(expr.value);
     ResolveLocal(expr, expr.name);
     return(null);
 }