Exemplo n.º 1
0
        public virtual Expr Visit(BlockExpr e)
        {
            var sV = Visit(e.List);
            var lV = (IReadOnlyList <AccessorLetExpr>)Visit(e.Locals);

            return(sV == e.List && lV == e.Locals ? e : new BlockExpr(sV, lV));
        }
Exemplo n.º 2
0
 public BlockExprFrame(EvalVisitor evaluator, BlockExpr e)
     : base(evaluator, e)
 {
     foreach (var local in ((BlockExpr)Expr).Locals)
     {
         Visitor.ScopeManager.Register(local);
     }
 }
Exemplo n.º 3
0
 public PExpr Visit(BlockExpr e)
 {
     return(Run(new BlockExprFrame(this, e)));
 }