c_src: updates c_src for extern classes to be special of Pointer
[nit.git] / c_src / standard___kernel._sep.c
1 /* This C file is generated by NIT to compile module standard___kernel. */
2 #include "standard___kernel._sep.h"
3 val_t standard___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_standard___kernel;
9 fra.me.line = 26;
10 fra.me.meth = LOCATE_standard___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 /* ./../lib/standard//kernel.nit:26 */
16 REGB0 = TAG_Int((bigint)((obj_t)fra.me.REG[0])[1].object_id);
17 stack_frame_head = fra.me.prev;
18 return REGB0;
19 }
20 val_t standard___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_standard___kernel;
26 fra.me.line = 29;
27 fra.me.meth = LOCATE_standard___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 /* ./../lib/standard//kernel.nit:29 */
35 REGB0 = TAG_Bool((VAL2VFT(fra.me.REG[0])==VAL2VFT(fra.me.REG[1])));
36 stack_frame_head = fra.me.prev;
37 return REGB0;
38 }
39 val_t standard___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_standard___kernel;
45 fra.me.line = 32;
46 fra.me.meth = LOCATE_standard___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 /* ./../lib/standard//kernel.nit:35 */
54 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
55 goto label1;
56 label1: while(0);
57 stack_frame_head = fra.me.prev;
58 return REGB0;
59 }
60 val_t standard___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_standard___kernel;
67 fra.me.line = 37;
68 fra.me.meth = LOCATE_standard___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 /* ./../lib/standard//kernel.nit:40 */
76 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[0],fra.me.REG[1]));
77 if (UNTAG_Bool(REGB0)) {
78 } else {
79 REGB1 = CALL_standard___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 standard___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_standard___kernel;
94 fra.me.line = 42;
95 fra.me.meth = LOCATE_standard___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 /* ./../lib/standard//kernel.nit:45 */
101 REGB0 = TAG_Char('<');
102 /* ./../lib/standard//kernel.nit:352 */
103 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
104 /* ./../lib/standard//kernel.nit:46 */
105 REGB0 = CALL_standard___kernel___Object___object_id(fra.me.REG[0])(fra.me.REG[0]);
106 /* ./../lib/standard//kernel.nit:212 */
107 printf("%ld\n", UNTAG_Int(REGB0));;
108 /* ./../lib/standard//kernel.nit:47 */
109 REGB0 = TAG_Char('>');
110 /* ./../lib/standard//kernel.nit:352 */
111 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
112 stack_frame_head = fra.me.prev;
113 return;
114 }
115 void standard___kernel___Object___output_class_name(val_t p0){
116 struct {struct stack_frame_t me;} fra;
117 val_t tmp;
118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
119 fra.me.file = LOCATE_standard___kernel;
120 fra.me.line = 50;
121 fra.me.meth = LOCATE_standard___kernel___Object___output_class_name;
122 fra.me.has_broke = 0;
123 fra.me.REG_size = 1;
124 fra.me.REG[0] = NIT_NULL;
125 fra.me.REG[0] = p0;
126 /* ./../lib/standard//kernel.nit:50 */
127 printf("%s\n", VAL2VFT(fra.me.REG[0])[2].cname);;
128 stack_frame_head = fra.me.prev;
129 return;
130 }
131 void standard___kernel___Object___exit(val_t p0, val_t p1){
132 struct {struct stack_frame_t me;} fra;
133 val_t REGB0;
134 val_t tmp;
135 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
136 fra.me.file = LOCATE_standard___kernel;
137 fra.me.line = 53;
138 fra.me.meth = LOCATE_standard___kernel___Object___exit;
139 fra.me.has_broke = 0;
140 fra.me.REG_size = 1;
141 fra.me.REG[0] = NIT_NULL;
142 fra.me.REG[0] = p0;
143 REGB0 = p1;
144 /* ./../lib/standard//kernel.nit:53 */
145 exit(UNTAG_Int(REGB0));;
146 stack_frame_head = fra.me.prev;
147 return;
148 }
149 val_t standard___kernel___Object___sys(val_t p0){
150 struct {struct stack_frame_t me;} fra;
151 val_t tmp;
152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
153 fra.me.file = LOCATE_standard___kernel;
154 fra.me.line = 54;
155 fra.me.meth = LOCATE_standard___kernel___Object___sys;
156 fra.me.has_broke = 0;
157 fra.me.REG_size = 1;
158 fra.me.REG[0] = NIT_NULL;
159 fra.me.REG[0] = p0;
160 /* ./../lib/standard//kernel.nit:54 */
161 fra.me.REG[0] = (G_sys);
162 stack_frame_head = fra.me.prev;
163 return fra.me.REG[0];
164 }
165 void standard___kernel___Sys___main(val_t p0){
166 struct {struct stack_frame_t me;} fra;
167 val_t tmp;
168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
169 fra.me.file = LOCATE_standard___kernel;
170 fra.me.line = 59;
171 fra.me.meth = LOCATE_standard___kernel___Sys___main;
172 fra.me.has_broke = 0;
173 fra.me.REG_size = 1;
174 fra.me.REG[0] = NIT_NULL;
175 fra.me.REG[0] = p0;
176 stack_frame_head = fra.me.prev;
177 return;
178 }
179 void standard___kernel___Sys___init(val_t p0, int* init_table){
180 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___kernel___Sys].i;
181 struct {struct stack_frame_t me;} fra;
182 val_t tmp;
183 if (init_table[itpos0]) return;
184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
185 fra.me.file = LOCATE_standard___kernel;
186 fra.me.line = 0;
187 fra.me.meth = LOCATE_standard___kernel___Sys___init;
188 fra.me.has_broke = 0;
189 fra.me.REG_size = 0;
190 stack_frame_head = fra.me.prev;
191 init_table[itpos0] = 1;
192 return;
193 }
194 val_t standard___kernel___Comparable_____l(val_t p0, val_t p1){
195 struct {struct stack_frame_t me;} fra;
196 val_t tmp;
197 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
198 fra.me.file = LOCATE_standard___kernel;
199 fra.me.line = 72;
200 fra.me.meth = LOCATE_standard___kernel___Comparable_____l;
201 fra.me.has_broke = 0;
202 fra.me.REG_size = 0;
203 /* ./../lib/standard//kernel.nit:72 */
204 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 72);
205 stack_frame_head = fra.me.prev;
206 return NIT_NULL;
207 }
208 val_t standard___kernel___Comparable_____leq(val_t p0, val_t p1){
209 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
210 val_t REGB0;
211 val_t tmp;
212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
213 fra.me.file = LOCATE_standard___kernel;
214 fra.me.line = 75;
215 fra.me.meth = LOCATE_standard___kernel___Comparable_____leq;
216 fra.me.has_broke = 0;
217 fra.me.REG_size = 2;
218 fra.me.REG[0] = NIT_NULL;
219 fra.me.REG[1] = NIT_NULL;
220 fra.me.REG[0] = p0;
221 fra.me.REG[1] = p1;
222 /* ./../lib/standard//kernel.nit:76 */
223 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
224 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
225 goto label1;
226 label1: while(0);
227 stack_frame_head = fra.me.prev;
228 return REGB0;
229 }
230 val_t standard___kernel___Comparable_____geq(val_t p0, val_t p1){
231 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
232 val_t REGB0;
233 val_t tmp;
234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
235 fra.me.file = LOCATE_standard___kernel;
236 fra.me.line = 78;
237 fra.me.meth = LOCATE_standard___kernel___Comparable_____geq;
238 fra.me.has_broke = 0;
239 fra.me.REG_size = 2;
240 fra.me.REG[0] = NIT_NULL;
241 fra.me.REG[1] = NIT_NULL;
242 fra.me.REG[0] = p0;
243 fra.me.REG[1] = p1;
244 /* ./../lib/standard//kernel.nit:79 */
245 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
246 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
247 goto label1;
248 label1: while(0);
249 stack_frame_head = fra.me.prev;
250 return REGB0;
251 }
252 val_t standard___kernel___Comparable_____g(val_t p0, val_t p1){
253 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
254 val_t REGB0;
255 val_t tmp;
256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
257 fra.me.file = LOCATE_standard___kernel;
258 fra.me.line = 81;
259 fra.me.meth = LOCATE_standard___kernel___Comparable_____g;
260 fra.me.has_broke = 0;
261 fra.me.REG_size = 2;
262 fra.me.REG[0] = NIT_NULL;
263 fra.me.REG[1] = NIT_NULL;
264 fra.me.REG[0] = p0;
265 fra.me.REG[1] = p1;
266 /* ./../lib/standard//kernel.nit:82 */
267 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
268 goto label1;
269 label1: while(0);
270 stack_frame_head = fra.me.prev;
271 return REGB0;
272 }
273 val_t standard___kernel___Comparable_____leqg(val_t p0, val_t p1){
274 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
275 val_t REGB0;
276 val_t REGB1;
277 val_t tmp;
278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
279 fra.me.file = LOCATE_standard___kernel;
280 fra.me.line = 84;
281 fra.me.meth = LOCATE_standard___kernel___Comparable_____leqg;
282 fra.me.has_broke = 0;
283 fra.me.REG_size = 2;
284 fra.me.REG[0] = NIT_NULL;
285 fra.me.REG[1] = NIT_NULL;
286 fra.me.REG[0] = p0;
287 fra.me.REG[1] = p1;
288 /* ./../lib/standard//kernel.nit:87 */
289 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
290 if (UNTAG_Bool(REGB0)) {
291 /* ./../lib/standard//kernel.nit:88 */
292 REGB0 = TAG_Int(1);
293 /* ./../lib/standard//kernel.nit:219 */
294 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
295 /* ./../lib/standard//kernel.nit:88 */
296 goto label1;
297 } else {
298 /* ./../lib/standard//kernel.nit:89 */
299 REGB1 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
300 if (UNTAG_Bool(REGB1)) {
301 /* ./../lib/standard//kernel.nit:90 */
302 REGB1 = TAG_Int(1);
303 REGB0 = REGB1;
304 goto label1;
305 } else {
306 /* ./../lib/standard//kernel.nit:92 */
307 REGB1 = TAG_Int(0);
308 REGB0 = REGB1;
309 goto label1;
310 }
311 }
312 label1: while(0);
313 stack_frame_head = fra.me.prev;
314 return REGB0;
315 }
316 val_t standard___kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2){
317 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
318 val_t REGB0;
319 val_t REGB1;
320 val_t tmp;
321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
322 fra.me.file = LOCATE_standard___kernel;
323 fra.me.line = 96;
324 fra.me.meth = LOCATE_standard___kernel___Comparable___is_between;
325 fra.me.has_broke = 0;
326 fra.me.REG_size = 3;
327 fra.me.REG[0] = NIT_NULL;
328 fra.me.REG[1] = NIT_NULL;
329 fra.me.REG[2] = NIT_NULL;
330 fra.me.REG[0] = p0;
331 fra.me.REG[1] = p1;
332 fra.me.REG[2] = p2;
333 /* ./../lib/standard//kernel.nit:99 */
334 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
335 if (UNTAG_Bool(REGB0)) {
336 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
337 } else {
338 REGB1 = TAG_Bool(false);
339 REGB0 = REGB1;
340 }
341 goto label1;
342 label1: while(0);
343 stack_frame_head = fra.me.prev;
344 return REGB0;
345 }
346 val_t standard___kernel___Comparable___max(val_t p0, val_t p1){
347 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
348 val_t REGB0;
349 val_t tmp;
350 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
351 fra.me.file = LOCATE_standard___kernel;
352 fra.me.line = 102;
353 fra.me.meth = LOCATE_standard___kernel___Comparable___max;
354 fra.me.has_broke = 0;
355 fra.me.REG_size = 2;
356 fra.me.REG[0] = NIT_NULL;
357 fra.me.REG[1] = NIT_NULL;
358 fra.me.REG[0] = p0;
359 fra.me.REG[1] = p1;
360 /* ./../lib/standard//kernel.nit:105 */
361 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
362 if (UNTAG_Bool(REGB0)) {
363 /* ./../lib/standard//kernel.nit:106 */
364 goto label1;
365 } else {
366 /* ./../lib/standard//kernel.nit:108 */
367 fra.me.REG[1] = fra.me.REG[0];
368 goto label1;
369 }
370 label1: while(0);
371 stack_frame_head = fra.me.prev;
372 return fra.me.REG[1];
373 }
374 val_t standard___kernel___Comparable___min(val_t p0, val_t p1){
375 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
376 val_t REGB0;
377 val_t tmp;
378 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
379 fra.me.file = LOCATE_standard___kernel;
380 fra.me.line = 112;
381 fra.me.meth = LOCATE_standard___kernel___Comparable___min;
382 fra.me.has_broke = 0;
383 fra.me.REG_size = 2;
384 fra.me.REG[0] = NIT_NULL;
385 fra.me.REG[1] = NIT_NULL;
386 fra.me.REG[0] = p0;
387 fra.me.REG[1] = p1;
388 /* ./../lib/standard//kernel.nit:115 */
389 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
390 if (UNTAG_Bool(REGB0)) {
391 /* ./../lib/standard//kernel.nit:116 */
392 goto label1;
393 } else {
394 /* ./../lib/standard//kernel.nit:118 */
395 fra.me.REG[1] = fra.me.REG[0];
396 goto label1;
397 }
398 label1: while(0);
399 stack_frame_head = fra.me.prev;
400 return fra.me.REG[1];
401 }
402 val_t standard___kernel___Discrete___succ(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_standard___kernel;
408 fra.me.line = 129;
409 fra.me.meth = LOCATE_standard___kernel___Discrete___succ;
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 /* ./../lib/standard//kernel.nit:130 */
415 REGB0 = TAG_Int(1);
416 fra.me.REG[0] = CALL_standard___kernel___Discrete_____plus(fra.me.REG[0])(fra.me.REG[0], REGB0);
417 goto label1;
418 label1: while(0);
419 stack_frame_head = fra.me.prev;
420 return fra.me.REG[0];
421 }
422 val_t standard___kernel___Discrete___prec(val_t p0){
423 struct {struct stack_frame_t me;} fra;
424 val_t REGB0;
425 val_t tmp;
426 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
427 fra.me.file = LOCATE_standard___kernel;
428 fra.me.line = 132;
429 fra.me.meth = LOCATE_standard___kernel___Discrete___prec;
430 fra.me.has_broke = 0;
431 fra.me.REG_size = 1;
432 fra.me.REG[0] = NIT_NULL;
433 fra.me.REG[0] = p0;
434 /* ./../lib/standard//kernel.nit:133 */
435 REGB0 = TAG_Int(1);
436 fra.me.REG[0] = CALL_standard___kernel___Discrete_____minus(fra.me.REG[0])(fra.me.REG[0], REGB0);
437 goto label1;
438 label1: while(0);
439 stack_frame_head = fra.me.prev;
440 return fra.me.REG[0];
441 }
442 val_t standard___kernel___Discrete_____plus(val_t p0, val_t p1){
443 struct {struct stack_frame_t me;} fra;
444 val_t tmp;
445 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
446 fra.me.file = LOCATE_standard___kernel;
447 fra.me.line = 135;
448 fra.me.meth = LOCATE_standard___kernel___Discrete_____plus;
449 fra.me.has_broke = 0;
450 fra.me.REG_size = 0;
451 /* ./../lib/standard//kernel.nit:135 */
452 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 135);
453 stack_frame_head = fra.me.prev;
454 return NIT_NULL;
455 }
456 val_t standard___kernel___Discrete_____minus(val_t p0, val_t p1){
457 struct {struct stack_frame_t me;} fra;
458 val_t tmp;
459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
460 fra.me.file = LOCATE_standard___kernel;
461 fra.me.line = 138;
462 fra.me.meth = LOCATE_standard___kernel___Discrete_____minus;
463 fra.me.has_broke = 0;
464 fra.me.REG_size = 0;
465 /* ./../lib/standard//kernel.nit:138 */
466 nit_abort("Deferred method called", NULL, LOCATE_standard___kernel, 138);
467 stack_frame_head = fra.me.prev;
468 return NIT_NULL;
469 }
470 val_t standard___kernel___Discrete___distance(val_t p0, val_t p1){
471 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
472 val_t REGB0;
473 val_t REGB1;
474 val_t REGB2;
475 val_t tmp;
476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
477 fra.me.file = LOCATE_standard___kernel;
478 fra.me.line = 141;
479 fra.me.meth = LOCATE_standard___kernel___Discrete___distance;
480 fra.me.has_broke = 0;
481 fra.me.REG_size = 4;
482 fra.me.REG[0] = NIT_NULL;
483 fra.me.REG[1] = NIT_NULL;
484 fra.me.REG[2] = NIT_NULL;
485 fra.me.REG[3] = NIT_NULL;
486 fra.me.REG[0] = p0;
487 fra.me.REG[1] = p1;
488 /* ./../lib/standard//kernel.nit:148 */
489 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
490 if (UNTAG_Bool(REGB0)) {
491 /* ./../lib/standard//kernel.nit:149 */
492 fra.me.REG[2] = fra.me.REG[0];
493 /* ./../lib/standard//kernel.nit:150 */
494 fra.me.REG[3] = fra.me.REG[1];
495 } else {
496 /* ./../lib/standard//kernel.nit:151 */
497 REGB0 = CALL_standard___kernel___Comparable_____g(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
498 if (UNTAG_Bool(REGB0)) {
499 /* ./../lib/standard//kernel.nit:152 */
500 fra.me.REG[2] = fra.me.REG[1];
501 /* ./../lib/standard//kernel.nit:153 */
502 fra.me.REG[3] = fra.me.REG[0];
503 } else {
504 /* ./../lib/standard//kernel.nit:155 */
505 REGB0 = TAG_Int(0);
506 goto label1;
507 }
508 }
509 /* ./../lib/standard//kernel.nit:158 */
510 REGB1 = TAG_Int(0);
511 /* ./../lib/standard//kernel.nit:159 */
512 while(1) {
513 REGB2 = CALL_standard___kernel___Comparable_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
514 if (UNTAG_Bool(REGB2)) {
515 /* ./../lib/standard//kernel.nit:160 */
516 fra.me.REG[0] = CALL_standard___kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
517 fra.me.REG[2] = fra.me.REG[0];
518 /* ./../lib/standard//kernel.nit:161 */
519 REGB2 = TAG_Int(1);
520 /* ./../lib/standard//kernel.nit:218 */
521 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
522 /* ./../lib/standard//kernel.nit:161 */
523 REGB1 = REGB2;
524 } else {
525 /* ./../lib/standard//kernel.nit:159 */
526 goto label2;
527 }
528 }
529 label2: while(0);
530 /* ./../lib/standard//kernel.nit:163 */
531 REGB0 = REGB1;
532 goto label1;
533 label1: while(0);
534 stack_frame_head = fra.me.prev;
535 return REGB0;
536 }
537 val_t standard___kernel___Bool___object_id(val_t p0){
538 struct {struct stack_frame_t me;} fra;
539 val_t REGB0;
540 val_t tmp;
541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
542 fra.me.file = LOCATE_standard___kernel;
543 fra.me.line = 177;
544 fra.me.meth = LOCATE_standard___kernel___Bool___object_id;
545 fra.me.has_broke = 0;
546 fra.me.REG_size = 0;
547 REGB0 = p0;
548 /* ./../lib/standard//kernel.nit:177 */
549 REGB0 = TAG_Int(UNTAG_Bool(REGB0));
550 stack_frame_head = fra.me.prev;
551 return REGB0;
552 }
553 val_t standard___kernel___Bool_____eqeq(val_t p0, val_t p1){
554 struct {struct stack_frame_t me;} fra;
555 val_t REGB0;
556 val_t tmp;
557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
558 fra.me.file = LOCATE_standard___kernel;
559 fra.me.line = 178;
560 fra.me.meth = LOCATE_standard___kernel___Bool_____eqeq;
561 fra.me.has_broke = 0;
562 fra.me.REG_size = 1;
563 fra.me.REG[0] = NIT_NULL;
564 REGB0 = p0;
565 fra.me.REG[0] = p1;
566 /* ./../lib/standard//kernel.nit:178 */
567 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
568 stack_frame_head = fra.me.prev;
569 return REGB0;
570 }
571 val_t standard___kernel___Bool_____neq(val_t p0, val_t p1){
572 struct {struct stack_frame_t me;} fra;
573 val_t REGB0;
574 val_t tmp;
575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
576 fra.me.file = LOCATE_standard___kernel;
577 fra.me.line = 179;
578 fra.me.meth = LOCATE_standard___kernel___Bool_____neq;
579 fra.me.has_broke = 0;
580 fra.me.REG_size = 1;
581 fra.me.REG[0] = NIT_NULL;
582 REGB0 = p0;
583 fra.me.REG[0] = p1;
584 /* ./../lib/standard//kernel.nit:179 */
585 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
586 stack_frame_head = fra.me.prev;
587 return REGB0;
588 }
589 void standard___kernel___Bool___output(val_t p0){
590 struct {struct stack_frame_t me;} fra;
591 val_t REGB0;
592 val_t tmp;
593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
594 fra.me.file = LOCATE_standard___kernel;
595 fra.me.line = 180;
596 fra.me.meth = LOCATE_standard___kernel___Bool___output;
597 fra.me.has_broke = 0;
598 fra.me.REG_size = 0;
599 REGB0 = p0;
600 /* ./../lib/standard//kernel.nit:180 */
601 (void)printf(UNTAG_Bool(REGB0)?"true\n":"false\n");;
602 stack_frame_head = fra.me.prev;
603 return;
604 }
605 val_t standard___kernel___Float___object_id(val_t p0){
606 struct {struct stack_frame_t me;} fra;
607 val_t REGB0;
608 val_t tmp;
609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
610 fra.me.file = LOCATE_standard___kernel;
611 fra.me.line = 186;
612 fra.me.meth = LOCATE_standard___kernel___Float___object_id;
613 fra.me.has_broke = 0;
614 fra.me.REG_size = 1;
615 fra.me.REG[0] = NIT_NULL;
616 fra.me.REG[0] = p0;
617 /* ./../lib/standard//kernel.nit:186 */
618 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
619 stack_frame_head = fra.me.prev;
620 return REGB0;
621 }
622 void standard___kernel___Float___output(val_t p0){
623 struct {struct stack_frame_t me;} fra;
624 val_t tmp;
625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
626 fra.me.file = LOCATE_standard___kernel;
627 fra.me.line = 187;
628 fra.me.meth = LOCATE_standard___kernel___Float___output;
629 fra.me.has_broke = 0;
630 fra.me.REG_size = 1;
631 fra.me.REG[0] = NIT_NULL;
632 fra.me.REG[0] = p0;
633 /* ./../lib/standard//kernel.nit:187 */
634 printf("%f\n", UNBOX_Float(fra.me.REG[0]));;
635 stack_frame_head = fra.me.prev;
636 return;
637 }
638 val_t standard___kernel___Float_____leq(val_t p0, val_t p1){
639 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
640 val_t REGB0;
641 val_t tmp;
642 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
643 fra.me.file = LOCATE_standard___kernel;
644 fra.me.line = 189;
645 fra.me.meth = LOCATE_standard___kernel___Float_____leq;
646 fra.me.has_broke = 0;
647 fra.me.REG_size = 2;
648 fra.me.REG[0] = NIT_NULL;
649 fra.me.REG[1] = NIT_NULL;
650 fra.me.REG[0] = p0;
651 fra.me.REG[1] = p1;
652 /* ./../lib/standard//kernel.nit:189 */
653 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<=UNBOX_Float(fra.me.REG[1]));
654 stack_frame_head = fra.me.prev;
655 return REGB0;
656 }
657 val_t standard___kernel___Float_____l(val_t p0, val_t p1){
658 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
659 val_t REGB0;
660 val_t tmp;
661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
662 fra.me.file = LOCATE_standard___kernel;
663 fra.me.line = 190;
664 fra.me.meth = LOCATE_standard___kernel___Float_____l;
665 fra.me.has_broke = 0;
666 fra.me.REG_size = 2;
667 fra.me.REG[0] = NIT_NULL;
668 fra.me.REG[1] = NIT_NULL;
669 fra.me.REG[0] = p0;
670 fra.me.REG[1] = p1;
671 /* ./../lib/standard//kernel.nit:190 */
672 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])<UNBOX_Float(fra.me.REG[1]));
673 stack_frame_head = fra.me.prev;
674 return REGB0;
675 }
676 val_t standard___kernel___Float_____geq(val_t p0, val_t p1){
677 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
678 val_t REGB0;
679 val_t tmp;
680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
681 fra.me.file = LOCATE_standard___kernel;
682 fra.me.line = 191;
683 fra.me.meth = LOCATE_standard___kernel___Float_____geq;
684 fra.me.has_broke = 0;
685 fra.me.REG_size = 2;
686 fra.me.REG[0] = NIT_NULL;
687 fra.me.REG[1] = NIT_NULL;
688 fra.me.REG[0] = p0;
689 fra.me.REG[1] = p1;
690 /* ./../lib/standard//kernel.nit:191 */
691 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>=UNBOX_Float(fra.me.REG[1]));
692 stack_frame_head = fra.me.prev;
693 return REGB0;
694 }
695 val_t standard___kernel___Float_____g(val_t p0, val_t p1){
696 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
697 val_t REGB0;
698 val_t tmp;
699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
700 fra.me.file = LOCATE_standard___kernel;
701 fra.me.line = 192;
702 fra.me.meth = LOCATE_standard___kernel___Float_____g;
703 fra.me.has_broke = 0;
704 fra.me.REG_size = 2;
705 fra.me.REG[0] = NIT_NULL;
706 fra.me.REG[1] = NIT_NULL;
707 fra.me.REG[0] = p0;
708 fra.me.REG[1] = p1;
709 /* ./../lib/standard//kernel.nit:192 */
710 REGB0 = TAG_Bool(UNBOX_Float(fra.me.REG[0])>UNBOX_Float(fra.me.REG[1]));
711 stack_frame_head = fra.me.prev;
712 return REGB0;
713 }
714 val_t standard___kernel___Float_____plus(val_t p0, val_t p1){
715 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
716 val_t tmp;
717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
718 fra.me.file = LOCATE_standard___kernel;
719 fra.me.line = 193;
720 fra.me.meth = LOCATE_standard___kernel___Float_____plus;
721 fra.me.has_broke = 0;
722 fra.me.REG_size = 2;
723 fra.me.REG[0] = NIT_NULL;
724 fra.me.REG[1] = NIT_NULL;
725 fra.me.REG[0] = p0;
726 fra.me.REG[1] = p1;
727 /* ./../lib/standard//kernel.nit:193 */
728 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])+UNBOX_Float(fra.me.REG[1]));
729 stack_frame_head = fra.me.prev;
730 return fra.me.REG[1];
731 }
732 val_t standard___kernel___Float___unary__minus(val_t p0){
733 struct {struct stack_frame_t me;} fra;
734 val_t tmp;
735 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
736 fra.me.file = LOCATE_standard___kernel;
737 fra.me.line = 194;
738 fra.me.meth = LOCATE_standard___kernel___Float___unary__minus;
739 fra.me.has_broke = 0;
740 fra.me.REG_size = 1;
741 fra.me.REG[0] = NIT_NULL;
742 fra.me.REG[0] = p0;
743 /* ./../lib/standard//kernel.nit:194 */
744 fra.me.REG[0] = BOX_Float(-UNBOX_Float(fra.me.REG[0]));
745 stack_frame_head = fra.me.prev;
746 return fra.me.REG[0];
747 }
748 val_t standard___kernel___Float_____minus(val_t p0, val_t p1){
749 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
750 val_t tmp;
751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
752 fra.me.file = LOCATE_standard___kernel;
753 fra.me.line = 195;
754 fra.me.meth = LOCATE_standard___kernel___Float_____minus;
755 fra.me.has_broke = 0;
756 fra.me.REG_size = 2;
757 fra.me.REG[0] = NIT_NULL;
758 fra.me.REG[1] = NIT_NULL;
759 fra.me.REG[0] = p0;
760 fra.me.REG[1] = p1;
761 /* ./../lib/standard//kernel.nit:195 */
762 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])-UNBOX_Float(fra.me.REG[1]));
763 stack_frame_head = fra.me.prev;
764 return fra.me.REG[1];
765 }
766 val_t standard___kernel___Float_____star(val_t p0, val_t p1){
767 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
768 val_t tmp;
769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
770 fra.me.file = LOCATE_standard___kernel;
771 fra.me.line = 196;
772 fra.me.meth = LOCATE_standard___kernel___Float_____star;
773 fra.me.has_broke = 0;
774 fra.me.REG_size = 2;
775 fra.me.REG[0] = NIT_NULL;
776 fra.me.REG[1] = NIT_NULL;
777 fra.me.REG[0] = p0;
778 fra.me.REG[1] = p1;
779 /* ./../lib/standard//kernel.nit:196 */
780 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])*UNBOX_Float(fra.me.REG[1]));
781 stack_frame_head = fra.me.prev;
782 return fra.me.REG[1];
783 }
784 val_t standard___kernel___Float_____slash(val_t p0, val_t p1){
785 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
786 val_t tmp;
787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
788 fra.me.file = LOCATE_standard___kernel;
789 fra.me.line = 197;
790 fra.me.meth = LOCATE_standard___kernel___Float_____slash;
791 fra.me.has_broke = 0;
792 fra.me.REG_size = 2;
793 fra.me.REG[0] = NIT_NULL;
794 fra.me.REG[1] = NIT_NULL;
795 fra.me.REG[0] = p0;
796 fra.me.REG[1] = p1;
797 /* ./../lib/standard//kernel.nit:197 */
798 fra.me.REG[1] = BOX_Float(UNBOX_Float(fra.me.REG[0])/UNBOX_Float(fra.me.REG[1]));
799 stack_frame_head = fra.me.prev;
800 return fra.me.REG[1];
801 }
802 val_t standard___kernel___Float___to_i(val_t p0){
803 struct {struct stack_frame_t me;} fra;
804 val_t REGB0;
805 val_t tmp;
806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
807 fra.me.file = LOCATE_standard___kernel;
808 fra.me.line = 199;
809 fra.me.meth = LOCATE_standard___kernel___Float___to_i;
810 fra.me.has_broke = 0;
811 fra.me.REG_size = 1;
812 fra.me.REG[0] = NIT_NULL;
813 fra.me.REG[0] = p0;
814 /* ./../lib/standard//kernel.nit:199 */
815 REGB0 = TAG_Int((bigint)UNBOX_Float(fra.me.REG[0]));
816 stack_frame_head = fra.me.prev;
817 return REGB0;
818 }
819 val_t standard___kernel___Int___object_id(val_t p0){
820 struct {struct stack_frame_t me;} fra;
821 val_t REGB0;
822 val_t tmp;
823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
824 fra.me.file = LOCATE_standard___kernel;
825 fra.me.line = 209;
826 fra.me.meth = LOCATE_standard___kernel___Int___object_id;
827 fra.me.has_broke = 0;
828 fra.me.REG_size = 0;
829 REGB0 = p0;
830 /* ./../lib/standard//kernel.nit:209 */
831 REGB0 = REGB0;
832 stack_frame_head = fra.me.prev;
833 return REGB0;
834 }
835 val_t standard___kernel___Int_____eqeq(val_t p0, val_t p1){
836 struct {struct stack_frame_t me;} fra;
837 val_t REGB0;
838 val_t tmp;
839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
840 fra.me.file = LOCATE_standard___kernel;
841 fra.me.line = 210;
842 fra.me.meth = LOCATE_standard___kernel___Int_____eqeq;
843 fra.me.has_broke = 0;
844 fra.me.REG_size = 1;
845 fra.me.REG[0] = NIT_NULL;
846 REGB0 = p0;
847 fra.me.REG[0] = p1;
848 /* ./../lib/standard//kernel.nit:210 */
849 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
850 stack_frame_head = fra.me.prev;
851 return REGB0;
852 }
853 val_t standard___kernel___Int_____neq(val_t p0, val_t p1){
854 struct {struct stack_frame_t me;} fra;
855 val_t REGB0;
856 val_t tmp;
857 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
858 fra.me.file = LOCATE_standard___kernel;
859 fra.me.line = 211;
860 fra.me.meth = LOCATE_standard___kernel___Int_____neq;
861 fra.me.has_broke = 0;
862 fra.me.REG_size = 1;
863 fra.me.REG[0] = NIT_NULL;
864 REGB0 = p0;
865 fra.me.REG[0] = p1;
866 /* ./../lib/standard//kernel.nit:211 */
867 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
868 stack_frame_head = fra.me.prev;
869 return REGB0;
870 }
871 void standard___kernel___Int___output(val_t p0){
872 struct {struct stack_frame_t me;} fra;
873 val_t REGB0;
874 val_t tmp;
875 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
876 fra.me.file = LOCATE_standard___kernel;
877 fra.me.line = 212;
878 fra.me.meth = LOCATE_standard___kernel___Int___output;
879 fra.me.has_broke = 0;
880 fra.me.REG_size = 0;
881 REGB0 = p0;
882 /* ./../lib/standard//kernel.nit:212 */
883 printf("%ld\n", UNTAG_Int(REGB0));;
884 stack_frame_head = fra.me.prev;
885 return;
886 }
887 val_t standard___kernel___Int_____leq(val_t p0, val_t p1){
888 struct {struct stack_frame_t me;} fra;
889 val_t REGB0;
890 val_t REGB1;
891 val_t tmp;
892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
893 fra.me.file = LOCATE_standard___kernel;
894 fra.me.line = 214;
895 fra.me.meth = LOCATE_standard___kernel___Int_____leq;
896 fra.me.has_broke = 0;
897 fra.me.REG_size = 0;
898 REGB0 = p0;
899 REGB1 = p1;
900 /* ./../lib/standard//kernel.nit:214 */
901 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
902 stack_frame_head = fra.me.prev;
903 return REGB1;
904 }
905 val_t standard___kernel___Int_____l(val_t p0, val_t p1){
906 struct {struct stack_frame_t me;} fra;
907 val_t REGB0;
908 val_t REGB1;
909 val_t tmp;
910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
911 fra.me.file = LOCATE_standard___kernel;
912 fra.me.line = 215;
913 fra.me.meth = LOCATE_standard___kernel___Int_____l;
914 fra.me.has_broke = 0;
915 fra.me.REG_size = 0;
916 REGB0 = p0;
917 REGB1 = p1;
918 /* ./../lib/standard//kernel.nit:215 */
919 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
920 stack_frame_head = fra.me.prev;
921 return REGB1;
922 }
923 val_t standard___kernel___Int_____geq(val_t p0, val_t p1){
924 struct {struct stack_frame_t me;} fra;
925 val_t REGB0;
926 val_t REGB1;
927 val_t tmp;
928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
929 fra.me.file = LOCATE_standard___kernel;
930 fra.me.line = 216;
931 fra.me.meth = LOCATE_standard___kernel___Int_____geq;
932 fra.me.has_broke = 0;
933 fra.me.REG_size = 0;
934 REGB0 = p0;
935 REGB1 = p1;
936 /* ./../lib/standard//kernel.nit:216 */
937 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
938 stack_frame_head = fra.me.prev;
939 return REGB1;
940 }
941 val_t standard___kernel___Int_____g(val_t p0, val_t p1){
942 struct {struct stack_frame_t me;} fra;
943 val_t REGB0;
944 val_t REGB1;
945 val_t tmp;
946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
947 fra.me.file = LOCATE_standard___kernel;
948 fra.me.line = 217;
949 fra.me.meth = LOCATE_standard___kernel___Int_____g;
950 fra.me.has_broke = 0;
951 fra.me.REG_size = 0;
952 REGB0 = p0;
953 REGB1 = p1;
954 /* ./../lib/standard//kernel.nit:217 */
955 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
956 stack_frame_head = fra.me.prev;
957 return REGB1;
958 }
959 val_t standard___kernel___Int_____plus(val_t p0, val_t p1){
960 struct {struct stack_frame_t me;} fra;
961 val_t REGB0;
962 val_t REGB1;
963 val_t tmp;
964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
965 fra.me.file = LOCATE_standard___kernel;
966 fra.me.line = 218;
967 fra.me.meth = LOCATE_standard___kernel___Int_____plus;
968 fra.me.has_broke = 0;
969 fra.me.REG_size = 0;
970 REGB0 = p0;
971 REGB1 = p1;
972 /* ./../lib/standard//kernel.nit:218 */
973 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
974 stack_frame_head = fra.me.prev;
975 return REGB1;
976 }
977 val_t standard___kernel___Int___unary__minus(val_t p0){
978 struct {struct stack_frame_t me;} fra;
979 val_t REGB0;
980 val_t tmp;
981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
982 fra.me.file = LOCATE_standard___kernel;
983 fra.me.line = 219;
984 fra.me.meth = LOCATE_standard___kernel___Int___unary__minus;
985 fra.me.has_broke = 0;
986 fra.me.REG_size = 0;
987 REGB0 = p0;
988 /* ./../lib/standard//kernel.nit:219 */
989 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
990 stack_frame_head = fra.me.prev;
991 return REGB0;
992 }
993 val_t standard___kernel___Int_____minus(val_t p0, val_t p1){
994 struct {struct stack_frame_t me;} fra;
995 val_t REGB0;
996 val_t REGB1;
997 val_t tmp;
998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
999 fra.me.file = LOCATE_standard___kernel;
1000 fra.me.line = 220;
1001 fra.me.meth = LOCATE_standard___kernel___Int_____minus;
1002 fra.me.has_broke = 0;
1003 fra.me.REG_size = 0;
1004 REGB0 = p0;
1005 REGB1 = p1;
1006 /* ./../lib/standard//kernel.nit:220 */
1007 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1008 stack_frame_head = fra.me.prev;
1009 return REGB1;
1010 }
1011 val_t standard___kernel___Int_____star(val_t p0, val_t p1){
1012 struct {struct stack_frame_t me;} fra;
1013 val_t REGB0;
1014 val_t REGB1;
1015 val_t tmp;
1016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1017 fra.me.file = LOCATE_standard___kernel;
1018 fra.me.line = 221;
1019 fra.me.meth = LOCATE_standard___kernel___Int_____star;
1020 fra.me.has_broke = 0;
1021 fra.me.REG_size = 0;
1022 REGB0 = p0;
1023 REGB1 = p1;
1024 /* ./../lib/standard//kernel.nit:221 */
1025 REGB1 = TAG_Int(UNTAG_Int(REGB0)*UNTAG_Int(REGB1));
1026 stack_frame_head = fra.me.prev;
1027 return REGB1;
1028 }
1029 val_t standard___kernel___Int_____slash(val_t p0, val_t p1){
1030 struct {struct stack_frame_t me;} fra;
1031 val_t REGB0;
1032 val_t REGB1;
1033 val_t tmp;
1034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1035 fra.me.file = LOCATE_standard___kernel;
1036 fra.me.line = 222;
1037 fra.me.meth = LOCATE_standard___kernel___Int_____slash;
1038 fra.me.has_broke = 0;
1039 fra.me.REG_size = 0;
1040 REGB0 = p0;
1041 REGB1 = p1;
1042 /* ./../lib/standard//kernel.nit:222 */
1043 REGB1 = TAG_Int(UNTAG_Int(REGB0)/UNTAG_Int(REGB1));
1044 stack_frame_head = fra.me.prev;
1045 return REGB1;
1046 }
1047 val_t standard___kernel___Int_____percent(val_t p0, val_t p1){
1048 struct {struct stack_frame_t me;} fra;
1049 val_t REGB0;
1050 val_t REGB1;
1051 val_t tmp;
1052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1053 fra.me.file = LOCATE_standard___kernel;
1054 fra.me.line = 223;
1055 fra.me.meth = LOCATE_standard___kernel___Int_____percent;
1056 fra.me.has_broke = 0;
1057 fra.me.REG_size = 0;
1058 REGB0 = p0;
1059 REGB1 = p1;
1060 /* ./../lib/standard//kernel.nit:223 */
1061 REGB1 = TAG_Int(UNTAG_Int(REGB0)%UNTAG_Int(REGB1));
1062 stack_frame_head = fra.me.prev;
1063 return REGB1;
1064 }
1065 val_t standard___kernel___Int___lshift(val_t p0, val_t p1){
1066 struct {struct stack_frame_t me;} fra;
1067 val_t REGB0;
1068 val_t REGB1;
1069 val_t tmp;
1070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1071 fra.me.file = LOCATE_standard___kernel;
1072 fra.me.line = 224;
1073 fra.me.meth = LOCATE_standard___kernel___Int___lshift;
1074 fra.me.has_broke = 0;
1075 fra.me.REG_size = 0;
1076 REGB0 = p0;
1077 REGB1 = p1;
1078 /* ./../lib/standard//kernel.nit:224 */
1079 REGB1 = TAG_Int(UNTAG_Int(REGB0)<<UNTAG_Int(REGB1));
1080 stack_frame_head = fra.me.prev;
1081 return REGB1;
1082 }
1083 val_t standard___kernel___Int___rshift(val_t p0, val_t p1){
1084 struct {struct stack_frame_t me;} fra;
1085 val_t REGB0;
1086 val_t REGB1;
1087 val_t tmp;
1088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1089 fra.me.file = LOCATE_standard___kernel;
1090 fra.me.line = 225;
1091 fra.me.meth = LOCATE_standard___kernel___Int___rshift;
1092 fra.me.has_broke = 0;
1093 fra.me.REG_size = 0;
1094 REGB0 = p0;
1095 REGB1 = p1;
1096 /* ./../lib/standard//kernel.nit:225 */
1097 REGB1 = TAG_Int(UNTAG_Int(REGB0)>>UNTAG_Int(REGB1));
1098 stack_frame_head = fra.me.prev;
1099 return REGB1;
1100 }
1101 val_t standard___kernel___Int___to_f(val_t p0){
1102 struct {struct stack_frame_t me;} fra;
1103 val_t REGB0;
1104 val_t tmp;
1105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1106 fra.me.file = LOCATE_standard___kernel;
1107 fra.me.line = 227;
1108 fra.me.meth = LOCATE_standard___kernel___Int___to_f;
1109 fra.me.has_broke = 0;
1110 fra.me.REG_size = 1;
1111 fra.me.REG[0] = NIT_NULL;
1112 REGB0 = p0;
1113 /* ./../lib/standard//kernel.nit:227 */
1114 fra.me.REG[0] = BOX_Float((float)UNTAG_Int(REGB0));
1115 stack_frame_head = fra.me.prev;
1116 return fra.me.REG[0];
1117 }
1118 val_t standard___kernel___Int___succ(val_t p0){
1119 struct {struct stack_frame_t me;} fra;
1120 val_t REGB0;
1121 val_t tmp;
1122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1123 fra.me.file = LOCATE_standard___kernel;
1124 fra.me.line = 230;
1125 fra.me.meth = LOCATE_standard___kernel___Int___succ;
1126 fra.me.has_broke = 0;
1127 fra.me.REG_size = 0;
1128 REGB0 = p0;
1129 /* ./../lib/standard//kernel.nit:230 */
1130 REGB0 = TAG_Int(UNTAG_Int(REGB0)+1);
1131 stack_frame_head = fra.me.prev;
1132 return REGB0;
1133 }
1134 val_t standard___kernel___Int___prec(val_t p0){
1135 struct {struct stack_frame_t me;} fra;
1136 val_t REGB0;
1137 val_t tmp;
1138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1139 fra.me.file = LOCATE_standard___kernel;
1140 fra.me.line = 231;
1141 fra.me.meth = LOCATE_standard___kernel___Int___prec;
1142 fra.me.has_broke = 0;
1143 fra.me.REG_size = 0;
1144 REGB0 = p0;
1145 /* ./../lib/standard//kernel.nit:231 */
1146 REGB0 = TAG_Int(UNTAG_Int(REGB0)-1);
1147 stack_frame_head = fra.me.prev;
1148 return REGB0;
1149 }
1150 val_t standard___kernel___Int___distance(val_t p0, val_t p1){
1151 struct {struct stack_frame_t me;} fra;
1152 val_t REGB0;
1153 val_t REGB1;
1154 val_t tmp;
1155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1156 fra.me.file = LOCATE_standard___kernel;
1157 fra.me.line = 232;
1158 fra.me.meth = LOCATE_standard___kernel___Int___distance;
1159 fra.me.has_broke = 0;
1160 fra.me.REG_size = 0;
1161 REGB0 = p0;
1162 REGB1 = p1;
1163 /* ./../lib/standard//kernel.nit:220 */
1164 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1165 /* ./../lib/standard//kernel.nit:235 */
1166 REGB0 = TAG_Int(0);
1167 /* ./../lib/standard//kernel.nit:216 */
1168 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1169 /* ./../lib/standard//kernel.nit:235 */
1170 if (UNTAG_Bool(REGB0)) {
1171 /* ./../lib/standard//kernel.nit:236 */
1172 REGB0 = REGB1;
1173 goto label1;
1174 } else {
1175 /* ./../lib/standard//kernel.nit:219 */
1176 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1177 /* ./../lib/standard//kernel.nit:238 */
1178 REGB0 = REGB1;
1179 goto label1;
1180 }
1181 label1: while(0);
1182 stack_frame_head = fra.me.prev;
1183 return REGB0;
1184 }
1185 val_t standard___kernel___Int_____leqg(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 REGB2;
1190 val_t tmp;
1191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1192 fra.me.file = LOCATE_standard___kernel;
1193 fra.me.line = 242;
1194 fra.me.meth = LOCATE_standard___kernel___Int_____leqg;
1195 fra.me.has_broke = 0;
1196 fra.me.REG_size = 0;
1197 REGB0 = p0;
1198 REGB1 = p1;
1199 /* ./../lib/standard//kernel.nit:215 */
1200 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1201 /* ./../lib/standard//kernel.nit:244 */
1202 if (UNTAG_Bool(REGB2)) {
1203 /* ./../lib/standard//kernel.nit:245 */
1204 REGB2 = TAG_Int(1);
1205 /* ./../lib/standard//kernel.nit:219 */
1206 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1207 /* ./../lib/standard//kernel.nit:245 */
1208 goto label1;
1209 } else {
1210 /* ./../lib/standard//kernel.nit:215 */
1211 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1212 /* ./../lib/standard//kernel.nit:246 */
1213 if (UNTAG_Bool(REGB0)) {
1214 /* ./../lib/standard//kernel.nit:247 */
1215 REGB0 = TAG_Int(1);
1216 REGB2 = REGB0;
1217 goto label1;
1218 } else {
1219 /* ./../lib/standard//kernel.nit:249 */
1220 REGB0 = TAG_Int(0);
1221 REGB2 = REGB0;
1222 goto label1;
1223 }
1224 }
1225 label1: while(0);
1226 stack_frame_head = fra.me.prev;
1227 return REGB2;
1228 }
1229 val_t standard___kernel___Int___is_between(val_t p0, val_t p1, val_t p2){
1230 struct {struct stack_frame_t me;} fra;
1231 val_t REGB0;
1232 val_t REGB1;
1233 val_t REGB2;
1234 val_t tmp;
1235 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1236 fra.me.file = LOCATE_standard___kernel;
1237 fra.me.line = 253;
1238 fra.me.meth = LOCATE_standard___kernel___Int___is_between;
1239 fra.me.has_broke = 0;
1240 fra.me.REG_size = 0;
1241 REGB0 = p0;
1242 REGB1 = p1;
1243 REGB2 = p2;
1244 /* ./../lib/standard//kernel.nit:215 */
1245 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1246 /* ./../lib/standard//kernel.nit:255 */
1247 if (UNTAG_Bool(REGB1)) {
1248 REGB1 = TAG_Bool(true);
1249 } else {
1250 /* ./../lib/standard//kernel.nit:215 */
1251 REGB0 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
1252 /* ./../lib/standard//kernel.nit:255 */
1253 REGB1 = REGB0;
1254 }
1255 if (UNTAG_Bool(REGB1)) {
1256 /* ./../lib/standard//kernel.nit:256 */
1257 REGB1 = TAG_Bool(false);
1258 goto label1;
1259 } else {
1260 /* ./../lib/standard//kernel.nit:258 */
1261 REGB0 = TAG_Bool(true);
1262 REGB1 = REGB0;
1263 goto label1;
1264 }
1265 label1: while(0);
1266 stack_frame_head = fra.me.prev;
1267 return REGB1;
1268 }
1269 val_t standard___kernel___Int___max(val_t p0, val_t p1){
1270 struct {struct stack_frame_t me;} fra;
1271 val_t REGB0;
1272 val_t REGB1;
1273 val_t REGB2;
1274 val_t tmp;
1275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1276 fra.me.file = LOCATE_standard___kernel;
1277 fra.me.line = 262;
1278 fra.me.meth = LOCATE_standard___kernel___Int___max;
1279 fra.me.has_broke = 0;
1280 fra.me.REG_size = 0;
1281 REGB0 = p0;
1282 REGB1 = p1;
1283 /* ./../lib/standard//kernel.nit:215 */
1284 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1285 /* ./../lib/standard//kernel.nit:264 */
1286 if (UNTAG_Bool(REGB2)) {
1287 /* ./../lib/standard//kernel.nit:265 */
1288 goto label1;
1289 } else {
1290 /* ./../lib/standard//kernel.nit:267 */
1291 REGB1 = REGB0;
1292 goto label1;
1293 }
1294 label1: while(0);
1295 stack_frame_head = fra.me.prev;
1296 return REGB1;
1297 }
1298 val_t standard___kernel___Int___min(val_t p0, val_t p1){
1299 struct {struct stack_frame_t me;} fra;
1300 val_t REGB0;
1301 val_t REGB1;
1302 val_t REGB2;
1303 val_t tmp;
1304 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1305 fra.me.file = LOCATE_standard___kernel;
1306 fra.me.line = 271;
1307 fra.me.meth = LOCATE_standard___kernel___Int___min;
1308 fra.me.has_broke = 0;
1309 fra.me.REG_size = 0;
1310 REGB0 = p0;
1311 REGB1 = p1;
1312 /* ./../lib/standard//kernel.nit:215 */
1313 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1314 /* ./../lib/standard//kernel.nit:273 */
1315 if (UNTAG_Bool(REGB2)) {
1316 /* ./../lib/standard//kernel.nit:274 */
1317 goto label1;
1318 } else {
1319 /* ./../lib/standard//kernel.nit:276 */
1320 REGB1 = REGB0;
1321 goto label1;
1322 }
1323 label1: while(0);
1324 stack_frame_head = fra.me.prev;
1325 return REGB1;
1326 }
1327 val_t standard___kernel___Int___ascii(val_t p0){
1328 struct {struct stack_frame_t me;} fra;
1329 val_t REGB0;
1330 val_t tmp;
1331 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1332 fra.me.file = LOCATE_standard___kernel;
1333 fra.me.line = 280;
1334 fra.me.meth = LOCATE_standard___kernel___Int___ascii;
1335 fra.me.has_broke = 0;
1336 fra.me.REG_size = 0;
1337 REGB0 = p0;
1338 /* ./../lib/standard//kernel.nit:280 */
1339 REGB0 = TAG_Char(UNTAG_Int(REGB0));
1340 stack_frame_head = fra.me.prev;
1341 return REGB0;
1342 }
1343 val_t standard___kernel___Int___digit_count(val_t p0, val_t p1){
1344 struct {struct stack_frame_t me;} fra;
1345 val_t REGB0;
1346 val_t REGB1;
1347 val_t REGB2;
1348 val_t REGB3;
1349 val_t REGB4;
1350 val_t REGB5;
1351 val_t tmp;
1352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1353 fra.me.file = LOCATE_standard___kernel;
1354 fra.me.line = 283;
1355 fra.me.meth = LOCATE_standard___kernel___Int___digit_count;
1356 fra.me.has_broke = 0;
1357 fra.me.REG_size = 0;
1358 REGB0 = p0;
1359 REGB1 = p1;
1360 /* ./../lib/standard//kernel.nit:289 */
1361 REGB2 = TAG_Int(0);
1362 /* ./../lib/standard//kernel.nit:215 */
1363 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
1364 /* ./../lib/standard//kernel.nit:289 */
1365 if (UNTAG_Bool(REGB2)) {
1366 /* ./../lib/standard//kernel.nit:290 */
1367 REGB2 = TAG_Int(1);
1368 /* ./../lib/standard//kernel.nit:219 */
1369 REGB3 = TAG_Int(-UNTAG_Int(REGB0));
1370 } else {
1371 /* ./../lib/standard//kernel.nit:292 */
1372 REGB4 = TAG_Int(0);
1373 REGB5 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB4));
1374 if (UNTAG_Bool(REGB5)) {
1375 } else {
1376 /* ./../lib/standard//kernel.nit:210 */
1377 REGB4 = TAG_Bool((REGB0)==(REGB4));
1378 /* ./../lib/standard//kernel.nit:292 */
1379 REGB5 = REGB4;
1380 }
1381 if (UNTAG_Bool(REGB5)) {
1382 /* ./../lib/standard//kernel.nit:293 */
1383 REGB5 = TAG_Int(1);
1384 goto label1;
1385 } else {
1386 /* ./../lib/standard//kernel.nit:295 */
1387 REGB4 = TAG_Int(0);
1388 REGB2 = REGB4;
1389 /* ./../lib/standard//kernel.nit:296 */
1390 REGB3 = REGB0;
1391 }
1392 }
1393 /* ./../lib/standard//kernel.nit:299 */
1394 while(1) {
1395 REGB0 = TAG_Int(0);
1396 /* ./../lib/standard//kernel.nit:217 */
1397 REGB0 = TAG_Bool(UNTAG_Int(REGB3)>UNTAG_Int(REGB0));
1398 /* ./../lib/standard//kernel.nit:299 */
1399 if (UNTAG_Bool(REGB0)) {
1400 /* ./../lib/standard//kernel.nit:300 */
1401 REGB0 = TAG_Int(1);
1402 /* ./../lib/standard//kernel.nit:218 */
1403 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
1404 /* ./../lib/standard//kernel.nit:300 */
1405 REGB2 = REGB0;
1406 /* ./../lib/standard//kernel.nit:222 */
1407 REGB0 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB1));
1408 /* ./../lib/standard//kernel.nit:301 */
1409 REGB3 = REGB0;
1410 } else {
1411 /* ./../lib/standard//kernel.nit:299 */
1412 goto label2;
1413 }
1414 }
1415 label2: while(0);
1416 /* ./../lib/standard//kernel.nit:303 */
1417 REGB5 = REGB2;
1418 goto label1;
1419 label1: while(0);
1420 stack_frame_head = fra.me.prev;
1421 return REGB5;
1422 }
1423 val_t standard___kernel___Int___to_c(val_t p0){
1424 struct {struct stack_frame_t me;} fra;
1425 val_t REGB0;
1426 val_t REGB1;
1427 val_t REGB2;
1428 val_t REGB3;
1429 val_t tmp;
1430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1431 fra.me.file = LOCATE_standard___kernel;
1432 fra.me.line = 306;
1433 fra.me.meth = LOCATE_standard___kernel___Int___to_c;
1434 fra.me.has_broke = 0;
1435 fra.me.REG_size = 0;
1436 REGB0 = p0;
1437 /* ./../lib/standard//kernel.nit:311 */
1438 REGB1 = TAG_Int(0);
1439 /* ./../lib/standard//kernel.nit:216 */
1440 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1441 /* ./../lib/standard//kernel.nit:311 */
1442 if (UNTAG_Bool(REGB1)) {
1443 REGB1 = TAG_Int(36);
1444 /* ./../lib/standard//kernel.nit:214 */
1445 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1446 } else {
1447 /* ./../lib/standard//kernel.nit:311 */
1448 REGB2 = TAG_Bool(false);
1449 REGB1 = REGB2;
1450 }
1451 if (UNTAG_Bool(REGB1)) {
1452 } else {
1453 nit_abort("Assert failed", NULL, LOCATE_standard___kernel, 311);
1454 }
1455 /* ./../lib/standard//kernel.nit:312 */
1456 REGB1 = TAG_Int(10);
1457 /* ./../lib/standard//kernel.nit:215 */
1458 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1459 /* ./../lib/standard//kernel.nit:312 */
1460 if (UNTAG_Bool(REGB1)) {
1461 /* ./../lib/standard//kernel.nit:313 */
1462 REGB1 = TAG_Char('0');
1463 /* ./../lib/standard//kernel.nit:385 */
1464 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1465 /* ./../lib/standard//kernel.nit:218 */
1466 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1467 /* ./../lib/standard//kernel.nit:280 */
1468 REGB1 = TAG_Char(UNTAG_Int(REGB1));
1469 /* ./../lib/standard//kernel.nit:313 */
1470 goto label1;
1471 } else {
1472 /* ./../lib/standard//kernel.nit:315 */
1473 REGB2 = TAG_Char('a');
1474 /* ./../lib/standard//kernel.nit:385 */
1475 REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
1476 /* ./../lib/standard//kernel.nit:315 */
1477 REGB3 = TAG_Int(10);
1478 /* ./../lib/standard//kernel.nit:220 */
1479 REGB3 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB3));
1480 /* ./../lib/standard//kernel.nit:218 */
1481 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
1482 /* ./../lib/standard//kernel.nit:280 */
1483 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1484 /* ./../lib/standard//kernel.nit:315 */
1485 REGB1 = REGB3;
1486 goto label1;
1487 }
1488 label1: while(0);
1489 stack_frame_head = fra.me.prev;
1490 return REGB1;
1491 }
1492 void standard___kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1493 struct {struct stack_frame_t me;} fra;
1494 val_t REGB0;
1495 val_t REGB1;
1496 val_t REGB2;
1497 fun_t CREG[1];
1498 val_t tmp;
1499 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1500 fra.me.file = LOCATE_standard___kernel;
1501 fra.me.line = 319;
1502 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_to;
1503 fra.me.has_broke = 0;
1504 fra.me.REG_size = 0;
1505 fra.me.closure_ctx = closctx_param;
1506 fra.me.closure_funs = CREG;
1507 REGB0 = p0;
1508 REGB1 = p1;
1509 CREG[0] = clos_fun0;
1510 /* ./../lib/standard//kernel.nit:324 */
1511 while(1) {
1512 /* ./../lib/standard//kernel.nit:214 */
1513 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
1514 /* ./../lib/standard//kernel.nit:324 */
1515 if (UNTAG_Bool(REGB2)) {
1516 /* ./../lib/standard//kernel.nit:325 */
1517 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
1518 if (closctx_param->has_broke) {
1519 goto label1;
1520 }
1521 /* ./../lib/standard//kernel.nit:326 */
1522 REGB2 = TAG_Int(1);
1523 /* ./../lib/standard//kernel.nit:218 */
1524 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1525 /* ./../lib/standard//kernel.nit:326 */
1526 REGB0 = REGB2;
1527 } else {
1528 /* ./../lib/standard//kernel.nit:324 */
1529 goto label2;
1530 }
1531 }
1532 label2: while(0);
1533 label1: while(0);
1534 stack_frame_head = fra.me.prev;
1535 return;
1536 }
1537 void standard___kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1538 struct {struct stack_frame_t me;} fra;
1539 val_t REGB0;
1540 val_t REGB1;
1541 val_t REGB2;
1542 fun_t CREG[1];
1543 val_t tmp;
1544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1545 fra.me.file = LOCATE_standard___kernel;
1546 fra.me.line = 330;
1547 fra.me.meth = LOCATE_standard___kernel___Int___enumerate_before;
1548 fra.me.has_broke = 0;
1549 fra.me.REG_size = 0;
1550 fra.me.closure_ctx = closctx_param;
1551 fra.me.closure_funs = CREG;
1552 REGB0 = p0;
1553 REGB1 = p1;
1554 CREG[0] = clos_fun0;
1555 /* ./../lib/standard//kernel.nit:335 */
1556 while(1) {
1557 /* ./../lib/standard//kernel.nit:215 */
1558 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1559 /* ./../lib/standard//kernel.nit:335 */
1560 if (UNTAG_Bool(REGB2)) {
1561 /* ./../lib/standard//kernel.nit:336 */
1562 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, REGB0);
1563 if (closctx_param->has_broke) {
1564 goto label1;
1565 }
1566 /* ./../lib/standard//kernel.nit:337 */
1567 REGB2 = TAG_Int(1);
1568 /* ./../lib/standard//kernel.nit:218 */
1569 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1570 /* ./../lib/standard//kernel.nit:337 */
1571 REGB0 = REGB2;
1572 } else {
1573 /* ./../lib/standard//kernel.nit:335 */
1574 goto label2;
1575 }
1576 }
1577 label2: while(0);
1578 label1: while(0);
1579 stack_frame_head = fra.me.prev;
1580 return;
1581 }
1582 val_t standard___kernel___Char___object_id(val_t p0){
1583 struct {struct stack_frame_t me;} fra;
1584 val_t REGB0;
1585 val_t tmp;
1586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1587 fra.me.file = LOCATE_standard___kernel;
1588 fra.me.line = 349;
1589 fra.me.meth = LOCATE_standard___kernel___Char___object_id;
1590 fra.me.has_broke = 0;
1591 fra.me.REG_size = 0;
1592 REGB0 = p0;
1593 /* ./../lib/standard//kernel.nit:349 */
1594 REGB0 = TAG_Int(UNTAG_Char(REGB0));
1595 stack_frame_head = fra.me.prev;
1596 return REGB0;
1597 }
1598 val_t standard___kernel___Char_____eqeq(val_t p0, val_t p1){
1599 struct {struct stack_frame_t me;} fra;
1600 val_t REGB0;
1601 val_t tmp;
1602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1603 fra.me.file = LOCATE_standard___kernel;
1604 fra.me.line = 350;
1605 fra.me.meth = LOCATE_standard___kernel___Char_____eqeq;
1606 fra.me.has_broke = 0;
1607 fra.me.REG_size = 1;
1608 fra.me.REG[0] = NIT_NULL;
1609 REGB0 = p0;
1610 fra.me.REG[0] = p1;
1611 /* ./../lib/standard//kernel.nit:350 */
1612 REGB0 = TAG_Bool((REGB0)==(fra.me.REG[0]));
1613 stack_frame_head = fra.me.prev;
1614 return REGB0;
1615 }
1616 val_t standard___kernel___Char_____neq(val_t p0, val_t p1){
1617 struct {struct stack_frame_t me;} fra;
1618 val_t REGB0;
1619 val_t tmp;
1620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1621 fra.me.file = LOCATE_standard___kernel;
1622 fra.me.line = 351;
1623 fra.me.meth = LOCATE_standard___kernel___Char_____neq;
1624 fra.me.has_broke = 0;
1625 fra.me.REG_size = 1;
1626 fra.me.REG[0] = NIT_NULL;
1627 REGB0 = p0;
1628 fra.me.REG[0] = p1;
1629 /* ./../lib/standard//kernel.nit:351 */
1630 REGB0 = TAG_Bool((REGB0)!=(fra.me.REG[0]));
1631 stack_frame_head = fra.me.prev;
1632 return REGB0;
1633 }
1634 void standard___kernel___Char___output(val_t p0){
1635 struct {struct stack_frame_t me;} fra;
1636 val_t REGB0;
1637 val_t tmp;
1638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1639 fra.me.file = LOCATE_standard___kernel;
1640 fra.me.line = 352;
1641 fra.me.meth = LOCATE_standard___kernel___Char___output;
1642 fra.me.has_broke = 0;
1643 fra.me.REG_size = 0;
1644 REGB0 = p0;
1645 /* ./../lib/standard//kernel.nit:352 */
1646 printf("%c", (unsigned char)UNTAG_Char(REGB0));;
1647 stack_frame_head = fra.me.prev;
1648 return;
1649 }
1650 val_t standard___kernel___Char_____leq(val_t p0, val_t p1){
1651 struct {struct stack_frame_t me;} fra;
1652 val_t REGB0;
1653 val_t REGB1;
1654 val_t tmp;
1655 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1656 fra.me.file = LOCATE_standard___kernel;
1657 fra.me.line = 354;
1658 fra.me.meth = LOCATE_standard___kernel___Char_____leq;
1659 fra.me.has_broke = 0;
1660 fra.me.REG_size = 0;
1661 REGB0 = p0;
1662 REGB1 = p1;
1663 /* ./../lib/standard//kernel.nit:354 */
1664 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
1665 stack_frame_head = fra.me.prev;
1666 return REGB1;
1667 }
1668 val_t standard___kernel___Char_____l(val_t p0, val_t p1){
1669 struct {struct stack_frame_t me;} fra;
1670 val_t REGB0;
1671 val_t REGB1;
1672 val_t tmp;
1673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1674 fra.me.file = LOCATE_standard___kernel;
1675 fra.me.line = 355;
1676 fra.me.meth = LOCATE_standard___kernel___Char_____l;
1677 fra.me.has_broke = 0;
1678 fra.me.REG_size = 0;
1679 REGB0 = p0;
1680 REGB1 = p1;
1681 /* ./../lib/standard//kernel.nit:355 */
1682 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<UNTAG_Char(REGB1));
1683 stack_frame_head = fra.me.prev;
1684 return REGB1;
1685 }
1686 val_t standard___kernel___Char_____geq(val_t p0, val_t p1){
1687 struct {struct stack_frame_t me;} fra;
1688 val_t REGB0;
1689 val_t REGB1;
1690 val_t tmp;
1691 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1692 fra.me.file = LOCATE_standard___kernel;
1693 fra.me.line = 356;
1694 fra.me.meth = LOCATE_standard___kernel___Char_____geq;
1695 fra.me.has_broke = 0;
1696 fra.me.REG_size = 0;
1697 REGB0 = p0;
1698 REGB1 = p1;
1699 /* ./../lib/standard//kernel.nit:356 */
1700 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
1701 stack_frame_head = fra.me.prev;
1702 return REGB1;
1703 }
1704 val_t standard___kernel___Char_____g(val_t p0, val_t p1){
1705 struct {struct stack_frame_t me;} fra;
1706 val_t REGB0;
1707 val_t REGB1;
1708 val_t tmp;
1709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1710 fra.me.file = LOCATE_standard___kernel;
1711 fra.me.line = 357;
1712 fra.me.meth = LOCATE_standard___kernel___Char_____g;
1713 fra.me.has_broke = 0;
1714 fra.me.REG_size = 0;
1715 REGB0 = p0;
1716 REGB1 = p1;
1717 /* ./../lib/standard//kernel.nit:357 */
1718 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>UNTAG_Char(REGB1));
1719 stack_frame_head = fra.me.prev;
1720 return REGB1;
1721 }
1722 val_t standard___kernel___Char___succ(val_t p0){
1723 struct {struct stack_frame_t me;} fra;
1724 val_t REGB0;
1725 val_t tmp;
1726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1727 fra.me.file = LOCATE_standard___kernel;
1728 fra.me.line = 359;
1729 fra.me.meth = LOCATE_standard___kernel___Char___succ;
1730 fra.me.has_broke = 0;
1731 fra.me.REG_size = 0;
1732 REGB0 = p0;
1733 /* ./../lib/standard//kernel.nit:359 */
1734 REGB0 = TAG_Char(UNTAG_Char(REGB0)+1);
1735 stack_frame_head = fra.me.prev;
1736 return REGB0;
1737 }
1738 val_t standard___kernel___Char___prec(val_t p0){
1739 struct {struct stack_frame_t me;} fra;
1740 val_t REGB0;
1741 val_t tmp;
1742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1743 fra.me.file = LOCATE_standard___kernel;
1744 fra.me.line = 360;
1745 fra.me.meth = LOCATE_standard___kernel___Char___prec;
1746 fra.me.has_broke = 0;
1747 fra.me.REG_size = 0;
1748 REGB0 = p0;
1749 /* ./../lib/standard//kernel.nit:360 */
1750 REGB0 = TAG_Char(UNTAG_Char(REGB0)-1);
1751 stack_frame_head = fra.me.prev;
1752 return REGB0;
1753 }
1754 val_t standard___kernel___Char___distance(val_t p0, val_t p1){
1755 struct {struct stack_frame_t me;} fra;
1756 val_t REGB0;
1757 val_t REGB1;
1758 val_t tmp;
1759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1760 fra.me.file = LOCATE_standard___kernel;
1761 fra.me.line = 362;
1762 fra.me.meth = LOCATE_standard___kernel___Char___distance;
1763 fra.me.has_broke = 0;
1764 fra.me.REG_size = 0;
1765 REGB0 = p0;
1766 REGB1 = p1;
1767 /* ./../lib/standard//kernel.nit:385 */
1768 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1769 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
1770 /* ./../lib/standard//kernel.nit:220 */
1771 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1772 /* ./../lib/standard//kernel.nit:365 */
1773 REGB0 = TAG_Int(0);
1774 /* ./../lib/standard//kernel.nit:216 */
1775 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
1776 /* ./../lib/standard//kernel.nit:365 */
1777 if (UNTAG_Bool(REGB0)) {
1778 /* ./../lib/standard//kernel.nit:366 */
1779 REGB0 = REGB1;
1780 goto label1;
1781 } else {
1782 /* ./../lib/standard//kernel.nit:219 */
1783 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1784 /* ./../lib/standard//kernel.nit:368 */
1785 REGB0 = REGB1;
1786 goto label1;
1787 }
1788 label1: while(0);
1789 stack_frame_head = fra.me.prev;
1790 return REGB0;
1791 }
1792 val_t standard___kernel___Char___to_i(val_t p0){
1793 struct {struct stack_frame_t me;} fra;
1794 val_t REGB0;
1795 val_t REGB1;
1796 val_t REGB2;
1797 val_t REGB3;
1798 val_t tmp;
1799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1800 fra.me.file = LOCATE_standard___kernel;
1801 fra.me.line = 372;
1802 fra.me.meth = LOCATE_standard___kernel___Char___to_i;
1803 fra.me.has_broke = 0;
1804 fra.me.REG_size = 0;
1805 REGB0 = p0;
1806 /* ./../lib/standard//kernel.nit:376 */
1807 REGB1 = TAG_Char('-');
1808 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
1809 if (UNTAG_Bool(REGB2)) {
1810 } else {
1811 /* ./../lib/standard//kernel.nit:350 */
1812 REGB1 = TAG_Bool((REGB0)==(REGB1));
1813 /* ./../lib/standard//kernel.nit:376 */
1814 REGB2 = REGB1;
1815 }
1816 if (UNTAG_Bool(REGB2)) {
1817 /* ./../lib/standard//kernel.nit:377 */
1818 REGB2 = TAG_Int(1);
1819 /* ./../lib/standard//kernel.nit:219 */
1820 REGB2 = TAG_Int(-UNTAG_Int(REGB2));
1821 /* ./../lib/standard//kernel.nit:377 */
1822 goto label1;
1823 } else {
1824 /* ./../lib/standard//kernel.nit:378 */
1825 REGB1 = CALL_standard___kernel___Char___is_digit(REGB0)(REGB0);
1826 if (UNTAG_Bool(REGB1)) {
1827 /* ./../lib/standard//kernel.nit:385 */
1828 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1829 /* ./../lib/standard//kernel.nit:379 */
1830 REGB3 = TAG_Char('0');
1831 /* ./../lib/standard//kernel.nit:385 */
1832 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
1833 /* ./../lib/standard//kernel.nit:220 */
1834 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
1835 /* ./../lib/standard//kernel.nit:379 */
1836 REGB2 = REGB3;
1837 goto label1;
1838 } else {
1839 /* ./../lib/standard//kernel.nit:381 */
1840 REGB0 = CALL_standard___kernel___Char___to_lower(REGB0)(REGB0);
1841 /* ./../lib/standard//kernel.nit:385 */
1842 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1843 /* ./../lib/standard//kernel.nit:381 */
1844 REGB3 = TAG_Char('a');
1845 /* ./../lib/standard//kernel.nit:385 */
1846 REGB3 = TAG_Int((unsigned char)UNTAG_Char(REGB3));
1847 /* ./../lib/standard//kernel.nit:381 */
1848 REGB1 = TAG_Int(10);
1849 /* ./../lib/standard//kernel.nit:218 */
1850 REGB1 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB1));
1851 /* ./../lib/standard//kernel.nit:220 */
1852 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1853 /* ./../lib/standard//kernel.nit:381 */
1854 REGB2 = REGB1;
1855 goto label1;
1856 }
1857 }
1858 label1: while(0);
1859 stack_frame_head = fra.me.prev;
1860 return REGB2;
1861 }
1862 val_t standard___kernel___Char___ascii(val_t p0){
1863 struct {struct stack_frame_t me;} fra;
1864 val_t REGB0;
1865 val_t tmp;
1866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1867 fra.me.file = LOCATE_standard___kernel;
1868 fra.me.line = 385;
1869 fra.me.meth = LOCATE_standard___kernel___Char___ascii;
1870 fra.me.has_broke = 0;
1871 fra.me.REG_size = 0;
1872 REGB0 = p0;
1873 /* ./../lib/standard//kernel.nit:385 */
1874 REGB0 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1875 stack_frame_head = fra.me.prev;
1876 return REGB0;
1877 }
1878 val_t standard___kernel___Char_____plus(val_t p0, val_t p1){
1879 struct {struct stack_frame_t me;} fra;
1880 val_t REGB0;
1881 val_t REGB1;
1882 val_t tmp;
1883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1884 fra.me.file = LOCATE_standard___kernel;
1885 fra.me.line = 388;
1886 fra.me.meth = LOCATE_standard___kernel___Char_____plus;
1887 fra.me.has_broke = 0;
1888 fra.me.REG_size = 0;
1889 REGB0 = p0;
1890 REGB1 = p1;
1891 /* ./../lib/standard//kernel.nit:388 */
1892 REGB1 = TAG_Char(UNTAG_Char(REGB0)+UNTAG_Char(REGB1));
1893 stack_frame_head = fra.me.prev;
1894 return REGB1;
1895 }
1896 val_t standard___kernel___Char_____minus(val_t p0, val_t p1){
1897 struct {struct stack_frame_t me;} fra;
1898 val_t REGB0;
1899 val_t REGB1;
1900 val_t tmp;
1901 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1902 fra.me.file = LOCATE_standard___kernel;
1903 fra.me.line = 389;
1904 fra.me.meth = LOCATE_standard___kernel___Char_____minus;
1905 fra.me.has_broke = 0;
1906 fra.me.REG_size = 0;
1907 REGB0 = p0;
1908 REGB1 = p1;
1909 /* ./../lib/standard//kernel.nit:389 */
1910 REGB1 = TAG_Char(UNTAG_Char(REGB0)-UNTAG_Char(REGB1));
1911 stack_frame_head = fra.me.prev;
1912 return REGB1;
1913 }
1914 val_t standard___kernel___Char___to_lower(val_t p0){
1915 struct {struct stack_frame_t me;} fra;
1916 val_t REGB0;
1917 val_t REGB1;
1918 val_t REGB2;
1919 val_t REGB3;
1920 val_t tmp;
1921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1922 fra.me.file = LOCATE_standard___kernel;
1923 fra.me.line = 391;
1924 fra.me.meth = LOCATE_standard___kernel___Char___to_lower;
1925 fra.me.has_broke = 0;
1926 fra.me.REG_size = 0;
1927 REGB0 = p0;
1928 /* ./../lib/standard//kernel.nit:394 */
1929 REGB1 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
1930 if (UNTAG_Bool(REGB1)) {
1931 /* ./../lib/standard//kernel.nit:385 */
1932 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1933 /* ./../lib/standard//kernel.nit:395 */
1934 REGB2 = TAG_Char('a');
1935 REGB3 = TAG_Char('A');
1936 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
1937 /* ./../lib/standard//kernel.nit:218 */
1938 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
1939 /* ./../lib/standard//kernel.nit:280 */
1940 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1941 /* ./../lib/standard//kernel.nit:395 */
1942 goto label1;
1943 } else {
1944 /* ./../lib/standard//kernel.nit:397 */
1945 REGB3 = REGB0;
1946 goto label1;
1947 }
1948 label1: while(0);
1949 stack_frame_head = fra.me.prev;
1950 return REGB3;
1951 }
1952 val_t standard___kernel___Char___to_upper(val_t p0){
1953 struct {struct stack_frame_t me;} fra;
1954 val_t REGB0;
1955 val_t REGB1;
1956 val_t REGB2;
1957 val_t REGB3;
1958 val_t tmp;
1959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1960 fra.me.file = LOCATE_standard___kernel;
1961 fra.me.line = 401;
1962 fra.me.meth = LOCATE_standard___kernel___Char___to_upper;
1963 fra.me.has_broke = 0;
1964 fra.me.REG_size = 0;
1965 REGB0 = p0;
1966 /* ./../lib/standard//kernel.nit:404 */
1967 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
1968 if (UNTAG_Bool(REGB1)) {
1969 /* ./../lib/standard//kernel.nit:385 */
1970 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB0));
1971 /* ./../lib/standard//kernel.nit:405 */
1972 REGB2 = TAG_Char('a');
1973 REGB3 = TAG_Char('A');
1974 REGB3 = CALL_standard___kernel___Discrete___distance(REGB2)(REGB2, REGB3);
1975 /* ./../lib/standard//kernel.nit:220 */
1976 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
1977 /* ./../lib/standard//kernel.nit:280 */
1978 REGB3 = TAG_Char(UNTAG_Int(REGB3));
1979 /* ./../lib/standard//kernel.nit:405 */
1980 goto label1;
1981 } else {
1982 /* ./../lib/standard//kernel.nit:407 */
1983 REGB3 = REGB0;
1984 goto label1;
1985 }
1986 label1: while(0);
1987 stack_frame_head = fra.me.prev;
1988 return REGB3;
1989 }
1990 val_t standard___kernel___Char___is_digit(val_t p0){
1991 struct {struct stack_frame_t me;} fra;
1992 val_t REGB0;
1993 val_t REGB1;
1994 val_t tmp;
1995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1996 fra.me.file = LOCATE_standard___kernel;
1997 fra.me.line = 411;
1998 fra.me.meth = LOCATE_standard___kernel___Char___is_digit;
1999 fra.me.has_broke = 0;
2000 fra.me.REG_size = 0;
2001 REGB0 = p0;
2002 /* ./../lib/standard//kernel.nit:413 */
2003 REGB1 = TAG_Char('0');
2004 /* ./../lib/standard//kernel.nit:356 */
2005 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2006 /* ./../lib/standard//kernel.nit:413 */
2007 if (UNTAG_Bool(REGB1)) {
2008 REGB1 = TAG_Char('9');
2009 /* ./../lib/standard//kernel.nit:354 */
2010 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2011 } else {
2012 /* ./../lib/standard//kernel.nit:413 */
2013 REGB0 = TAG_Bool(false);
2014 REGB1 = REGB0;
2015 }
2016 goto label1;
2017 label1: while(0);
2018 stack_frame_head = fra.me.prev;
2019 return REGB1;
2020 }
2021 val_t standard___kernel___Char___is_lower(val_t p0){
2022 struct {struct stack_frame_t me;} fra;
2023 val_t REGB0;
2024 val_t REGB1;
2025 val_t tmp;
2026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2027 fra.me.file = LOCATE_standard___kernel;
2028 fra.me.line = 416;
2029 fra.me.meth = LOCATE_standard___kernel___Char___is_lower;
2030 fra.me.has_broke = 0;
2031 fra.me.REG_size = 0;
2032 REGB0 = p0;
2033 /* ./../lib/standard//kernel.nit:418 */
2034 REGB1 = TAG_Char('a');
2035 /* ./../lib/standard//kernel.nit:356 */
2036 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2037 /* ./../lib/standard//kernel.nit:418 */
2038 if (UNTAG_Bool(REGB1)) {
2039 REGB1 = TAG_Char('z');
2040 /* ./../lib/standard//kernel.nit:354 */
2041 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2042 } else {
2043 /* ./../lib/standard//kernel.nit:418 */
2044 REGB0 = TAG_Bool(false);
2045 REGB1 = REGB0;
2046 }
2047 goto label1;
2048 label1: while(0);
2049 stack_frame_head = fra.me.prev;
2050 return REGB1;
2051 }
2052 val_t standard___kernel___Char___is_upper(val_t p0){
2053 struct {struct stack_frame_t me;} fra;
2054 val_t REGB0;
2055 val_t REGB1;
2056 val_t tmp;
2057 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2058 fra.me.file = LOCATE_standard___kernel;
2059 fra.me.line = 421;
2060 fra.me.meth = LOCATE_standard___kernel___Char___is_upper;
2061 fra.me.has_broke = 0;
2062 fra.me.REG_size = 0;
2063 REGB0 = p0;
2064 /* ./../lib/standard//kernel.nit:423 */
2065 REGB1 = TAG_Char('A');
2066 /* ./../lib/standard//kernel.nit:356 */
2067 REGB1 = TAG_Bool(UNTAG_Char(REGB0)>=UNTAG_Char(REGB1));
2068 /* ./../lib/standard//kernel.nit:423 */
2069 if (UNTAG_Bool(REGB1)) {
2070 REGB1 = TAG_Char('Z');
2071 /* ./../lib/standard//kernel.nit:354 */
2072 REGB1 = TAG_Bool(UNTAG_Char(REGB0)<=UNTAG_Char(REGB1));
2073 } else {
2074 /* ./../lib/standard//kernel.nit:423 */
2075 REGB0 = TAG_Bool(false);
2076 REGB1 = REGB0;
2077 }
2078 goto label1;
2079 label1: while(0);
2080 stack_frame_head = fra.me.prev;
2081 return REGB1;
2082 }
2083 val_t standard___kernel___Char___is_letter(val_t p0){
2084 struct {struct stack_frame_t me;} fra;
2085 val_t REGB0;
2086 val_t REGB1;
2087 val_t tmp;
2088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2089 fra.me.file = LOCATE_standard___kernel;
2090 fra.me.line = 426;
2091 fra.me.meth = LOCATE_standard___kernel___Char___is_letter;
2092 fra.me.has_broke = 0;
2093 fra.me.REG_size = 0;
2094 REGB0 = p0;
2095 /* ./../lib/standard//kernel.nit:428 */
2096 REGB1 = CALL_standard___kernel___Char___is_lower(REGB0)(REGB0);
2097 if (UNTAG_Bool(REGB1)) {
2098 REGB1 = TAG_Bool(true);
2099 } else {
2100 REGB0 = CALL_standard___kernel___Char___is_upper(REGB0)(REGB0);
2101 REGB1 = REGB0;
2102 }
2103 goto label1;
2104 label1: while(0);
2105 stack_frame_head = fra.me.prev;
2106 return REGB1;
2107 }