X-Git-Url: http://nitlanguage.org diff --git a/c_src/sorter._sep.c b/c_src/sorter._sep.c index 2450e4b..6184777 100644 --- a/c_src/sorter._sep.c +++ b/c_src/sorter._sep.c @@ -1,45 +1,55 @@ /* This C file is generated by NIT to compile module sorter. */ #include "sorter._sep.h" val_t sorter___AbstractSorter___compare(val_t self, val_t param0, val_t param1) { - struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___compare, 22}; + struct trace_t trace = {NULL, NULL, 22, LOCATE_sorter___AbstractSorter___compare}; + val_t *variable = NULL; + void **closurevariable = NULL; trace.prev = tracehead; tracehead = &trace; - fprintf(stderr, "Deferred method %s called (%s: %d)\n", "compare", LOCATE_sorter, 22); + trace.file = LOCATE_sorter; + fprintf(stderr, "Deferred method called"); + fprintf(stderr, " (%s:%d)\n", LOCATE_sorter, 22); nit_exit(1); tracehead = trace.prev; return NIT_NULL; } void sorter___AbstractSorter___sort(val_t self, val_t param0) { - struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___sort, 29}; - val_t variable0; - val_t variable1; + struct trace_t trace = {NULL, NULL, 29, LOCATE_sorter___AbstractSorter___sort}; + val_t variable[5]; + void **closurevariable = NULL; trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = ((array___AbstractArray___length_t)CALL( variable0 /*array*/,COLOR_abstract_collection___Collection___length))( variable0 /*array*/) /*Array::length*/; - variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1))); - ((sorter___AbstractSorter___sub_sort_t)CALL( self,COLOR_sorter___AbstractSorter___sub_sort))( self, variable0 /*array*/, TAG_Int(0), variable1) /*AbstractSorter::sub_sort*/; + trace.file = LOCATE_sorter; + variable[0] = self; + variable[1] = param0; + variable[3] = variable[0]; + variable[4] = CALL_abstract_collection___Collection___length( variable[1] /*array*/)( variable[1] /*array*/) /*AbstractArray::length*/; + variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1))); + CALL_sorter___AbstractSorter___sub_sort(variable[3])(variable[3], variable[1] /*array*/, TAG_Int(0), variable[4]) /*AbstractSorter::sub_sort*/; + return_label0: while(false); tracehead = trace.prev; return; } void sorter___AbstractSorter___sub_sort(val_t self, val_t param0, val_t param1, val_t param2) { - struct trace_t trace = {NULL, LOCATE_sorter___AbstractSorter___sub_sort, 32}; - val_t variable0; - val_t variable1; - val_t variable2; - val_t variable3; + struct trace_t trace = {NULL, NULL, 32, LOCATE_sorter___AbstractSorter___sub_sort}; + val_t variable[6]; + void **closurevariable = NULL; trace.prev = tracehead; tracehead = &trace; - variable0 = param0; - variable1 = param1; - variable2 = param2; - variable3 = TAG_Bool(UNTAG_Int( variable1 /*from*/)>=UNTAG_Int( variable2 /*to*/)); - if (UNTAG_Bool(variable3)) { /*if*/ + trace.file = LOCATE_sorter; + variable[0] = self; + variable[1] = param0; + variable[2] = param1; + variable[3] = param2; + variable[5] = TAG_Bool(UNTAG_Int( variable[2] /*from*/)>=UNTAG_Int( variable[3] /*to*/)); + if (UNTAG_Bool(variable[5])) { /*if*/ goto return_label1; } else { /*if*/ - variable3 = TAG_Int(UNTAG_Int( variable1 /*from*/)+UNTAG_Int( TAG_Int(7))); - variable3 = TAG_Bool(UNTAG_Int(variable3)=UNTAG_Int( TAG_Int(0))); - variable6 = variable5; - if (UNTAG_Bool(variable6)) { /* and */ - variable6 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[10] = variable[9]; + if (UNTAG_Bool(variable[10])) { /* and */ + variable[10] = variable[6]; + variable[10] = ATTR_array___AbstractArray____length(variable[10]) /*AbstractArray::_length*/; + variable[10] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)UNTAG_Int( variable4 /*i*/)); - if (!UNTAG_Bool(variable6)) break; /* while*/ + variable[8] = TAG_Bool(UNTAG_Int( variable[7] /*j*/)>UNTAG_Int( variable[6] /*i*/)); + if (!UNTAG_Bool(variable[8])) break; /* while*/ while (true) { /*while*/ - variable6 = TAG_Bool(UNTAG_Int( variable4 /*i*/)<=UNTAG_Int( variable2 /*to*/)); - variable7 = variable6; - if (UNTAG_Bool(variable7)) { /* and */ - variable7 = variable4 /*i*/; - variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[14] = variable[13]; + if (UNTAG_Bool(variable[14])) { /* and */ + variable[14] = variable[10]; + variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/; + variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)UNTAG_Int( variable4 /*i*/)); - variable7 = variable6; - if (UNTAG_Bool(variable7)) { /* and */ - variable7 = variable5 /*j*/; - variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)UNTAG_Int( variable[6] /*i*/)); + variable[9] = variable[8]; + if (UNTAG_Bool(variable[9])) { /* and */ + variable[9] = variable[0]; + variable[10] = variable[1] /*array*/; + variable[11] = variable[7] /*j*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0))); + variable[14] = variable[13]; + if (UNTAG_Bool(variable[14])) { /* and */ + variable[14] = variable[10]; + variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/; + variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[10] = variable[12]; + variable[9] = CALL_sorter___AbstractSorter___compare(variable[9])(variable[9], variable[10], variable[5] /*pivot*/) /*AbstractSorter::compare*/; + variable[9] = TAG_Bool(UNTAG_Int(variable[9])>=UNTAG_Int( TAG_Int(0))); } - variable6 = variable7; - if (!UNTAG_Bool(variable6)) break; /* while*/ - variable5 = TAG_Int(UNTAG_Int(variable5)-UNTAG_Int( TAG_Int(1))) /*j*/; + variable[8] = variable[9]; + if (!UNTAG_Bool(variable[8])) break; /* while*/ + variable[7] = TAG_Int(UNTAG_Int(variable[7])-UNTAG_Int( TAG_Int(1))) /*j*/; continue_7: while(0); } break_7: while(0); - variable6 = TAG_Bool(UNTAG_Int( variable5 /*j*/)>UNTAG_Int( variable4 /*i*/)); - if (UNTAG_Bool(variable6)) { /*if*/ - variable7 = variable4 /*i*/; - variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)UNTAG_Int( variable[6] /*i*/)); + if (UNTAG_Bool(variable[8])) { /*if*/ + variable[9] = variable[1] /*array*/; + variable[10] = variable[6] /*i*/; + variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0))); + variable[13] = variable[12]; + if (UNTAG_Bool(variable[13])) { /* and */ + variable[13] = variable[9]; + variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[13] = variable[12]; + if (UNTAG_Bool(variable[13])) { /* and */ + variable[13] = variable[9]; + variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[13] = variable[12]; + if (UNTAG_Bool(variable[13])) { /* and */ + variable[13] = variable[9]; + variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)=UNTAG_Int( TAG_Int(0))); - variable8 = variable7; - if (UNTAG_Bool(variable8)) { /* and */ - variable8 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[12] = variable[11]; + if (UNTAG_Bool(variable[12])) { /* and */ + variable[12] = variable[8]; + variable[12] = ATTR_array___AbstractArray____length(variable[12]) /*AbstractArray::_length*/; + variable[12] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[14] = variable[13]; + if (UNTAG_Bool(variable[14])) { /* and */ + variable[14] = variable[10]; + variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/; + variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)UNTAG_Int( TAG_Int(0))); - if (UNTAG_Bool(variable7)) { /*if*/ - variable4 = variable6 /*j*/ /*min=*/; - variable7 = variable6 /*j*/; - variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)UNTAG_Int( TAG_Int(0))); + if (UNTAG_Bool(variable[9])) { /*if*/ + variable[6] = variable[8] /*j*/ /*min=*/; + variable[9] = variable[1] /*array*/; + variable[10] = variable[8] /*j*/; + variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0))); + variable[13] = variable[12]; + if (UNTAG_Bool(variable[13])) { /* and */ + variable[13] = variable[9]; + variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)=UNTAG_Int( TAG_Int(0))); - variable9 = variable8; - if (UNTAG_Bool(variable9)) { /* and */ - variable9 = ATTR_array___AbstractArray____length( variable0 /*array*/) /*Array::_length*/; - variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)=UNTAG_Int( TAG_Int(0))); + variable[13] = variable[12]; + if (UNTAG_Bool(variable[13])) { /* and */ + variable[13] = variable[9]; + variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/; + variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)*/; + trace.file = LOCATE_sorter; + variable[0] = self; + variable[1] = param0; + variable[2] = param1; + variable[4] = CALL_kernel___Comparable_____leqg( variable[1] /*a*/)( variable[1] /*a*/, variable[2] /*b*/) /*Comparable::<=>*/; + variable[3] = variable[4]; goto return_label19; return_label19: while(false); tracehead = trace.prev; - return variable2; + return variable[3]; } void sorter___ComparableSorter___init(val_t self, int* init_table) { - struct trace_t trace = {NULL, LOCATE_sorter___ComparableSorter___init, 96}; + struct trace_t trace = {NULL, NULL, 96, LOCATE_sorter___ComparableSorter___init}; + val_t variable[2]; + void **closurevariable = NULL; trace.prev = tracehead; tracehead = &trace; - if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i]) return; - init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ComparableSorter].i] = 1; + trace.file = LOCATE_sorter; + variable[0] = self; + if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ComparableSorter].i]) return; + return_label20: while(false); + init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ComparableSorter].i] = 1; tracehead = trace.prev; return; }