Пример #1
0
 static SCode StandardMake(StaticLambda rator, Quotation arg0, Quotation arg1)
 {
     return
         //(arg0.Quoted == ReferenceTrap.Unassigned &&
         // arg1.Quoted == ReferenceTrap.Unassigned &&
         // rator.Body is Letrec2Body) ? Letrec2.Make (rator, arg0) :
         (new StaticLet2QQ(rator, arg0, arg1));
 }
Пример #2
0
 public static SCode Make(StaticLambda rator, SCode arg0)
 {
     return
         //(arg0 is PrimitiveCar) ? SimpleLet1Car.Make (rator, (PrimitiveCar) arg0) :
         //(arg0 is PrimitiveCdr) ? SimpleLet1Cdr.Make (rator, (PrimitiveCdr) arg0) :
         //(arg0 is StaticLambda) ? SimpleLet1StaticLambda.Make (rator, (StaticLambda) arg0) :
         ((arg0 is Argument) ? StaticLet1A.Make(rator, (Argument)arg0) :
          (arg0 is Quotation) ? StaticLet1Q.Make(rator, (Quotation)arg0) :
          new StaticLet1(rator, arg0));
 }
Пример #3
0
 public static SCode Make(StaticLambda rator, Quotation arg0)
 {
     return
         //(arg0 is PrimitiveCar) ? SimpleLet1Car.Make (rator, (PrimitiveCar) arg0) :
         //(arg0 is PrimitiveCdr) ? SimpleLet1Cdr.Make (rator, (PrimitiveCdr) arg0) :
         //(arg0 is StaticLambda) ? SimpleLet1StaticLambda.Make (rator, (StaticLambda) arg0) :
         //(arg0 is Quotation) ? StaticLet1Q.Make (rator, (Quotation) arg0) :
         ((arg0.Quoted == ReferenceTrap.Unassigned &&
           rator.Body is Letrec1Body) ? Letrec1.Make(rator, arg0) :
          new StaticLet1Q(rator, arg0));
 }
Пример #4
0
 protected StaticLet1(StaticLambda rator, SCode rand)
     : base(rator, rand)
 {
     this.lambda = rator;
 }
Пример #5
0
 public static SCode Make(StaticLambda rator, Quotation arg0)
 {
     return
         (new Letrec1(rator, arg0));
 }
Пример #6
0
 protected Letrec1(StaticLambda rator, Quotation rand)
     : base(rator, rand)
 {
     this.innerLambda = ((Letrec1Body)rator.Body).lambda;
 }
Пример #7
0
 protected StaticLet1Q(StaticLambda rator, Quotation rand)
     : base(rator, rand)
 {
     this.rand0Value = rand.Quoted;
 }
Пример #8
0
 public static SCode Make(StaticLambda rator, Argument0 arg0)
 {
     return
         (new StaticLet1A0(rator, arg0));
 }
Пример #9
0
 protected StaticLet1A0(StaticLambda rator, Argument0 rand)
     : base(rator, rand)
 {
 }
Пример #10
0
 public static SCode Make(StaticLambda rator, Argument arg0)
 {
     return
         ((arg0 is Argument0) ? StaticLet1A0.Make(rator, (Argument0)arg0) :
          new StaticLet1A(rator, arg0));
 }
Пример #11
0
 protected StaticLet1A(StaticLambda rator, Argument rand)
     : base(rator, rand)
 {
     this.rand0Offset = rand.Offset;
 }
Пример #12
0
 public static SCode Make(StaticLambda rator, Quotation arg0, Quotation arg1)
 {
     return(StandardMake(rator, arg0, arg1));
 }
Пример #13
0
 protected StaticLet2QQ(StaticLambda rator, Quotation rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = rand1.Quoted;
 }
Пример #14
0
 static SCode StandardMake(StaticLambda rator, Quotation arg0, SCode arg1)
 {
     return
         ((arg1 is Quotation) ? StaticLet2QQ.Make(rator, arg0, (Quotation)arg1) :
          new StaticLet2Q(rator, arg0, arg1));
 }
Пример #15
0
 protected StaticLet2Q(StaticLambda rator, Quotation rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Value = rand0.Quoted;
 }
Пример #16
0
 protected StaticLet2(StaticLambda rator, SCode rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.lambda = rator;
 }