예제 #1
0
 public static SCode Make(Primitive2 rator, Quotation rand0, SCode rand1)
 {
     return
         (rand1 is Argument) ? PrimitiveIsCharEqQA.Make (rator, rand0, (Argument) rand1) :
         (rand1 is StaticVariable) ? PrimitiveIsCharEqQS.Make (rator, rand0, (StaticVariable) rand1) :
         new PrimitiveIsCharEqQ (rator, rand0, rand1);
 }
예제 #2
0
 public static SCode Make(Primitive2 rator, Argument rand0, SCode rand1)
 {
     return
         (rand0 is Argument0) ? PrimitiveIsCharEqA0.Make (rator, (Argument0) rand0, rand1)
         : (rand0 is Argument1) ? PrimitiveIsCharEqA1.Make (rator, (Argument1) rand0, rand1)
         : Unimplemented ();
 }
예제 #3
0
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is Argument) ? PrimitiveRecordRefA.Make(rator, (Argument) rand0, rand1) :
         (rand0 is StaticVariable) ? PrimitiveRecordRefS.Make (rator, (StaticVariable) rand0, rand1) :
         (rand1 is Quotation) ? PrimitiveRecordRefXQ.Make (rator, rand0, (Quotation) rand1) :
         new PrimitiveRecordRef (rator, rand0, rand1);
 }
예제 #4
0
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         //(rand0 is Argument) ? PrimitiveLessThanFixnumA.Make (rator, (Argument) rand0, rand1) :
         //(rand0 is StaticVariable) ? PrimitiveLessThanFixnumS.Make (rator, (StaticVariable) rand0, rand1) :
         //(rand1 is Quotation) ? PrimitiveLessThanFixnumXQ.Make (rator, rand0, (Quotation) rand1) :
         new PrimitiveLessThan (rator, rand0, rand1);
 }
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is LexicalVariable) ? PrimitivePlusFixnumL.Make (rator, (LexicalVariable) rand0, rand1) :
         (rand0 is Quotation) ? PrimitivePlusFixnumQ.Make (rator, (Quotation) rand0, rand1) :
         (rand1 is LexicalVariable) ? PrimitivePlusFixnumSL.Make (rator, rand0, (LexicalVariable) rand1) :
         (rand1 is Quotation) ? PrimitivePlusFixnumSQ.Make (rator, rand0, (Quotation) rand1) :
         new PrimitivePlusFixnum (rator, rand0, rand1);
 }
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is Argument) ? PrimitiveVector8BRefA.Make (rator, (Argument) rand0, rand1) :
         (rand0 is StaticVariable) ? PrimitiveVector8BRefS.Make (rator, (StaticVariable) rand0, rand1) :
         (rand1 is Argument) ? PrimitiveVector8BRefXA.Make (rator, rand0, (Argument) rand1) :
         (rand1 is StaticVariable) ? PrimitiveVector8BRefXS.Make (rator, rand0, (StaticVariable) rand1) :
         new PrimitiveVector8BRef (rator, rand0, rand1);
 }
예제 #7
0
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is LexicalVariable) ? PrimitiveIsCharEqL.Make (rator, (LexicalVariable) rand0, rand1)
         : (rand0 is Quotation) ? PrimitiveIsCharEqQ.Make (rator, (Quotation) rand0, rand1)
         : (rand1 is LexicalVariable) ? PrimitiveIsCharEqSL.Make (rator, rand0, (LexicalVariable) rand1)
         : (rand1 is Quotation) ? PrimitiveIsCharEqSQ.Make (rator, rand0, (Quotation) rand1)
         : new PrimitiveIsCharEq (rator, rand0, rand1);
 }
 public static SCode Make(Primitive2 rator, Argument rand0, SCode rand1)
 {
     return
         (rand0 is Argument0) ? PrimitiveIsObjectEqA0.Make (rator, (Argument0) rand0, rand1)
         : (rand0 is Argument1) ? PrimitiveIsObjectEqA1.Make (rator, (Argument1) rand0, rand1)
         : (rand1 is LexicalVariable) ? Unimplemented()
         : (rand1 is Quotation) ? PrimitiveIsObjectEqAQ.Make (rator, rand0, (Quotation) rand1)
         : new PrimitiveIsObjectEqA (rator, rand0, rand1);
 }
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is LexicalVariable) ? PrimitiveGeneralCarCdrL.Make (rator, (LexicalVariable) rand0, rand1) :
         (rand0 is Quotation) ? Unimplemented() : // PrimitiveGeneralCarCdrQ.Make (rator, (Quotation) rand0, rand1)
         (rand1 is LexicalVariable) ? Unimplemented() : // PrimitiveGeneralCarCdrSL.Make (rator, rand0, (LexicalVariable) rand1)
         (rand1 is Quotation) ?  PrimitiveGeneralCarCdrSQ.Make (rator, rand0, (Quotation) rand1) :
         new PrimitiveGeneralCarCdr (rator, rand0, rand1);
 }
 public static new SCode Make(Primitive2 rator, SCode rand0, SCode rand1)
 {
     return
         (rand0 is PrimitiveObjectType &&
         Configuration.EnableObjectTypePrimitives) ? RewriteAsSameType ((PrimitiveObjectType) rand0, rand1) :
         (rand0 is Quotation) ? PrimitiveIsObjectTypeQ.Make (rator, (Quotation) rand0, rand1) :
         //(rand1 is Quotation) ? PrimitiveIsObjectTypeSQ.Make (rator, rand0, (Quotation) rand1) :
         (rand1 is Argument) ? PrimitiveIsObjectTypeXA.Make (rator, rand0, (Argument) rand1) :
         new PrimitiveIsObjectType (rator, rand0, rand1);
 }
예제 #11
0
        protected PCond2 (PrimitiveCombination2 predicate, SCode consequent, SCode alternative)
            : base (predicate, consequent, alternative)
        {
            this.procedure = predicate.Rator;
            this.method = this.procedure.Method;
            this.rand0 = predicate.Operand0;
            this.rand1 = predicate.Operand1;
#if DEBUG
            rand0Type = rand0.GetType ();
            rand1Type = rand1.GetType ();
#endif
        }
예제 #12
0
 public static SCode Make(Primitive2 rator, Argument rand0, Quotation rand1)
 {
     return
         new PrimitivePlusFixnumAQ (rator, rand0, (Quotation) rand1);
 }
예제 #13
0
 protected PrimitivePlusFixnumL(Primitive2 rator, LexicalVariable rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Name = rand0.Name;
     this.rand0Depth = rand0.Depth;
     this.rand0Offset = rand0.Offset;
 }
예제 #14
0
 public static SCode Make(Primitive2 rator, Quotation rand0, LexicalVariable1 rand1)
 {
     return
         (new PrimitiveIsIntEqQL1(rator, rand0, rand1));
 }
예제 #15
0
 public static SCode Make(Primitive2 rator, Argument rand0, LexicalVariable rand1)
 {
     return
         (rand1 is Argument) ? PrimitivePlusFixnumAA.Make (rator, rand0, (Argument) rand1)
         : (rand1 is LexicalVariable1) ? Unimplemented ()
         : new PrimitivePlusFixnumAL (rator, rand0, rand1);
 }
예제 #16
0
 public static SCode Make(Primitive2 rator, SCode rand0, Quotation rand1)
 {
     return
         (new PrimitiveIsIntEqSQ(rator, rand0, rand1));
 }
예제 #17
0
 protected PrimitiveIsIntEqQ(Primitive2 rator, Quotation rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Value = (int)rand0.Quoted;
 }
예제 #18
0
 protected PrimitiveIsIntEqLQ(Primitive2 rator, LexicalVariable rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #19
0
 protected PrimitivePlusFixnumL1A0(Primitive2 rator, LexicalVariable1 rand0, Argument0 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #20
0
 protected PrimitiveVectorRefA0Q(Primitive2 rator, Argument0 rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #21
0
 public static new SCode Make(Primitive2 rator, Argument0 rand0, Quotation rand1)
 {
     return
         (new PrimitiveVectorRefA0Q(rator, rand0, rand1));
 }
예제 #22
0
 public static new SCode Make(Primitive2 rator, Argument0 rand0, SCode rand1)
 {
     return
         ((rand1 is Quotation) ? PrimitiveVectorRefA0Q.Make(rator, rand0, (Quotation)rand1) :
          new PrimitiveVectorRefA0(rator, rand0, rand1));
 }
예제 #23
0
 protected PrimitiveVectorRefA0(Primitive2 rator, Argument0 rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #24
0
 protected PrimitiveVectorRef(Primitive2 rator, SCode rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #25
0
 public static SCode Make(Primitive2 rator, Argument rand0, SCode rand1)
 {
     return
         (rand0 is Argument0) ? PrimitivePlusFixnumA0.Make (rator, (Argument0) rand0, rand1)
         : (rand0 is Argument1) ? PrimitivePlusFixnumA1.Make (rator, (Argument1) rand0, rand1)
         : (rand1 is LexicalVariable) ? PrimitivePlusFixnumAL.Make (rator, rand0, (LexicalVariable) rand1)
         : (rand1 is Quotation) ? PrimitivePlusFixnumAQ.Make (rator, rand0, (Quotation) rand1)
         : new PrimitivePlusFixnumA (rator, rand0, rand1);
 }
예제 #26
0
 public static SCode Make(Primitive2 rator, SCode rand0, LexicalVariable rand1)
 {
     throw new NotImplementedException();
 }
예제 #27
0
 public static SCode Make(Primitive2 rator, LexicalVariable1 rand0, SCode rand1)
 {
     return
         (rand1 is LexicalVariable) ? PrimitivePlusFixnumL1L.Make (rator, rand0, (LexicalVariable) rand1)
         : (rand1 is Quotation) ? PrimitivePlusFixnumL1Q.Make (rator, rand0, (Quotation) rand1)
         : new PrimitivePlusFixnumL1 (rator, rand0, rand1);
 }
예제 #28
0
 PrimitiveIsIntEqSQ(Primitive2 rator, SCode rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #29
0
 protected PrimitiveLessThan(Primitive2 rator, SCode rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #30
0
 protected PrimitiveIsIntEqA0(Primitive2 rator, Argument0 rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #31
0
 internal PrimitiveVectorRefAQ(Primitive2 rator, Argument rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #32
0
 protected PrimitiveIsIntEqSL(Primitive2 rator, SCode rand0, LexicalVariable rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #33
0
 public static SCode Make(Primitive2 rator, Quotation rand0, Argument0 rand1)
 {
     return
         (new PrimitiveIsIntEqQA0(rator, rand0, rand1));
 }
예제 #34
0
 protected PrimitiveVectorRefS(Primitive2 rator, StaticVariable rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Name   = rand0.Name;
     this.rand0Offset = rand0.Offset;
 }
예제 #35
0
 protected PrimitiveIsIntEqQA0(Primitive2 rator, Quotation rand0, Argument0 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #36
0
 public static SCode Make(Primitive2 rator, Argument0 rand0, LexicalVariable rand1)
 {
     return
         (rand1 is Argument) ? PrimitivePlusFixnumA0A.Make (rator, rand0, (Argument) rand1)
         : (rand1 is LexicalVariable1) ? PrimitivePlusFixnumA0L1.Make (rator, rand0, (LexicalVariable1) rand1)
         : new PrimitivePlusFixnumA0L (rator, rand0, rand1);
 }
예제 #37
0
 public static SCode Make(Primitive2 rator, Argument rand0, Argument rand1)
 {
     return
         (rand1 is Argument0) ? Unimplemented ()
         : (rand1 is Argument1) ? PrimitivePlusFixnumAA1.Make (rator, rand0, (Argument1) rand1)
         : new PrimitivePlusFixnumAA (rator, rand0, rand1);
 }
예제 #38
0
 public static SCode Make(Primitive2 rator, Argument rand0, Argument1 rand1)
 {
     return new PrimitivePlusFixnumAA1 (rator, rand0, rand1);
 }
예제 #39
0
 protected PrimitiveVectorRefSA(Primitive2 rator, StaticVariable rand0, Argument rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Offset = rand1.Offset;
 }
예제 #40
0
 protected PrimitiveIsIntEqQL1(Primitive2 rator, Quotation rand0, LexicalVariable1 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #41
0
 PrimitivePlusFixnumA1A0(Primitive2 rator, Argument1 rand0, Argument0 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #42
0
 PrimitiveVectorRefSA0(Primitive2 rator, StaticVariable rand0, Argument0 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #43
0
 protected PrimitivePlusFixnumAA1(Primitive2 rator, Argument rand0, Argument1 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #44
0
 PrimitiveVectorRefSQ(Primitive2 rator, StaticVariable rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #45
0
 protected PrimitivePlusFixnumAL(Primitive2 rator, Argument rand0, LexicalVariable rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Name = rand1.Name;
     this.rand1Depth = rand1.Depth;
     this.rand1Offset = rand1.Offset;
 }
예제 #46
0
 protected PrimitiveVectorRefT(Primitive2 rator, TopLevelVariable rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Cell = rand0.valueCell;
 }
예제 #47
0
 protected PrimitivePlusFixnumAQ(Primitive2 rator, Argument rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int) rand1.Quoted;
 }
예제 #48
0
 public static new SCode Make(Primitive2 rator, TopLevelVariable rand0, SCode rand1)
 {
     return
         (new PrimitiveVectorRefT(rator, rand0, rand1));
 }
예제 #49
0
 protected PrimitivePlusFixnumA(Primitive2 rator, Argument rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #50
0
 public static new SCode Make(Primitive2 rator, SCode rand0, Argument rand1)
 {
     return
         ((rand1 is Argument0) ? PrimitiveVectorRefXA0.Make(rator, rand0, (Argument0)rand1) :
          new PrimitiveVectorRefXA(rator, rand0, rand1));
 }
예제 #51
0
 public static SCode Make(Primitive2 rator, LexicalVariable rand0, SCode rand1)
 {
     return
         (rand0 is Argument) ? PrimitivePlusFixnumA.Make (rator, (Argument) rand0, rand1)
         : (rand0 is LexicalVariable1) ? PrimitivePlusFixnumL1.Make (rator, (LexicalVariable1) rand0, rand1)
         : (rand1 is LexicalVariable) ? PrimitivePlusFixnumLL.Make (rator, rand0, (LexicalVariable) rand1)
         : (rand1 is Quotation) ? PrimitivePlusFixnumLQ.Make (rator, rand0, (Quotation) rand1)
         : new PrimitivePlusFixnumL (rator, rand0, rand1);
 }
예제 #52
0
 PrimitiveVectorRefXA0(Primitive2 rator, SCode rand0, Argument0 rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #53
0
 protected PrimitivePlusFixnumL1(Primitive2 rator, LexicalVariable1 rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
 }
예제 #54
0
 public static new SCode Make(Primitive2 rator, SCode rand0, Argument0 rand1)
 {
     return
         (new PrimitiveVectorRefXA0(rator, rand0, rand1));
 }
예제 #55
0
 public static SCode Make(Primitive2 rator, LexicalVariable1 rand0, Argument rand1)
 {
     return
          (rand1 is Argument0) ? PrimitivePlusFixnumL1A0.Make (rator, rand0, (Argument0) rand1)
         : (rand1 is Argument1) ? Unimplemented ()
         : new PrimitivePlusFixnumL1A (rator, rand0, rand1);
 }
예제 #56
0
 protected PrimitiveVectorRefXQ(Primitive2 rator, SCode rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = (int)rand1.Quoted;
 }
예제 #57
0
 public static SCode Make(Primitive2 rator, LexicalVariable1 rand0, Argument0 rand1)
 {
     return
          new PrimitivePlusFixnumL1A0 (rator, rand0, rand1);
 }
예제 #58
0
 public static new SCode Make(Primitive2 rator, SCode rand0, Quotation rand1)
 {
     return
         (new PrimitiveVectorRefXQ(rator, rand0, rand1));
 }
예제 #59
0
 protected PrimitiveVectorRefA(Primitive2 rator, Argument rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Offset = rand0.Offset;
 }
예제 #60
0
 public static SCode Make(Primitive2 rator, LexicalVariable1 rand0, SCode rand1)
 {
     return
         ((rand1 is Quotation) ? PrimitiveIsIntEqL1Q.Make(rator, rand0, (Quotation)rand1)
         : Unimplemented());
 }