c_src: update
[nit.git] / c_src / kernel._sep.c
1 /* This C file is generated by NIT to compile module kernel. */
2 #include "kernel._sep.h"
3 val_t kernel___Object___object_id(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_kernel;
9 fra.me.line = 26;
10 fra.me.meth = LOCATE_kernel___Object___object_id;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id);
16 /* ./../lib/standard//kernel.nit:26 */
17 stack_frame_head = fra.me.prev;
18 return REGB0;
19 }
20 val_t kernel___Object___is_same_type(val_t p0, val_t p1){
21 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
22 val_t REGB0;
23 val_t tmp;
24 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25 fra.me.file = LOCATE_kernel;
26 fra.me.line = 29;
27 fra.me.meth = LOCATE_kernel___Object___is_same_type;
28 fra.me.has_broke = 0;
29 fra.me.REG_size = 2;
30 fra.me.REG[0] = NIT_NULL;
31 fra.me.REG[1] = NIT_NULL;
32 fra.me.REG[0] = p0;
33 fra.me.REG[1] = p1;
34 REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1])));
35 /* ./../lib/standard//kernel.nit:29 */
36 stack_frame_head = fra.me.prev;
37 return REGB0;
38 }
39 val_t kernel___Object_____eqeq(val_t p0, val_t p1){
40 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41 val_t REGB0;
42 val_t tmp;
43 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44 fra.me.file = LOCATE_kernel;
45 fra.me.line = 32;
46 fra.me.meth = LOCATE_kernel___Object_____eqeq;
47 fra.me.has_broke = 0;
48 fra.me.REG_size = 2;
49 fra.me.REG[0] = NIT_NULL;
50 fra.me.REG[1] = NIT_NULL;
51 fra.me.REG[0] = p0;
52 fra.me.REG[1] = p1;
53 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
54 /* ./../lib/standard//kernel.nit:35 */
55 goto label1;
56 label1: while(0);
57 stack_frame_head = fra.me.prev;
58 return REGB0;
59 }
60 val_t kernel___Object_____neq(val_t p0, val_t p1){
61 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
62 val_t REGB0;
63 val_t REGB1;
64 val_t tmp;
65 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66 fra.me.file = LOCATE_kernel;
67 fra.me.line = 37;
68 fra.me.meth = LOCATE_kernel___Object_____neq;
69 fra.me.has_broke = 0;
70 fra.me.REG_size = 2;
71 fra.me.REG[0] = NIT_NULL;
72 fra.me.REG[1] = NIT_NULL;
73 fra.me.REG[0] = p0;
74 fra.me.REG[1] = p1;
75 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
76 /* ./../lib/standard//kernel.nit:40 */
77 if (UNTAG_Bool(REGB0)) {
78 } else {
79 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
80 REGB0 = REGB1;
81 }
82 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
83 goto label1;
84 label1: while(0);
85 stack_frame_head = fra.me.prev;
86 return REGB0;
87 }
88 void kernel___Object___output(val_t p0){
89 struct {struct stack_frame_t me;} fra;
90 val_t REGB0;
91 val_t tmp;
92 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93 fra.me.file = LOCATE_kernel;
94 fra.me.line = 42;
95 fra.me.meth = LOCATE_kernel___Object___output;
96 fra.me.has_broke = 0;
97 fra.me.REG_size = 1;
98 fra.me.REG[0] = NIT_NULL;
99 fra.me.REG[0] = p0;
100 REGB0 = TAG_Char('<');
101 /* ./../lib/standard//kernel.nit:327 */
102 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
103 REGB0 = CALL_kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
104 /* ./../lib/standard//kernel.nit:209 */
105 printf("%ld\n", UNTAG_Int(REGB0));;
106 REGB0 = TAG_Char('>');
107 /* ./../lib/standard//kernel.nit:327 */
108 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
109 stack_frame_head = fra.me.prev;
110 return;
111 }
112 void kernel___Object___exit(val_t p0, val_t p1){
113 struct {struct stack_frame_t me;} fra;
114 val_t REGB0;
115 val_t tmp;
116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
117 fra.me.file = LOCATE_kernel;
118 fra.me.line = 50;
119 fra.me.meth = LOCATE_kernel___Object___exit;
120 fra.me.has_broke = 0;
121 fra.me.REG_size = 0;
122 REGB0 = p1;
123 /* ./../lib/standard//kernel.nit:50 */
124 exit(UNTAG_Int(REGB0));;
125 stack_frame_head = fra.me.prev;
126 return;
127 }
128 val_t kernel___Object___sys(val_t p0){
129 struct {struct stack_frame_t me;} fra;
130 val_t tmp;
131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
132 fra.me.file = LOCATE_kernel;
133 fra.me.line = 51;
134 fra.me.meth = LOCATE_kernel___Object___sys;
135 fra.me.has_broke = 0;
136 fra.me.REG_size = 1;
137 fra.me.REG[0] = NIT_NULL;
138 fra.me.REG[0] = p0;
139 fra.me.REG[0] = (G_sys);
140 /* ./../lib/standard//kernel.nit:51 */
141 stack_frame_head = fra.me.prev;
142 return fra.me.REG[0];
143 }
144 void kernel___Sys___main(val_t p0){
145 struct {struct stack_frame_t me;} fra;
146 val_t tmp;
147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
148 fra.me.file = LOCATE_kernel;
149 fra.me.line = 56;
150 fra.me.meth = LOCATE_kernel___Sys___main;
151 fra.me.has_broke = 0;
152 fra.me.REG_size = 1;
153 fra.me.REG[0] = NIT_NULL;
154 fra.me.REG[0] = p0;
155 /* ./../lib/standard//kernel.nit:56 */
156 stack_frame_head = fra.me.prev;
157 return;
158 }
159 void kernel___Sys___init(val_t p0, int* init_table){
160 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Sys].i;
161 struct {struct stack_frame_t me;} fra;
162 val_t tmp;
163 if (init_table[itpos0]) return;
164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
165 fra.me.file = LOCATE_kernel;
166 fra.me.line = 0;
167 fra.me.meth = LOCATE_kernel___Sys___init;
168 fra.me.has_broke = 0;
169 fra.me.REG_size = 0;
170 stack_frame_head = fra.me.prev;
171 init_table[itpos0] = 1;
172 return;
173 }
174 val_t kernel___Comparable_____l(val_t p0, val_t p1){
175 struct {struct stack_frame_t me;} fra;
176 val_t tmp;
177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
178 fra.me.file = LOCATE_kernel;
179 fra.me.line = 69;
180 fra.me.meth = LOCATE_kernel___Comparable_____l;
181 fra.me.has_broke = 0;
182 fra.me.REG_size = 0;
183 /* ./../lib/standard//kernel.nit:69 */
184 fprintf(stderr, "Deferred method called");
185 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 69);
186 nit_exit(1);
187 stack_frame_head = fra.me.prev;
188 return NIT_NULL;
189 }
190 val_t kernel___Comparable_____leq(val_t p0, val_t p1){
191 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
192 val_t REGB0;
193 val_t tmp;
194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
195 fra.me.file = LOCATE_kernel;
196 fra.me.line = 72;
197 fra.me.meth = LOCATE_kernel___Comparable_____leq;
198 fra.me.has_broke = 0;
199 fra.me.REG_size = 2;
200 fra.me.REG[0] = NIT_NULL;
201 fra.me.REG[1] = NIT_NULL;
202 fra.me.REG[0] = p0;
203 fra.me.REG[1] = p1;
204 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
205 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
206 /* ./../lib/standard//kernel.nit:73 */
207 goto label1;
208 label1: while(0);
209 stack_frame_head = fra.me.prev;
210 return REGB0;
211 }
212 val_t kernel___Comparable_____geq(val_t p0, val_t p1){
213 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
214 val_t REGB0;
215 val_t tmp;
216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
217 fra.me.file = LOCATE_kernel;
218 fra.me.line = 75;
219 fra.me.meth = LOCATE_kernel___Comparable_____geq;
220 fra.me.has_broke = 0;
221 fra.me.REG_size = 2;
222 fra.me.REG[0] = NIT_NULL;
223 fra.me.REG[1] = NIT_NULL;
224 fra.me.REG[0] = p0;
225 fra.me.REG[1] = p1;
226 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
227 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
228 /* ./../lib/standard//kernel.nit:76 */
229 goto label1;
230 label1: while(0);
231 stack_frame_head = fra.me.prev;
232 return REGB0;
233 }
234 val_t kernel___Comparable_____g(val_t p0, val_t p1){
235 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
236 val_t REGB0;
237 val_t tmp;
238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
239 fra.me.file = LOCATE_kernel;
240 fra.me.line = 78;
241 fra.me.meth = LOCATE_kernel___Comparable_____g;
242 fra.me.has_broke = 0;
243 fra.me.REG_size = 2;
244 fra.me.REG[0] = NIT_NULL;
245 fra.me.REG[1] = NIT_NULL;
246 fra.me.REG[0] = p0;
247 fra.me.REG[1] = p1;
248 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
249 /* ./../lib/standard//kernel.nit:79 */
250 goto label1;
251 label1: while(0);
252 stack_frame_head = fra.me.prev;
253 return REGB0;
254 }
255 val_t kernel___Comparable_____leqg(val_t p0, val_t p1){
256 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
257 val_t REGB0;
258 val_t REGB1;
259 val_t tmp;
260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
261 fra.me.file = LOCATE_kernel;
262 fra.me.line = 81;
263 fra.me.meth = LOCATE_kernel___Comparable_____leqg;
264 fra.me.has_broke = 0;
265 fra.me.REG_size = 2;
266 fra.me.REG[0] = NIT_NULL;
267 fra.me.REG[1] = NIT_NULL;
268 fra.me.REG[0] = p0;
269 fra.me.REG[1] = p1;
270 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
271 /* ./../lib/standard//kernel.nit:84 */
272 if (UNTAG_Bool(REGB0)) {
273 REGB0 = TAG_Int(1);
274 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
275 /* ./../lib/standard//kernel.nit:85 */
276 goto label1;
277 } else {
278 REGB1 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
279 /* ./../lib/standard//kernel.nit:86 */
280 if (UNTAG_Bool(REGB1)) {
281 REGB1 = TAG_Int(1);
282 REGB0 = REGB1;
283 /* ./../lib/standard//kernel.nit:87 */
284 goto label1;
285 } else {
286 REGB1 = TAG_Int(0);
287 REGB0 = REGB1;
288 /* ./../lib/standard//kernel.nit:89 */
289 goto label1;
290 }
291 }
292 label1: while(0);
293 stack_frame_head = fra.me.prev;
294 return REGB0;
295 }
296 val_t kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){
297 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
298 val_t REGB0;
299 val_t REGB1;
300 val_t tmp;
301 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
302 fra.me.file = LOCATE_kernel;
303 fra.me.line = 93;
304 fra.me.meth = LOCATE_kernel___Comparable___is_between;
305 fra.me.has_broke = 0;
306 fra.me.REG_size = 3;
307 fra.me.REG[0] = NIT_NULL;
308 fra.me.REG[1] = NIT_NULL;
309 fra.me.REG[2] = NIT_NULL;
310 fra.me.REG[0] = p0;
311 fra.me.REG[1] = p1;
312 fra.me.REG[2] = p2;
313 REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
314 /* ./../lib/standard//kernel.nit:96 */
315 if (UNTAG_Bool(REGB0)) {
316 REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
317 } else {
318 REGB1 = TAG_Bool(false);
319 REGB0 = REGB1;
320 }
321 goto label1;
322 label1: while(0);
323 stack_frame_head = fra.me.prev;
324 return REGB0;
325 }
326 val_t kernel___Comparable___max(val_t p0, val_t p1){
327 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
328 val_t REGB0;
329 val_t tmp;
330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
331 fra.me.file = LOCATE_kernel;
332 fra.me.line = 99;
333 fra.me.meth = LOCATE_kernel___Comparable___max;
334 fra.me.has_broke = 0;
335 fra.me.REG_size = 2;
336 fra.me.REG[0] = NIT_NULL;
337 fra.me.REG[1] = NIT_NULL;
338 fra.me.REG[0] = p0;
339 fra.me.REG[1] = p1;
340 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
341 /* ./../lib/standard//kernel.nit:102 */
342 if (UNTAG_Bool(REGB0)) {
343 /* ./../lib/standard//kernel.nit:103 */
344 goto label1;
345 } else {
346 fra.me.REG[1] = fra.me.REG[0];
347 /* ./../lib/standard//kernel.nit:105 */
348 goto label1;
349 }
350 label1: while(0);
351 stack_frame_head = fra.me.prev;
352 return fra.me.REG[1];
353 }
354 val_t kernel___Comparable___min(val_t p0, val_t p1){
355 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
356 val_t REGB0;
357 val_t tmp;
358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
359 fra.me.file = LOCATE_kernel;
360 fra.me.line = 109;
361 fra.me.meth = LOCATE_kernel___Comparable___min;
362 fra.me.has_broke = 0;
363 fra.me.REG_size = 2;
364 fra.me.REG[0] = NIT_NULL;
365 fra.me.REG[1] = NIT_NULL;
366 fra.me.REG[0] = p0;
367 fra.me.REG[1] = p1;
368 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
369 /* ./../lib/standard//kernel.nit:112 */
370 if (UNTAG_Bool(REGB0)) {
371 /* ./../lib/standard//kernel.nit:113 */
372 goto label1;
373 } else {
374 fra.me.REG[1] = fra.me.REG[0];
375 /* ./../lib/standard//kernel.nit:115 */
376 goto label1;
377 }
378 label1: while(0);
379 stack_frame_head = fra.me.prev;
380 return fra.me.REG[1];
381 }
382 val_t kernel___Discrete___succ(val_t p0){
383 struct {struct stack_frame_t me;} fra;
384 val_t REGB0;
385 val_t tmp;
386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
387 fra.me.file = LOCATE_kernel;
388 fra.me.line = 126;
389 fra.me.meth = LOCATE_kernel___Discrete___succ;
390 fra.me.has_broke = 0;
391 fra.me.REG_size = 1;
392 fra.me.REG[0] = NIT_NULL;
393 fra.me.REG[0] = p0;
394 REGB0 = TAG_Int(1);
395 fra.me.REG[0] = CALL_kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0);
396 /* ./../lib/standard//kernel.nit:127 */
397 goto label1;
398 label1: while(0);
399 stack_frame_head = fra.me.prev;
400 return fra.me.REG[0];
401 }
402 val_t kernel___Discrete___prec(val_t p0){
403 struct {struct stack_frame_t me;} fra;
404 val_t REGB0;
405 val_t tmp;
406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
407 fra.me.file = LOCATE_kernel;
408 fra.me.line = 129;
409 fra.me.meth = LOCATE_kernel___Discrete___prec;
410 fra.me.has_broke = 0;
411 fra.me.REG_size = 1;
412 fra.me.REG[0] = NIT_NULL;
413 fra.me.REG[0] = p0;
414 REGB0 = TAG_Int(1);
415 fra.me.REG[0] = CALL_kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0);
416 /* ./../lib/standard//kernel.nit:130 */
417 goto label1;
418 label1: while(0);
419 stack_frame_head = fra.me.prev;
420 return fra.me.REG[0];
421 }
422 val_t kernel___Discrete_____plus(val_t p0, val_t p1){
423 struct {struct stack_frame_t me;} fra;
424 val_t tmp;
425 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
426 fra.me.file = LOCATE_kernel;
427 fra.me.line = 132;
428 fra.me.meth = LOCATE_kernel___Discrete_____plus;
429 fra.me.has_broke = 0;
430 fra.me.REG_size = 0;
431 /* ./../lib/standard//kernel.nit:132 */
432 fprintf(stderr, "Deferred method called");
433 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 132);
434 nit_exit(1);
435 stack_frame_head = fra.me.prev;
436 return NIT_NULL;
437 }
438 val_t kernel___Discrete_____minus(val_t p0, val_t p1){
439 struct {struct stack_frame_t me;} fra;
440 val_t tmp;
441 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
442 fra.me.file = LOCATE_kernel;
443 fra.me.line = 135;
444 fra.me.meth = LOCATE_kernel___Discrete_____minus;
445 fra.me.has_broke = 0;
446 fra.me.REG_size = 0;
447 /* ./../lib/standard//kernel.nit:135 */
448 fprintf(stderr, "Deferred method called");
449 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 135);
450 nit_exit(1);
451 stack_frame_head = fra.me.prev;
452 return NIT_NULL;
453 }
454 val_t kernel___Discrete___distance(val_t p0, val_t p1){
455 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
456 val_t REGB0;
457 val_t REGB1;
458 val_t REGB2;
459 val_t tmp;
460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
461 fra.me.file = LOCATE_kernel;
462 fra.me.line = 138;
463 fra.me.meth = LOCATE_kernel___Discrete___distance;
464 fra.me.has_broke = 0;
465 fra.me.REG_size = 4;
466 fra.me.REG[0] = NIT_NULL;
467 fra.me.REG[1] = NIT_NULL;
468 fra.me.REG[2] = NIT_NULL;
469 fra.me.REG[3] = NIT_NULL;
470 fra.me.REG[0] = p0;
471 fra.me.REG[1] = p1;
472 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
473 /* ./../lib/standard//kernel.nit:145 */
474 if (UNTAG_Bool(REGB0)) {
475 fra.me.REG[2] = fra.me.REG[0];
476 fra.me.REG[3] = fra.me.REG[1];
477 /* ./../lib/standard//kernel.nit:147 */
478 } else {
479 REGB0 = CALL_kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
480 /* ./../lib/standard//kernel.nit:148 */
481 if (UNTAG_Bool(REGB0)) {
482 fra.me.REG[2] = fra.me.REG[1];
483 fra.me.REG[3] = fra.me.REG[0];
484 /* ./../lib/standard//kernel.nit:150 */
485 } else {
486 REGB0 = TAG_Int(0);
487 /* ./../lib/standard//kernel.nit:152 */
488 goto label1;
489 }
490 }
491 REGB1 = TAG_Int(0);
492 /* ./../lib/standard//kernel.nit:156 */
493 while(1) {
494 REGB2 = CALL_kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
495 if (UNTAG_Bool(REGB2)) {
496 fra.me.REG[0] = CALL_kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
497 fra.me.REG[2] = fra.me.REG[0];
498 REGB2 = TAG_Int(1);
499 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
500 REGB1 = REGB2;
501 /* ./../lib/standard//kernel.nit:158 */
502 } else {
503 /* ./../lib/standard//kernel.nit:156 */
504 goto label2;
505 }
506 }
507 label2: while(0);
508 REGB0 = REGB1;
509 /* ./../lib/standard//kernel.nit:160 */
510 goto label1;
511 label1: while(0);
512 stack_frame_head = fra.me.prev;
513 return REGB0;
514 }
515 val_t kernel___Bool___object_id(val_t p0){
516 struct {struct stack_frame_t me;} fra;
517 val_t REGB0;
518 val_t tmp;
519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
520 fra.me.file = LOCATE_kernel;
521 fra.me.line = 174;
522 fra.me.meth = LOCATE_kernel___Bool___object_id;
523 fra.me.has_broke = 0;
524 fra.me.REG_size = 0;
525 REGB0 = p0;
526 REGB0 = TAG_Int(UNTAG_Bool(REGB0));
527 /* ./../lib/standard//kernel.nit:174 */
528 stack_frame_head = fra.me.prev;
529 return REGB0;
530 }
531 val_t kernel___Bool_____eqeq(val_t p0, val_t p1){
532 struct {struct stack_frame_t me;} fra;
533 val_t REGB0;
534 val_t tmp;
535 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
536 fra.me.file = LOCATE_kernel;
537 fra.me.line = 175;
538 fra.me.meth = LOCATE_kernel___Bool_____eqeq;
539 fra.me.has_broke = 0;
540 fra.me.REG_size = 1;
541 fra.me.REG[0] = NIT_NULL;
542 REGB0 = p0;
543 fra.me.REG[0] = p1;
544 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
545 /* ./../lib/standard//kernel.nit:175 */
546 stack_frame_head = fra.me.prev;
547 return REGB0;
548 }
549 val_t kernel___Bool_____neq(val_t p0, val_t p1){
550 struct {struct stack_frame_t me;} fra;
551 val_t REGB0;
552 val_t tmp;
553 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
554 fra.me.file = LOCATE_kernel;
555 fra.me.line = 176;
556 fra.me.meth = LOCATE_kernel___Bool_____neq;
557 fra.me.has_broke = 0;
558 fra.me.REG_size = 1;
559 fra.me.REG[0] = NIT_NULL;
560 REGB0 = p0;
561 fra.me.REG[0] = p1;
562 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
563 /* ./../lib/standard//kernel.nit:176 */
564 stack_frame_head = fra.me.prev;
565 return REGB0;
566 }
567 void kernel___Bool___output(val_t p0){
568 struct {struct stack_frame_t me;} fra;
569 val_t REGB0;
570 val_t tmp;
571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
572 fra.me.file = LOCATE_kernel;
573 fra.me.line = 177;
574 fra.me.meth = LOCATE_kernel___Bool___output;
575 fra.me.has_broke = 0;
576 fra.me.REG_size = 0;
577 REGB0 = p0;
578 /* ./../lib/standard//kernel.nit:177 */
579 (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");;
580 stack_frame_head = fra.me.prev;
581 return;
582 }
583 val_t kernel___Float___object_id(val_t p0){
584 struct {struct stack_frame_t me;} fra;
585 val_t REGB0;
586 val_t tmp;
587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
588 fra.me.file = LOCATE_kernel;
589 fra.me.line = 183;
590 fra.me.meth = LOCATE_kernel___Float___object_id;
591 fra.me.has_broke = 0;
592 fra.me.REG_size = 1;
593 fra.me.REG[0] = NIT_NULL;
594 fra.me.REG[0] = p0;
595 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
596 /* ./../lib/standard//kernel.nit:183 */
597 stack_frame_head = fra.me.prev;
598 return REGB0;
599 }
600 void kernel___Float___output(val_t p0){
601 struct {struct stack_frame_t me;} fra;
602 val_t tmp;
603 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
604 fra.me.file = LOCATE_kernel;
605 fra.me.line = 184;
606 fra.me.meth = LOCATE_kernel___Float___output;
607 fra.me.has_broke = 0;
608 fra.me.REG_size = 1;
609 fra.me.REG[0] = NIT_NULL;
610 fra.me.REG[0] = p0;
611 /* ./../lib/standard//kernel.nit:184 */
612 printf("%f\n", UNBOX_Float(fra.me.REG[0]));;
613 stack_frame_head = fra.me.prev;
614 return;
615 }
616 val_t kernel___Float_____leq(val_t p0, val_t p1){
617 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
618 val_t REGB0;
619 val_t tmp;
620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
621 fra.me.file = LOCATE_kernel;
622 fra.me.line = 186;
623 fra.me.meth = LOCATE_kernel___Float_____leq;
624 fra.me.has_broke = 0;
625 fra.me.REG_size = 2;
626 fra.me.REG[0] = NIT_NULL;
627 fra.me.REG[1] = NIT_NULL;
628 fra.me.REG[0] = p0;
629 fra.me.REG[1] = p1;
630 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1]));
631 /* ./../lib/standard//kernel.nit:186 */
632 stack_frame_head = fra.me.prev;
633 return REGB0;
634 }
635 val_t kernel___Float_____l(val_t p0, val_t p1){
636 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
637 val_t REGB0;
638 val_t tmp;
639 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
640 fra.me.file = LOCATE_kernel;
641 fra.me.line = 187;
642 fra.me.meth = LOCATE_kernel___Float_____l;
643 fra.me.has_broke = 0;
644 fra.me.REG_size = 2;
645 fra.me.REG[0] = NIT_NULL;
646 fra.me.REG[1] = NIT_NULL;
647 fra.me.REG[0] = p0;
648 fra.me.REG[1] = p1;
649 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<UNBOX_Float(fra.me.REG[1]));
650 /* ./../lib/standard//kernel.nit:187 */
651 stack_frame_head = fra.me.prev;
652 return REGB0;
653 }
654 val_t kernel___Float_____geq(val_t p0, val_t p1){
655 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
656 val_t REGB0;
657 val_t tmp;
658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
659 fra.me.file = LOCATE_kernel;
660 fra.me.line = 188;
661 fra.me.meth = LOCATE_kernel___Float_____geq;
662 fra.me.has_broke = 0;
663 fra.me.REG_size = 2;
664 fra.me.REG[0] = NIT_NULL;
665 fra.me.REG[1] = NIT_NULL;
666 fra.me.REG[0] = p0;
667 fra.me.REG[1] = p1;
668 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>=UNBOX_Float(fra.me.REG[1]));
669 /* ./../lib/standard//kernel.nit:188 */
670 stack_frame_head = fra.me.prev;
671 return REGB0;
672 }
673 val_t kernel___Float_____g(val_t p0, val_t p1){
674 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
675 val_t REGB0;
676 val_t tmp;
677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
678 fra.me.file = LOCATE_kernel;
679 fra.me.line = 189;
680 fra.me.meth = LOCATE_kernel___Float_____g;
681 fra.me.has_broke = 0;
682 fra.me.REG_size = 2;
683 fra.me.REG[0] = NIT_NULL;
684 fra.me.REG[1] = NIT_NULL;
685 fra.me.REG[0] = p0;
686 fra.me.REG[1] = p1;
687 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1]));
688 /* ./../lib/standard//kernel.nit:189 */
689 stack_frame_head = fra.me.prev;
690 return REGB0;
691 }
692 val_t kernel___Float_____plus(val_t p0, val_t p1){
693 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
694 val_t tmp;
695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
696 fra.me.file = LOCATE_kernel;
697 fra.me.line = 190;
698 fra.me.meth = LOCATE_kernel___Float_____plus;
699 fra.me.has_broke = 0;
700 fra.me.REG_size = 2;
701 fra.me.REG[0] = NIT_NULL;
702 fra.me.REG[1] = NIT_NULL;
703 fra.me.REG[0] = p0;
704 fra.me.REG[1] = p1;
705 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1]));
706 /* ./../lib/standard//kernel.nit:190 */
707 stack_frame_head = fra.me.prev;
708 return fra.me.REG[1];
709 }
710 val_t kernel___Float___unary__minus(val_t p0){
711 struct {struct stack_frame_t me;} fra;
712 val_t tmp;
713 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
714 fra.me.file = LOCATE_kernel;
715 fra.me.line = 191;
716 fra.me.meth = LOCATE_kernel___Float___unary__minus;
717 fra.me.has_broke = 0;
718 fra.me.REG_size = 1;
719 fra.me.REG[0] = NIT_NULL;
720 fra.me.REG[0] = p0;
721 fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0]));
722 /* ./../lib/standard//kernel.nit:191 */
723 stack_frame_head = fra.me.prev;
724 return fra.me.REG[0];
725 }
726 val_t kernel___Float_____minus(val_t p0, val_t p1){
727 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
728 val_t tmp;
729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
730 fra.me.file = LOCATE_kernel;
731 fra.me.line = 192;
732 fra.me.meth = LOCATE_kernel___Float_____minus;
733 fra.me.has_broke = 0;
734 fra.me.REG_size = 2;
735 fra.me.REG[0] = NIT_NULL;
736 fra.me.REG[1] = NIT_NULL;
737 fra.me.REG[0] = p0;
738 fra.me.REG[1] = p1;
739 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1]));
740 /* ./../lib/standard//kernel.nit:192 */
741 stack_frame_head = fra.me.prev;
742 return fra.me.REG[1];
743 }
744 val_t kernel___Float_____star(val_t p0, val_t p1){
745 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
746 val_t tmp;
747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
748 fra.me.file = LOCATE_kernel;
749 fra.me.line = 193;
750 fra.me.meth = LOCATE_kernel___Float_____star;
751 fra.me.has_broke = 0;
752 fra.me.REG_size = 2;
753 fra.me.REG[0] = NIT_NULL;
754 fra.me.REG[1] = NIT_NULL;
755 fra.me.REG[0] = p0;
756 fra.me.REG[1] = p1;
757 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1]));
758 /* ./../lib/standard//kernel.nit:193 */
759 stack_frame_head = fra.me.prev;
760 return fra.me.REG[1];
761 }
762 val_t kernel___Float_____slash(val_t p0, val_t p1){
763 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
764 val_t tmp;
765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
766 fra.me.file = LOCATE_kernel;
767 fra.me.line = 194;
768 fra.me.meth = LOCATE_kernel___Float_____slash;
769 fra.me.has_broke = 0;
770 fra.me.REG_size = 2;
771 fra.me.REG[0] = NIT_NULL;
772 fra.me.REG[1] = NIT_NULL;
773 fra.me.REG[0] = p0;
774 fra.me.REG[1] = p1;
775 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1]));
776 /* ./../lib/standard//kernel.nit:194 */
777 stack_frame_head = fra.me.prev;
778 return fra.me.REG[1];
779 }
780 val_t kernel___Float___to_i(val_t p0){
781 struct {struct stack_frame_t me;} fra;
782 val_t REGB0;
783 val_t tmp;
784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
785 fra.me.file = LOCATE_kernel;
786 fra.me.line = 196;
787 fra.me.meth = LOCATE_kernel___Float___to_i;
788 fra.me.has_broke = 0;
789 fra.me.REG_size = 1;
790 fra.me.REG[0] = NIT_NULL;
791 fra.me.REG[0] = p0;
792 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
793 /* ./../lib/standard//kernel.nit:196 */
794 stack_frame_head = fra.me.prev;
795 return REGB0;
796 }
797 val_t kernel___Int___object_id(val_t p0){
798 struct {struct stack_frame_t me;} fra;
799 val_t REGB0;
800 val_t tmp;
801 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
802 fra.me.file = LOCATE_kernel;
803 fra.me.line = 206;
804 fra.me.meth = LOCATE_kernel___Int___object_id;
805 fra.me.has_broke = 0;
806 fra.me.REG_size = 0;
807 REGB0 = p0;
808 /* ./../lib/standard//kernel.nit:206 */
809 stack_frame_head = fra.me.prev;
810 return REGB0;
811 }
812 val_t kernel___Int_____eqeq(val_t p0, val_t p1){
813 struct {struct stack_frame_t me;} fra;
814 val_t REGB0;
815 val_t tmp;
816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
817 fra.me.file = LOCATE_kernel;
818 fra.me.line = 207;
819 fra.me.meth = LOCATE_kernel___Int_____eqeq;
820 fra.me.has_broke = 0;
821 fra.me.REG_size = 1;
822 fra.me.REG[0] = NIT_NULL;
823 REGB0 = p0;
824 fra.me.REG[0] = p1;
825 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
826 /* ./../lib/standard//kernel.nit:207 */
827 stack_frame_head = fra.me.prev;
828 return REGB0;
829 }
830 val_t kernel___Int_____neq(val_t p0, val_t p1){
831 struct {struct stack_frame_t me;} fra;
832 val_t REGB0;
833 val_t tmp;
834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
835 fra.me.file = LOCATE_kernel;
836 fra.me.line = 208;
837 fra.me.meth = LOCATE_kernel___Int_____neq;
838 fra.me.has_broke = 0;
839 fra.me.REG_size = 1;
840 fra.me.REG[0] = NIT_NULL;
841 REGB0 = p0;
842 fra.me.REG[0] = p1;
843 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
844 /* ./../lib/standard//kernel.nit:208 */
845 stack_frame_head = fra.me.prev;
846 return REGB0;
847 }
848 void kernel___Int___output(val_t p0){
849 struct {struct stack_frame_t me;} fra;
850 val_t REGB0;
851 val_t tmp;
852 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
853 fra.me.file = LOCATE_kernel;
854 fra.me.line = 209;
855 fra.me.meth = LOCATE_kernel___Int___output;
856 fra.me.has_broke = 0;
857 fra.me.REG_size = 0;
858 REGB0 = p0;
859 /* ./../lib/standard//kernel.nit:209 */
860 printf("%ld\n", UNTAG_Int(REGB0));;
861 stack_frame_head = fra.me.prev;
862 return;
863 }
864 val_t kernel___Int_____l(val_t p0, val_t p1){
865 struct {struct stack_frame_t me;} fra;
866 val_t REGB0;
867 val_t REGB1;
868 val_t tmp;
869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
870 fra.me.file = LOCATE_kernel;
871 fra.me.line = 212;
872 fra.me.meth = LOCATE_kernel___Int_____l;
873 fra.me.has_broke = 0;
874 fra.me.REG_size = 0;
875 REGB0 = p0;
876 REGB1 = p1;
877 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
878 /* ./../lib/standard//kernel.nit:212 */
879 stack_frame_head = fra.me.prev;
880 return REGB1;
881 }
882 val_t kernel___Int_____leq(val_t p0, val_t p1){
883 struct {struct stack_frame_t me;} fra;
884 val_t REGB0;
885 val_t REGB1;
886 val_t tmp;
887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
888 fra.me.file = LOCATE_kernel;
889 fra.me.line = 211;
890 fra.me.meth = LOCATE_kernel___Int_____leq;
891 fra.me.has_broke = 0;
892 fra.me.REG_size = 0;
893 REGB0 = p0;
894 REGB1 = p1;
895 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
896 /* ./../lib/standard//kernel.nit:211 */
897 stack_frame_head = fra.me.prev;
898 return REGB1;
899 }
900 val_t kernel___Int_____geq(val_t p0, val_t p1){
901 struct {struct stack_frame_t me;} fra;
902 val_t REGB0;
903 val_t REGB1;
904 val_t tmp;
905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
906 fra.me.file = LOCATE_kernel;
907 fra.me.line = 213;
908 fra.me.meth = LOCATE_kernel___Int_____geq;
909 fra.me.has_broke = 0;
910 fra.me.REG_size = 0;
911 REGB0 = p0;
912 REGB1 = p1;
913 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
914 /* ./../lib/standard//kernel.nit:213 */
915 stack_frame_head = fra.me.prev;
916 return REGB1;
917 }
918 val_t kernel___Int_____g(val_t p0, val_t p1){
919 struct {struct stack_frame_t me;} fra;
920 val_t REGB0;
921 val_t REGB1;
922 val_t tmp;
923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
924 fra.me.file = LOCATE_kernel;
925 fra.me.line = 214;
926 fra.me.meth = LOCATE_kernel___Int_____g;
927 fra.me.has_broke = 0;
928 fra.me.REG_size = 0;
929 REGB0 = p0;
930 REGB1 = p1;
931 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
932 /* ./../lib/standard//kernel.nit:214 */
933 stack_frame_head = fra.me.prev;
934 return REGB1;
935 }
936 val_t kernel___Int_____leqg(val_t p0, val_t p1){
937 struct {struct stack_frame_t me;} fra;
938 val_t REGB0;
939 val_t REGB1;
940 val_t REGB2;
941 val_t tmp;
942 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
943 fra.me.file = LOCATE_kernel;
944 fra.me.line = 239;
945 fra.me.meth = LOCATE_kernel___Int_____leqg;
946 fra.me.has_broke = 0;
947 fra.me.REG_size = 0;
948 REGB0 = p0;
949 REGB1 = p1;
950 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
951 /* ./../lib/standard//kernel.nit:241 */
952 if (UNTAG_Bool(REGB2)) {
953 REGB2 = TAG_Int(1);
954 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
955 /* ./../lib/standard//kernel.nit:242 */
956 goto label1;
957 } else {
958 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
959 /* ./../lib/standard//kernel.nit:243 */
960 if (UNTAG_Bool(REGB0)) {
961 REGB0 = TAG_Int(1);
962 REGB2 = REGB0;
963 /* ./../lib/standard//kernel.nit:244 */
964 goto label1;
965 } else {
966 REGB0 = TAG_Int(0);
967 REGB2 = REGB0;
968 /* ./../lib/standard//kernel.nit:246 */
969 goto label1;
970 }
971 }
972 label1: while(0);
973 stack_frame_head = fra.me.prev;
974 return REGB2;
975 }
976 val_t kernel___Int___is_between(val_t p0, val_t p1, val_t p2){
977 struct {struct stack_frame_t me;} fra;
978 val_t REGB0;
979 val_t REGB1;
980 val_t REGB2;
981 val_t tmp;
982 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
983 fra.me.file = LOCATE_kernel;
984 fra.me.line = 250;
985 fra.me.meth = LOCATE_kernel___Int___is_between;
986 fra.me.has_broke = 0;
987 fra.me.REG_size = 0;
988 REGB0 = p0;
989 REGB1 = p1;
990 REGB2 = p2;
991 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
992 /* ./../lib/standard//kernel.nit:252 */
993 if (UNTAG_Bool(REGB1)) {
994 REGB1 = TAG_Bool(true);
995 } else {
996 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
997 REGB1 = REGB0;
998 /* ./../lib/standard//kernel.nit:252 */
999 }
1000 if (UNTAG_Bool(REGB1)) {
1001 REGB1 = TAG_Bool(false);
1002 /* ./../lib/standard//kernel.nit:253 */
1003 goto label1;
1004 } else {
1005 REGB0 = TAG_Bool(true);
1006 REGB1 = REGB0;
1007 /* ./../lib/standard//kernel.nit:255 */
1008 goto label1;
1009 }
1010 label1: while(0);
1011 stack_frame_head = fra.me.prev;
1012 return REGB1;
1013 }
1014 val_t kernel___Int___max(val_t p0, val_t p1){
1015 struct {struct stack_frame_t me;} fra;
1016 val_t REGB0;
1017 val_t REGB1;
1018 val_t REGB2;
1019 val_t tmp;
1020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1021 fra.me.file = LOCATE_kernel;
1022 fra.me.line = 259;
1023 fra.me.meth = LOCATE_kernel___Int___max;
1024 fra.me.has_broke = 0;
1025 fra.me.REG_size = 0;
1026 REGB0 = p0;
1027 REGB1 = p1;
1028 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1029 /* ./../lib/standard//kernel.nit:261 */
1030 if (UNTAG_Bool(REGB2)) {
1031 /* ./../lib/standard//kernel.nit:262 */
1032 goto label1;
1033 } else {
1034 REGB1 = REGB0;
1035 /* ./../lib/standard//kernel.nit:264 */
1036 goto label1;
1037 }
1038 label1: while(0);
1039 stack_frame_head = fra.me.prev;
1040 return REGB1;
1041 }
1042 val_t kernel___Int___min(val_t p0, val_t p1){
1043 struct {struct stack_frame_t me;} fra;
1044 val_t REGB0;
1045 val_t REGB1;
1046 val_t REGB2;
1047 val_t tmp;
1048 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1049 fra.me.file = LOCATE_kernel;
1050 fra.me.line = 268;
1051 fra.me.meth = LOCATE_kernel___Int___min;
1052 fra.me.has_broke = 0;
1053 fra.me.REG_size = 0;
1054 REGB0 = p0;
1055 REGB1 = p1;
1056 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1057 /* ./../lib/standard//kernel.nit:270 */
1058 if (UNTAG_Bool(REGB2)) {
1059 /* ./../lib/standard//kernel.nit:271 */
1060 goto label1;
1061 } else {
1062 REGB1 = REGB0;
1063 /* ./../lib/standard//kernel.nit:273 */
1064 goto label1;
1065 }
1066 label1: while(0);
1067 stack_frame_head = fra.me.prev;
1068 return REGB1;
1069 }
1070 val_t kernel___Int___succ(val_t p0){
1071 struct {struct stack_frame_t me;} fra;
1072 val_t REGB0;
1073 val_t tmp;
1074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1075 fra.me.file = LOCATE_kernel;
1076 fra.me.line = 227;
1077 fra.me.meth = LOCATE_kernel___Int___succ;
1078 fra.me.has_broke = 0;
1079 fra.me.REG_size = 0;
1080 REGB0 = p0;
1081 REGB0 = TAG_Int(UNTAG_Int(REGB0)+1);
1082 /* ./../lib/standard//kernel.nit:227 */
1083 stack_frame_head = fra.me.prev;
1084 return REGB0;
1085 }
1086 val_t kernel___Int___prec(val_t p0){
1087 struct {struct stack_frame_t me;} fra;
1088 val_t REGB0;
1089 val_t tmp;
1090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1091 fra.me.file = LOCATE_kernel;
1092 fra.me.line = 228;
1093 fra.me.meth = LOCATE_kernel___Int___prec;
1094 fra.me.has_broke = 0;
1095 fra.me.REG_size = 0;
1096 REGB0 = p0;
1097 REGB0 = TAG_Int(UNTAG_Int(REGB0)-1);
1098 /* ./../lib/standard//kernel.nit:228 */
1099 stack_frame_head = fra.me.prev;
1100 return REGB0;
1101 }
1102 val_t kernel___Int_____plus(val_t p0, val_t p1){
1103 struct {struct stack_frame_t me;} fra;
1104 val_t REGB0;
1105 val_t REGB1;
1106 val_t tmp;
1107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1108 fra.me.file = LOCATE_kernel;
1109 fra.me.line = 215;
1110 fra.me.meth = LOCATE_kernel___Int_____plus;
1111 fra.me.has_broke = 0;
1112 fra.me.REG_size = 0;
1113 REGB0 = p0;
1114 REGB1 = p1;
1115 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1116 /* ./../lib/standard//kernel.nit:215 */
1117 stack_frame_head = fra.me.prev;
1118 return REGB1;
1119 }
1120 val_t kernel___Int_____minus(val_t p0, val_t p1){
1121 struct {struct stack_frame_t me;} fra;
1122 val_t REGB0;
1123 val_t REGB1;
1124 val_t tmp;
1125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1126 fra.me.file = LOCATE_kernel;
1127 fra.me.line = 217;
1128 fra.me.meth = LOCATE_kernel___Int_____minus;
1129 fra.me.has_broke = 0;
1130 fra.me.REG_size = 0;
1131 REGB0 = p0;
1132 REGB1 = p1;
1133 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1134 /* ./../lib/standard//kernel.nit:217 */
1135 stack_frame_head = fra.me.prev;
1136 return REGB1;
1137 }
1138 val_t kernel___Int___distance(val_t p0, val_t p1){
1139 struct {struct stack_frame_t me;} fra;
1140 val_t REGB0;
1141 val_t REGB1;
1142 val_t tmp;
1143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1144 fra.me.file = LOCATE_kernel;
1145 fra.me.line = 229;
1146 fra.me.meth = LOCATE_kernel___Int___distance;
1147 fra.me.has_broke = 0;
1148 fra.me.REG_size = 0;
1149 REGB0 = p0;
1150 REGB1 = p1;
1151 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1152 REGB0 = TAG_Int(0);
1153 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1154 /* ./../lib/standard//kernel.nit:232 */
1155 if (UNTAG_Bool(REGB0)) {
1156 REGB0 = REGB1;
1157 /* ./../lib/standard//kernel.nit:233 */
1158 goto label1;
1159 } else {
1160 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1161 REGB0 = REGB1;
1162 /* ./../lib/standard//kernel.nit:235 */
1163 goto label1;
1164 }
1165 label1: while(0);
1166 stack_frame_head = fra.me.prev;
1167 return REGB0;
1168 }
1169 val_t kernel___Int___unary__minus(val_t p0){
1170 struct {struct stack_frame_t me;} fra;
1171 val_t REGB0;
1172 val_t tmp;
1173 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1174 fra.me.file = LOCATE_kernel;
1175 fra.me.line = 216;
1176 fra.me.meth = LOCATE_kernel___Int___unary__minus;
1177 fra.me.has_broke = 0;
1178 fra.me.REG_size = 0;
1179 REGB0 = p0;
1180 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
1181 /* ./../lib/standard//kernel.nit:216 */
1182 stack_frame_head = fra.me.prev;
1183 return REGB0;
1184 }
1185 val_t kernel___Int_____star(val_t p0, val_t p1){
1186 struct {struct stack_frame_t me;} fra;
1187 val_t REGB0;
1188 val_t REGB1;
1189 val_t tmp;
1190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1191 fra.me.file = LOCATE_kernel;
1192 fra.me.line = 218;
1193 fra.me.meth = LOCATE_kernel___Int_____star;
1194 fra.me.has_broke = 0;
1195 fra.me.REG_size = 0;
1196 REGB0 = p0;
1197 REGB1 = p1;
1198 REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1));
1199 /* ./../lib/standard//kernel.nit:218 */
1200 stack_frame_head = fra.me.prev;
1201 return REGB1;
1202 }
1203 val_t kernel___Int_____slash(val_t p0, val_t p1){
1204 struct {struct stack_frame_t me;} fra;
1205 val_t REGB0;
1206 val_t REGB1;
1207 val_t tmp;
1208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1209 fra.me.file = LOCATE_kernel;
1210 fra.me.line = 219;
1211 fra.me.meth = LOCATE_kernel___Int_____slash;
1212 fra.me.has_broke = 0;
1213 fra.me.REG_size = 0;
1214 REGB0 = p0;
1215 REGB1 = p1;
1216 REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
1217 /* ./../lib/standard//kernel.nit:219 */
1218 stack_frame_head = fra.me.prev;
1219 return REGB1;
1220 }
1221 val_t kernel___Int_____percent(val_t p0, val_t p1){
1222 struct {struct stack_frame_t me;} fra;
1223 val_t REGB0;
1224 val_t REGB1;
1225 val_t tmp;
1226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1227 fra.me.file = LOCATE_kernel;
1228 fra.me.line = 220;
1229 fra.me.meth = LOCATE_kernel___Int_____percent;
1230 fra.me.has_broke = 0;
1231 fra.me.REG_size = 0;
1232 REGB0 = p0;
1233 REGB1 = p1;
1234 REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1));
1235 /* ./../lib/standard//kernel.nit:220 */
1236 stack_frame_head = fra.me.prev;
1237 return REGB1;
1238 }
1239 val_t kernel___Int___lshift(val_t p0, val_t p1){
1240 struct {struct stack_frame_t me;} fra;
1241 val_t REGB0;
1242 val_t REGB1;
1243 val_t tmp;
1244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1245 fra.me.file = LOCATE_kernel;
1246 fra.me.line = 221;
1247 fra.me.meth = LOCATE_kernel___Int___lshift;
1248 fra.me.has_broke = 0;
1249 fra.me.REG_size = 0;
1250 REGB0 = p0;
1251 REGB1 = p1;
1252 REGB1 = TAG_Int(UNTAG_Int(REGB0)<<UNTAG_Int(REGB1));
1253 /* ./../lib/standard//kernel.nit:221 */
1254 stack_frame_head = fra.me.prev;
1255 return REGB1;
1256 }
1257 val_t kernel___Int___rshift(val_t p0, val_t p1){
1258 struct {struct stack_frame_t me;} fra;
1259 val_t REGB0;
1260 val_t REGB1;
1261 val_t tmp;
1262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1263 fra.me.file = LOCATE_kernel;
1264 fra.me.line = 222;
1265 fra.me.meth = LOCATE_kernel___Int___rshift;
1266 fra.me.has_broke = 0;
1267 fra.me.REG_size = 0;
1268 REGB0 = p0;
1269 REGB1 = p1;
1270 REGB1 = TAG_Int(UNTAG_Int(REGB0)>>UNTAG_Int(REGB1));
1271 /* ./../lib/standard//kernel.nit:222 */
1272 stack_frame_head = fra.me.prev;
1273 return REGB1;
1274 }
1275 val_t kernel___Int___to_f(val_t p0){
1276 struct {struct stack_frame_t me;} fra;
1277 val_t REGB0;
1278 val_t tmp;
1279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1280 fra.me.file = LOCATE_kernel;
1281 fra.me.line = 224;
1282 fra.me.meth = LOCATE_kernel___Int___to_f;
1283 fra.me.has_broke = 0;
1284 fra.me.REG_size = 1;
1285 fra.me.REG[0] = NIT_NULL;
1286 REGB0 = p0;
1287 fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0));
1288 /* ./../lib/standard//kernel.nit:224 */
1289 stack_frame_head = fra.me.prev;
1290 return fra.me.REG[0];
1291 }
1292 val_t kernel___Int___ascii(val_t p0){
1293 struct {struct stack_frame_t me;} fra;
1294 val_t REGB0;
1295 val_t tmp;
1296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1297 fra.me.file = LOCATE_kernel;
1298 fra.me.line = 277;
1299 fra.me.meth = LOCATE_kernel___Int___ascii;
1300 fra.me.has_broke = 0;
1301 fra.me.REG_size = 0;
1302 REGB0 = p0;
1303 REGB0 = TAG_Char(UNTAG_Int(REGB0));
1304 /* ./../lib/standard//kernel.nit:277 */
1305 stack_frame_head = fra.me.prev;
1306 return REGB0;
1307 }
1308 val_t kernel___Int___digit_count(val_t p0, val_t p1){
1309 struct {struct stack_frame_t me;} fra;
1310 val_t REGB0;
1311 val_t REGB1;
1312 val_t REGB2;
1313 val_t REGB3;
1314 val_t REGB4;
1315 val_t REGB5;
1316 val_t tmp;
1317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1318 fra.me.file = LOCATE_kernel;
1319 fra.me.line = 280;
1320 fra.me.meth = LOCATE_kernel___Int___digit_count;
1321 fra.me.has_broke = 0;
1322 fra.me.REG_size = 0;
1323 REGB0 = p0;
1324 REGB1 = p1;
1325 REGB2 = TAG_Int(0);
1326 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
1327 /* ./../lib/standard//kernel.nit:286 */
1328 if (UNTAG_Bool(REGB2)) {
1329 REGB2 = TAG_Int(1);
1330 REGB3 = TAG_Int(-UNTAG_Int(REGB0));
1331 /* ./../lib/standard//kernel.nit:288 */
1332 } else {
1333 REGB4 = TAG_Int(0);
1334 REGB5 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
1335 /* ./../lib/standard//kernel.nit:289 */
1336 if (UNTAG_Bool(REGB5)) {
1337 } else {
1338 REGB4 = TAG_Bool((REGB0)==(REGB4));
1339 REGB5 = REGB4;
1340 /* ./../lib/standard//kernel.nit:289 */
1341 }
1342 if (UNTAG_Bool(REGB5)) {
1343 REGB5 = TAG_Int(1);
1344 /* ./../lib/standard//kernel.nit:290 */
1345 goto label1;
1346 } else {
1347 REGB4 = TAG_Int(0);
1348 REGB2 = REGB4;
1349 REGB3 = REGB0;
1350 /* ./../lib/standard//kernel.nit:293 */
1351 }
1352 }
1353 /* ./../lib/standard//kernel.nit:296 */
1354 while(1) {
1355 REGB0 = TAG_Int(0);
1356 REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0));
1357 /* ./../lib/standard//kernel.nit:296 */
1358 if (UNTAG_Bool(REGB0)) {
1359 REGB0 = TAG_Int(1);
1360 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
1361 REGB2 = REGB0;
1362 REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1));
1363 REGB3 = REGB0;
1364 /* ./../lib/standard//kernel.nit:298 */
1365 } else {
1366 /* ./../lib/standard//kernel.nit:296 */
1367 goto label2;
1368 }
1369 }
1370 label2: while(0);
1371 REGB5 = REGB2;
1372 /* ./../lib/standard//kernel.nit:300 */
1373 goto label1;
1374 label1: while(0);
1375 stack_frame_head = fra.me.prev;
1376 return REGB5;
1377 }
1378 val_t kernel___Int___to_c(val_t p0){
1379 struct {struct stack_frame_t me;} fra;
1380 val_t REGB0;
1381 val_t REGB1;
1382 val_t REGB2;
1383 val_t REGB3;
1384 val_t tmp;
1385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1386 fra.me.file = LOCATE_kernel;
1387 fra.me.line = 303;
1388 fra.me.meth = LOCATE_kernel___Int___to_c;
1389 fra.me.has_broke = 0;
1390 fra.me.REG_size = 0;
1391 REGB0 = p0;
1392 REGB1 = TAG_Int(0);
1393 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1394 /* ./../lib/standard//kernel.nit:308 */
1395 if (UNTAG_Bool(REGB1)) {
1396 REGB1 = TAG_Int(36);
1397 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1398 /* ./../lib/standard//kernel.nit:308 */
1399 } else {
1400 REGB2 = TAG_Bool(false);
1401 REGB1 = REGB2;
1402 }
1403 if (UNTAG_Bool(REGB1)) {
1404 } else {
1405 fprintf(stderr, "Assert failed");
1406 fprintf(stderr, " (%s:%d)\n", LOCATE_kernel, 308);
1407 nit_exit(1);
1408 }
1409 REGB1 = TAG_Int(10);
1410 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1411 /* ./../lib/standard//kernel.nit:309 */
1412 if (UNTAG_Bool(REGB1)) {
1413 REGB1 = TAG_Char('0');
1414 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1415 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1416 REGB1 = TAG_Char(UNTAG_Int(REGB1));
1417 /* ./../lib/standard//kernel.nit:310 */
1418 goto label1;
1419 } else {
1420 REGB2 = TAG_Char('a');
1421 REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
1422 REGB3 = TAG_Int(10);
1423 REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
1424 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
1425 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1426 REGB1 = REGB3;
1427 /* ./../lib/standard//kernel.nit:312 */
1428 goto label1;
1429 }
1430 label1: while(0);
1431 stack_frame_head = fra.me.prev;
1432 return REGB1;
1433 }
1434 val_t kernel___Char___object_id(val_t p0){
1435 struct {struct stack_frame_t me;} fra;
1436 val_t REGB0;
1437 val_t tmp;
1438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1439 fra.me.file = LOCATE_kernel;
1440 fra.me.line = 324;
1441 fra.me.meth = LOCATE_kernel___Char___object_id;
1442 fra.me.has_broke = 0;
1443 fra.me.REG_size = 0;
1444 REGB0 = p0;
1445 REGB0 = TAG_Int(UNTAG_Char(REGB0));
1446 /* ./../lib/standard//kernel.nit:324 */
1447 stack_frame_head = fra.me.prev;
1448 return REGB0;
1449 }
1450 val_t kernel___Char_____eqeq(val_t p0, val_t p1){
1451 struct {struct stack_frame_t me;} fra;
1452 val_t REGB0;
1453 val_t tmp;
1454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1455 fra.me.file = LOCATE_kernel;
1456 fra.me.line = 325;
1457 fra.me.meth = LOCATE_kernel___Char_____eqeq;
1458 fra.me.has_broke = 0;
1459 fra.me.REG_size = 1;
1460 fra.me.REG[0] = NIT_NULL;
1461 REGB0 = p0;
1462 fra.me.REG[0] = p1;
1463 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
1464 /* ./../lib/standard//kernel.nit:325 */
1465 stack_frame_head = fra.me.prev;
1466 return REGB0;
1467 }
1468 val_t kernel___Char_____neq(val_t p0, val_t p1){
1469 struct {struct stack_frame_t me;} fra;
1470 val_t REGB0;
1471 val_t tmp;
1472 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1473 fra.me.file = LOCATE_kernel;
1474 fra.me.line = 326;
1475 fra.me.meth = LOCATE_kernel___Char_____neq;
1476 fra.me.has_broke = 0;
1477 fra.me.REG_size = 1;
1478 fra.me.REG[0] = NIT_NULL;
1479 REGB0 = p0;
1480 fra.me.REG[0] = p1;
1481 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
1482 /* ./../lib/standard//kernel.nit:326 */
1483 stack_frame_head = fra.me.prev;
1484 return REGB0;
1485 }
1486 void kernel___Char___output(val_t p0){
1487 struct {struct stack_frame_t me;} fra;
1488 val_t REGB0;
1489 val_t tmp;
1490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1491 fra.me.file = LOCATE_kernel;
1492 fra.me.line = 327;
1493 fra.me.meth = LOCATE_kernel___Char___output;
1494 fra.me.has_broke = 0;
1495 fra.me.REG_size = 0;
1496 REGB0 = p0;
1497 /* ./../lib/standard//kernel.nit:327 */
1498 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
1499 stack_frame_head = fra.me.prev;
1500 return;
1501 }
1502 val_t kernel___Char_____l(val_t p0, val_t p1){
1503 struct {struct stack_frame_t me;} fra;
1504 val_t REGB0;
1505 val_t REGB1;
1506 val_t tmp;
1507 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1508 fra.me.file = LOCATE_kernel;
1509 fra.me.line = 330;
1510 fra.me.meth = LOCATE_kernel___Char_____l;
1511 fra.me.has_broke = 0;
1512 fra.me.REG_size = 0;
1513 REGB0 = p0;
1514 REGB1 = p1;
1515 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
1516 /* ./../lib/standard//kernel.nit:330 */
1517 stack_frame_head = fra.me.prev;
1518 return REGB1;
1519 }
1520 val_t kernel___Char_____leq(val_t p0, val_t p1){
1521 struct {struct stack_frame_t me;} fra;
1522 val_t REGB0;
1523 val_t REGB1;
1524 val_t tmp;
1525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1526 fra.me.file = LOCATE_kernel;
1527 fra.me.line = 329;
1528 fra.me.meth = LOCATE_kernel___Char_____leq;
1529 fra.me.has_broke = 0;
1530 fra.me.REG_size = 0;
1531 REGB0 = p0;
1532 REGB1 = p1;
1533 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
1534 /* ./../lib/standard//kernel.nit:329 */
1535 stack_frame_head = fra.me.prev;
1536 return REGB1;
1537 }
1538 val_t kernel___Char_____geq(val_t p0, val_t p1){
1539 struct {struct stack_frame_t me;} fra;
1540 val_t REGB0;
1541 val_t REGB1;
1542 val_t tmp;
1543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1544 fra.me.file = LOCATE_kernel;
1545 fra.me.line = 331;
1546 fra.me.meth = LOCATE_kernel___Char_____geq;
1547 fra.me.has_broke = 0;
1548 fra.me.REG_size = 0;
1549 REGB0 = p0;
1550 REGB1 = p1;
1551 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
1552 /* ./../lib/standard//kernel.nit:331 */
1553 stack_frame_head = fra.me.prev;
1554 return REGB1;
1555 }
1556 val_t kernel___Char_____g(val_t p0, val_t p1){
1557 struct {struct stack_frame_t me;} fra;
1558 val_t REGB0;
1559 val_t REGB1;
1560 val_t tmp;
1561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1562 fra.me.file = LOCATE_kernel;
1563 fra.me.line = 332;
1564 fra.me.meth = LOCATE_kernel___Char_____g;
1565 fra.me.has_broke = 0;
1566 fra.me.REG_size = 0;
1567 REGB0 = p0;
1568 REGB1 = p1;
1569 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
1570 /* ./../lib/standard//kernel.nit:332 */
1571 stack_frame_head = fra.me.prev;
1572 return REGB1;
1573 }
1574 val_t kernel___Char___succ(val_t p0){
1575 struct {struct stack_frame_t me;} fra;
1576 val_t REGB0;
1577 val_t tmp;
1578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1579 fra.me.file = LOCATE_kernel;
1580 fra.me.line = 334;
1581 fra.me.meth = LOCATE_kernel___Char___succ;
1582 fra.me.has_broke = 0;
1583 fra.me.REG_size = 0;
1584 REGB0 = p0;
1585 REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
1586 /* ./../lib/standard//kernel.nit:334 */
1587 stack_frame_head = fra.me.prev;
1588 return REGB0;
1589 }
1590 val_t kernel___Char___prec(val_t p0){
1591 struct {struct stack_frame_t me;} fra;
1592 val_t REGB0;
1593 val_t tmp;
1594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1595 fra.me.file = LOCATE_kernel;
1596 fra.me.line = 335;
1597 fra.me.meth = LOCATE_kernel___Char___prec;
1598 fra.me.has_broke = 0;
1599 fra.me.REG_size = 0;
1600 REGB0 = p0;
1601 REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
1602 /* ./../lib/standard//kernel.nit:335 */
1603 stack_frame_head = fra.me.prev;
1604 return REGB0;
1605 }
1606 val_t kernel___Char_____plus(val_t p0, val_t p1){
1607 struct {struct stack_frame_t me;} fra;
1608 val_t REGB0;
1609 val_t REGB1;
1610 val_t tmp;
1611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1612 fra.me.file = LOCATE_kernel;
1613 fra.me.line = 363;
1614 fra.me.meth = LOCATE_kernel___Char_____plus;
1615 fra.me.has_broke = 0;
1616 fra.me.REG_size = 0;
1617 REGB0 = p0;
1618 REGB1 = p1;
1619 REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
1620 /* ./../lib/standard//kernel.nit:363 */
1621 stack_frame_head = fra.me.prev;
1622 return REGB1;
1623 }
1624 val_t kernel___Char_____minus(val_t p0, val_t p1){
1625 struct {struct stack_frame_t me;} fra;
1626 val_t REGB0;
1627 val_t REGB1;
1628 val_t tmp;
1629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1630 fra.me.file = LOCATE_kernel;
1631 fra.me.line = 364;
1632 fra.me.meth = LOCATE_kernel___Char_____minus;
1633 fra.me.has_broke = 0;
1634 fra.me.REG_size = 0;
1635 REGB0 = p0;
1636 REGB1 = p1;
1637 REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
1638 /* ./../lib/standard//kernel.nit:364 */
1639 stack_frame_head = fra.me.prev;
1640 return REGB1;
1641 }
1642 val_t kernel___Char___distance(val_t p0, val_t p1){
1643 struct {struct stack_frame_t me;} fra;
1644 val_t REGB0;
1645 val_t REGB1;
1646 val_t tmp;
1647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1648 fra.me.file = LOCATE_kernel;
1649 fra.me.line = 337;
1650 fra.me.meth = LOCATE_kernel___Char___distance;
1651 fra.me.has_broke = 0;
1652 fra.me.REG_size = 0;
1653 REGB0 = p0;
1654 REGB1 = p1;
1655 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1656 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1657 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1658 REGB0 = TAG_Int(0);
1659 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1660 /* ./../lib/standard//kernel.nit:340 */
1661 if (UNTAG_Bool(REGB0)) {
1662 REGB0 = REGB1;
1663 /* ./../lib/standard//kernel.nit:341 */
1664 goto label1;
1665 } else {
1666 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1667 REGB0 = REGB1;
1668 /* ./../lib/standard//kernel.nit:343 */
1669 goto label1;
1670 }
1671 label1: while(0);
1672 stack_frame_head = fra.me.prev;
1673 return REGB0;
1674 }
1675 val_t kernel___Char___to_i(val_t p0){
1676 struct {struct stack_frame_t me;} fra;
1677 val_t REGB0;
1678 val_t REGB1;
1679 val_t REGB2;
1680 val_t REGB3;
1681 val_t tmp;
1682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1683 fra.me.file = LOCATE_kernel;
1684 fra.me.line = 347;
1685 fra.me.meth = LOCATE_kernel___Char___to_i;
1686 fra.me.has_broke = 0;
1687 fra.me.REG_size = 0;
1688 REGB0 = p0;
1689 REGB1 = TAG_Char('-');
1690 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
1691 /* ./../lib/standard//kernel.nit:351 */
1692 if (UNTAG_Bool(REGB2)) {
1693 } else {
1694 REGB1 = TAG_Bool((REGB0)==(REGB1));
1695 REGB2 = REGB1;
1696 /* ./../lib/standard//kernel.nit:351 */
1697 }
1698 if (UNTAG_Bool(REGB2)) {
1699 REGB2 = TAG_Int(1);
1700 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1701 /* ./../lib/standard//kernel.nit:352 */
1702 goto label1;
1703 } else {
1704 REGB1 = TAG_Char('0');
1705 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
1706 /* ./../lib/standard//kernel.nit:353 */
1707 if (UNTAG_Bool(REGB1)) {
1708 REGB1 = TAG_Char('9');
1709 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
1710 /* ./../lib/standard//kernel.nit:353 */
1711 } else {
1712 REGB3 = TAG_Bool(false);
1713 REGB1 = REGB3;
1714 }
1715 if (UNTAG_Bool(REGB1)) {
1716 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1717 REGB3 = TAG_Char('0');
1718 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
1719 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
1720 REGB2 = REGB3;
1721 /* ./../lib/standard//kernel.nit:354 */
1722 goto label1;
1723 } else {
1724 REGB0 = CALL_kernel___Char___to_lower(REGB0)(REGB0);
1725 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1726 REGB3 = TAG_Char('a');
1727 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
1728 REGB1 = TAG_Int(10);
1729 REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
1730 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1731 REGB2 = REGB1;
1732 /* ./../lib/standard//kernel.nit:356 */
1733 goto label1;
1734 }
1735 }
1736 label1: while(0);
1737 stack_frame_head = fra.me.prev;
1738 return REGB2;
1739 }
1740 val_t kernel___Char___ascii(val_t p0){
1741 struct {struct stack_frame_t me;} fra;
1742 val_t REGB0;
1743 val_t tmp;
1744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1745 fra.me.file = LOCATE_kernel;
1746 fra.me.line = 360;
1747 fra.me.meth = LOCATE_kernel___Char___ascii;
1748 fra.me.has_broke = 0;
1749 fra.me.REG_size = 0;
1750 REGB0 = p0;
1751 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1752 /* ./../lib/standard//kernel.nit:360 */
1753 stack_frame_head = fra.me.prev;
1754 return REGB0;
1755 }
1756 val_t kernel___Char___to_lower(val_t p0){
1757 struct {struct stack_frame_t me;} fra;
1758 val_t REGB0;
1759 val_t REGB1;
1760 val_t REGB2;
1761 val_t REGB3;
1762 val_t tmp;
1763 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1764 fra.me.file = LOCATE_kernel;
1765 fra.me.line = 366;
1766 fra.me.meth = LOCATE_kernel___Char___to_lower;
1767 fra.me.has_broke = 0;
1768 fra.me.REG_size = 0;
1769 REGB0 = p0;
1770 REGB1 = TAG_Char('A');
1771 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
1772 /* ./../lib/standard//kernel.nit:369 */
1773 if (UNTAG_Bool(REGB1)) {
1774 REGB1 = TAG_Char('Z');
1775 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
1776 /* ./../lib/standard//kernel.nit:369 */
1777 } else {
1778 REGB2 = TAG_Bool(false);
1779 REGB1 = REGB2;
1780 }
1781 if (UNTAG_Bool(REGB1)) {
1782 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1783 REGB2 = TAG_Char('a');
1784 REGB3 = TAG_Char('A');
1785 REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3);
1786 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1787 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1788 /* ./../lib/standard//kernel.nit:370 */
1789 goto label1;
1790 } else {
1791 REGB3 = REGB0;
1792 /* ./../lib/standard//kernel.nit:372 */
1793 goto label1;
1794 }
1795 label1: while(0);
1796 stack_frame_head = fra.me.prev;
1797 return REGB3;
1798 }
1799 val_t kernel___Char___to_upper(val_t p0){
1800 struct {struct stack_frame_t me;} fra;
1801 val_t REGB0;
1802 val_t REGB1;
1803 val_t REGB2;
1804 val_t REGB3;
1805 val_t tmp;
1806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1807 fra.me.file = LOCATE_kernel;
1808 fra.me.line = 376;
1809 fra.me.meth = LOCATE_kernel___Char___to_upper;
1810 fra.me.has_broke = 0;
1811 fra.me.REG_size = 0;
1812 REGB0 = p0;
1813 REGB1 = TAG_Char('a');
1814 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
1815 /* ./../lib/standard//kernel.nit:379 */
1816 if (UNTAG_Bool(REGB1)) {
1817 REGB1 = TAG_Char('z');
1818 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
1819 /* ./../lib/standard//kernel.nit:379 */
1820 } else {
1821 REGB2 = TAG_Bool(false);
1822 REGB1 = REGB2;
1823 }
1824 if (UNTAG_Bool(REGB1)) {
1825 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1826 REGB2 = TAG_Char('a');
1827 REGB3 = TAG_Char('A');
1828 REGB3 = CALL_kernel___Discrete___distance(REGB2)(REGB2, REGB3);
1829 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
1830 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1831 /* ./../lib/standard//kernel.nit:380 */
1832 goto label1;
1833 } else {
1834 REGB3 = REGB0;
1835 /* ./../lib/standard//kernel.nit:382 */
1836 goto label1;
1837 }
1838 label1: while(0);
1839 stack_frame_head = fra.me.prev;
1840 return REGB3;
1841 }