Ejemplo n.º 1
0
        public string VisitLambdaExpr(Expr.Lambda expr)
        {
            string parameters = string.Join(", ", expr.Parameter.Select(p => p.Lexeme));
            string body       = string.Join(" ", expr.Body.SelectMany(s => PrintStmt(s)));

            return($"fun ({parameters}) {{ {body} }}");
        }
Ejemplo n.º 2
0
 public Value Visit(Expr.Lambda lam)
 {
     return(new Value.VLambda(_env, lam.Arg, lam.Body, lam.Span));
 }
Ejemplo n.º 3
0
 public Token visitLambdaFunction(Expr.Lambda lambdaFunction)
 {
     return(lambdaFunction.keyword);
 }
Ejemplo n.º 4
0
 public object VisitLambdaExpr(Expr.Lambda expr)
 {
     return(new LoxLambda(expr, _environment));
 }
Ejemplo n.º 5
0
 internal LoxLambda(Expr.Lambda declaration, Environment closure)
 {
     _closure     = closure;
     _declaration = declaration;
 }
Ejemplo n.º 6
0
        public LoxVoid VisitLambdaExpr(Expr.Lambda lambda)
        {
            ResolveFunction(lambda.Parameter, lambda.Body, FunctionType.Function);

            return(null);
        }