public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); SCode.location = "POrIsEqSQ.EvalStep"; #endif object ev1 = this.rand1Value; object ev0; if (environment.StaticValue(out ev0, this.rand0Name, this.rand0Offset)) { throw new NotImplementedException(); } if (!ObjectModel.SchemeEq(ev0, ev1)) { #if DEBUG SCode.location = "-"; NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); SCode.location = "POrIsEqSQ.EvalStep"; #endif expression = this.alternative; answer = null; //happy compiler return(true); } else { answer = Constant.sharpT; return(false); } }
public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); SCode.location = "POrIsEqAA0.EvalStep"; #endif object ev1 = environment.Argument0Value; object ev0 = environment.ArgumentValue(this.rand1Offset); if (!ObjectModel.SchemeEq(ev0, ev1)) { #if DEBUG SCode.location = "-"; NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); SCode.location = "POrIsEqAA0.EvalStep"; #endif expression = this.alternative; answer = null; //happy compiler return(true); } else { answer = Constant.sharpT; return(false); } }
public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); NoteCalls(this.rand0); rand0TypeHistogram.Note(this.rand0Type); SCode.location = "POrIsEqXS.EvalStep"; #endif object ev1; if (environment.StaticValue(out ev1, this.rand1Name, this.rand1Offset)) { throw new NotImplementedException(); } Control unev = this.rand0; Environment env = environment; object ev0; while (unev.EvalStep(out ev0, ref unev, ref env)) { } ; #if DEBUG SCode.location = "POrXS.EvalStep"; #endif if (ev0 == Interpreter.UnwindStack) { throw new NotImplementedException(); //((UnwinderState) env).AddFrame (new PrimitiveCombination1Frame0 (this, environment)); //answer = Interpreter.UnwindStack; //environment = env; //return false; } if (!ObjectModel.SchemeEq(ev0, ev1)) { #if DEBUG SCode.location = "-"; NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); SCode.location = "POrIsEqXS.EvalStep"; #endif expression = this.alternative; answer = null; //happy compiler return(true); } else { answer = Constant.sharpT; return(false); } }
public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); NoteCalls(this.rand1); rand1TypeHistogram.Note(this.rand1Type); SCode.location = "PCondIsEqCarA0"; #endif Control unev = this.rand1; Environment env = environment; object ev1; while (unev.EvalStep(out ev1, ref unev, ref env)) { } ; #if DEBUG SCode.location = "PCondIsEqCarA0"; #endif if (ev1 == Interpreter.UnwindStack) { throw new NotImplementedException(); } object ev0 = environment.Argument0Value; #if DEBUG SCode.location = "PCondIsEqCarA0"; #endif if (!ObjectModel.SchemeEq(((Cons)ev0).Car, ev1)) { #if DEBUG NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); #endif expression = this.alternative; answer = null; // happy compiler return(true); } else { #if DEBUG NoteCalls(this.consequent); consequentTypeHistogram.Note(this.consequentType); #endif expression = this.consequent; answer = null; // happy compiler return(true); } }
public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); SCode.location = "PCondIsEqCarA0S"; #endif object ev1; if (environment.StaticValue(out ev1, this.rand1Name, this.rand1Offset)) { throw new NotImplementedException(); } object ev0 = environment.Argument0Value; #if DEBUG SCode.location = "PCondIsEqCarA0S"; #endif if (!ObjectModel.SchemeEq(((Cons)ev0).Car, ev1)) { #if DEBUG NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); #endif expression = this.alternative; answer = null; // happy compiler return(true); } else { #if DEBUG NoteCalls(this.consequent); consequentTypeHistogram.Note(this.consequentType); #endif expression = this.consequent; answer = null; // happy compiler return(true); } }
public override bool EvalStep(out object answer, ref Control expression, ref Environment environment) { #if DEBUG Warm("-"); NoteCalls(this.rand0Inner); NoteCalls(this.rand1); rand0TypeHistogram.Note(this.rand0InnerType); rand1TypeHistogram.Note(this.rand1Type); SCode.location = "PCondIsEqCar"; #endif Control unev = this.rand1; Environment env = environment; object ev1; while (unev.EvalStep(out ev1, ref unev, ref env)) { } ; #if DEBUG SCode.location = "PCondIsEqCar"; #endif if (ev1 == Interpreter.UnwindStack) { throw new NotImplementedException(); } unev = this.rand0Inner; env = environment; object ev0; while (unev.EvalStep(out ev0, ref unev, ref env)) { } ; #if DEBUG SCode.location = "PCondIsEqCar"; #endif if (ev0 == Interpreter.UnwindStack) { throw new NotImplementedException(); //((UnwinderState) env).AddFrame (new PrimitiveCombination1Frame0 (this, environment)); //answer = Interpreter.UnwindStack; //environment = env; //return false; } #if DEBUG SCode.location = "PCondIsEqCar"; #endif if (!ObjectModel.SchemeEq(((Cons)ev0).Car, ev1)) { #if DEBUG SCode.location = "-"; NoteCalls(this.consequent); consequentTypeHistogram.Note(this.consequentType); SCode.location = "PCondIsEqCar"; #endif expression = this.consequent; } else { #if DEBUG SCode.location = "-"; NoteCalls(this.alternative); alternativeTypeHistogram.Note(this.alternativeType); SCode.location = "PCondIsEqCar"; #endif expression = this.alternative; } answer = null; // happy compiler return(true); }