예제 #1
0
        internal object Get(Token name)
        {
            if (Values.ContainsKey(name.Lexeme))
            {
                return(Values[name.Lexeme]);
            }
            if (enclosing != null)
            {
                return(enclosing.Get(name));
            }

            throw new RuntimeError(name, "Undefined variable '" + name.Lexeme + "'.");
        }
예제 #2
0
 public object visitVariableExpr(Expr.Variable expr)
 {
     return(environment.Get(expr.name));
 }