示例#1
0
文件: Resolver.cs 项目: mutuware/Lox
 public object VisitVarStmt(Stmt.Var stmt)
 {
     Declare(stmt.Name);
     if (stmt.Initializer != null)
     {
         Resolve(stmt.Initializer);
     }
     Define(stmt.Name);
     return(null);
 }
        public object VisitVarStmt(Stmt.Var stmt)
        {
            object value = Environment.unAssigned;

            if (stmt.initializer != null)
            {
                value = Evaluate(stmt.initializer);
            }
            environment.Define(stmt.name.lexeme, value);
            return(null);
        }
示例#3
0
        public object Visit(Stmt.Var _var)
        {
            Declare(_var.name);
            if (_var.initializer != null)
            {
                Resolve(_var.initializer);
            }
            Define(_var.name);

            return(null);
        }
示例#4
0
        public Void 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 object visitVarStmt(Stmt.Var stmt)
        {
            if (stmt.initializer != null)
            {
                object value = evaluate(stmt.initializer);
                environment.define(stmt.name.lexeme, value);
            }
            else
            {
                // Define unassigned variable
                environment.define(stmt.name.lexeme);
            }

            return(null);
        }
示例#6
0
 public string VisitVarStmt(Stmt.Var stmt)
 {
     throw new NotImplementedException();
 }
示例#7
0
 public string VisitVarStmt(Stmt.Var stmt) => Parenthesize("varstmt", stmt.Initializer);