X-Git-Url: http://nitlanguage.org diff --git a/c_src/kernel._sep.c b/c_src/kernel._sep.c index 0b934e6..cbf3cf8 100644 --- a/c_src/kernel._sep.c +++ b/c_src/kernel._sep.c @@ -1,947 +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, NULL, 26, LOCATE_kernel___Object___object_id}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int((bigint) self); -} -val_t kernel___Object___is_same_type(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 29, LOCATE_kernel___Object___is_same_type}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 32, LOCATE_kernel___Object_____eqeq}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 37, LOCATE_kernel___Object_____neq}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 42, LOCATE_kernel___Object___output}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<'))); - variable0 = TAG_Int((bigint) 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, NULL, 50, LOCATE_kernel___Object___exit}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 51, LOCATE_kernel___Object___sys}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return (G_sys); -} -void kernel___Sys___main(val_t self) { - struct trace_t trace = {NULL, NULL, 56, LOCATE_kernel___Sys___main}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; +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___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, NULL, 0, LOCATE_kernel___Sys___init}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 69, LOCATE_kernel___Comparable_____l}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - fprintf(stderr, "Deferred method %s called"); - fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Sys___main, LOCATE_kernel, 69); - 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, NULL, 72, LOCATE_kernel___Comparable_____leq}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 75, LOCATE_kernel___Comparable_____geq}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 78, LOCATE_kernel___Comparable_____g}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 81, LOCATE_kernel___Comparable_____leqg}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 93, LOCATE_kernel___Comparable___is_between}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 99, LOCATE_kernel___Comparable___max}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 109, LOCATE_kernel___Comparable___min}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 126, LOCATE_kernel___Discrete___succ}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 129, LOCATE_kernel___Discrete___prec}; - val_t variable0; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 132, LOCATE_kernel___Discrete_____plus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - fprintf(stderr, "Deferred method %s called"); - fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 132); - 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, NULL, 135, LOCATE_kernel___Discrete_____minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - fprintf(stderr, "Deferred method %s called"); - fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec, LOCATE_kernel, 135); - 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, NULL, 138, LOCATE_kernel___Discrete___distance}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - val_t variable4; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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*/) /*Comparable::<*/; - 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*/) /*Comparable::>*/; - 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*/) /*Comparable::<*/; - 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, NULL, 174, LOCATE_kernel___Bool___object_id}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 175, LOCATE_kernel___Bool_____eqeq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Bool(( self)==( param0)); -} -val_t kernel___Bool_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 176, LOCATE_kernel___Bool_____neq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Bool(( self)!=( param0)); -} -void kernel___Bool___output(val_t self) { - struct trace_t trace = {NULL, NULL, 177, LOCATE_kernel___Bool___output}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - (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, NULL, 183, LOCATE_kernel___Float___object_id}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int((bigint)UNBOX_Float( self)); -} -void kernel___Float___output(val_t self) { - struct trace_t trace = {NULL, NULL, 184, LOCATE_kernel___Float___output}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 186, LOCATE_kernel___Float_____leq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 187, LOCATE_kernel___Float_____l}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 189, LOCATE_kernel___Float_____g}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 190, LOCATE_kernel___Float_____plus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 191, LOCATE_kernel___Float___unary__minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 192, LOCATE_kernel___Float_____minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 193, LOCATE_kernel___Float_____star}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 194, LOCATE_kernel___Float_____slash}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 196, LOCATE_kernel___Float___to_i}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int((bigint)UNBOX_Float( self)); -} -val_t kernel___Int___object_id(val_t self) { - struct trace_t trace = {NULL, NULL, 206, LOCATE_kernel___Int___object_id}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return self; -} -val_t kernel___Int_____eqeq(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 207, LOCATE_kernel___Int_____eqeq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Bool(( self)==( param0)); -} -val_t kernel___Int_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 208, LOCATE_kernel___Int_____neq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Bool(( self)!=( param0)); -} -void kernel___Int___output(val_t self) { - struct trace_t trace = {NULL, NULL, 209, LOCATE_kernel___Int___output}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 211, LOCATE_kernel___Int_____leq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 212, LOCATE_kernel___Int_____l}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 214, LOCATE_kernel___Int_____g}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 215, LOCATE_kernel___Int_____plus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 216, LOCATE_kernel___Int___unary__minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 217, LOCATE_kernel___Int_____minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 218, LOCATE_kernel___Int_____star}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 219, LOCATE_kernel___Int_____slash}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 220, LOCATE_kernel___Int_____percent}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 221, LOCATE_kernel___Int___lshift}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 224, LOCATE_kernel___Int___to_f}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return BOX_Float((float)UNTAG_Int( self)); -} -val_t kernel___Int___succ(val_t self) { - struct trace_t trace = {NULL, NULL, 227, LOCATE_kernel___Int___succ}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)+1); -} -val_t kernel___Int___prec(val_t self) { - struct trace_t trace = {NULL, NULL, 228, LOCATE_kernel___Int___prec}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 229, LOCATE_kernel___Int___distance}; - val_t variable0; - val_t variable1; - val_t variable2; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 239, LOCATE_kernel___Int_____leqg}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable0 = param0; - variable1 = TAG_Bool(UNTAG_Int( self)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; } } - while (true) { /*while*/ - variable3 = TAG_Bool(UNTAG_Int( variable2 /*n*/)>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); + 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; } - 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, NULL, 303, LOCATE_kernel___Int___to_c}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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))); + if (UNTAG_Bool(REGB1)) { + } else { + nit_abort("Assert failed", NULL, LOCATE_kernel, 308); } - variable0 = variable1; - if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c, LOCATE_kernel, 308); 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, NULL, 329, LOCATE_kernel___Char_____leq}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 330, LOCATE_kernel___Char_____l}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 332, LOCATE_kernel___Char_____g}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 334, LOCATE_kernel___Char___succ}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)+1); -} -val_t kernel___Char___prec(val_t self) { - struct trace_t trace = {NULL, NULL, 335, LOCATE_kernel___Char___prec}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 337, LOCATE_kernel___Char___distance}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 347, LOCATE_kernel___Char___to_i}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 360, LOCATE_kernel___Char___ascii}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 363, LOCATE_kernel___Char_____plus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 364, LOCATE_kernel___Char_____minus}; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 366, LOCATE_kernel___Char___to_lower}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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, NULL, 376, LOCATE_kernel___Char___to_upper}; - val_t variable0; - val_t variable1; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - 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; }