X-Git-Url: http://nitlanguage.org diff --git a/c_src/kernel._sep.c b/c_src/kernel._sep.c index 45dfb37..cbf3cf8 100644 --- a/c_src/kernel._sep.c +++ b/c_src/kernel._sep.c @@ -1,856 +1,2091 @@ /* This C file is generated by NIT to compile module kernel. */ #include "kernel._sep.h" -val_t kernel___Object___object_id(val_t self) { - struct trace_t trace = {NULL, "kernel::Object::object_id (bin/../lib/standard//kernel.nit:26,2--27:20)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int((int) self); -} -val_t kernel___Object___is_same_type(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Object::is_same_type (bin/../lib/standard//kernel.nit:29,2--30:39)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool((VAL2VFT( self)==VAL2VFT( param0))); -} -val_t kernel___Object_____eqeq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Object::== (bin/../lib/standard//kernel.nit:32,2--35:53)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = TAG_Bool(IS_EQUAL_NN( self, variable0 /*other*/)); - goto return_label0; - return_label0: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Object_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Object::!= (bin/../lib/standard//kernel.nit:37,2--40:58)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = TAG_Bool(( self == variable0 /*other*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*other*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self, variable0 /*other*/) /*Object::==*/))))); - variable1 = TAG_Bool(!UNTAG_Bool(variable1)); - goto return_label1; - return_label1: while(false); - tracehead = trace.prev; - return variable1; -} -void kernel___Object___output(val_t self) { - struct trace_t trace = {NULL, "kernel::Object::output (bin/../lib/standard//kernel.nit:42,2--47:12)"}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<'))); - variable0 = TAG_Int((int) self); - printf("%d\n", UNTAG_Int(variable0)); - printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>'))); - tracehead = trace.prev; +val_t kernel___Object___object_id(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 26; + fra.me.meth = LOCATE_kernel___Object___object_id; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:26 */ + REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Object___is_same_type(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 29; + fra.me.meth = LOCATE_kernel___Object___is_same_type; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:29 */ + REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1]))); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Object_____eqeq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 32; + fra.me.meth = LOCATE_kernel___Object_____eqeq; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:35 */ + REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1])); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Object_____neq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 37; + fra.me.meth = LOCATE_kernel___Object_____neq; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:40 */ + REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1])); + if (UNTAG_Bool(REGB0)) { + } else { + REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + REGB0 = REGB1; + } + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +void kernel___Object___output(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 42; + fra.me.meth = LOCATE_kernel___Object___output; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:45 */ + REGB0 = TAG_Char('<'); + /* ./../lib/standard//kernel.nit:349 */ + printf("%c", (unsigned char)UNTAG_Char(REGB0));; + /* ./../lib/standard//kernel.nit:46 */ + REGB0 = CALL_kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]); + /* ./../lib/standard//kernel.nit:209 */ + printf("%ld\n", UNTAG_Int(REGB0));; + /* ./../lib/standard//kernel.nit:47 */ + REGB0 = TAG_Char('>'); + /* ./../lib/standard//kernel.nit:349 */ + printf("%c", (unsigned char)UNTAG_Char(REGB0));; + stack_frame_head = fra.me.prev; return; } -void kernel___Object___exit(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Object::exit (bin/../lib/standard//kernel.nit:50,2--36)"}; - trace.prev = tracehead; tracehead = &trace; - exit(UNTAG_Int( param0)); - tracehead = trace.prev; +void kernel___Object___exit(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 50; + fra.me.meth = LOCATE_kernel___Object___exit; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + REGB0 = p1; + /* ./../lib/standard//kernel.nit:50 */ + exit(UNTAG_Int(REGB0));; + stack_frame_head = fra.me.prev; return; } -val_t kernel___Object___sys(val_t self) { - struct trace_t trace = {NULL, "kernel::Object::sys (bin/../lib/standard//kernel.nit:51,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return (G_sys); +val_t kernel___Object___sys(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 51; + fra.me.meth = LOCATE_kernel___Object___sys; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:51 */ + fra.me.REG[0] = (G_sys); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +void kernel___Sys___main(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 56; + fra.me.meth = LOCATE_kernel___Sys___main; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + stack_frame_head = fra.me.prev; + return; } -void kernel___Sys___main(val_t self) { - struct trace_t trace = {NULL, "kernel::Sys::main (bin/../lib/standard//kernel.nit:56,2--57:10)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; +void kernel___Sys___init(val_t p0, int* init_table){ + int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Sys].i; + struct {struct stack_frame_t me;} fra; + val_t tmp; + if (init_table[itpos0]) return; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 0; + fra.me.meth = LOCATE_kernel___Sys___init; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + stack_frame_head = fra.me.prev; + init_table[itpos0] = 1; return; } -val_t kernel___Comparable_____l(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::< (bin/../lib/standard//kernel.nit:69,2--70:27)"}; - trace.prev = tracehead; tracehead = &trace; - fprintf(stderr, "Deferred method < called (bin/../lib/standard//kernel.nit:69,2)\n"); - nit_exit(1); - tracehead = trace.prev; +val_t kernel___Comparable_____l(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 69; + fra.me.meth = LOCATE_kernel___Comparable_____l; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//kernel.nit:69 */ + nit_abort("Deferred method called", NULL, LOCATE_kernel, 69); + stack_frame_head = fra.me.prev; return NIT_NULL; } -val_t kernel___Comparable_____leq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::<= (bin/../lib/standard//kernel.nit:72,2--73:55)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/; - variable1 = TAG_Bool(!UNTAG_Bool(variable1)); - goto return_label4; - return_label4: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Comparable_____geq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::>= (bin/../lib/standard//kernel.nit:75,2--76:55)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/; - variable1 = TAG_Bool(!UNTAG_Bool(variable1)); - goto return_label5; - return_label5: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Comparable_____g(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::> (bin/../lib/standard//kernel.nit:78,2--79:50)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/; - goto return_label6; - return_label6: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Comparable_____leqg(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::<=> (bin/../lib/standard//kernel.nit:81,2--89:11)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/; - if (UNTAG_Bool(variable1)) { /*if*/ - variable1 = TAG_Int(-UNTAG_Int( TAG_Int(1))); - goto return_label7; - } else { /*if*/ - variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*other*/,COLOR_kernel___Comparable_____l))( variable0 /*other*/, self) /*Comparable::<*/; - if (UNTAG_Bool(variable1)) { /*if*/ - variable1 = TAG_Int(1); - goto return_label7; - } else { /*if*/ - variable1 = TAG_Int(0); - goto return_label7; +val_t kernel___Comparable_____leq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 72; + fra.me.meth = LOCATE_kernel___Comparable_____leq; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:73 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Comparable_____geq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 75; + fra.me.meth = LOCATE_kernel___Comparable_____geq; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:76 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Comparable_____g(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 78; + fra.me.meth = LOCATE_kernel___Comparable_____g; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:79 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Comparable_____leqg(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 81; + fra.me.meth = LOCATE_kernel___Comparable_____leqg; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:84 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:85 */ + REGB0 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:216 */ + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:85 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:86 */ + REGB1 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + if (UNTAG_Bool(REGB1)) { + /* ./../lib/standard//kernel.nit:87 */ + REGB1 = TAG_Int(1); + REGB0 = REGB1; + goto label1; + } else { + /* ./../lib/standard//kernel.nit:89 */ + REGB1 = TAG_Int(0); + REGB0 = REGB1; + goto label1; } } - return_label7: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Comparable___is_between(val_t self, val_t param0, val_t param1) { - struct trace_t trace = {NULL, "kernel::Comparable::is_between (bin/../lib/standard//kernel.nit:93,2--96:32)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = param1; - variable2 = ((kernel___Comparable_____leq_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____leq))( variable0 /*c*/, self) /*Comparable::<=*/; - variable3 = variable2; - if (UNTAG_Bool(variable3)) { /* and */ - variable3 = ((kernel___Comparable_____leq_t)CALL( self,COLOR_kernel___Comparable_____leq))( self, variable1 /*d*/) /*Comparable::<=*/; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){ + struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 93; + fra.me.meth = LOCATE_kernel___Comparable___is_between; + fra.me.has_broke = 0; + fra.me.REG_size = 3; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + fra.me.REG[2] = p2; + /* ./../lib/standard//kernel.nit:96 */ + REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + if (UNTAG_Bool(REGB0)) { + REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]); + } else { + REGB1 = TAG_Bool(false); + REGB0 = REGB1; } - variable2 = variable3; - goto return_label8; - return_label8: while(false); - tracehead = trace.prev; - return variable2; -} -val_t kernel___Comparable___max(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::max (bin/../lib/standard//kernel.nit:99,2--105:14)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*other*/) /*Comparable::<*/; - if (UNTAG_Bool(variable1)) { /*if*/ - variable1 = variable0 /*other*/; - goto return_label9; - } else { /*if*/ - variable1 = self; - goto return_label9; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Comparable___max(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 99; + fra.me.meth = LOCATE_kernel___Comparable___max; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:102 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:103 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:105 */ + fra.me.REG[1] = fra.me.REG[0]; + goto label1; } - return_label9: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Comparable___min(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Comparable::min (bin/../lib/standard//kernel.nit:109,2--115:14)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((kernel___Comparable_____l_t)CALL( variable0 /*c*/,COLOR_kernel___Comparable_____l))( variable0 /*c*/, self) /*Comparable::<*/; - if (UNTAG_Bool(variable1)) { /*if*/ - variable1 = variable0 /*c*/; - goto return_label10; - } else { /*if*/ - variable1 = self; - goto return_label10; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Comparable___min(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 109; + fra.me.meth = LOCATE_kernel___Comparable___min; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:112 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:113 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:115 */ + fra.me.REG[1] = fra.me.REG[0]; + goto label1; } - return_label10: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Discrete___succ(val_t self) { - struct trace_t trace = {NULL, "kernel::Discrete::succ (bin/../lib/standard//kernel.nit:126,2--127:36)"}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - variable0 = ((kernel___Discrete_____plus_t)CALL( self,COLOR_kernel___Discrete_____plus))( self, TAG_Int(1)) /*Discrete::+*/; - goto return_label11; - return_label11: while(false); - tracehead = trace.prev; - return variable0; -} -val_t kernel___Discrete___prec(val_t self) { - struct trace_t trace = {NULL, "kernel::Discrete::prec (bin/../lib/standard//kernel.nit:129,2--130:36)"}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - variable0 = ((kernel___Discrete_____minus_t)CALL( self,COLOR_kernel___Discrete_____minus))( self, TAG_Int(1)) /*Discrete::-*/; - goto return_label12; - return_label12: while(false); - tracehead = trace.prev; - return variable0; -} -val_t kernel___Discrete_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Discrete::+ (bin/../lib/standard//kernel.nit:132,2--133:22)"}; - trace.prev = tracehead; tracehead = &trace; - fprintf(stderr, "Deferred method + called (bin/../lib/standard//kernel.nit:132,2)\n"); - nit_exit(1); - tracehead = trace.prev; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Discrete___succ(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 126; + fra.me.meth = LOCATE_kernel___Discrete___succ; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:127 */ + REGB0 = TAG_Int(1); + fra.me.REG[0] = CALL_kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t kernel___Discrete___prec(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 129; + fra.me.meth = LOCATE_kernel___Discrete___prec; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:130 */ + REGB0 = TAG_Int(1); + fra.me.REG[0] = CALL_kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t kernel___Discrete_____plus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 132; + fra.me.meth = LOCATE_kernel___Discrete_____plus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//kernel.nit:132 */ + nit_abort("Deferred method called", NULL, LOCATE_kernel, 132); + stack_frame_head = fra.me.prev; return NIT_NULL; } -val_t kernel___Discrete_____minus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Discrete::- (bin/../lib/standard//kernel.nit:135,2--136:22)"}; - trace.prev = tracehead; tracehead = &trace; - fprintf(stderr, "Deferred method - called (bin/../lib/standard//kernel.nit:135,2)\n"); - nit_exit(1); - tracehead = trace.prev; +val_t kernel___Discrete_____minus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 135; + fra.me.meth = LOCATE_kernel___Discrete_____minus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + /* ./../lib/standard//kernel.nit:135 */ + nit_abort("Deferred method called", NULL, LOCATE_kernel, 135); + stack_frame_head = fra.me.prev; return NIT_NULL; } -val_t kernel___Discrete___distance(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Discrete::distance (bin/../lib/standard//kernel.nit:138,2--160:11)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = NIT_NULL /*decl variable cursor*/; - variable2 = NIT_NULL /*decl variable stop*/; - variable3 = ((kernel___Comparable_____l_t)CALL( self,COLOR_kernel___Comparable_____l))( self, variable0 /*d*/) /*Discrete::<*/; - if (UNTAG_Bool(variable3)) { /*if*/ - variable1 = self /*cursor=*/; - variable2 = variable0 /*d*/ /*stop=*/; - } else { /*if*/ - variable3 = ((kernel___Comparable_____g_t)CALL( self,COLOR_kernel___Comparable_____g))( self, variable0 /*d*/) /*Discrete::>*/; - if (UNTAG_Bool(variable3)) { /*if*/ - variable1 = variable0 /*d*/ /*cursor=*/; - variable2 = self /*stop=*/; - } else { /*if*/ - variable1 = TAG_Int(0); - goto return_label13; +val_t kernel___Discrete___distance(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 138; + fra.me.meth = LOCATE_kernel___Discrete___distance; + fra.me.has_broke = 0; + fra.me.REG_size = 4; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[2] = NIT_NULL; + fra.me.REG[3] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:145 */ + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:146 */ + fra.me.REG[2] = fra.me.REG[0]; + /* ./../lib/standard//kernel.nit:147 */ + fra.me.REG[3] = fra.me.REG[1]; + } else { + /* ./../lib/standard//kernel.nit:148 */ + REGB0 = CALL_kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:149 */ + fra.me.REG[2] = fra.me.REG[1]; + /* ./../lib/standard//kernel.nit:150 */ + fra.me.REG[3] = fra.me.REG[0]; + } else { + /* ./../lib/standard//kernel.nit:152 */ + REGB0 = TAG_Int(0); + goto label1; } } - variable3 = TAG_Int(0); - while (true) { /*while*/ - variable4 = ((kernel___Comparable_____l_t)CALL( variable1 /*cursor*/,COLOR_kernel___Comparable_____l))( variable1 /*cursor*/, variable2 /*stop*/) /*Discrete::<*/; - if (!UNTAG_Bool(variable4)) break; /* while*/ - variable4 = ((kernel___Discrete___succ_t)CALL( variable1 /*cursor*/,COLOR_kernel___Discrete___succ))( variable1 /*cursor*/) /*Discrete::succ*/; - variable1 = variable4 /*cursor=*/; - variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*nb*/; - continue_14: while(0); + /* ./../lib/standard//kernel.nit:155 */ + REGB1 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:156 */ + while(1) { + REGB2 = CALL_kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); + if (UNTAG_Bool(REGB2)) { + /* ./../lib/standard//kernel.nit:157 */ + fra.me.REG[0] = CALL_kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]); + fra.me.REG[2] = fra.me.REG[0]; + /* ./../lib/standard//kernel.nit:158 */ + REGB2 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:215 */ + REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2)); + /* ./../lib/standard//kernel.nit:158 */ + REGB1 = REGB2; + } else { + /* ./../lib/standard//kernel.nit:156 */ + goto label2; + } } - break_14: while(0); - variable1 = variable3 /*nb*/; - goto return_label13; - return_label13: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Bool___object_id(val_t self) { - struct trace_t trace = {NULL, "kernel::Bool::object_id (bin/../lib/standard//kernel.nit:174,2--21)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Bool( self)); -} -val_t kernel___Bool_____eqeq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Bool::== (bin/../lib/standard//kernel.nit:175,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(( self)==( param0)); -} -val_t kernel___Bool_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Bool::!= (bin/../lib/standard//kernel.nit:176,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(( self)!=( param0)); -} -void kernel___Bool___output(val_t self) { - struct trace_t trace = {NULL, "kernel::Bool::output (bin/../lib/standard//kernel.nit:177,2--18)"}; - trace.prev = tracehead; tracehead = &trace; - (void)printf(UNTAG_Bool( self)?"true\n":"false\n"); - tracehead = trace.prev; + label2: while(0); + /* ./../lib/standard//kernel.nit:160 */ + REGB0 = REGB1; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Bool___object_id(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 174; + fra.me.meth = LOCATE_kernel___Bool___object_id; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:174 */ + REGB0 = TAG_Int(UNTAG_Bool(REGB0)); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Bool_____eqeq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 175; + fra.me.meth = LOCATE_kernel___Bool_____eqeq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:175 */ + REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Bool_____neq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 176; + fra.me.meth = LOCATE_kernel___Bool_____neq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:176 */ + REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +void kernel___Bool___output(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 177; + fra.me.meth = LOCATE_kernel___Bool___output; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:177 */ + (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");; + stack_frame_head = fra.me.prev; return; } -val_t kernel___Float___object_id(val_t self) { - struct trace_t trace = {NULL, "kernel::Float::object_id (bin/../lib/standard//kernel.nit:183,2--21)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int((int)UNBOX_Float( self)); -} -void kernel___Float___output(val_t self) { - struct trace_t trace = {NULL, "kernel::Float::output (bin/../lib/standard//kernel.nit:184,2--18)"}; - trace.prev = tracehead; tracehead = &trace; - printf("%f\n", UNBOX_Float( self)); - tracehead = trace.prev; +val_t kernel___Float___object_id(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 183; + fra.me.meth = LOCATE_kernel___Float___object_id; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:183 */ + REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +void kernel___Float___output(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 184; + fra.me.meth = LOCATE_kernel___Float___output; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:184 */ + printf("%f\n", UNBOX_Float(fra.me.REG[0]));; + stack_frame_head = fra.me.prev; return; } -val_t kernel___Float_____leq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::<= (bin/../lib/standard//kernel.nit:186,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNBOX_Float( self)<=UNBOX_Float( param0)); -} -val_t kernel___Float_____l(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::< (bin/../lib/standard//kernel.nit:187,2--23)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNBOX_Float( self)= (bin/../lib/standard//kernel.nit:188,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNBOX_Float( self)>=UNBOX_Float( param0)); -} -val_t kernel___Float_____g(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::> (bin/../lib/standard//kernel.nit:189,2--23)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNBOX_Float( self)>UNBOX_Float( param0)); -} -val_t kernel___Float_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::+ (bin/../lib/standard//kernel.nit:190,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float(UNBOX_Float( self)+UNBOX_Float( param0)); -} -val_t kernel___Float___unary__minus(val_t self) { - struct trace_t trace = {NULL, "kernel::Float::unary - (bin/../lib/standard//kernel.nit:191,2--14)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float(-UNBOX_Float( self)); -} -val_t kernel___Float_____minus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::- (bin/../lib/standard//kernel.nit:192,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float(UNBOX_Float( self)-UNBOX_Float( param0)); -} -val_t kernel___Float_____star(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::* (bin/../lib/standard//kernel.nit:193,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float(UNBOX_Float( self)*UNBOX_Float( param0)); -} -val_t kernel___Float_____slash(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Float::/ (bin/../lib/standard//kernel.nit:194,2--24)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float(UNBOX_Float( self)/UNBOX_Float( param0)); -} -val_t kernel___Float___to_i(val_t self) { - struct trace_t trace = {NULL, "kernel::Float::to_i (bin/../lib/standard//kernel.nit:196,2--197:15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int((int)UNBOX_Float( self)); -} -val_t kernel___Int___object_id(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::object_id (bin/../lib/standard//kernel.nit:206,2--21)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return self; -} -val_t kernel___Int_____eqeq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::== (bin/../lib/standard//kernel.nit:207,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(( self)==( param0)); -} -val_t kernel___Int_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::!= (bin/../lib/standard//kernel.nit:208,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(( self)!=( param0)); -} -void kernel___Int___output(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::output (bin/../lib/standard//kernel.nit:209,2--18)"}; - trace.prev = tracehead; tracehead = &trace; - printf("%d\n", UNTAG_Int( self)); - tracehead = trace.prev; +val_t kernel___Float_____leq(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 186; + fra.me.meth = LOCATE_kernel___Float_____leq; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:186 */ + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Float_____l(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 187; + fra.me.meth = LOCATE_kernel___Float_____l; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:187 */ + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])=UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Float_____g(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 189; + fra.me.meth = LOCATE_kernel___Float_____g; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:189 */ + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Float_____plus(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 190; + fra.me.meth = LOCATE_kernel___Float_____plus; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:190 */ + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Float___unary__minus(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 191; + fra.me.meth = LOCATE_kernel___Float___unary__minus; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:191 */ + fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t kernel___Float_____minus(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 192; + fra.me.meth = LOCATE_kernel___Float_____minus; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:192 */ + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Float_____star(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 193; + fra.me.meth = LOCATE_kernel___Float_____star; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:193 */ + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Float_____slash(val_t p0, val_t p1){ + struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 194; + fra.me.meth = LOCATE_kernel___Float_____slash; + fra.me.has_broke = 0; + fra.me.REG_size = 2; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[1] = NIT_NULL; + fra.me.REG[0] = p0; + fra.me.REG[1] = p1; + /* ./../lib/standard//kernel.nit:194 */ + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1])); + stack_frame_head = fra.me.prev; + return fra.me.REG[1]; +} +val_t kernel___Float___to_i(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 196; + fra.me.meth = LOCATE_kernel___Float___to_i; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + fra.me.REG[0] = p0; + /* ./../lib/standard//kernel.nit:196 */ + REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int___object_id(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 206; + fra.me.meth = LOCATE_kernel___Int___object_id; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:206 */ + REGB0 = REGB0; + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int_____eqeq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 207; + fra.me.meth = LOCATE_kernel___Int_____eqeq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:207 */ + REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int_____neq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 208; + fra.me.meth = LOCATE_kernel___Int_____neq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:208 */ + REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +void kernel___Int___output(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 209; + fra.me.meth = LOCATE_kernel___Int___output; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:209 */ + printf("%ld\n", UNTAG_Int(REGB0));; + stack_frame_head = fra.me.prev; return; } -val_t kernel___Int_____leq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::<= (bin/../lib/standard//kernel.nit:211,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( param0)); -} -val_t kernel___Int_____l(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::< (bin/../lib/standard//kernel.nit:212,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Int( self)= (bin/../lib/standard//kernel.nit:213,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( param0)); -} -val_t kernel___Int_____g(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::> (bin/../lib/standard//kernel.nit:214,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Int( self)>UNTAG_Int( param0)); -} -val_t kernel___Int_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::+ (bin/../lib/standard//kernel.nit:215,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)+UNTAG_Int( param0)); -} -val_t kernel___Int___unary__minus(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::unary - (bin/../lib/standard//kernel.nit:216,2--12)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(-UNTAG_Int( self)); -} -val_t kernel___Int_____minus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::- (bin/../lib/standard//kernel.nit:217,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)-UNTAG_Int( param0)); -} -val_t kernel___Int_____star(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::* (bin/../lib/standard//kernel.nit:218,2--20)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)*UNTAG_Int( param0)); -} -val_t kernel___Int_____slash(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::/ (bin/../lib/standard//kernel.nit:219,2--20)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)/UNTAG_Int( param0)); -} -val_t kernel___Int_____percent(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::% (bin/../lib/standard//kernel.nit:220,2--20)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)%UNTAG_Int( param0)); -} -val_t kernel___Int___lshift(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::lshift (bin/../lib/standard//kernel.nit:221,2--25)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)<>UNTAG_Int( param0)); -} -val_t kernel___Int___to_f(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::to_f (bin/../lib/standard//kernel.nit:224,2--225:17)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return BOX_Float((float)UNTAG_Int( self)); -} -val_t kernel___Int___succ(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::succ (bin/../lib/standard//kernel.nit:227,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)+1); -} -val_t kernel___Int___prec(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::prec (bin/../lib/standard//kernel.nit:228,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)-1); -} -val_t kernel___Int___distance(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::distance (bin/../lib/standard//kernel.nit:229,2--235:12)"}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable2 = TAG_Int(UNTAG_Int( self)-UNTAG_Int( variable0 /*i*/)); - variable1 = variable2; - variable2 = TAG_Bool(UNTAG_Int( variable1 /*d*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable2)) { /*if*/ - variable1 = variable1 /*d*/; - goto return_label15; - } else { /*if*/ - variable2 = TAG_Int(-UNTAG_Int( variable1 /*d*/)); - variable1 = variable2; - goto return_label15; +val_t kernel___Int_____leq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 211; + fra.me.meth = LOCATE_kernel___Int_____leq; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:211 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____l(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 212; + fra.me.meth = LOCATE_kernel___Int_____l; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:212 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB0)=UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____g(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 214; + fra.me.meth = LOCATE_kernel___Int_____g; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:214 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____plus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 215; + fra.me.meth = LOCATE_kernel___Int_____plus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:215 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int___unary__minus(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 216; + fra.me.meth = LOCATE_kernel___Int___unary__minus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:216 */ + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int_____minus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 217; + fra.me.meth = LOCATE_kernel___Int_____minus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:217 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____star(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 218; + fra.me.meth = LOCATE_kernel___Int_____star; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:218 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____slash(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 219; + fra.me.meth = LOCATE_kernel___Int_____slash; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:219 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____percent(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 220; + fra.me.meth = LOCATE_kernel___Int_____percent; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:220 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int___lshift(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 221; + fra.me.meth = LOCATE_kernel___Int___lshift; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:221 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)<>UNTAG_Int(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int___to_f(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 224; + fra.me.meth = LOCATE_kernel___Int___to_f; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:224 */ + fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0)); + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t kernel___Int___succ(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 227; + fra.me.meth = LOCATE_kernel___Int___succ; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:227 */ + REGB0 = TAG_Int(UNTAG_Int(REGB0)+1); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int___prec(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 228; + fra.me.meth = LOCATE_kernel___Int___prec; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:228 */ + REGB0 = TAG_Int(UNTAG_Int(REGB0)-1); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int___distance(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 229; + fra.me.meth = LOCATE_kernel___Int___distance; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:217 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:232 */ + REGB0 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:213 */ + REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:232 */ + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:233 */ + REGB0 = REGB1; + goto label1; + } else { + /* ./../lib/standard//kernel.nit:216 */ + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:235 */ + REGB0 = REGB1; + goto label1; } - return_label15: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Int_____leqg(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Int::<=> (bin/../lib/standard//kernel.nit:239,2--246:11)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = TAG_Bool(UNTAG_Int( self)UNTAG_Int( TAG_Int(0))); - if (!UNTAG_Bool(variable3)) break; /* while*/ - variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1))) /*d*/; - variable3 = TAG_Int(UNTAG_Int( variable2 /*n*/)/UNTAG_Int( variable0 /*b*/)); - variable2 = variable3 /*n=*/; - continue_21: while(0); + /* ./../lib/standard//kernel.nit:296 */ + while(1) { + REGB0 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:214 */ + REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:296 */ + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:297 */ + REGB0 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:215 */ + REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:297 */ + REGB2 = REGB0; + /* ./../lib/standard//kernel.nit:219 */ + REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:298 */ + REGB3 = REGB0; + } else { + /* ./../lib/standard//kernel.nit:296 */ + goto label2; + } } - break_21: while(0); - variable1 = variable1 /*d*/; - goto return_label20; - return_label20: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Int___to_c(val_t self) { - struct trace_t trace = {NULL, "kernel::Int::to_c (bin/../lib/standard//kernel.nit:303,2--312:41)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = TAG_Bool(UNTAG_Int( self)>=UNTAG_Int( TAG_Int(0))); - variable1 = variable0; - if (UNTAG_Bool(variable1)) { /* and */ - variable1 = TAG_Bool(UNTAG_Int( self)<=UNTAG_Int( TAG_Int(36))); + label2: while(0); + /* ./../lib/standard//kernel.nit:300 */ + REGB5 = REGB2; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB5; +} +val_t kernel___Int___to_c(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 303; + fra.me.meth = LOCATE_kernel___Int___to_c; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:308 */ + REGB1 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:213 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:308 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int(36); + /* ./../lib/standard//kernel.nit:211 */ + REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1)); + } else { + /* ./../lib/standard//kernel.nit:308 */ + REGB2 = TAG_Bool(false); + REGB1 = REGB2; } - variable0 = variable1; - if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert failed: bin/../lib/standard//kernel.nit:308,3--33\n"); nit_exit(1);} - variable0 = TAG_Bool(UNTAG_Int( self)has_broke) { + goto label1; + } + /* ./../lib/standard//kernel.nit:323 */ + REGB2 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:215 */ + REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2)); + /* ./../lib/standard//kernel.nit:323 */ + REGB0 = REGB2; + } else { + /* ./../lib/standard//kernel.nit:321 */ + goto label2; + } + } + label2: while(0); + label1: while(0); + stack_frame_head = fra.me.prev; return; } -val_t kernel___Char_____leq(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::<= (bin/../lib/standard//kernel.nit:329,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( param0)); -} -val_t kernel___Char_____l(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::< (bin/../lib/standard//kernel.nit:330,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Char( self)= (bin/../lib/standard//kernel.nit:331,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( param0)); -} -val_t kernel___Char_____g(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::> (bin/../lib/standard//kernel.nit:332,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Bool(UNTAG_Char( self)>UNTAG_Char( param0)); -} -val_t kernel___Char___succ(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::succ (bin/../lib/standard//kernel.nit:334,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)+1); -} -val_t kernel___Char___prec(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::prec (bin/../lib/standard//kernel.nit:335,2--16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)-1); -} -val_t kernel___Char___distance(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::distance (bin/../lib/standard//kernel.nit:337,2--343:12)"}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable2 = TAG_Int((unsigned char)UNTAG_Char( self)); - variable3 = TAG_Int((unsigned char)UNTAG_Char( variable0 /*c*/)); - variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int(variable3)); - variable1 = variable2; - variable2 = TAG_Bool(UNTAG_Int( variable1 /*d*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable2)) { /*if*/ - variable1 = variable1 /*d*/; - goto return_label23; - } else { /*if*/ - variable2 = TAG_Int(-UNTAG_Int( variable1 /*d*/)); - variable1 = variable2; - goto return_label23; - } - return_label23: while(false); - tracehead = trace.prev; - return variable1; -} -val_t kernel___Char___to_i(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::to_i (bin/../lib/standard//kernel.nit:347,2--356:47)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = TAG_Bool(( self)==( TAG_Char('-'))); - if (UNTAG_Bool(variable0)) { /*if*/ - variable0 = TAG_Int(-UNTAG_Int( TAG_Int(1))); - goto return_label24; - } else { /*if*/ - variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('0'))); - variable1 = variable0; - if (UNTAG_Bool(variable1)) { /* and */ - variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('9'))); +void kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + fun_t CREG[1]; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 327; + fra.me.meth = LOCATE_kernel___Int___enumerate_before; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + fra.me.closure_ctx = closctx_param; + fra.me.closure_funs = CREG; + REGB0 = p0; + REGB1 = p1; + CREG[0] = clos_fun0; + /* ./../lib/standard//kernel.nit:332 */ + while(1) { + /* ./../lib/standard//kernel.nit:212 */ + REGB2 = TAG_Bool(UNTAG_Int(REGB0)has_broke) { + goto label1; + } + /* ./../lib/standard//kernel.nit:334 */ + REGB2 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:215 */ + REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2)); + /* ./../lib/standard//kernel.nit:334 */ + REGB0 = REGB2; + } else { + /* ./../lib/standard//kernel.nit:332 */ + goto label2; } - variable0 = variable1; - if (UNTAG_Bool(variable0)) { /*if*/ - variable0 = TAG_Int((unsigned char)UNTAG_Char( self)); - variable1 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0'))); - variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1)); - goto return_label24; - } else { /*if*/ - variable0 = ((kernel___Char___to_lower_t)CALL( self,COLOR_kernel___Char___to_lower))( self) /*Char::to_lower*/; - variable0 = TAG_Int((unsigned char)UNTAG_Char(variable0)); - variable1 = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a'))); - variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(10))); - variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1)); - goto return_label24; + } + label2: while(0); + label1: while(0); + stack_frame_head = fra.me.prev; + return; +} +val_t kernel___Char___object_id(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 346; + fra.me.meth = LOCATE_kernel___Char___object_id; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:346 */ + REGB0 = TAG_Int(UNTAG_Char(REGB0)); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char_____eqeq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 347; + fra.me.meth = LOCATE_kernel___Char_____eqeq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:347 */ + REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char_____neq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 348; + fra.me.meth = LOCATE_kernel___Char_____neq; + fra.me.has_broke = 0; + fra.me.REG_size = 1; + fra.me.REG[0] = NIT_NULL; + REGB0 = p0; + fra.me.REG[0] = p1; + /* ./../lib/standard//kernel.nit:348 */ + REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0])); + stack_frame_head = fra.me.prev; + return REGB0; +} +void kernel___Char___output(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 349; + fra.me.meth = LOCATE_kernel___Char___output; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:349 */ + printf("%c", (unsigned char)UNTAG_Char(REGB0));; + stack_frame_head = fra.me.prev; + return; +} +val_t kernel___Char_____leq(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 351; + fra.me.meth = LOCATE_kernel___Char_____leq; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:351 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char_____l(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 352; + fra.me.meth = LOCATE_kernel___Char_____l; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:352 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)=UNTAG_Char(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char_____g(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 354; + fra.me.meth = LOCATE_kernel___Char_____g; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:354 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char___succ(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 356; + fra.me.meth = LOCATE_kernel___Char___succ; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:356 */ + REGB0 = TAG_Char(UNTAG_Char(REGB0)+1); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char___prec(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 357; + fra.me.meth = LOCATE_kernel___Char___prec; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:357 */ + REGB0 = TAG_Char(UNTAG_Char(REGB0)-1); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char___distance(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 359; + fra.me.meth = LOCATE_kernel___Char___distance; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:382 */ + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:217 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:362 */ + REGB0 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:213 */ + REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:362 */ + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:363 */ + REGB0 = REGB1; + goto label1; + } else { + /* ./../lib/standard//kernel.nit:216 */ + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:365 */ + REGB0 = REGB1; + goto label1; + } + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char___to_i(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 369; + fra.me.meth = LOCATE_kernel___Char___to_i; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:373 */ + REGB1 = TAG_Char('-'); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); + if (UNTAG_Bool(REGB2)) { + } else { + /* ./../lib/standard//kernel.nit:347 */ + REGB1 = TAG_Bool((REGB0)==(REGB1)); + /* ./../lib/standard//kernel.nit:373 */ + REGB2 = REGB1; + } + if (UNTAG_Bool(REGB2)) { + /* ./../lib/standard//kernel.nit:374 */ + REGB2 = TAG_Int(1); + /* ./../lib/standard//kernel.nit:216 */ + REGB2 = TAG_Int(-UNTAG_Int(REGB2)); + /* ./../lib/standard//kernel.nit:374 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:375 */ + REGB1 = CALL_kernel___Char___is_digit(REGB0)(REGB0); + if (UNTAG_Bool(REGB1)) { + /* ./../lib/standard//kernel.nit:382 */ + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + /* ./../lib/standard//kernel.nit:376 */ + REGB3 = TAG_Char('0'); + /* ./../lib/standard//kernel.nit:382 */ + REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3)); + /* ./../lib/standard//kernel.nit:217 */ + REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:376 */ + REGB2 = REGB3; + goto label1; + } else { + /* ./../lib/standard//kernel.nit:378 */ + REGB0 = CALL_kernel___Char___to_lower(REGB0)(REGB0); + /* ./../lib/standard//kernel.nit:382 */ + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + /* ./../lib/standard//kernel.nit:378 */ + REGB3 = TAG_Char('a'); + /* ./../lib/standard//kernel.nit:382 */ + REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3)); + /* ./../lib/standard//kernel.nit:378 */ + REGB1 = TAG_Int(10); + /* ./../lib/standard//kernel.nit:215 */ + REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:217 */ + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:378 */ + REGB2 = REGB1; + goto label1; } } - return_label24: while(false); - tracehead = trace.prev; - return variable0; -} -val_t kernel___Char___ascii(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::ascii (bin/../lib/standard//kernel.nit:360,2--361:16)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Int((unsigned char)UNTAG_Char( self)); -} -val_t kernel___Char_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::+ (bin/../lib/standard//kernel.nit:363,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)+UNTAG_Char( param0)); -} -val_t kernel___Char_____minus(val_t self, val_t param0) { - struct trace_t trace = {NULL, "kernel::Char::- (bin/../lib/standard//kernel.nit:364,2--15)"}; - trace.prev = tracehead; tracehead = &trace; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)-UNTAG_Char( param0)); -} -val_t kernel___Char___to_lower(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::to_lower (bin/../lib/standard//kernel.nit:366,2--372:14)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('A'))); - variable1 = variable0; - if (UNTAG_Bool(variable1)) { /* and */ - variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('Z'))); + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB2; +} +val_t kernel___Char___ascii(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 382; + fra.me.meth = LOCATE_kernel___Char___ascii; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:382 */ + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Char_____plus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 385; + fra.me.meth = LOCATE_kernel___Char_____plus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:385 */ + REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char_____minus(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 386; + fra.me.meth = LOCATE_kernel___Char_____minus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + /* ./../lib/standard//kernel.nit:386 */ + REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1)); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char___to_lower(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 388; + fra.me.meth = LOCATE_kernel___Char___to_lower; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:391 */ + REGB1 = CALL_kernel___Char___is_upper(REGB0)(REGB0); + if (UNTAG_Bool(REGB1)) { + /* ./../lib/standard//kernel.nit:382 */ + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + /* ./../lib/standard//kernel.nit:392 */ + REGB2 = TAG_Char('a'); + REGB3 = TAG_Char('A'); + REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3); + /* ./../lib/standard//kernel.nit:215 */ + REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:277 */ + REGB3 = TAG_Char(UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:392 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:394 */ + REGB3 = REGB0; + goto label1; + } + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB3; +} +val_t kernel___Char___to_upper(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 398; + fra.me.meth = LOCATE_kernel___Char___to_upper; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:401 */ + REGB1 = CALL_kernel___Char___is_lower(REGB0)(REGB0); + if (UNTAG_Bool(REGB1)) { + /* ./../lib/standard//kernel.nit:382 */ + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + /* ./../lib/standard//kernel.nit:402 */ + REGB2 = TAG_Char('a'); + REGB3 = TAG_Char('A'); + REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3); + /* ./../lib/standard//kernel.nit:217 */ + REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:277 */ + REGB3 = TAG_Char(UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:402 */ + goto label1; + } else { + /* ./../lib/standard//kernel.nit:404 */ + REGB3 = REGB0; + goto label1; + } + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB3; +} +val_t kernel___Char___is_digit(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 408; + fra.me.meth = LOCATE_kernel___Char___is_digit; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:410 */ + REGB1 = TAG_Char('0'); + /* ./../lib/standard//kernel.nit:353 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:410 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('9'); + /* ./../lib/standard//kernel.nit:351 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + } else { + /* ./../lib/standard//kernel.nit:410 */ + REGB0 = TAG_Bool(false); + REGB1 = REGB0; } - variable0 = variable1; - if (UNTAG_Bool(variable0)) { /*if*/ - variable0 = TAG_Int((unsigned char)UNTAG_Char( self)); - variable1 = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/; - variable0 = TAG_Int(UNTAG_Int(variable0)+UNTAG_Int(variable1)); - variable0 = TAG_Char(UNTAG_Int(variable0)); - goto return_label25; - } else { /*if*/ - variable0 = self; - goto return_label25; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char___is_lower(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 413; + fra.me.meth = LOCATE_kernel___Char___is_lower; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:415 */ + REGB1 = TAG_Char('a'); + /* ./../lib/standard//kernel.nit:353 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:415 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('z'); + /* ./../lib/standard//kernel.nit:351 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + } else { + /* ./../lib/standard//kernel.nit:415 */ + REGB0 = TAG_Bool(false); + REGB1 = REGB0; } - return_label25: while(false); - tracehead = trace.prev; - return variable0; -} -val_t kernel___Char___to_upper(val_t self) { - struct trace_t trace = {NULL, "kernel::Char::to_upper (bin/../lib/standard//kernel.nit:376,2--382:14)"}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - variable0 = TAG_Bool(UNTAG_Char( self)>=UNTAG_Char( TAG_Char('a'))); - variable1 = variable0; - if (UNTAG_Bool(variable1)) { /* and */ - variable1 = TAG_Bool(UNTAG_Char( self)<=UNTAG_Char( TAG_Char('z'))); + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char___is_upper(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 418; + fra.me.meth = LOCATE_kernel___Char___is_upper; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:420 */ + REGB1 = TAG_Char('A'); + /* ./../lib/standard//kernel.nit:353 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:420 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('Z'); + /* ./../lib/standard//kernel.nit:351 */ + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + } else { + /* ./../lib/standard//kernel.nit:420 */ + REGB0 = TAG_Bool(false); + REGB1 = REGB0; } - variable0 = variable1; - if (UNTAG_Bool(variable0)) { /*if*/ - variable0 = TAG_Int((unsigned char)UNTAG_Char( self)); - variable1 = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/; - variable0 = TAG_Int(UNTAG_Int(variable0)-UNTAG_Int(variable1)); - variable0 = TAG_Char(UNTAG_Int(variable0)); - goto return_label26; - } else { /*if*/ - variable0 = self; - goto return_label26; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Char___is_letter(val_t p0){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 423; + fra.me.meth = LOCATE_kernel___Char___is_letter; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + /* ./../lib/standard//kernel.nit:425 */ + REGB1 = CALL_kernel___Char___is_lower(REGB0)(REGB0); + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Bool(true); + } else { + REGB0 = CALL_kernel___Char___is_upper(REGB0)(REGB0); + REGB1 = REGB0; } - return_label26: while(false); - tracehead = trace.prev; - return variable0; + goto label1; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB1; }