X-Git-Url: http://nitlanguage.org diff --git a/c_src/kernel._sep.c b/c_src/kernel._sep.c index 25e158d..6d6ddbb 100644 --- a/c_src/kernel._sep.c +++ b/c_src/kernel._sep.c @@ -1,1147 +1,1841 @@ /* 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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 variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = TAG_Bool(IS_EQUAL_NN(variable[3], variable[1] /*other*/)); - variable[2] = variable[3]; - goto return_label0; - return_label0: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Object_____neq(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 37, LOCATE_kernel___Object_____neq}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = TAG_Bool((variable[3] == variable[1] /*other*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], variable[1] /*other*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], variable[1] /*other*/) /*Object::==*/))))); - variable[2] = TAG_Bool(!UNTAG_Bool(variable[3])); - goto return_label1; - return_label1: while(false); - tracehead = trace.prev; - return variable[2]; -} -void kernel___Object___output(val_t self) { - struct trace_t trace = {NULL, NULL, 42, LOCATE_kernel___Object___output}; - val_t variable[3]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<'))); - variable[2] = variable[0]; - variable[2] = TAG_Int((bigint)variable[2]); - printf("%ld\n", UNTAG_Int(variable[2])); - printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>'))); - return_label2: while(false); - 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; + REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id); + /* ./../lib/standard//kernel.nit:26 */ + 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; + REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1]))); + /* ./../lib/standard//kernel.nit:29 */ + 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; + REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:35 */ + 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; + REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:40 */ + 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; + REGB0 = TAG_Char('<'); + /* ./../lib/standard//kernel.nit:327 */ + printf("%c", (unsigned char)UNTAG_Char(REGB0));; + 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));; + REGB0 = TAG_Char('>'); + /* ./../lib/standard//kernel.nit:327 */ + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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 = 0; + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t variable[2]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - return_label3: while(false); - 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; + fra.me.REG[0] = (G_sys); + /* ./../lib/standard//kernel.nit:51 */ + 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; + /* ./../lib/standard//kernel.nit:56 */ + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; +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 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 69); nit_exit(1); - tracehead = trace.prev; + 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 variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL( variable[1] /*other*/,COLOR_kernel___Comparable_____l))( variable[1] /*other*/, variable[3]) /*Comparable::<*/; - variable[2] = TAG_Bool(!UNTAG_Bool(variable[3])); - goto return_label4; - return_label4: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Comparable_____geq(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 75, LOCATE_kernel___Comparable_____geq}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL(variable[3],COLOR_kernel___Comparable_____l))(variable[3], variable[1] /*other*/) /*Comparable::<*/; - variable[2] = TAG_Bool(!UNTAG_Bool(variable[3])); - goto return_label5; - return_label5: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Comparable_____g(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 78, LOCATE_kernel___Comparable_____g}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL( variable[1] /*other*/,COLOR_kernel___Comparable_____l))( variable[1] /*other*/, variable[3]) /*Comparable::<*/; - variable[2] = variable[3]; - goto return_label6; - return_label6: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Comparable_____leqg(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 81, LOCATE_kernel___Comparable_____leqg}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL(variable[3],COLOR_kernel___Comparable_____l))(variable[3], variable[1] /*other*/) /*Comparable::<*/; - if (UNTAG_Bool(variable[3])) { /*if*/ - variable[3] = TAG_Int(-UNTAG_Int( TAG_Int(1))); - variable[2] = variable[3]; - goto return_label7; - } else { /*if*/ - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL( variable[1] /*other*/,COLOR_kernel___Comparable_____l))( variable[1] /*other*/, variable[3]) /*Comparable::<*/; - if (UNTAG_Bool(variable[3])) { /*if*/ - variable[2] = TAG_Int(1); - goto return_label7; - } else { /*if*/ - variable[2] = 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + /* ./../lib/standard//kernel.nit:73 */ + 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); + /* ./../lib/standard//kernel.nit:76 */ + 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + /* ./../lib/standard//kernel.nit:79 */ + 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:84 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Int(1); + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:85 */ + goto label1; + } else { + REGB1 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + /* ./../lib/standard//kernel.nit:86 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int(1); + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:87 */ + goto label1; + } else { + REGB1 = TAG_Int(0); + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:89 */ + goto label1; } } - return_label7: while(false); - tracehead = trace.prev; - return variable[2]; -} -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 variable[6]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[2] = param1; - variable[4] = variable[0]; - variable[4] = ((kernel___Comparable_____leq_t)CALL( variable[1] /*c*/,COLOR_kernel___Comparable_____leq))( variable[1] /*c*/, variable[4]) /*Comparable::<=*/; - variable[5] = variable[4]; - if (UNTAG_Bool(variable[5])) { /* and */ - variable[5] = variable[0]; - variable[5] = ((kernel___Comparable_____leq_t)CALL(variable[5],COLOR_kernel___Comparable_____leq))(variable[5], variable[2] /*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; + REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + /* ./../lib/standard//kernel.nit:96 */ + 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; } - variable[4] = variable[5]; - variable[3] = variable[4]; - goto return_label8; - return_label8: while(false); - tracehead = trace.prev; - return variable[3]; -} -val_t kernel___Comparable___max(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 99, LOCATE_kernel___Comparable___max}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL(variable[3],COLOR_kernel___Comparable_____l))(variable[3], variable[1] /*other*/) /*Comparable::<*/; - if (UNTAG_Bool(variable[3])) { /*if*/ - variable[2] = variable[1] /*other*/; - goto return_label9; - } else { /*if*/ - variable[3] = variable[0]; - variable[2] = variable[3]; - 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:102 */ + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:103 */ + goto label1; + } else { + fra.me.REG[1] = fra.me.REG[0]; + /* ./../lib/standard//kernel.nit:105 */ + goto label1; } - return_label9: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Comparable___min(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 109, LOCATE_kernel___Comparable___min}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = ((kernel___Comparable_____l_t)CALL( variable[1] /*c*/,COLOR_kernel___Comparable_____l))( variable[1] /*c*/, variable[3]) /*Comparable::<*/; - if (UNTAG_Bool(variable[3])) { /*if*/ - variable[2] = variable[1] /*c*/; - goto return_label10; - } else { /*if*/ - variable[3] = variable[0]; - variable[2] = variable[3]; - 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); + /* ./../lib/standard//kernel.nit:112 */ + if (UNTAG_Bool(REGB0)) { + /* ./../lib/standard//kernel.nit:113 */ + goto label1; + } else { + fra.me.REG[1] = fra.me.REG[0]; + /* ./../lib/standard//kernel.nit:115 */ + goto label1; } - return_label10: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Discrete___succ(val_t self) { - struct trace_t trace = {NULL, NULL, 126, LOCATE_kernel___Discrete___succ}; - val_t variable[3]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = ((kernel___Discrete_____plus_t)CALL(variable[2],COLOR_kernel___Discrete_____plus))(variable[2], TAG_Int(1)) /*Discrete::+*/; - variable[1] = variable[2]; - goto return_label11; - return_label11: while(false); - tracehead = trace.prev; - return variable[1]; -} -val_t kernel___Discrete___prec(val_t self) { - struct trace_t trace = {NULL, NULL, 129, LOCATE_kernel___Discrete___prec}; - val_t variable[3]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = ((kernel___Discrete_____minus_t)CALL(variable[2],COLOR_kernel___Discrete_____minus))(variable[2], TAG_Int(1)) /*Discrete::-*/; - variable[1] = variable[2]; - goto return_label12; - return_label12: while(false); - tracehead = trace.prev; - return variable[1]; -} -val_t kernel___Discrete_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 132, LOCATE_kernel___Discrete_____plus}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; + 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; + REGB0 = TAG_Int(1); + fra.me.REG[0] = CALL_kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0); + /* ./../lib/standard//kernel.nit:127 */ + 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; + REGB0 = TAG_Int(1); + fra.me.REG[0] = CALL_kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0); + /* ./../lib/standard//kernel.nit:130 */ + 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 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 132); nit_exit(1); - tracehead = trace.prev; + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; +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 */ fprintf(stderr, "Deferred method called"); fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 135); nit_exit(1); - tracehead = trace.prev; + 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 variable[7]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - /*variable[3] is variable cursor*/ - /*variable[4] is variable stop*/ - variable[5] = variable[0]; - variable[5] = ((kernel___Comparable_____l_t)CALL(variable[5],COLOR_kernel___Comparable_____l))(variable[5], variable[1] /*d*/) /*Comparable::<*/; - if (UNTAG_Bool(variable[5])) { /*if*/ - variable[5] = variable[0]; - variable[3] = variable[5] /*cursor=*/; - variable[4] = variable[1] /*d*/ /*stop=*/; - } else { /*if*/ - variable[5] = variable[0]; - variable[5] = ((kernel___Comparable_____g_t)CALL(variable[5],COLOR_kernel___Comparable_____g))(variable[5], variable[1] /*d*/) /*Comparable::>*/; - if (UNTAG_Bool(variable[5])) { /*if*/ - variable[3] = variable[1] /*d*/ /*cursor=*/; - variable[5] = variable[0]; - variable[4] = variable[5] /*stop=*/; - } else { /*if*/ - variable[2] = 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; + REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:145 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[2] = fra.me.REG[0]; + fra.me.REG[3] = fra.me.REG[1]; + /* ./../lib/standard//kernel.nit:147 */ + } else { + REGB0 = CALL_kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); + /* ./../lib/standard//kernel.nit:148 */ + if (UNTAG_Bool(REGB0)) { + fra.me.REG[2] = fra.me.REG[1]; + fra.me.REG[3] = fra.me.REG[0]; + /* ./../lib/standard//kernel.nit:150 */ + } else { + REGB0 = TAG_Int(0); + /* ./../lib/standard//kernel.nit:152 */ + goto label1; } } - variable[5] = TAG_Int(0); - while (true) { /*while*/ - variable[6] = ((kernel___Comparable_____l_t)CALL( variable[3] /*cursor*/,COLOR_kernel___Comparable_____l))( variable[3] /*cursor*/, variable[4] /*stop*/) /*Comparable::<*/; - if (!UNTAG_Bool(variable[6])) break; /* while*/ - variable[6] = ((kernel___Discrete___succ_t)CALL( variable[3] /*cursor*/,COLOR_kernel___Discrete___succ))( variable[3] /*cursor*/) /*Discrete::succ*/; - variable[3] = variable[6] /*cursor=*/; - variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*nb*/; - continue_14: while(0); + 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)) { + fra.me.REG[0] = CALL_kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]); + fra.me.REG[2] = fra.me.REG[0]; + REGB2 = TAG_Int(1); + REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2)); + REGB1 = REGB2; + /* ./../lib/standard//kernel.nit:158 */ + } else { + /* ./../lib/standard//kernel.nit:156 */ + goto label2; + } } - break_14: while(0); - variable[2] = variable[5] /*nb*/; - goto return_label13; - return_label13: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Bool___object_id(val_t self) { - struct trace_t trace = {NULL, NULL, 174, LOCATE_kernel___Bool___object_id}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - (void)printf(UNTAG_Bool( self)?"true\n":"false\n"); - tracehead = trace.prev; + label2: while(0); + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:160 */ + 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; + REGB0 = TAG_Int(UNTAG_Bool(REGB0)); + /* ./../lib/standard//kernel.nit:174 */ + 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; + REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:175 */ + 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; + REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:176 */ + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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; + REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:183 */ + 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - printf("%ld\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; + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:186 */ + 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; + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])=UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:188 */ + 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; + REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:189 */ + 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; + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:190 */ + 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; + fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:191 */ + 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; + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:192 */ + 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; + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:193 */ + 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; + fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1])); + /* ./../lib/standard//kernel.nit:194 */ + 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; + REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:196 */ + 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 */ + 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; + REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:207 */ + 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; + REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0])); + /* ./../lib/standard//kernel.nit:208 */ + 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_____l(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 212, LOCATE_kernel___Int_____l}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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_____leqg(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 239, LOCATE_kernel___Int_____leqg}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[3] = variable[0]; - variable[3] = TAG_Bool(UNTAG_Int(variable[3])=UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:213 */ + 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; + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:214 */ + stack_frame_head = fra.me.prev; + return REGB1; +} +val_t kernel___Int_____leqg(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} 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 = 239; + fra.me.meth = LOCATE_kernel___Int_____leqg; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB2 = TAG_Bool(UNTAG_Int(REGB0)=UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:232 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:233 */ + goto label1; + } else { + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:235 */ + goto label1; } - return_label18: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Int___succ(val_t self) { - struct trace_t trace = {NULL, NULL, 227, LOCATE_kernel___Int___succ}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int(UNTAG_Int( self)-1); -} -val_t kernel___Int_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 215, LOCATE_kernel___Int_____plus}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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_____minus(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 217, LOCATE_kernel___Int_____minus}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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___distance(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 229, LOCATE_kernel___Int___distance}; - val_t variable[5]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[4] = variable[0]; - variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( variable[1] /*i*/)); - variable[3] = variable[4]; - variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*d*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable[4])) { /*if*/ - variable[2] = variable[3] /*d*/; - goto return_label19; - } else { /*if*/ - variable[4] = TAG_Int(-UNTAG_Int( variable[3] /*d*/)); - variable[2] = variable[4]; - goto return_label19; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB0; +} +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; + REGB0 = TAG_Int(-UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:216 */ + stack_frame_head = fra.me.prev; + return REGB0; +} +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; + REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:218 */ + 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; + REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:219 */ + 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; + REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:220 */ + 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; + REGB1 = TAG_Int(UNTAG_Int(REGB0)<>UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:222 */ + 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; + fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:224 */ + stack_frame_head = fra.me.prev; + return fra.me.REG[0]; +} +val_t kernel___Int___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 = 277; + fra.me.meth = LOCATE_kernel___Int___ascii; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB0 = TAG_Char(UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:277 */ + stack_frame_head = fra.me.prev; + return REGB0; +} +val_t kernel___Int___digit_count(val_t p0, val_t p1){ + struct {struct stack_frame_t me;} fra; + val_t REGB0; + val_t REGB1; + val_t REGB2; + val_t REGB3; + val_t REGB4; + val_t REGB5; + val_t tmp; + fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; + fra.me.file = LOCATE_kernel; + fra.me.line = 280; + fra.me.meth = LOCATE_kernel___Int___digit_count; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB2 = TAG_Int(0); + REGB2 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int( param0)); -} -val_t kernel___Int___to_f(val_t self) { - struct trace_t trace = {NULL, NULL, 224, LOCATE_kernel___Int___to_f}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return BOX_Float((float)UNTAG_Int( self)); -} -val_t kernel___Int___ascii(val_t self) { - struct trace_t trace = {NULL, NULL, 277, LOCATE_kernel___Int___ascii}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Char(UNTAG_Int( self)); -} -val_t kernel___Int___digit_count(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 280, LOCATE_kernel___Int___digit_count}; - val_t variable[6]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - /*variable[3] is variable d*/ - /*variable[4] is variable n*/ - variable[5] = variable[0]; - variable[5] = TAG_Bool(UNTAG_Int(variable[5])UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:296 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = TAG_Int(1); + REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0)); + REGB2 = REGB0; + REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1)); + REGB3 = REGB0; + /* ./../lib/standard//kernel.nit:298 */ + } else { + /* ./../lib/standard//kernel.nit:296 */ + goto label2; } } - while (true) { /*while*/ - variable[5] = TAG_Bool(UNTAG_Int( variable[4] /*n*/)>UNTAG_Int( TAG_Int(0))); - if (!UNTAG_Bool(variable[5])) break; /* while*/ - variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(1))) /*d*/; - variable[5] = TAG_Int(UNTAG_Int( variable[4] /*n*/)/UNTAG_Int( variable[1] /*b*/)); - variable[4] = variable[5] /*n=*/; - continue_21: while(0); + label2: while(0); + REGB5 = REGB2; + /* ./../lib/standard//kernel.nit:300 */ + 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; + REGB1 = TAG_Int(0); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:308 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int(36); + REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1)); + /* ./../lib/standard//kernel.nit:308 */ + } else { + REGB2 = TAG_Bool(false); + REGB1 = REGB2; } - break_21: while(0); - variable[2] = variable[3] /*d*/; - goto return_label20; - return_label20: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Int___to_c(val_t self) { - struct trace_t trace = {NULL, NULL, 303, LOCATE_kernel___Int___to_c}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = TAG_Bool(UNTAG_Int(variable[2])>=UNTAG_Int( TAG_Int(0))); - variable[3] = variable[2]; - if (UNTAG_Bool(variable[3])) { /* and */ - variable[3] = variable[0]; - variable[3] = TAG_Bool(UNTAG_Int(variable[3])<=UNTAG_Int( TAG_Int(36))); + if (UNTAG_Bool(REGB1)) { + } else { + fprintf(stderr, "Assert failed"); + fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 308); + nit_exit(1); } - variable[2] = variable[3]; - if (!UNTAG_Bool(variable[2])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c, LOCATE_kernel, 308); nit_exit(1);} - variable[2] = variable[0]; - variable[2] = TAG_Bool(UNTAG_Int(variable[2])=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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Char(UNTAG_Char( self)-1); -} -val_t kernel___Char_____plus(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 363, LOCATE_kernel___Char_____plus}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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}; - val_t *variable = NULL; - void **closurevariable = NULL; - 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___distance(val_t self, val_t param0) { - struct trace_t trace = {NULL, NULL, 337, LOCATE_kernel___Char___distance}; - val_t variable[6]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[1] = param0; - variable[4] = variable[0]; - variable[4] = TAG_Int((unsigned char)UNTAG_Char(variable[4])); - variable[5] = TAG_Int((unsigned char)UNTAG_Char( variable[1] /*c*/)); - variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int(variable[5])); - variable[3] = variable[4]; - variable[4] = TAG_Bool(UNTAG_Int( variable[3] /*d*/)>=UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable[4])) { /*if*/ - variable[2] = variable[3] /*d*/; - goto return_label23; - } else { /*if*/ - variable[4] = TAG_Int(-UNTAG_Int( variable[3] /*d*/)); - variable[2] = variable[4]; - goto return_label23; +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 = 330; + fra.me.meth = LOCATE_kernel___Char_____l; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB1 = TAG_Bool(UNTAG_Char(REGB0)=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:331 */ + 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 = 332; + fra.me.meth = LOCATE_kernel___Char_____g; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:332 */ + 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 = 334; + fra.me.meth = LOCATE_kernel___Char___succ; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB0 = TAG_Char(UNTAG_Char(REGB0)+1); + /* ./../lib/standard//kernel.nit:334 */ + 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 = 335; + fra.me.meth = LOCATE_kernel___Char___prec; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB0 = TAG_Char(UNTAG_Char(REGB0)-1); + /* ./../lib/standard//kernel.nit:335 */ + 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 = 363; + fra.me.meth = LOCATE_kernel___Char_____plus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:363 */ + 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 = 364; + fra.me.meth = LOCATE_kernel___Char_____minus; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:364 */ + stack_frame_head = fra.me.prev; + return REGB1; +} +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 = 337; + fra.me.meth = LOCATE_kernel___Char___distance; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = p1; + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1)); + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + REGB0 = TAG_Int(0); + REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0)); + /* ./../lib/standard//kernel.nit:340 */ + if (UNTAG_Bool(REGB0)) { + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:341 */ + goto label1; + } else { + REGB1 = TAG_Int(-UNTAG_Int(REGB1)); + REGB0 = REGB1; + /* ./../lib/standard//kernel.nit:343 */ + 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 = 347; + fra.me.meth = LOCATE_kernel___Char___to_i; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = TAG_Char('-'); + REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); + /* ./../lib/standard//kernel.nit:351 */ + if (UNTAG_Bool(REGB2)) { + } else { + REGB1 = TAG_Bool((REGB0)==(REGB1)); + REGB2 = REGB1; + /* ./../lib/standard//kernel.nit:351 */ } - return_label23: while(false); - tracehead = trace.prev; - return variable[2]; -} -val_t kernel___Char___to_i(val_t self) { - struct trace_t trace = {NULL, NULL, 347, LOCATE_kernel___Char___to_i}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = TAG_Bool((variable[2])==( TAG_Char('-'))); - if (UNTAG_Bool(variable[2])) { /*if*/ - variable[2] = TAG_Int(-UNTAG_Int( TAG_Int(1))); - variable[1] = variable[2]; - goto return_label24; - } else { /*if*/ - variable[2] = variable[0]; - variable[2] = TAG_Bool(UNTAG_Char(variable[2])>=UNTAG_Char( TAG_Char('0'))); - variable[3] = variable[2]; - if (UNTAG_Bool(variable[3])) { /* and */ - variable[3] = variable[0]; - variable[3] = TAG_Bool(UNTAG_Char(variable[3])<=UNTAG_Char( TAG_Char('9'))); + if (UNTAG_Bool(REGB2)) { + REGB2 = TAG_Int(1); + REGB2 = TAG_Int(-UNTAG_Int(REGB2)); + /* ./../lib/standard//kernel.nit:352 */ + goto label1; + } else { + REGB1 = TAG_Char('0'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:353 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('9'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:353 */ + } else { + REGB3 = TAG_Bool(false); + REGB1 = REGB3; } - variable[2] = variable[3]; - if (UNTAG_Bool(variable[2])) { /*if*/ - variable[2] = variable[0]; - variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[2])); - variable[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0'))); - variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3])); - variable[1] = variable[2]; - goto return_label24; - } else { /*if*/ - variable[2] = variable[0]; - variable[2] = ((kernel___Char___to_lower_t)CALL(variable[2],COLOR_kernel___Char___to_lower))(variable[2]) /*Char::to_lower*/; - variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[2])); - variable[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a'))); - variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(10))); - variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3])); - variable[1] = variable[2]; - goto return_label24; + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB3 = TAG_Char('0'); + REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3)); + REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3)); + REGB2 = REGB3; + /* ./../lib/standard//kernel.nit:354 */ + goto label1; + } else { + REGB0 = CALL_kernel___Char___to_lower(REGB0)(REGB0); + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB3 = TAG_Char('a'); + REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3)); + REGB1 = TAG_Int(10); + REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1)); + REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1)); + REGB2 = REGB1; + /* ./../lib/standard//kernel.nit:356 */ + goto label1; } } - return_label24: while(false); - tracehead = trace.prev; - return variable[1]; -} -val_t kernel___Char___ascii(val_t self) { - struct trace_t trace = {NULL, NULL, 360, LOCATE_kernel___Char___ascii}; - val_t *variable = NULL; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - tracehead = trace.prev; - return TAG_Int((unsigned char)UNTAG_Char( self)); -} -val_t kernel___Char___to_lower(val_t self) { - struct trace_t trace = {NULL, NULL, 366, LOCATE_kernel___Char___to_lower}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = TAG_Bool(UNTAG_Char(variable[2])>=UNTAG_Char( TAG_Char('A'))); - variable[3] = variable[2]; - if (UNTAG_Bool(variable[3])) { /* and */ - variable[3] = variable[0]; - variable[3] = TAG_Bool(UNTAG_Char(variable[3])<=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 = 360; + fra.me.meth = LOCATE_kernel___Char___ascii; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + /* ./../lib/standard//kernel.nit:360 */ + stack_frame_head = fra.me.prev; + return REGB0; +} +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 = 366; + fra.me.meth = LOCATE_kernel___Char___to_lower; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = TAG_Char('A'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:369 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('Z'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:369 */ + } else { + REGB2 = TAG_Bool(false); + REGB1 = REGB2; } - variable[2] = variable[3]; - if (UNTAG_Bool(variable[2])) { /*if*/ - variable[2] = variable[0]; - variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[2])); - variable[3] = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/; - variable[2] = TAG_Int(UNTAG_Int(variable[2])+UNTAG_Int(variable[3])); - variable[2] = TAG_Char(UNTAG_Int(variable[2])); - variable[1] = variable[2]; - goto return_label25; - } else { /*if*/ - variable[2] = variable[0]; - variable[1] = variable[2]; - goto return_label25; + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB2 = TAG_Char('a'); + REGB3 = TAG_Char('A'); + REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3); + REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3)); + REGB3 = TAG_Char(UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:370 */ + goto label1; + } else { + REGB3 = REGB0; + /* ./../lib/standard//kernel.nit:372 */ + goto label1; } - return_label25: while(false); - tracehead = trace.prev; - return variable[1]; -} -val_t kernel___Char___to_upper(val_t self) { - struct trace_t trace = {NULL, NULL, 376, LOCATE_kernel___Char___to_upper}; - val_t variable[4]; - void **closurevariable = NULL; - trace.prev = tracehead; tracehead = &trace; - trace.file = LOCATE_kernel; - variable[0] = self; - variable[2] = variable[0]; - variable[2] = TAG_Bool(UNTAG_Char(variable[2])>=UNTAG_Char( TAG_Char('a'))); - variable[3] = variable[2]; - if (UNTAG_Bool(variable[3])) { /* and */ - variable[3] = variable[0]; - variable[3] = TAG_Bool(UNTAG_Char(variable[3])<=UNTAG_Char( TAG_Char('z'))); + 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 = 376; + fra.me.meth = LOCATE_kernel___Char___to_upper; + fra.me.has_broke = 0; + fra.me.REG_size = 0; + REGB0 = p0; + REGB1 = TAG_Char('a'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:379 */ + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Char('z'); + REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1)); + /* ./../lib/standard//kernel.nit:379 */ + } else { + REGB2 = TAG_Bool(false); + REGB1 = REGB2; } - variable[2] = variable[3]; - if (UNTAG_Bool(variable[2])) { /*if*/ - variable[2] = variable[0]; - variable[2] = TAG_Int((unsigned char)UNTAG_Char(variable[2])); - variable[3] = ((kernel___Char___distance_t)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/; - variable[2] = TAG_Int(UNTAG_Int(variable[2])-UNTAG_Int(variable[3])); - variable[2] = TAG_Char(UNTAG_Int(variable[2])); - variable[1] = variable[2]; - goto return_label26; - } else { /*if*/ - variable[2] = variable[0]; - variable[1] = variable[2]; - goto return_label26; + if (UNTAG_Bool(REGB1)) { + REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0)); + REGB2 = TAG_Char('a'); + REGB3 = TAG_Char('A'); + REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3); + REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3)); + REGB3 = TAG_Char(UNTAG_Int(REGB3)); + /* ./../lib/standard//kernel.nit:380 */ + goto label1; + } else { + REGB3 = REGB0; + /* ./../lib/standard//kernel.nit:382 */ + goto label1; } - return_label26: while(false); - tracehead = trace.prev; - return variable[1]; + label1: while(0); + stack_frame_head = fra.me.prev; + return REGB3; }