+ }
+ 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_____geq(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 = 353;
+ fra.me.meth = LOCATE_kernel___Char_____geq;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 0;
+ REGB0 = p0;
+ REGB1 = p1;
+ /* ./../lib/standard//kernel.nit:353 */
+ 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;