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 self
) {
4 struct trace_t trace
= {NULL
, NULL
, 26, LOCATE_kernel___Object___object_id
};
5 val_t
*variable
= NULL
;
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_kernel
;
9 tracehead
= trace
.prev
;
10 return TAG_Int((bigint
) self
);
12 val_t
kernel___Object___is_same_type(val_t self
, val_t param0
) {
13 struct trace_t trace
= {NULL
, NULL
, 29, LOCATE_kernel___Object___is_same_type
};
14 val_t
*variable
= NULL
;
15 void **closurevariable
= NULL
;
16 trace
.prev
= tracehead
; tracehead
= &trace
;
17 trace
.file
= LOCATE_kernel
;
18 tracehead
= trace
.prev
;
19 return TAG_Bool((VAL2VFT( self
)==VAL2VFT( param0
)));
21 val_t
kernel___Object_____eqeq(val_t self
, val_t param0
) {
22 struct trace_t trace
= {NULL
, NULL
, 32, LOCATE_kernel___Object_____eqeq
};
24 void **closurevariable
= NULL
;
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 trace
.file
= LOCATE_kernel
;
29 variable
[3] = variable
[0];
30 variable
[3] = TAG_Bool(IS_EQUAL_NN(variable
[3], variable
[1] /*other*/));
31 variable
[2] = variable
[3];
33 return_label0
: while(false);
34 tracehead
= trace
.prev
;
37 val_t
kernel___Object_____neq(val_t self
, val_t param0
) {
38 struct trace_t trace
= {NULL
, NULL
, 37, LOCATE_kernel___Object_____neq
};
40 void **closurevariable
= NULL
;
41 trace
.prev
= tracehead
; tracehead
= &trace
;
42 trace
.file
= LOCATE_kernel
;
45 variable
[3] = variable
[0];
46 variable
[3] = TAG_Bool((variable
[3] == variable
[1] /*other*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], variable
[1] /*other*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], variable
[1] /*other*/) /*Object::==*/)))));
47 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
49 return_label1
: while(false);
50 tracehead
= trace
.prev
;
53 void kernel___Object___output(val_t self
) {
54 struct trace_t trace
= {NULL
, NULL
, 42, LOCATE_kernel___Object___output
};
56 void **closurevariable
= NULL
;
57 trace
.prev
= tracehead
; tracehead
= &trace
;
58 trace
.file
= LOCATE_kernel
;
60 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
61 variable
[2] = variable
[0];
62 variable
[2] = TAG_Int((bigint
)variable
[2]);
63 printf("%ld\n", UNTAG_Int(variable
[2]));
64 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
65 return_label2
: while(false);
66 tracehead
= trace
.prev
;
69 void kernel___Object___exit(val_t self
, val_t param0
) {
70 struct trace_t trace
= {NULL
, NULL
, 50, LOCATE_kernel___Object___exit
};
71 val_t
*variable
= NULL
;
72 void **closurevariable
= NULL
;
73 trace
.prev
= tracehead
; tracehead
= &trace
;
74 trace
.file
= LOCATE_kernel
;
75 exit(UNTAG_Int( param0
));
76 tracehead
= trace
.prev
;
79 val_t
kernel___Object___sys(val_t self
) {
80 struct trace_t trace
= {NULL
, NULL
, 51, LOCATE_kernel___Object___sys
};
81 val_t
*variable
= NULL
;
82 void **closurevariable
= NULL
;
83 trace
.prev
= tracehead
; tracehead
= &trace
;
84 trace
.file
= LOCATE_kernel
;
85 tracehead
= trace
.prev
;
88 void kernel___Sys___main(val_t self
) {
89 struct trace_t trace
= {NULL
, NULL
, 56, LOCATE_kernel___Sys___main
};
91 void **closurevariable
= NULL
;
92 trace
.prev
= tracehead
; tracehead
= &trace
;
93 trace
.file
= LOCATE_kernel
;
95 return_label3
: while(false);
96 tracehead
= trace
.prev
;
99 void kernel___Sys___init(val_t self
, int* init_table
) {
100 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_kernel___Sys___init
};
101 val_t
*variable
= NULL
;
102 void **closurevariable
= NULL
;
103 trace
.prev
= tracehead
; tracehead
= &trace
;
104 trace
.file
= LOCATE_kernel
;
105 tracehead
= trace
.prev
;
108 val_t
kernel___Comparable_____l(val_t self
, val_t param0
) {
109 struct trace_t trace
= {NULL
, NULL
, 69, LOCATE_kernel___Comparable_____l
};
110 val_t
*variable
= NULL
;
111 void **closurevariable
= NULL
;
112 trace
.prev
= tracehead
; tracehead
= &trace
;
113 trace
.file
= LOCATE_kernel
;
114 fprintf(stderr
, "Deferred method called");
115 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 69);
117 tracehead
= trace
.prev
;
120 val_t
kernel___Comparable_____leq(val_t self
, val_t param0
) {
121 struct trace_t trace
= {NULL
, NULL
, 72, LOCATE_kernel___Comparable_____leq
};
123 void **closurevariable
= NULL
;
124 trace
.prev
= tracehead
; tracehead
= &trace
;
125 trace
.file
= LOCATE_kernel
;
127 variable
[1] = param0
;
128 variable
[3] = variable
[0];
129 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[3]) /*Comparable::<*/;
130 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
132 return_label4
: while(false);
133 tracehead
= trace
.prev
;
136 val_t
kernel___Comparable_____geq(val_t self
, val_t param0
) {
137 struct trace_t trace
= {NULL
, NULL
, 75, LOCATE_kernel___Comparable_____geq
};
139 void **closurevariable
= NULL
;
140 trace
.prev
= tracehead
; tracehead
= &trace
;
141 trace
.file
= LOCATE_kernel
;
143 variable
[1] = param0
;
144 variable
[3] = variable
[0];
145 variable
[3] = CALL_kernel___Comparable_____l(variable
[3])(variable
[3], variable
[1] /*other*/) /*Comparable::<*/;
146 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
148 return_label5
: while(false);
149 tracehead
= trace
.prev
;
152 val_t
kernel___Comparable_____g(val_t self
, val_t param0
) {
153 struct trace_t trace
= {NULL
, NULL
, 78, LOCATE_kernel___Comparable_____g
};
155 void **closurevariable
= NULL
;
156 trace
.prev
= tracehead
; tracehead
= &trace
;
157 trace
.file
= LOCATE_kernel
;
159 variable
[1] = param0
;
160 variable
[3] = variable
[0];
161 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[3]) /*Comparable::<*/;
162 variable
[2] = variable
[3];
164 return_label6
: while(false);
165 tracehead
= trace
.prev
;
168 val_t
kernel___Comparable_____leqg(val_t self
, val_t param0
) {
169 struct trace_t trace
= {NULL
, NULL
, 81, LOCATE_kernel___Comparable_____leqg
};
171 void **closurevariable
= NULL
;
172 trace
.prev
= tracehead
; tracehead
= &trace
;
173 trace
.file
= LOCATE_kernel
;
175 variable
[1] = param0
;
176 variable
[3] = variable
[0];
177 variable
[3] = CALL_kernel___Comparable_____l(variable
[3])(variable
[3], variable
[1] /*other*/) /*Comparable::<*/;
178 if (UNTAG_Bool(variable
[3])) { /*if*/
179 variable
[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
180 variable
[2] = variable
[3];
183 variable
[3] = variable
[0];
184 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[3]) /*Comparable::<*/;
185 if (UNTAG_Bool(variable
[3])) { /*if*/
186 variable
[2] = TAG_Int(1);
189 variable
[2] = TAG_Int(0);
193 return_label7
: while(false);
194 tracehead
= trace
.prev
;
197 val_t
kernel___Comparable___is_between(val_t self
, val_t param0
, val_t param1
) {
198 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_kernel___Comparable___is_between
};
200 void **closurevariable
= NULL
;
201 trace
.prev
= tracehead
; tracehead
= &trace
;
202 trace
.file
= LOCATE_kernel
;
204 variable
[1] = param0
;
205 variable
[2] = param1
;
206 variable
[4] = variable
[0];
207 variable
[4] = CALL_kernel___Comparable_____leq( variable
[1] /*c*/)( variable
[1] /*c*/, variable
[4]) /*Comparable::<=*/;
208 variable
[5] = variable
[4];
209 if (UNTAG_Bool(variable
[5])) { /* and */
210 variable
[5] = variable
[0];
211 variable
[5] = CALL_kernel___Comparable_____leq(variable
[5])(variable
[5], variable
[2] /*d*/) /*Comparable::<=*/;
213 variable
[4] = variable
[5];
214 variable
[3] = variable
[4];
216 return_label8
: while(false);
217 tracehead
= trace
.prev
;
220 val_t
kernel___Comparable___max(val_t self
, val_t param0
) {
221 struct trace_t trace
= {NULL
, NULL
, 99, LOCATE_kernel___Comparable___max
};
223 void **closurevariable
= NULL
;
224 trace
.prev
= tracehead
; tracehead
= &trace
;
225 trace
.file
= LOCATE_kernel
;
227 variable
[1] = param0
;
228 variable
[3] = variable
[0];
229 variable
[3] = CALL_kernel___Comparable_____l(variable
[3])(variable
[3], variable
[1] /*other*/) /*Comparable::<*/;
230 if (UNTAG_Bool(variable
[3])) { /*if*/
231 variable
[2] = variable
[1] /*other*/;
234 variable
[3] = variable
[0];
235 variable
[2] = variable
[3];
238 return_label9
: while(false);
239 tracehead
= trace
.prev
;
242 val_t
kernel___Comparable___min(val_t self
, val_t param0
) {
243 struct trace_t trace
= {NULL
, NULL
, 109, LOCATE_kernel___Comparable___min
};
245 void **closurevariable
= NULL
;
246 trace
.prev
= tracehead
; tracehead
= &trace
;
247 trace
.file
= LOCATE_kernel
;
249 variable
[1] = param0
;
250 variable
[3] = variable
[0];
251 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*c*/)( variable
[1] /*c*/, variable
[3]) /*Comparable::<*/;
252 if (UNTAG_Bool(variable
[3])) { /*if*/
253 variable
[2] = variable
[1] /*c*/;
256 variable
[3] = variable
[0];
257 variable
[2] = variable
[3];
260 return_label10
: while(false);
261 tracehead
= trace
.prev
;
264 val_t
kernel___Discrete___succ(val_t self
) {
265 struct trace_t trace
= {NULL
, NULL
, 126, LOCATE_kernel___Discrete___succ
};
267 void **closurevariable
= NULL
;
268 trace
.prev
= tracehead
; tracehead
= &trace
;
269 trace
.file
= LOCATE_kernel
;
271 variable
[2] = variable
[0];
272 variable
[2] = CALL_kernel___Discrete_____plus(variable
[2])(variable
[2], TAG_Int(1)) /*Discrete::+*/;
273 variable
[1] = variable
[2];
275 return_label11
: while(false);
276 tracehead
= trace
.prev
;
279 val_t
kernel___Discrete___prec(val_t self
) {
280 struct trace_t trace
= {NULL
, NULL
, 129, LOCATE_kernel___Discrete___prec
};
282 void **closurevariable
= NULL
;
283 trace
.prev
= tracehead
; tracehead
= &trace
;
284 trace
.file
= LOCATE_kernel
;
286 variable
[2] = variable
[0];
287 variable
[2] = CALL_kernel___Discrete_____minus(variable
[2])(variable
[2], TAG_Int(1)) /*Discrete::-*/;
288 variable
[1] = variable
[2];
290 return_label12
: while(false);
291 tracehead
= trace
.prev
;
294 val_t
kernel___Discrete_____plus(val_t self
, val_t param0
) {
295 struct trace_t trace
= {NULL
, NULL
, 132, LOCATE_kernel___Discrete_____plus
};
296 val_t
*variable
= NULL
;
297 void **closurevariable
= NULL
;
298 trace
.prev
= tracehead
; tracehead
= &trace
;
299 trace
.file
= LOCATE_kernel
;
300 fprintf(stderr
, "Deferred method called");
301 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 132);
303 tracehead
= trace
.prev
;
306 val_t
kernel___Discrete_____minus(val_t self
, val_t param0
) {
307 struct trace_t trace
= {NULL
, NULL
, 135, LOCATE_kernel___Discrete_____minus
};
308 val_t
*variable
= NULL
;
309 void **closurevariable
= NULL
;
310 trace
.prev
= tracehead
; tracehead
= &trace
;
311 trace
.file
= LOCATE_kernel
;
312 fprintf(stderr
, "Deferred method called");
313 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 135);
315 tracehead
= trace
.prev
;
318 val_t
kernel___Discrete___distance(val_t self
, val_t param0
) {
319 struct trace_t trace
= {NULL
, NULL
, 138, LOCATE_kernel___Discrete___distance
};
321 void **closurevariable
= NULL
;
322 trace
.prev
= tracehead
; tracehead
= &trace
;
323 trace
.file
= LOCATE_kernel
;
325 variable
[1] = param0
;
326 /*variable[3] is variable cursor*/
327 /*variable[4] is variable stop*/
328 variable
[5] = variable
[0];
329 variable
[5] = CALL_kernel___Comparable_____l(variable
[5])(variable
[5], variable
[1] /*d*/) /*Comparable::<*/;
330 if (UNTAG_Bool(variable
[5])) { /*if*/
331 variable
[5] = variable
[0];
332 variable
[3] = variable
[5] /*cursor=*/;
333 variable
[4] = variable
[1] /*d*/ /*stop=*/;
335 variable
[5] = variable
[0];
336 variable
[5] = CALL_kernel___Comparable_____g(variable
[5])(variable
[5], variable
[1] /*d*/) /*Comparable::>*/;
337 if (UNTAG_Bool(variable
[5])) { /*if*/
338 variable
[3] = variable
[1] /*d*/ /*cursor=*/;
339 variable
[5] = variable
[0];
340 variable
[4] = variable
[5] /*stop=*/;
342 variable
[2] = TAG_Int(0);
346 variable
[5] = TAG_Int(0);
347 while (true) { /*while*/
348 variable
[6] = CALL_kernel___Comparable_____l( variable
[3] /*cursor*/)( variable
[3] /*cursor*/, variable
[4] /*stop*/) /*Comparable::<*/;
349 if (!UNTAG_Bool(variable
[6])) break; /* while*/
350 variable
[6] = CALL_kernel___Discrete___succ( variable
[3] /*cursor*/)( variable
[3] /*cursor*/) /*Discrete::succ*/;
351 variable
[3] = variable
[6] /*cursor=*/;
352 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( TAG_Int(1))) /*nb*/;
353 continue_14
: while(0);
356 variable
[2] = variable
[5] /*nb*/;
358 return_label13
: while(false);
359 tracehead
= trace
.prev
;
362 val_t
kernel___Bool___object_id(val_t self
) {
363 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_kernel___Bool___object_id
};
364 val_t
*variable
= NULL
;
365 void **closurevariable
= NULL
;
366 trace
.prev
= tracehead
; tracehead
= &trace
;
367 trace
.file
= LOCATE_kernel
;
368 tracehead
= trace
.prev
;
369 return TAG_Int(UNTAG_Bool( self
));
371 val_t
kernel___Bool_____eqeq(val_t self
, val_t param0
) {
372 struct trace_t trace
= {NULL
, NULL
, 175, LOCATE_kernel___Bool_____eqeq
};
373 val_t
*variable
= NULL
;
374 void **closurevariable
= NULL
;
375 trace
.prev
= tracehead
; tracehead
= &trace
;
376 trace
.file
= LOCATE_kernel
;
377 tracehead
= trace
.prev
;
378 return TAG_Bool(( self
)==( param0
));
380 val_t
kernel___Bool_____neq(val_t self
, val_t param0
) {
381 struct trace_t trace
= {NULL
, NULL
, 176, LOCATE_kernel___Bool_____neq
};
382 val_t
*variable
= NULL
;
383 void **closurevariable
= NULL
;
384 trace
.prev
= tracehead
; tracehead
= &trace
;
385 trace
.file
= LOCATE_kernel
;
386 tracehead
= trace
.prev
;
387 return TAG_Bool(( self
)!=( param0
));
389 void kernel___Bool___output(val_t self
) {
390 struct trace_t trace
= {NULL
, NULL
, 177, LOCATE_kernel___Bool___output
};
391 val_t
*variable
= NULL
;
392 void **closurevariable
= NULL
;
393 trace
.prev
= tracehead
; tracehead
= &trace
;
394 trace
.file
= LOCATE_kernel
;
395 (void)printf(UNTAG_Bool( self
)?
"true\n":"false\n");
396 tracehead
= trace
.prev
;
399 val_t
kernel___Float___object_id(val_t self
) {
400 struct trace_t trace
= {NULL
, NULL
, 183, LOCATE_kernel___Float___object_id
};
401 val_t
*variable
= NULL
;
402 void **closurevariable
= NULL
;
403 trace
.prev
= tracehead
; tracehead
= &trace
;
404 trace
.file
= LOCATE_kernel
;
405 tracehead
= trace
.prev
;
406 return TAG_Int((bigint
)UNBOX_Float( self
));
408 void kernel___Float___output(val_t self
) {
409 struct trace_t trace
= {NULL
, NULL
, 184, LOCATE_kernel___Float___output
};
410 val_t
*variable
= NULL
;
411 void **closurevariable
= NULL
;
412 trace
.prev
= tracehead
; tracehead
= &trace
;
413 trace
.file
= LOCATE_kernel
;
414 printf("%f\n", UNBOX_Float( self
));
415 tracehead
= trace
.prev
;
418 val_t
kernel___Float_____leq(val_t self
, val_t param0
) {
419 struct trace_t trace
= {NULL
, NULL
, 186, LOCATE_kernel___Float_____leq
};
420 val_t
*variable
= NULL
;
421 void **closurevariable
= NULL
;
422 trace
.prev
= tracehead
; tracehead
= &trace
;
423 trace
.file
= LOCATE_kernel
;
424 tracehead
= trace
.prev
;
425 return TAG_Bool(UNBOX_Float( self
)<=UNBOX_Float( param0
));
427 val_t
kernel___Float_____l(val_t self
, val_t param0
) {
428 struct trace_t trace
= {NULL
, NULL
, 187, LOCATE_kernel___Float_____l
};
429 val_t
*variable
= NULL
;
430 void **closurevariable
= NULL
;
431 trace
.prev
= tracehead
; tracehead
= &trace
;
432 trace
.file
= LOCATE_kernel
;
433 tracehead
= trace
.prev
;
434 return TAG_Bool(UNBOX_Float( self
)<UNBOX_Float( param0
));
436 val_t
kernel___Float_____geq(val_t self
, val_t param0
) {
437 struct trace_t trace
= {NULL
, NULL
, 188, LOCATE_kernel___Float_____geq
};
438 val_t
*variable
= NULL
;
439 void **closurevariable
= NULL
;
440 trace
.prev
= tracehead
; tracehead
= &trace
;
441 trace
.file
= LOCATE_kernel
;
442 tracehead
= trace
.prev
;
443 return TAG_Bool(UNBOX_Float( self
)>=UNBOX_Float( param0
));
445 val_t
kernel___Float_____g(val_t self
, val_t param0
) {
446 struct trace_t trace
= {NULL
, NULL
, 189, LOCATE_kernel___Float_____g
};
447 val_t
*variable
= NULL
;
448 void **closurevariable
= NULL
;
449 trace
.prev
= tracehead
; tracehead
= &trace
;
450 trace
.file
= LOCATE_kernel
;
451 tracehead
= trace
.prev
;
452 return TAG_Bool(UNBOX_Float( self
)>UNBOX_Float( param0
));
454 val_t
kernel___Float_____plus(val_t self
, val_t param0
) {
455 struct trace_t trace
= {NULL
, NULL
, 190, LOCATE_kernel___Float_____plus
};
456 val_t
*variable
= NULL
;
457 void **closurevariable
= NULL
;
458 trace
.prev
= tracehead
; tracehead
= &trace
;
459 trace
.file
= LOCATE_kernel
;
460 tracehead
= trace
.prev
;
461 return BOX_Float(UNBOX_Float( self
)+UNBOX_Float( param0
));
463 val_t
kernel___Float___unary__minus(val_t self
) {
464 struct trace_t trace
= {NULL
, NULL
, 191, LOCATE_kernel___Float___unary__minus
};
465 val_t
*variable
= NULL
;
466 void **closurevariable
= NULL
;
467 trace
.prev
= tracehead
; tracehead
= &trace
;
468 trace
.file
= LOCATE_kernel
;
469 tracehead
= trace
.prev
;
470 return BOX_Float(-UNBOX_Float( self
));
472 val_t
kernel___Float_____minus(val_t self
, val_t param0
) {
473 struct trace_t trace
= {NULL
, NULL
, 192, LOCATE_kernel___Float_____minus
};
474 val_t
*variable
= NULL
;
475 void **closurevariable
= NULL
;
476 trace
.prev
= tracehead
; tracehead
= &trace
;
477 trace
.file
= LOCATE_kernel
;
478 tracehead
= trace
.prev
;
479 return BOX_Float(UNBOX_Float( self
)-UNBOX_Float( param0
));
481 val_t
kernel___Float_____star(val_t self
, val_t param0
) {
482 struct trace_t trace
= {NULL
, NULL
, 193, LOCATE_kernel___Float_____star
};
483 val_t
*variable
= NULL
;
484 void **closurevariable
= NULL
;
485 trace
.prev
= tracehead
; tracehead
= &trace
;
486 trace
.file
= LOCATE_kernel
;
487 tracehead
= trace
.prev
;
488 return BOX_Float(UNBOX_Float( self
)*UNBOX_Float( param0
));
490 val_t
kernel___Float_____slash(val_t self
, val_t param0
) {
491 struct trace_t trace
= {NULL
, NULL
, 194, LOCATE_kernel___Float_____slash
};
492 val_t
*variable
= NULL
;
493 void **closurevariable
= NULL
;
494 trace
.prev
= tracehead
; tracehead
= &trace
;
495 trace
.file
= LOCATE_kernel
;
496 tracehead
= trace
.prev
;
497 return BOX_Float(UNBOX_Float( self
)/UNBOX_Float( param0
));
499 val_t
kernel___Float___to_i(val_t self
) {
500 struct trace_t trace
= {NULL
, NULL
, 196, LOCATE_kernel___Float___to_i
};
501 val_t
*variable
= NULL
;
502 void **closurevariable
= NULL
;
503 trace
.prev
= tracehead
; tracehead
= &trace
;
504 trace
.file
= LOCATE_kernel
;
505 tracehead
= trace
.prev
;
506 return TAG_Int((bigint
)UNBOX_Float( self
));
508 val_t
kernel___Int___object_id(val_t self
) {
509 struct trace_t trace
= {NULL
, NULL
, 206, LOCATE_kernel___Int___object_id
};
510 val_t
*variable
= NULL
;
511 void **closurevariable
= NULL
;
512 trace
.prev
= tracehead
; tracehead
= &trace
;
513 trace
.file
= LOCATE_kernel
;
514 tracehead
= trace
.prev
;
517 val_t
kernel___Int_____eqeq(val_t self
, val_t param0
) {
518 struct trace_t trace
= {NULL
, NULL
, 207, LOCATE_kernel___Int_____eqeq
};
519 val_t
*variable
= NULL
;
520 void **closurevariable
= NULL
;
521 trace
.prev
= tracehead
; tracehead
= &trace
;
522 trace
.file
= LOCATE_kernel
;
523 tracehead
= trace
.prev
;
524 return TAG_Bool(( self
)==( param0
));
526 val_t
kernel___Int_____neq(val_t self
, val_t param0
) {
527 struct trace_t trace
= {NULL
, NULL
, 208, LOCATE_kernel___Int_____neq
};
528 val_t
*variable
= NULL
;
529 void **closurevariable
= NULL
;
530 trace
.prev
= tracehead
; tracehead
= &trace
;
531 trace
.file
= LOCATE_kernel
;
532 tracehead
= trace
.prev
;
533 return TAG_Bool(( self
)!=( param0
));
535 void kernel___Int___output(val_t self
) {
536 struct trace_t trace
= {NULL
, NULL
, 209, LOCATE_kernel___Int___output
};
537 val_t
*variable
= NULL
;
538 void **closurevariable
= NULL
;
539 trace
.prev
= tracehead
; tracehead
= &trace
;
540 trace
.file
= LOCATE_kernel
;
541 printf("%ld\n", UNTAG_Int( self
));
542 tracehead
= trace
.prev
;
545 val_t
kernel___Int_____l(val_t self
, val_t param0
) {
546 struct trace_t trace
= {NULL
, NULL
, 212, LOCATE_kernel___Int_____l
};
547 val_t
*variable
= NULL
;
548 void **closurevariable
= NULL
;
549 trace
.prev
= tracehead
; tracehead
= &trace
;
550 trace
.file
= LOCATE_kernel
;
551 tracehead
= trace
.prev
;
552 return TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( param0
));
554 val_t
kernel___Int_____leq(val_t self
, val_t param0
) {
555 struct trace_t trace
= {NULL
, NULL
, 211, LOCATE_kernel___Int_____leq
};
556 val_t
*variable
= NULL
;
557 void **closurevariable
= NULL
;
558 trace
.prev
= tracehead
; tracehead
= &trace
;
559 trace
.file
= LOCATE_kernel
;
560 tracehead
= trace
.prev
;
561 return TAG_Bool(UNTAG_Int( self
)<=UNTAG_Int( param0
));
563 val_t
kernel___Int_____geq(val_t self
, val_t param0
) {
564 struct trace_t trace
= {NULL
, NULL
, 213, LOCATE_kernel___Int_____geq
};
565 val_t
*variable
= NULL
;
566 void **closurevariable
= NULL
;
567 trace
.prev
= tracehead
; tracehead
= &trace
;
568 trace
.file
= LOCATE_kernel
;
569 tracehead
= trace
.prev
;
570 return TAG_Bool(UNTAG_Int( self
)>=UNTAG_Int( param0
));
572 val_t
kernel___Int_____g(val_t self
, val_t param0
) {
573 struct trace_t trace
= {NULL
, NULL
, 214, LOCATE_kernel___Int_____g
};
574 val_t
*variable
= NULL
;
575 void **closurevariable
= NULL
;
576 trace
.prev
= tracehead
; tracehead
= &trace
;
577 trace
.file
= LOCATE_kernel
;
578 tracehead
= trace
.prev
;
579 return TAG_Bool(UNTAG_Int( self
)>UNTAG_Int( param0
));
581 val_t
kernel___Int_____leqg(val_t self
, val_t param0
) {
582 struct trace_t trace
= {NULL
, NULL
, 239, LOCATE_kernel___Int_____leqg
};
584 void **closurevariable
= NULL
;
585 trace
.prev
= tracehead
; tracehead
= &trace
;
586 trace
.file
= LOCATE_kernel
;
588 variable
[1] = param0
;
589 variable
[3] = variable
[0];
590 variable
[3] = TAG_Bool(UNTAG_Int(variable
[3])<UNTAG_Int( variable
[1] /*other*/));
591 if (UNTAG_Bool(variable
[3])) { /*if*/
592 variable
[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
593 variable
[2] = variable
[3];
596 variable
[3] = variable
[0];
597 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*other*/)<UNTAG_Int(variable
[3]));
598 if (UNTAG_Bool(variable
[3])) { /*if*/
599 variable
[2] = TAG_Int(1);
602 variable
[2] = TAG_Int(0);
606 return_label15
: while(false);
607 tracehead
= trace
.prev
;
610 val_t
kernel___Int___is_between(val_t self
, val_t param0
, val_t param1
) {
611 struct trace_t trace
= {NULL
, NULL
, 250, LOCATE_kernel___Int___is_between
};
613 void **closurevariable
= NULL
;
614 trace
.prev
= tracehead
; tracehead
= &trace
;
615 trace
.file
= LOCATE_kernel
;
617 variable
[1] = param0
;
618 variable
[2] = param1
;
619 variable
[4] = variable
[0];
620 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])<UNTAG_Int( variable
[1] /*c*/));
621 variable
[5] = variable
[4];
622 if (!UNTAG_Bool(variable
[5])) { /* or */
623 variable
[5] = variable
[0];
624 variable
[5] = TAG_Bool(UNTAG_Int( variable
[2] /*d*/)<UNTAG_Int(variable
[5]));
626 variable
[4] = variable
[5];
627 if (UNTAG_Bool(variable
[4])) { /*if*/
628 variable
[3] = TAG_Bool(false);
631 variable
[3] = TAG_Bool(true);
634 return_label16
: while(false);
635 tracehead
= trace
.prev
;
638 val_t
kernel___Int___max(val_t self
, val_t param0
) {
639 struct trace_t trace
= {NULL
, NULL
, 259, LOCATE_kernel___Int___max
};
641 void **closurevariable
= NULL
;
642 trace
.prev
= tracehead
; tracehead
= &trace
;
643 trace
.file
= LOCATE_kernel
;
645 variable
[1] = param0
;
646 variable
[3] = variable
[0];
647 variable
[3] = TAG_Bool(UNTAG_Int(variable
[3])<UNTAG_Int( variable
[1] /*other*/));
648 if (UNTAG_Bool(variable
[3])) { /*if*/
649 variable
[2] = variable
[1] /*other*/;
652 variable
[3] = variable
[0];
653 variable
[2] = variable
[3];
656 return_label17
: while(false);
657 tracehead
= trace
.prev
;
660 val_t
kernel___Int___min(val_t self
, val_t param0
) {
661 struct trace_t trace
= {NULL
, NULL
, 268, LOCATE_kernel___Int___min
};
663 void **closurevariable
= NULL
;
664 trace
.prev
= tracehead
; tracehead
= &trace
;
665 trace
.file
= LOCATE_kernel
;
667 variable
[1] = param0
;
668 variable
[3] = variable
[0];
669 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*c*/)<UNTAG_Int(variable
[3]));
670 if (UNTAG_Bool(variable
[3])) { /*if*/
671 variable
[2] = variable
[1] /*c*/;
674 variable
[3] = variable
[0];
675 variable
[2] = variable
[3];
678 return_label18
: while(false);
679 tracehead
= trace
.prev
;
682 val_t
kernel___Int___succ(val_t self
) {
683 struct trace_t trace
= {NULL
, NULL
, 227, LOCATE_kernel___Int___succ
};
684 val_t
*variable
= NULL
;
685 void **closurevariable
= NULL
;
686 trace
.prev
= tracehead
; tracehead
= &trace
;
687 trace
.file
= LOCATE_kernel
;
688 tracehead
= trace
.prev
;
689 return TAG_Int(UNTAG_Int( self
)+1);
691 val_t
kernel___Int___prec(val_t self
) {
692 struct trace_t trace
= {NULL
, NULL
, 228, LOCATE_kernel___Int___prec
};
693 val_t
*variable
= NULL
;
694 void **closurevariable
= NULL
;
695 trace
.prev
= tracehead
; tracehead
= &trace
;
696 trace
.file
= LOCATE_kernel
;
697 tracehead
= trace
.prev
;
698 return TAG_Int(UNTAG_Int( self
)-1);
700 val_t
kernel___Int_____plus(val_t self
, val_t param0
) {
701 struct trace_t trace
= {NULL
, NULL
, 215, LOCATE_kernel___Int_____plus
};
702 val_t
*variable
= NULL
;
703 void **closurevariable
= NULL
;
704 trace
.prev
= tracehead
; tracehead
= &trace
;
705 trace
.file
= LOCATE_kernel
;
706 tracehead
= trace
.prev
;
707 return TAG_Int(UNTAG_Int( self
)+UNTAG_Int( param0
));
709 val_t
kernel___Int_____minus(val_t self
, val_t param0
) {
710 struct trace_t trace
= {NULL
, NULL
, 217, LOCATE_kernel___Int_____minus
};
711 val_t
*variable
= NULL
;
712 void **closurevariable
= NULL
;
713 trace
.prev
= tracehead
; tracehead
= &trace
;
714 trace
.file
= LOCATE_kernel
;
715 tracehead
= trace
.prev
;
716 return TAG_Int(UNTAG_Int( self
)-UNTAG_Int( param0
));
718 val_t
kernel___Int___distance(val_t self
, val_t param0
) {
719 struct trace_t trace
= {NULL
, NULL
, 229, LOCATE_kernel___Int___distance
};
721 void **closurevariable
= NULL
;
722 trace
.prev
= tracehead
; tracehead
= &trace
;
723 trace
.file
= LOCATE_kernel
;
725 variable
[1] = param0
;
726 variable
[4] = variable
[0];
727 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int( variable
[1] /*i*/));
728 variable
[3] = variable
[4];
729 variable
[4] = TAG_Bool(UNTAG_Int( variable
[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
730 if (UNTAG_Bool(variable
[4])) { /*if*/
731 variable
[2] = variable
[3] /*d*/;
734 variable
[4] = TAG_Int(-UNTAG_Int( variable
[3] /*d*/));
735 variable
[2] = variable
[4];
738 return_label19
: while(false);
739 tracehead
= trace
.prev
;
742 val_t
kernel___Int___unary__minus(val_t self
) {
743 struct trace_t trace
= {NULL
, NULL
, 216, LOCATE_kernel___Int___unary__minus
};
744 val_t
*variable
= NULL
;
745 void **closurevariable
= NULL
;
746 trace
.prev
= tracehead
; tracehead
= &trace
;
747 trace
.file
= LOCATE_kernel
;
748 tracehead
= trace
.prev
;
749 return TAG_Int(-UNTAG_Int( self
));
751 val_t
kernel___Int_____star(val_t self
, val_t param0
) {
752 struct trace_t trace
= {NULL
, NULL
, 218, LOCATE_kernel___Int_____star
};
753 val_t
*variable
= NULL
;
754 void **closurevariable
= NULL
;
755 trace
.prev
= tracehead
; tracehead
= &trace
;
756 trace
.file
= LOCATE_kernel
;
757 tracehead
= trace
.prev
;
758 return TAG_Int(UNTAG_Int( self
)*UNTAG_Int( param0
));
760 val_t
kernel___Int_____slash(val_t self
, val_t param0
) {
761 struct trace_t trace
= {NULL
, NULL
, 219, LOCATE_kernel___Int_____slash
};
762 val_t
*variable
= NULL
;
763 void **closurevariable
= NULL
;
764 trace
.prev
= tracehead
; tracehead
= &trace
;
765 trace
.file
= LOCATE_kernel
;
766 tracehead
= trace
.prev
;
767 return TAG_Int(UNTAG_Int( self
)/UNTAG_Int( param0
));
769 val_t
kernel___Int_____percent(val_t self
, val_t param0
) {
770 struct trace_t trace
= {NULL
, NULL
, 220, LOCATE_kernel___Int_____percent
};
771 val_t
*variable
= NULL
;
772 void **closurevariable
= NULL
;
773 trace
.prev
= tracehead
; tracehead
= &trace
;
774 trace
.file
= LOCATE_kernel
;
775 tracehead
= trace
.prev
;
776 return TAG_Int(UNTAG_Int( self
)%UNTAG_Int( param0
));
778 val_t
kernel___Int___lshift(val_t self
, val_t param0
) {
779 struct trace_t trace
= {NULL
, NULL
, 221, LOCATE_kernel___Int___lshift
};
780 val_t
*variable
= NULL
;
781 void **closurevariable
= NULL
;
782 trace
.prev
= tracehead
; tracehead
= &trace
;
783 trace
.file
= LOCATE_kernel
;
784 tracehead
= trace
.prev
;
785 return TAG_Int(UNTAG_Int( self
)<<UNTAG_Int( param0
));
787 val_t
kernel___Int___rshift(val_t self
, val_t param0
) {
788 struct trace_t trace
= {NULL
, NULL
, 222, LOCATE_kernel___Int___rshift
};
789 val_t
*variable
= NULL
;
790 void **closurevariable
= NULL
;
791 trace
.prev
= tracehead
; tracehead
= &trace
;
792 trace
.file
= LOCATE_kernel
;
793 tracehead
= trace
.prev
;
794 return TAG_Int(UNTAG_Int( self
)>>UNTAG_Int( param0
));
796 val_t
kernel___Int___to_f(val_t self
) {
797 struct trace_t trace
= {NULL
, NULL
, 224, LOCATE_kernel___Int___to_f
};
798 val_t
*variable
= NULL
;
799 void **closurevariable
= NULL
;
800 trace
.prev
= tracehead
; tracehead
= &trace
;
801 trace
.file
= LOCATE_kernel
;
802 tracehead
= trace
.prev
;
803 return BOX_Float((float)UNTAG_Int( self
));
805 val_t
kernel___Int___ascii(val_t self
) {
806 struct trace_t trace
= {NULL
, NULL
, 277, LOCATE_kernel___Int___ascii
};
807 val_t
*variable
= NULL
;
808 void **closurevariable
= NULL
;
809 trace
.prev
= tracehead
; tracehead
= &trace
;
810 trace
.file
= LOCATE_kernel
;
811 tracehead
= trace
.prev
;
812 return TAG_Char(UNTAG_Int( self
));
814 val_t
kernel___Int___digit_count(val_t self
, val_t param0
) {
815 struct trace_t trace
= {NULL
, NULL
, 280, LOCATE_kernel___Int___digit_count
};
817 void **closurevariable
= NULL
;
818 trace
.prev
= tracehead
; tracehead
= &trace
;
819 trace
.file
= LOCATE_kernel
;
821 variable
[1] = param0
;
822 /*variable[3] is variable d*/
823 /*variable[4] is variable n*/
824 variable
[5] = variable
[0];
825 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])<UNTAG_Int( TAG_Int(0)));
826 if (UNTAG_Bool(variable
[5])) { /*if*/
827 variable
[3] = TAG_Int(1) /*d=*/;
828 variable
[5] = variable
[0];
829 variable
[5] = TAG_Int(-UNTAG_Int(variable
[5]));
830 variable
[4] = variable
[5] /*n=*/;
832 variable
[5] = variable
[0];
833 variable
[5] = TAG_Bool((variable
[5])==( TAG_Int(0)));
834 if (UNTAG_Bool(variable
[5])) { /*if*/
835 variable
[2] = TAG_Int(1);
838 variable
[3] = TAG_Int(0) /*d=*/;
839 variable
[5] = variable
[0];
840 variable
[4] = variable
[5] /*n=*/;
843 while (true) { /*while*/
844 variable
[5] = TAG_Bool(UNTAG_Int( variable
[4] /*n*/)>UNTAG_Int( TAG_Int(0)));
845 if (!UNTAG_Bool(variable
[5])) break; /* while*/
846 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])+UNTAG_Int( TAG_Int(1))) /*d*/;
847 variable
[5] = TAG_Int(UNTAG_Int( variable
[4] /*n*/)/UNTAG_Int( variable
[1] /*b*/));
848 variable
[4] = variable
[5] /*n=*/;
849 continue_21
: while(0);
852 variable
[2] = variable
[3] /*d*/;
854 return_label20
: while(false);
855 tracehead
= trace
.prev
;
858 val_t
kernel___Int___to_c(val_t self
) {
859 struct trace_t trace
= {NULL
, NULL
, 303, LOCATE_kernel___Int___to_c
};
861 void **closurevariable
= NULL
;
862 trace
.prev
= tracehead
; tracehead
= &trace
;
863 trace
.file
= LOCATE_kernel
;
865 variable
[2] = variable
[0];
866 variable
[2] = TAG_Bool(UNTAG_Int(variable
[2])>=UNTAG_Int( TAG_Int(0)));
867 variable
[3] = variable
[2];
868 if (UNTAG_Bool(variable
[3])) { /* and */
869 variable
[3] = variable
[0];
870 variable
[3] = TAG_Bool(UNTAG_Int(variable
[3])<=UNTAG_Int( TAG_Int(36)));
872 variable
[2] = variable
[3];
873 if (!UNTAG_Bool(variable
[2])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c
, LOCATE_kernel
, 308); nit_exit(1);}
874 variable
[2] = variable
[0];
875 variable
[2] = TAG_Bool(UNTAG_Int(variable
[2])<UNTAG_Int( TAG_Int(10)));
876 if (UNTAG_Bool(variable
[2])) { /*if*/
877 variable
[2] = variable
[0];
878 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
879 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int(variable
[3]));
880 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
881 variable
[1] = variable
[2];
884 variable
[2] = variable
[0];
885 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
886 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])-UNTAG_Int( TAG_Int(10)));
887 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int(variable
[3]));
888 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
889 variable
[1] = variable
[2];
892 return_label22
: while(false);
893 tracehead
= trace
.prev
;
896 val_t
kernel___Char___object_id(val_t self
) {
897 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_kernel___Char___object_id
};
898 val_t
*variable
= NULL
;
899 void **closurevariable
= NULL
;
900 trace
.prev
= tracehead
; tracehead
= &trace
;
901 trace
.file
= LOCATE_kernel
;
902 tracehead
= trace
.prev
;
903 return TAG_Int(UNTAG_Char( self
));
905 val_t
kernel___Char_____eqeq(val_t self
, val_t param0
) {
906 struct trace_t trace
= {NULL
, NULL
, 325, LOCATE_kernel___Char_____eqeq
};
907 val_t
*variable
= NULL
;
908 void **closurevariable
= NULL
;
909 trace
.prev
= tracehead
; tracehead
= &trace
;
910 trace
.file
= LOCATE_kernel
;
911 tracehead
= trace
.prev
;
912 return TAG_Bool(( self
)==( param0
));
914 val_t
kernel___Char_____neq(val_t self
, val_t param0
) {
915 struct trace_t trace
= {NULL
, NULL
, 326, LOCATE_kernel___Char_____neq
};
916 val_t
*variable
= NULL
;
917 void **closurevariable
= NULL
;
918 trace
.prev
= tracehead
; tracehead
= &trace
;
919 trace
.file
= LOCATE_kernel
;
920 tracehead
= trace
.prev
;
921 return TAG_Bool(( self
)!=( param0
));
923 void kernel___Char___output(val_t self
) {
924 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_kernel___Char___output
};
925 val_t
*variable
= NULL
;
926 void **closurevariable
= NULL
;
927 trace
.prev
= tracehead
; tracehead
= &trace
;
928 trace
.file
= LOCATE_kernel
;
929 printf("%c", (unsigned char)UNTAG_Char( self
));
930 tracehead
= trace
.prev
;
933 val_t
kernel___Char_____l(val_t self
, val_t param0
) {
934 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_kernel___Char_____l
};
935 val_t
*variable
= NULL
;
936 void **closurevariable
= NULL
;
937 trace
.prev
= tracehead
; tracehead
= &trace
;
938 trace
.file
= LOCATE_kernel
;
939 tracehead
= trace
.prev
;
940 return TAG_Bool(UNTAG_Char( self
)<UNTAG_Char( param0
));
942 val_t
kernel___Char_____leq(val_t self
, val_t param0
) {
943 struct trace_t trace
= {NULL
, NULL
, 329, LOCATE_kernel___Char_____leq
};
944 val_t
*variable
= NULL
;
945 void **closurevariable
= NULL
;
946 trace
.prev
= tracehead
; tracehead
= &trace
;
947 trace
.file
= LOCATE_kernel
;
948 tracehead
= trace
.prev
;
949 return TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( param0
));
951 val_t
kernel___Char_____geq(val_t self
, val_t param0
) {
952 struct trace_t trace
= {NULL
, NULL
, 331, LOCATE_kernel___Char_____geq
};
953 val_t
*variable
= NULL
;
954 void **closurevariable
= NULL
;
955 trace
.prev
= tracehead
; tracehead
= &trace
;
956 trace
.file
= LOCATE_kernel
;
957 tracehead
= trace
.prev
;
958 return TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( param0
));
960 val_t
kernel___Char_____g(val_t self
, val_t param0
) {
961 struct trace_t trace
= {NULL
, NULL
, 332, LOCATE_kernel___Char_____g
};
962 val_t
*variable
= NULL
;
963 void **closurevariable
= NULL
;
964 trace
.prev
= tracehead
; tracehead
= &trace
;
965 trace
.file
= LOCATE_kernel
;
966 tracehead
= trace
.prev
;
967 return TAG_Bool(UNTAG_Char( self
)>UNTAG_Char( param0
));
969 val_t
kernel___Char___succ(val_t self
) {
970 struct trace_t trace
= {NULL
, NULL
, 334, LOCATE_kernel___Char___succ
};
971 val_t
*variable
= NULL
;
972 void **closurevariable
= NULL
;
973 trace
.prev
= tracehead
; tracehead
= &trace
;
974 trace
.file
= LOCATE_kernel
;
975 tracehead
= trace
.prev
;
976 return TAG_Char(UNTAG_Char( self
)+1);
978 val_t
kernel___Char___prec(val_t self
) {
979 struct trace_t trace
= {NULL
, NULL
, 335, LOCATE_kernel___Char___prec
};
980 val_t
*variable
= NULL
;
981 void **closurevariable
= NULL
;
982 trace
.prev
= tracehead
; tracehead
= &trace
;
983 trace
.file
= LOCATE_kernel
;
984 tracehead
= trace
.prev
;
985 return TAG_Char(UNTAG_Char( self
)-1);
987 val_t
kernel___Char_____plus(val_t self
, val_t param0
) {
988 struct trace_t trace
= {NULL
, NULL
, 363, LOCATE_kernel___Char_____plus
};
989 val_t
*variable
= NULL
;
990 void **closurevariable
= NULL
;
991 trace
.prev
= tracehead
; tracehead
= &trace
;
992 trace
.file
= LOCATE_kernel
;
993 tracehead
= trace
.prev
;
994 return TAG_Char(UNTAG_Char( self
)+UNTAG_Char( param0
));
996 val_t
kernel___Char_____minus(val_t self
, val_t param0
) {
997 struct trace_t trace
= {NULL
, NULL
, 364, LOCATE_kernel___Char_____minus
};
998 val_t
*variable
= NULL
;
999 void **closurevariable
= NULL
;
1000 trace
.prev
= tracehead
; tracehead
= &trace
;
1001 trace
.file
= LOCATE_kernel
;
1002 tracehead
= trace
.prev
;
1003 return TAG_Char(UNTAG_Char( self
)-UNTAG_Char( param0
));
1005 val_t
kernel___Char___distance(val_t self
, val_t param0
) {
1006 struct trace_t trace
= {NULL
, NULL
, 337, LOCATE_kernel___Char___distance
};
1008 void **closurevariable
= NULL
;
1009 trace
.prev
= tracehead
; tracehead
= &trace
;
1010 trace
.file
= LOCATE_kernel
;
1012 variable
[1] = param0
;
1013 variable
[4] = variable
[0];
1014 variable
[4] = TAG_Int((unsigned char)UNTAG_Char(variable
[4]));
1015 variable
[5] = TAG_Int((unsigned char)UNTAG_Char( variable
[1] /*c*/));
1016 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int(variable
[5]));
1017 variable
[3] = variable
[4];
1018 variable
[4] = TAG_Bool(UNTAG_Int( variable
[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
1019 if (UNTAG_Bool(variable
[4])) { /*if*/
1020 variable
[2] = variable
[3] /*d*/;
1021 goto return_label23
;
1023 variable
[4] = TAG_Int(-UNTAG_Int( variable
[3] /*d*/));
1024 variable
[2] = variable
[4];
1025 goto return_label23
;
1027 return_label23
: while(false);
1028 tracehead
= trace
.prev
;
1031 val_t
kernel___Char___to_i(val_t self
) {
1032 struct trace_t trace
= {NULL
, NULL
, 347, LOCATE_kernel___Char___to_i
};
1034 void **closurevariable
= NULL
;
1035 trace
.prev
= tracehead
; tracehead
= &trace
;
1036 trace
.file
= LOCATE_kernel
;
1038 variable
[2] = variable
[0];
1039 variable
[2] = TAG_Bool((variable
[2])==( TAG_Char('-')));
1040 if (UNTAG_Bool(variable
[2])) { /*if*/
1041 variable
[2] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
1042 variable
[1] = variable
[2];
1043 goto return_label24
;
1045 variable
[2] = variable
[0];
1046 variable
[2] = TAG_Bool(UNTAG_Char(variable
[2])>=UNTAG_Char( TAG_Char('0')));
1047 variable
[3] = variable
[2];
1048 if (UNTAG_Bool(variable
[3])) { /* and */
1049 variable
[3] = variable
[0];
1050 variable
[3] = TAG_Bool(UNTAG_Char(variable
[3])<=UNTAG_Char( TAG_Char('9')));
1052 variable
[2] = variable
[3];
1053 if (UNTAG_Bool(variable
[2])) { /*if*/
1054 variable
[2] = variable
[0];
1055 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[2]));
1056 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
1057 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1058 variable
[1] = variable
[2];
1059 goto return_label24
;
1061 variable
[2] = variable
[0];
1062 variable
[2] = CALL_kernel___Char___to_lower(variable
[2])(variable
[2]) /*Char::to_lower*/;
1063 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[2]));
1064 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
1065 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])+UNTAG_Int( TAG_Int(10)));
1066 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1067 variable
[1] = variable
[2];
1068 goto return_label24
;
1071 return_label24
: while(false);
1072 tracehead
= trace
.prev
;
1075 val_t
kernel___Char___ascii(val_t self
) {
1076 struct trace_t trace
= {NULL
, NULL
, 360, LOCATE_kernel___Char___ascii
};
1077 val_t
*variable
= NULL
;
1078 void **closurevariable
= NULL
;
1079 trace
.prev
= tracehead
; tracehead
= &trace
;
1080 trace
.file
= LOCATE_kernel
;
1081 tracehead
= trace
.prev
;
1082 return TAG_Int((unsigned char)UNTAG_Char( self
));
1084 val_t
kernel___Char___to_lower(val_t self
) {
1085 struct trace_t trace
= {NULL
, NULL
, 366, LOCATE_kernel___Char___to_lower
};
1087 void **closurevariable
= NULL
;
1088 trace
.prev
= tracehead
; tracehead
= &trace
;
1089 trace
.file
= LOCATE_kernel
;
1091 variable
[2] = variable
[0];
1092 variable
[2] = TAG_Bool(UNTAG_Char(variable
[2])>=UNTAG_Char( TAG_Char('A')));
1093 variable
[3] = variable
[2];
1094 if (UNTAG_Bool(variable
[3])) { /* and */
1095 variable
[3] = variable
[0];
1096 variable
[3] = TAG_Bool(UNTAG_Char(variable
[3])<=UNTAG_Char( TAG_Char('Z')));
1098 variable
[2] = variable
[3];
1099 if (UNTAG_Bool(variable
[2])) { /*if*/
1100 variable
[2] = variable
[0];
1101 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[2]));
1102 variable
[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1103 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int(variable
[3]));
1104 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
1105 variable
[1] = variable
[2];
1106 goto return_label25
;
1108 variable
[2] = variable
[0];
1109 variable
[1] = variable
[2];
1110 goto return_label25
;
1112 return_label25
: while(false);
1113 tracehead
= trace
.prev
;
1116 val_t
kernel___Char___to_upper(val_t self
) {
1117 struct trace_t trace
= {NULL
, NULL
, 376, LOCATE_kernel___Char___to_upper
};
1119 void **closurevariable
= NULL
;
1120 trace
.prev
= tracehead
; tracehead
= &trace
;
1121 trace
.file
= LOCATE_kernel
;
1123 variable
[2] = variable
[0];
1124 variable
[2] = TAG_Bool(UNTAG_Char(variable
[2])>=UNTAG_Char( TAG_Char('a')));
1125 variable
[3] = variable
[2];
1126 if (UNTAG_Bool(variable
[3])) { /* and */
1127 variable
[3] = variable
[0];
1128 variable
[3] = TAG_Bool(UNTAG_Char(variable
[3])<=UNTAG_Char( TAG_Char('z')));
1130 variable
[2] = variable
[3];
1131 if (UNTAG_Bool(variable
[2])) { /*if*/
1132 variable
[2] = variable
[0];
1133 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[2]));
1134 variable
[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1135 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1136 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
1137 variable
[1] = variable
[2];
1138 goto return_label26
;
1140 variable
[2] = variable
[0];
1141 variable
[1] = variable
[2];
1142 goto return_label26
;
1144 return_label26
: while(false);
1145 tracehead
= trace
.prev
;