예제 #1
0
 public Unit VisitVarStmt(Stmt.Var stmt)
 {
     Declare(stmt.Name);
     if (stmt.Init != null)
     {
         Resolve(stmt.Init);
     }
     Define(stmt.Name);
     return(Unit.Default);
 }
예제 #2
0
파일: Interpreter.cs 프로젝트: leddt/cslox
        public Void Visit(Stmt.Var stmt)
        {
            var value = stmt.Initializer != null
                ? Evaluate(stmt.Initializer)
                : null;

            environment.Define(stmt.Name, value);

            return(Void.Instance);
        }
예제 #3
0
 object Stmt.IVisitor <object> .VisitVarStmt(Stmt.Var stmt)
 {
     Declare(stmt.name);
     if (stmt.initializer != null)
     {
         Resolve(stmt.initializer);
     }
     Define(stmt.name);
     return(null);
 }
예제 #4
0
        public object VisitVarStmt(Stmt.Var stmt)
        {
            object value = null;

            if (stmt.initializer != null)
            {
                value = Evaluate(stmt.initializer);
            }

            environment.Define(stmt.name.Lexeme, value);
            return(null);
        }
예제 #5
0
        public Unit VisitVarStmt(Stmt.Var stmt)
        {
            object value = null;

            if (stmt.Init != null)
            {
                value = Evaluate(stmt.Init);
            }

            _environment.Define(stmt.Name.Lexeme, value);
            return(Unit.Default);
        }
예제 #6
0
파일: Resolver.cs 프로젝트: leddt/cslox
        public Void Visit(Stmt.Var stmt)
        {
            Declare(stmt.Name);

            if (stmt.Initializer != null)
            {
                Resolve(stmt.Initializer);
            }

            Define(stmt.Name);

            return(Void.Instance);
        }
예제 #7
0
 public string VisitVarStmt(Stmt.Var stmt)
 {
     return(Parenthesize("var", stmt.Name.Lexeme, stmt.Init));
 }