예제 #1
0
 protected PrimitiveIsEqA0Car(Primitive2 rator, Argument0 rand0, PrimitiveCar rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Arg = rand1.Operand;
     #if DEBUG
     this.rand1ArgType = rand1.Operand.GetType ();
     #endif
 }
예제 #2
0
 public static SCode Make(Primitive2 rator, Argument0 rand0, PrimitiveCar rand1)
 {
     return
         (rand1 is PrimitiveCarA) ? PrimitiveIsEqA0CarA.Make (rator, rand0, (PrimitiveCarA) rand1) :
         new PrimitiveIsEqA0Car (rator, rand0, rand1);
 }
예제 #3
0
 protected PrimitiveIsEqCarXS(Primitive2 rator, PrimitiveCar rand0, StaticVariable rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Name = rand1.Name;
     this.rand1Offset = rand1.Offset;
 }
예제 #4
0
 public static SCode Make(Primitive2 rator, PrimitiveCar rand0, StaticVariable rand1)
 {
     return
         new PrimitiveIsEqCarXS (rator, rand0, rand1);
 }
예제 #5
0
 public static SCode Make(Primitive2 rator, PrimitiveCar rand0, SCode rand1)
 {
     return
         (rand0 is PrimitiveCarA) ? PrimitiveIsEqCarA.Make (rator, (PrimitiveCarA) rand0, rand1) :
         (rand0 is PrimitiveCarS) ? PrimitiveIsEqCarS.Make (rator, (PrimitiveCarS) rand0, rand1) :
         (rand1 is StaticVariable) ? PrimitiveIsEqCarXS.Make (rator, rand0, (StaticVariable) rand1) :
         new PrimitiveIsEqCar (rator, rand0, rand1);
 }
예제 #6
0
 public static SCode Make(Primitive2 rator, PrimitiveCarA0 rand0, PrimitiveCar rand1)
 {
     return
         (rand1 is PrimitiveCarA) ? PrimitiveIsEqCarA0CarA.Make (rator, rand0, (PrimitiveCarA) rand1) :
         (rand1 is PrimitiveCarS) ? PrimitiveIsEqCarA0CarS.Make (rator, rand0, (PrimitiveCarS) rand1) :
         new PrimitiveIsEqCarA0Car (rator, rand0, rand1);
 }
예제 #7
0
 public static SCode Make(StaticVariable rator, PrimitiveCar rand0, Quotation rand1)
 {
     return
         new Combination2SCarXQ (rator, rand0, rand1);
 }
예제 #8
0
 public static SCode Make(StaticVariable rator, PrimitiveCar rand0, SCode rand1)
 {
     return
         (rand0.Operand is Argument) ? Combination2SCarA.Make (rator, (PrimitiveCarA) rand0, rand1) :
         (rand0.Operand is StaticVariable) ? Combination2SCarS.Make (rator, rand0, rand1) :
         (rand1 is Quotation) ? Combination2SCarXQ.Make (rator, rand0, (Quotation) rand1) :
         new Combination2SCar (rator, rand0, rand1);
 }
예제 #9
0
 protected Combination2SCarS(StaticVariable rator, PrimitiveCar rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Name = ((StaticVariable) rand0.Operand).Name;
     this.rand0Offset = ((StaticVariable) rand0.Operand).Offset;
 }
예제 #10
0
 protected Combination2SCarXQ(StaticVariable rator, PrimitiveCar rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = rand1.Quoted;
 }
예제 #11
0
 protected Combination2SCarA0CarA(StaticVariable rator, PrimitiveCarA0 rand0, PrimitiveCar rand1)
     : base(rator, rand0, rand1)
 {
     rand1InnerOffset = ((Argument) rand1.Operand).Offset;
 }
예제 #12
0
 public static SCode Make(StaticVariable rator, PrimitiveCarA0 rand0, PrimitiveCar rand1)
 {
     return
         (rand1.Operand is Argument) ? Combination2SCarA0CarA.Make (rator, rand0, rand1) :
         new Combination2SCarA0Car (rator, rand0, rand1);
 }
예제 #13
0
 protected Combination2SCarA0Car(StaticVariable rator, PrimitiveCarA0 rand0, PrimitiveCar rand1)
     : base(rator, rand0, rand1)
 {
     rand1Inner = rand1.Operand;
 }
예제 #14
0
 public static SCode Make(PrimitiveCar predicate, SCode consequent, SCode alternative)
 {
     return
         (predicate.Operand is Argument) ? PCondCarA.Make (predicate, consequent, alternative) :
         //(consequent is Argument) ? PCondIsNullXA.Make (predicate, (Argument) consequent, alternative) :
         //(consequent is Quotation) ? PCondIsNullXQ.Make (predicate, (Quotation) consequent, alternative) :
         //(consequent is StaticVariable) ? PCondIsNullXS.Make (predicate, (StaticVariable) consequent, alternative) :
         //(alternative is Argument) ? PCondIsNullXXA.Make (predicate, consequent, (Argument) alternative) :
         //(alternative is Quotation) ? PCondIsNullXXQ.Make (predicate, consequent, (Quotation) alternative) :
         //(alternative is StaticVariable) ? PCondIsNullXXS.Make (predicate, consequent, (StaticVariable) alternative) :
         new PCondCar (predicate, consequent, alternative);
 }
예제 #15
0
 protected PrimitiveIsEqCar(Primitive2 rator, PrimitiveCar rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Arg = rand0.Operand;
     #if DEBUG
     this.rand0ArgType = rand0.Operand.GetType ();
     #endif
 }
예제 #16
0
 public static new SCode Make(PrimitiveCar predicate, SCode consequent, SCode alternative)
 {
     return
         (predicate.Operand is Argument0) ? PCondCarA0.Make (predicate, consequent, alternative) :
        //(consequent is Argument) ? PCond1AA.Make (predicate, (Argument) consequent, alternative) :
         //(consequent is Quotation) ? PCond1AQ.Make (predicate, (Quotation) consequent, alternative) :
         //(alternative is Quotation) ? PCond1AXQ.Make (predicate, consequent, (Quotation) alternative) :
         new PCondCarA (predicate, consequent, alternative);
 }
예제 #17
0
 protected Combination2SCar(StaticVariable rator, PrimitiveCar rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     #if DEBUG
     this.rand0ArgType = rand0.Operand.GetType();
     #endif
     this.rand0Arg = rand0.Operand;
 }