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 struct WBT_
**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 struct WBT_
**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 struct WBT_
**closurevariable
= NULL
;
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 trace
.file
= LOCATE_kernel
;
27 /* Register variable[0]: Local variable */
29 /* Register variable[1]: Local variable */
31 /* Register variable[2]: Method return value and escape marker */
32 /* Register variable[3]: Result */
33 variable
[3] = TAG_Bool(IS_EQUAL_NN(variable
[0], variable
[1] /*other*/));
34 variable
[2] = variable
[3];
36 return_label0
: while(false);
37 tracehead
= trace
.prev
;
40 val_t
kernel___Object_____neq(val_t self
, val_t param0
) {
41 struct trace_t trace
= {NULL
, NULL
, 37, LOCATE_kernel___Object_____neq
};
43 struct WBT_
**closurevariable
= NULL
;
44 trace
.prev
= tracehead
; tracehead
= &trace
;
45 trace
.file
= LOCATE_kernel
;
46 /* Register variable[0]: Local variable */
48 /* Register variable[1]: Local variable */
50 /* Register variable[2]: Method return value and escape marker */
51 /* Register variable[3]: Result */
52 variable
[3] = TAG_Bool((variable
[0] == variable
[1] /*other*/) || ((variable
[0] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[0])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[0], variable
[1] /*other*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[0])(variable
[0], variable
[1] /*other*/) /*Object::==*/)))));
53 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
55 return_label1
: while(false);
56 tracehead
= trace
.prev
;
59 void kernel___Object___output(val_t self
) {
60 struct trace_t trace
= {NULL
, NULL
, 42, LOCATE_kernel___Object___output
};
62 struct WBT_
**closurevariable
= NULL
;
63 trace
.prev
= tracehead
; tracehead
= &trace
;
64 trace
.file
= LOCATE_kernel
;
65 /* Register variable[0]: Local variable */
67 /* Register variable[1]: Method return value and escape marker */
68 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
69 /* Register variable[2]: Result */
70 variable
[2] = TAG_Int((bigint
)variable
[0]);
71 printf("%ld\n", UNTAG_Int(variable
[2]));
72 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
73 return_label2
: while(false);
74 tracehead
= trace
.prev
;
77 void kernel___Object___exit(val_t self
, val_t param0
) {
78 struct trace_t trace
= {NULL
, NULL
, 50, LOCATE_kernel___Object___exit
};
79 val_t
*variable
= NULL
;
80 struct WBT_
**closurevariable
= NULL
;
81 trace
.prev
= tracehead
; tracehead
= &trace
;
82 trace
.file
= LOCATE_kernel
;
83 exit(UNTAG_Int( param0
));
84 tracehead
= trace
.prev
;
87 val_t
kernel___Object___sys(val_t self
) {
88 struct trace_t trace
= {NULL
, NULL
, 51, LOCATE_kernel___Object___sys
};
89 val_t
*variable
= NULL
;
90 struct WBT_
**closurevariable
= NULL
;
91 trace
.prev
= tracehead
; tracehead
= &trace
;
92 trace
.file
= LOCATE_kernel
;
93 tracehead
= trace
.prev
;
96 void kernel___Sys___main(val_t self
) {
97 struct trace_t trace
= {NULL
, NULL
, 56, LOCATE_kernel___Sys___main
};
99 struct WBT_
**closurevariable
= NULL
;
100 trace
.prev
= tracehead
; tracehead
= &trace
;
101 trace
.file
= LOCATE_kernel
;
102 /* Register variable[0]: Local variable */
104 /* Register variable[1]: Method return value and escape marker */
105 return_label3
: while(false);
106 tracehead
= trace
.prev
;
109 void kernel___Sys___init(val_t self
, int* init_table
) {
110 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_kernel___Sys___init
};
111 val_t
*variable
= NULL
;
112 struct WBT_
**closurevariable
= NULL
;
113 trace
.prev
= tracehead
; tracehead
= &trace
;
114 trace
.file
= LOCATE_kernel
;
115 tracehead
= trace
.prev
;
118 val_t
kernel___Comparable_____l(val_t self
, val_t param0
) {
119 struct trace_t trace
= {NULL
, NULL
, 69, LOCATE_kernel___Comparable_____l
};
120 val_t
*variable
= NULL
;
121 struct WBT_
**closurevariable
= NULL
;
122 trace
.prev
= tracehead
; tracehead
= &trace
;
123 trace
.file
= LOCATE_kernel
;
124 fprintf(stderr
, "Deferred method called");
125 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 69);
127 tracehead
= trace
.prev
;
130 val_t
kernel___Comparable_____leq(val_t self
, val_t param0
) {
131 struct trace_t trace
= {NULL
, NULL
, 72, LOCATE_kernel___Comparable_____leq
};
133 struct WBT_
**closurevariable
= NULL
;
134 trace
.prev
= tracehead
; tracehead
= &trace
;
135 trace
.file
= LOCATE_kernel
;
136 /* Register variable[0]: Local variable */
138 /* Register variable[1]: Local variable */
139 variable
[1] = param0
;
140 /* Register variable[2]: Method return value and escape marker */
141 /* Register variable[3]: Result */
142 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[0]) /*Comparable::<*/;
143 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
145 return_label4
: while(false);
146 tracehead
= trace
.prev
;
149 val_t
kernel___Comparable_____geq(val_t self
, val_t param0
) {
150 struct trace_t trace
= {NULL
, NULL
, 75, LOCATE_kernel___Comparable_____geq
};
152 struct WBT_
**closurevariable
= NULL
;
153 trace
.prev
= tracehead
; tracehead
= &trace
;
154 trace
.file
= LOCATE_kernel
;
155 /* Register variable[0]: Local variable */
157 /* Register variable[1]: Local variable */
158 variable
[1] = param0
;
159 /* Register variable[2]: Method return value and escape marker */
160 /* Register variable[3]: Result */
161 variable
[3] = CALL_kernel___Comparable_____l(variable
[0])(variable
[0], variable
[1] /*other*/) /*Comparable::<*/;
162 variable
[2] = TAG_Bool(!UNTAG_Bool(variable
[3]));
164 return_label5
: while(false);
165 tracehead
= trace
.prev
;
168 val_t
kernel___Comparable_____g(val_t self
, val_t param0
) {
169 struct trace_t trace
= {NULL
, NULL
, 78, LOCATE_kernel___Comparable_____g
};
171 struct WBT_
**closurevariable
= NULL
;
172 trace
.prev
= tracehead
; tracehead
= &trace
;
173 trace
.file
= LOCATE_kernel
;
174 /* Register variable[0]: Local variable */
176 /* Register variable[1]: Local variable */
177 variable
[1] = param0
;
178 /* Register variable[2]: Method return value and escape marker */
179 /* Register variable[3]: Result */
180 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[0]) /*Comparable::<*/;
181 variable
[2] = variable
[3];
183 return_label6
: while(false);
184 tracehead
= trace
.prev
;
187 val_t
kernel___Comparable_____leqg(val_t self
, val_t param0
) {
188 struct trace_t trace
= {NULL
, NULL
, 81, LOCATE_kernel___Comparable_____leqg
};
190 struct WBT_
**closurevariable
= NULL
;
191 trace
.prev
= tracehead
; tracehead
= &trace
;
192 trace
.file
= LOCATE_kernel
;
193 /* Register variable[0]: Local variable */
195 /* Register variable[1]: Local variable */
196 variable
[1] = param0
;
197 /* Register variable[2]: Method return value and escape marker */
198 /* Register variable[3]: Result */
199 variable
[3] = CALL_kernel___Comparable_____l(variable
[0])(variable
[0], variable
[1] /*other*/) /*Comparable::<*/;
200 if (UNTAG_Bool(variable
[3])) { /*if*/
201 /* Register variable[3]: Result */
202 variable
[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
203 variable
[2] = variable
[3];
206 /* Register variable[3]: Result */
207 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*other*/)( variable
[1] /*other*/, variable
[0]) /*Comparable::<*/;
208 if (UNTAG_Bool(variable
[3])) { /*if*/
209 variable
[2] = TAG_Int(1);
212 variable
[2] = TAG_Int(0);
216 return_label7
: while(false);
217 tracehead
= trace
.prev
;
220 val_t
kernel___Comparable___is_between(val_t self
, val_t param0
, val_t param1
) {
221 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_kernel___Comparable___is_between
};
223 struct WBT_
**closurevariable
= NULL
;
224 trace
.prev
= tracehead
; tracehead
= &trace
;
225 trace
.file
= LOCATE_kernel
;
226 /* Register variable[0]: Local variable */
228 /* Register variable[1]: Local variable */
229 variable
[1] = param0
;
230 /* Register variable[2]: Local variable */
231 variable
[2] = param1
;
232 /* Register variable[3]: Method return value and escape marker */
233 /* Register variable[4]: Result */
234 variable
[4] = CALL_kernel___Comparable_____leq( variable
[1] /*c*/)( variable
[1] /*c*/, variable
[0]) /*Comparable::<=*/;
235 /* Ensure var variable[4]: Left 'and' operand*/
236 if (UNTAG_Bool(variable
[4])) { /* and */
237 /* Register variable[4]: Result */
238 variable
[4] = CALL_kernel___Comparable_____leq(variable
[0])(variable
[0], variable
[2] /*d*/) /*Comparable::<=*/;
240 /* Register variable[4]: Result */
241 variable
[3] = variable
[4];
243 return_label8
: while(false);
244 tracehead
= trace
.prev
;
247 val_t
kernel___Comparable___max(val_t self
, val_t param0
) {
248 struct trace_t trace
= {NULL
, NULL
, 99, LOCATE_kernel___Comparable___max
};
250 struct WBT_
**closurevariable
= NULL
;
251 trace
.prev
= tracehead
; tracehead
= &trace
;
252 trace
.file
= LOCATE_kernel
;
253 /* Register variable[0]: Local variable */
255 /* Register variable[1]: Local variable */
256 variable
[1] = param0
;
257 /* Register variable[2]: Method return value and escape marker */
258 /* Register variable[3]: Result */
259 variable
[3] = CALL_kernel___Comparable_____l(variable
[0])(variable
[0], variable
[1] /*other*/) /*Comparable::<*/;
260 if (UNTAG_Bool(variable
[3])) { /*if*/
261 variable
[2] = variable
[1] /*other*/;
264 variable
[2] = variable
[0];
267 return_label9
: while(false);
268 tracehead
= trace
.prev
;
271 val_t
kernel___Comparable___min(val_t self
, val_t param0
) {
272 struct trace_t trace
= {NULL
, NULL
, 109, LOCATE_kernel___Comparable___min
};
274 struct WBT_
**closurevariable
= NULL
;
275 trace
.prev
= tracehead
; tracehead
= &trace
;
276 trace
.file
= LOCATE_kernel
;
277 /* Register variable[0]: Local variable */
279 /* Register variable[1]: Local variable */
280 variable
[1] = param0
;
281 /* Register variable[2]: Method return value and escape marker */
282 /* Register variable[3]: Result */
283 variable
[3] = CALL_kernel___Comparable_____l( variable
[1] /*c*/)( variable
[1] /*c*/, variable
[0]) /*Comparable::<*/;
284 if (UNTAG_Bool(variable
[3])) { /*if*/
285 variable
[2] = variable
[1] /*c*/;
288 variable
[2] = variable
[0];
291 return_label10
: while(false);
292 tracehead
= trace
.prev
;
295 val_t
kernel___Discrete___succ(val_t self
) {
296 struct trace_t trace
= {NULL
, NULL
, 126, LOCATE_kernel___Discrete___succ
};
298 struct WBT_
**closurevariable
= NULL
;
299 trace
.prev
= tracehead
; tracehead
= &trace
;
300 trace
.file
= LOCATE_kernel
;
301 /* Register variable[0]: Local variable */
303 /* Register variable[1]: Method return value and escape marker */
304 /* Register variable[2]: Result */
305 variable
[2] = CALL_kernel___Discrete_____plus(variable
[0])(variable
[0], TAG_Int(1)) /*Discrete::+*/;
306 variable
[1] = variable
[2];
308 return_label11
: while(false);
309 tracehead
= trace
.prev
;
312 val_t
kernel___Discrete___prec(val_t self
) {
313 struct trace_t trace
= {NULL
, NULL
, 129, LOCATE_kernel___Discrete___prec
};
315 struct WBT_
**closurevariable
= NULL
;
316 trace
.prev
= tracehead
; tracehead
= &trace
;
317 trace
.file
= LOCATE_kernel
;
318 /* Register variable[0]: Local variable */
320 /* Register variable[1]: Method return value and escape marker */
321 /* Register variable[2]: Result */
322 variable
[2] = CALL_kernel___Discrete_____minus(variable
[0])(variable
[0], TAG_Int(1)) /*Discrete::-*/;
323 variable
[1] = variable
[2];
325 return_label12
: while(false);
326 tracehead
= trace
.prev
;
329 val_t
kernel___Discrete_____plus(val_t self
, val_t param0
) {
330 struct trace_t trace
= {NULL
, NULL
, 132, LOCATE_kernel___Discrete_____plus
};
331 val_t
*variable
= NULL
;
332 struct WBT_
**closurevariable
= NULL
;
333 trace
.prev
= tracehead
; tracehead
= &trace
;
334 trace
.file
= LOCATE_kernel
;
335 fprintf(stderr
, "Deferred method called");
336 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 132);
338 tracehead
= trace
.prev
;
341 val_t
kernel___Discrete_____minus(val_t self
, val_t param0
) {
342 struct trace_t trace
= {NULL
, NULL
, 135, LOCATE_kernel___Discrete_____minus
};
343 val_t
*variable
= NULL
;
344 struct WBT_
**closurevariable
= NULL
;
345 trace
.prev
= tracehead
; tracehead
= &trace
;
346 trace
.file
= LOCATE_kernel
;
347 fprintf(stderr
, "Deferred method called");
348 fprintf(stderr
, " (%s:%d)\n", LOCATE_kernel
, 135);
350 tracehead
= trace
.prev
;
353 val_t
kernel___Discrete___distance(val_t self
, val_t param0
) {
354 struct trace_t trace
= {NULL
, NULL
, 138, LOCATE_kernel___Discrete___distance
};
356 struct WBT_
**closurevariable
= NULL
;
357 trace
.prev
= tracehead
; tracehead
= &trace
;
358 trace
.file
= LOCATE_kernel
;
359 /* Register variable[0]: Local variable */
361 /* Register variable[1]: Local variable */
362 variable
[1] = param0
;
363 /* Register variable[2]: Method return value and escape marker */
364 /* Register variable[3]: Local variable */
365 /*variable[3] is variable cursor*/
366 /* Register variable[4]: Local variable */
367 /*variable[4] is variable stop*/
368 /* Register variable[5]: Result */
369 variable
[5] = CALL_kernel___Comparable_____l(variable
[0])(variable
[0], variable
[1] /*d*/) /*Comparable::<*/;
370 if (UNTAG_Bool(variable
[5])) { /*if*/
371 variable
[3] = variable
[0] /*cursor=*/;
372 variable
[4] = variable
[1] /*d*/ /*stop=*/;
374 /* Register variable[5]: Result */
375 variable
[5] = CALL_kernel___Comparable_____g(variable
[0])(variable
[0], variable
[1] /*d*/) /*Comparable::>*/;
376 if (UNTAG_Bool(variable
[5])) { /*if*/
377 variable
[3] = variable
[1] /*d*/ /*cursor=*/;
378 variable
[4] = variable
[0] /*stop=*/;
380 variable
[2] = TAG_Int(0);
384 /* Register variable[5]: Local variable */
385 variable
[5] = TAG_Int(0);
386 while (true) { /*while*/
387 /* Register variable[6]: Result */
388 variable
[6] = CALL_kernel___Comparable_____l( variable
[3] /*cursor*/)( variable
[3] /*cursor*/, variable
[4] /*stop*/) /*Comparable::<*/;
389 if (!UNTAG_Bool(variable
[6])) break; /* while*/
390 /* Register variable[6]: Result */
391 variable
[6] = CALL_kernel___Discrete___succ( variable
[3] /*cursor*/)( variable
[3] /*cursor*/) /*Discrete::succ*/;
392 variable
[3] = variable
[6] /*cursor=*/;
393 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( TAG_Int(1))) /*nb*/;
394 continue_14
: while(0);
397 variable
[2] = variable
[5] /*nb*/;
399 return_label13
: while(false);
400 tracehead
= trace
.prev
;
403 val_t
kernel___Bool___object_id(val_t self
) {
404 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_kernel___Bool___object_id
};
405 val_t
*variable
= NULL
;
406 struct WBT_
**closurevariable
= NULL
;
407 trace
.prev
= tracehead
; tracehead
= &trace
;
408 trace
.file
= LOCATE_kernel
;
409 tracehead
= trace
.prev
;
410 return TAG_Int(UNTAG_Bool( self
));
412 val_t
kernel___Bool_____eqeq(val_t self
, val_t param0
) {
413 struct trace_t trace
= {NULL
, NULL
, 175, LOCATE_kernel___Bool_____eqeq
};
414 val_t
*variable
= NULL
;
415 struct WBT_
**closurevariable
= NULL
;
416 trace
.prev
= tracehead
; tracehead
= &trace
;
417 trace
.file
= LOCATE_kernel
;
418 tracehead
= trace
.prev
;
419 return TAG_Bool(( self
)==( param0
));
421 val_t
kernel___Bool_____neq(val_t self
, val_t param0
) {
422 struct trace_t trace
= {NULL
, NULL
, 176, LOCATE_kernel___Bool_____neq
};
423 val_t
*variable
= NULL
;
424 struct WBT_
**closurevariable
= NULL
;
425 trace
.prev
= tracehead
; tracehead
= &trace
;
426 trace
.file
= LOCATE_kernel
;
427 tracehead
= trace
.prev
;
428 return TAG_Bool(( self
)!=( param0
));
430 void kernel___Bool___output(val_t self
) {
431 struct trace_t trace
= {NULL
, NULL
, 177, LOCATE_kernel___Bool___output
};
432 val_t
*variable
= NULL
;
433 struct WBT_
**closurevariable
= NULL
;
434 trace
.prev
= tracehead
; tracehead
= &trace
;
435 trace
.file
= LOCATE_kernel
;
436 (void)printf(UNTAG_Bool( self
)?
"true\n":"false\n");
437 tracehead
= trace
.prev
;
440 val_t
kernel___Float___object_id(val_t self
) {
441 struct trace_t trace
= {NULL
, NULL
, 183, LOCATE_kernel___Float___object_id
};
442 val_t
*variable
= NULL
;
443 struct WBT_
**closurevariable
= NULL
;
444 trace
.prev
= tracehead
; tracehead
= &trace
;
445 trace
.file
= LOCATE_kernel
;
446 tracehead
= trace
.prev
;
447 return TAG_Int((bigint
)UNBOX_Float( self
));
449 void kernel___Float___output(val_t self
) {
450 struct trace_t trace
= {NULL
, NULL
, 184, LOCATE_kernel___Float___output
};
451 val_t
*variable
= NULL
;
452 struct WBT_
**closurevariable
= NULL
;
453 trace
.prev
= tracehead
; tracehead
= &trace
;
454 trace
.file
= LOCATE_kernel
;
455 printf("%f\n", UNBOX_Float( self
));
456 tracehead
= trace
.prev
;
459 val_t
kernel___Float_____leq(val_t self
, val_t param0
) {
460 struct trace_t trace
= {NULL
, NULL
, 186, LOCATE_kernel___Float_____leq
};
461 val_t
*variable
= NULL
;
462 struct WBT_
**closurevariable
= NULL
;
463 trace
.prev
= tracehead
; tracehead
= &trace
;
464 trace
.file
= LOCATE_kernel
;
465 tracehead
= trace
.prev
;
466 return TAG_Bool(UNBOX_Float( self
)<=UNBOX_Float( param0
));
468 val_t
kernel___Float_____l(val_t self
, val_t param0
) {
469 struct trace_t trace
= {NULL
, NULL
, 187, LOCATE_kernel___Float_____l
};
470 val_t
*variable
= NULL
;
471 struct WBT_
**closurevariable
= NULL
;
472 trace
.prev
= tracehead
; tracehead
= &trace
;
473 trace
.file
= LOCATE_kernel
;
474 tracehead
= trace
.prev
;
475 return TAG_Bool(UNBOX_Float( self
)<UNBOX_Float( param0
));
477 val_t
kernel___Float_____geq(val_t self
, val_t param0
) {
478 struct trace_t trace
= {NULL
, NULL
, 188, LOCATE_kernel___Float_____geq
};
479 val_t
*variable
= NULL
;
480 struct WBT_
**closurevariable
= NULL
;
481 trace
.prev
= tracehead
; tracehead
= &trace
;
482 trace
.file
= LOCATE_kernel
;
483 tracehead
= trace
.prev
;
484 return TAG_Bool(UNBOX_Float( self
)>=UNBOX_Float( param0
));
486 val_t
kernel___Float_____g(val_t self
, val_t param0
) {
487 struct trace_t trace
= {NULL
, NULL
, 189, LOCATE_kernel___Float_____g
};
488 val_t
*variable
= NULL
;
489 struct WBT_
**closurevariable
= NULL
;
490 trace
.prev
= tracehead
; tracehead
= &trace
;
491 trace
.file
= LOCATE_kernel
;
492 tracehead
= trace
.prev
;
493 return TAG_Bool(UNBOX_Float( self
)>UNBOX_Float( param0
));
495 val_t
kernel___Float_____plus(val_t self
, val_t param0
) {
496 struct trace_t trace
= {NULL
, NULL
, 190, LOCATE_kernel___Float_____plus
};
497 val_t
*variable
= NULL
;
498 struct WBT_
**closurevariable
= NULL
;
499 trace
.prev
= tracehead
; tracehead
= &trace
;
500 trace
.file
= LOCATE_kernel
;
501 tracehead
= trace
.prev
;
502 return BOX_Float(UNBOX_Float( self
)+UNBOX_Float( param0
));
504 val_t
kernel___Float___unary__minus(val_t self
) {
505 struct trace_t trace
= {NULL
, NULL
, 191, LOCATE_kernel___Float___unary__minus
};
506 val_t
*variable
= NULL
;
507 struct WBT_
**closurevariable
= NULL
;
508 trace
.prev
= tracehead
; tracehead
= &trace
;
509 trace
.file
= LOCATE_kernel
;
510 tracehead
= trace
.prev
;
511 return BOX_Float(-UNBOX_Float( self
));
513 val_t
kernel___Float_____minus(val_t self
, val_t param0
) {
514 struct trace_t trace
= {NULL
, NULL
, 192, LOCATE_kernel___Float_____minus
};
515 val_t
*variable
= NULL
;
516 struct WBT_
**closurevariable
= NULL
;
517 trace
.prev
= tracehead
; tracehead
= &trace
;
518 trace
.file
= LOCATE_kernel
;
519 tracehead
= trace
.prev
;
520 return BOX_Float(UNBOX_Float( self
)-UNBOX_Float( param0
));
522 val_t
kernel___Float_____star(val_t self
, val_t param0
) {
523 struct trace_t trace
= {NULL
, NULL
, 193, LOCATE_kernel___Float_____star
};
524 val_t
*variable
= NULL
;
525 struct WBT_
**closurevariable
= NULL
;
526 trace
.prev
= tracehead
; tracehead
= &trace
;
527 trace
.file
= LOCATE_kernel
;
528 tracehead
= trace
.prev
;
529 return BOX_Float(UNBOX_Float( self
)*UNBOX_Float( param0
));
531 val_t
kernel___Float_____slash(val_t self
, val_t param0
) {
532 struct trace_t trace
= {NULL
, NULL
, 194, LOCATE_kernel___Float_____slash
};
533 val_t
*variable
= NULL
;
534 struct WBT_
**closurevariable
= NULL
;
535 trace
.prev
= tracehead
; tracehead
= &trace
;
536 trace
.file
= LOCATE_kernel
;
537 tracehead
= trace
.prev
;
538 return BOX_Float(UNBOX_Float( self
)/UNBOX_Float( param0
));
540 val_t
kernel___Float___to_i(val_t self
) {
541 struct trace_t trace
= {NULL
, NULL
, 196, LOCATE_kernel___Float___to_i
};
542 val_t
*variable
= NULL
;
543 struct WBT_
**closurevariable
= NULL
;
544 trace
.prev
= tracehead
; tracehead
= &trace
;
545 trace
.file
= LOCATE_kernel
;
546 tracehead
= trace
.prev
;
547 return TAG_Int((bigint
)UNBOX_Float( self
));
549 val_t
kernel___Int___object_id(val_t self
) {
550 struct trace_t trace
= {NULL
, NULL
, 206, LOCATE_kernel___Int___object_id
};
551 val_t
*variable
= NULL
;
552 struct WBT_
**closurevariable
= NULL
;
553 trace
.prev
= tracehead
; tracehead
= &trace
;
554 trace
.file
= LOCATE_kernel
;
555 tracehead
= trace
.prev
;
558 val_t
kernel___Int_____eqeq(val_t self
, val_t param0
) {
559 struct trace_t trace
= {NULL
, NULL
, 207, LOCATE_kernel___Int_____eqeq
};
560 val_t
*variable
= NULL
;
561 struct WBT_
**closurevariable
= NULL
;
562 trace
.prev
= tracehead
; tracehead
= &trace
;
563 trace
.file
= LOCATE_kernel
;
564 tracehead
= trace
.prev
;
565 return TAG_Bool(( self
)==( param0
));
567 val_t
kernel___Int_____neq(val_t self
, val_t param0
) {
568 struct trace_t trace
= {NULL
, NULL
, 208, LOCATE_kernel___Int_____neq
};
569 val_t
*variable
= NULL
;
570 struct WBT_
**closurevariable
= NULL
;
571 trace
.prev
= tracehead
; tracehead
= &trace
;
572 trace
.file
= LOCATE_kernel
;
573 tracehead
= trace
.prev
;
574 return TAG_Bool(( self
)!=( param0
));
576 void kernel___Int___output(val_t self
) {
577 struct trace_t trace
= {NULL
, NULL
, 209, LOCATE_kernel___Int___output
};
578 val_t
*variable
= NULL
;
579 struct WBT_
**closurevariable
= NULL
;
580 trace
.prev
= tracehead
; tracehead
= &trace
;
581 trace
.file
= LOCATE_kernel
;
582 printf("%ld\n", UNTAG_Int( self
));
583 tracehead
= trace
.prev
;
586 val_t
kernel___Int_____l(val_t self
, val_t param0
) {
587 struct trace_t trace
= {NULL
, NULL
, 212, LOCATE_kernel___Int_____l
};
588 val_t
*variable
= NULL
;
589 struct WBT_
**closurevariable
= NULL
;
590 trace
.prev
= tracehead
; tracehead
= &trace
;
591 trace
.file
= LOCATE_kernel
;
592 tracehead
= trace
.prev
;
593 return TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( param0
));
595 val_t
kernel___Int_____leq(val_t self
, val_t param0
) {
596 struct trace_t trace
= {NULL
, NULL
, 211, LOCATE_kernel___Int_____leq
};
597 val_t
*variable
= NULL
;
598 struct WBT_
**closurevariable
= NULL
;
599 trace
.prev
= tracehead
; tracehead
= &trace
;
600 trace
.file
= LOCATE_kernel
;
601 tracehead
= trace
.prev
;
602 return TAG_Bool(UNTAG_Int( self
)<=UNTAG_Int( param0
));
604 val_t
kernel___Int_____geq(val_t self
, val_t param0
) {
605 struct trace_t trace
= {NULL
, NULL
, 213, LOCATE_kernel___Int_____geq
};
606 val_t
*variable
= NULL
;
607 struct WBT_
**closurevariable
= NULL
;
608 trace
.prev
= tracehead
; tracehead
= &trace
;
609 trace
.file
= LOCATE_kernel
;
610 tracehead
= trace
.prev
;
611 return TAG_Bool(UNTAG_Int( self
)>=UNTAG_Int( param0
));
613 val_t
kernel___Int_____g(val_t self
, val_t param0
) {
614 struct trace_t trace
= {NULL
, NULL
, 214, LOCATE_kernel___Int_____g
};
615 val_t
*variable
= NULL
;
616 struct WBT_
**closurevariable
= NULL
;
617 trace
.prev
= tracehead
; tracehead
= &trace
;
618 trace
.file
= LOCATE_kernel
;
619 tracehead
= trace
.prev
;
620 return TAG_Bool(UNTAG_Int( self
)>UNTAG_Int( param0
));
622 val_t
kernel___Int_____leqg(val_t self
, val_t param0
) {
623 struct trace_t trace
= {NULL
, NULL
, 239, LOCATE_kernel___Int_____leqg
};
625 struct WBT_
**closurevariable
= NULL
;
626 trace
.prev
= tracehead
; tracehead
= &trace
;
627 trace
.file
= LOCATE_kernel
;
628 /* Register variable[0]: Local variable */
630 /* Register variable[1]: Local variable */
631 variable
[1] = param0
;
632 /* Register variable[2]: Method return value and escape marker */
633 /* Register variable[3]: Result */
634 variable
[3] = TAG_Bool(UNTAG_Int(variable
[0])<UNTAG_Int( variable
[1] /*other*/));
635 if (UNTAG_Bool(variable
[3])) { /*if*/
636 /* Register variable[3]: Result */
637 variable
[3] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
638 variable
[2] = variable
[3];
641 /* Register variable[3]: Result */
642 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*other*/)<UNTAG_Int(variable
[0]));
643 if (UNTAG_Bool(variable
[3])) { /*if*/
644 variable
[2] = TAG_Int(1);
647 variable
[2] = TAG_Int(0);
651 return_label15
: while(false);
652 tracehead
= trace
.prev
;
655 val_t
kernel___Int___is_between(val_t self
, val_t param0
, val_t param1
) {
656 struct trace_t trace
= {NULL
, NULL
, 250, LOCATE_kernel___Int___is_between
};
658 struct WBT_
**closurevariable
= NULL
;
659 trace
.prev
= tracehead
; tracehead
= &trace
;
660 trace
.file
= LOCATE_kernel
;
661 /* Register variable[0]: Local variable */
663 /* Register variable[1]: Local variable */
664 variable
[1] = param0
;
665 /* Register variable[2]: Local variable */
666 variable
[2] = param1
;
667 /* Register variable[3]: Method return value and escape marker */
668 /* Register variable[4]: Result */
669 variable
[4] = TAG_Bool(UNTAG_Int(variable
[0])<UNTAG_Int( variable
[1] /*c*/));
670 /* Ensure var variable[4]: Left 'or' operand*/
671 if (!UNTAG_Bool(variable
[4])) { /* or */
672 /* Register variable[4]: Result */
673 variable
[4] = TAG_Bool(UNTAG_Int( variable
[2] /*d*/)<UNTAG_Int(variable
[0]));
675 /* Register variable[4]: Result */
676 if (UNTAG_Bool(variable
[4])) { /*if*/
677 variable
[3] = TAG_Bool(false);
680 variable
[3] = TAG_Bool(true);
683 return_label16
: while(false);
684 tracehead
= trace
.prev
;
687 val_t
kernel___Int___max(val_t self
, val_t param0
) {
688 struct trace_t trace
= {NULL
, NULL
, 259, LOCATE_kernel___Int___max
};
690 struct WBT_
**closurevariable
= NULL
;
691 trace
.prev
= tracehead
; tracehead
= &trace
;
692 trace
.file
= LOCATE_kernel
;
693 /* Register variable[0]: Local variable */
695 /* Register variable[1]: Local variable */
696 variable
[1] = param0
;
697 /* Register variable[2]: Method return value and escape marker */
698 /* Register variable[3]: Result */
699 variable
[3] = TAG_Bool(UNTAG_Int(variable
[0])<UNTAG_Int( variable
[1] /*other*/));
700 if (UNTAG_Bool(variable
[3])) { /*if*/
701 variable
[2] = variable
[1] /*other*/;
704 variable
[2] = variable
[0];
707 return_label17
: while(false);
708 tracehead
= trace
.prev
;
711 val_t
kernel___Int___min(val_t self
, val_t param0
) {
712 struct trace_t trace
= {NULL
, NULL
, 268, LOCATE_kernel___Int___min
};
714 struct WBT_
**closurevariable
= NULL
;
715 trace
.prev
= tracehead
; tracehead
= &trace
;
716 trace
.file
= LOCATE_kernel
;
717 /* Register variable[0]: Local variable */
719 /* Register variable[1]: Local variable */
720 variable
[1] = param0
;
721 /* Register variable[2]: Method return value and escape marker */
722 /* Register variable[3]: Result */
723 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*c*/)<UNTAG_Int(variable
[0]));
724 if (UNTAG_Bool(variable
[3])) { /*if*/
725 variable
[2] = variable
[1] /*c*/;
728 variable
[2] = variable
[0];
731 return_label18
: while(false);
732 tracehead
= trace
.prev
;
735 val_t
kernel___Int___succ(val_t self
) {
736 struct trace_t trace
= {NULL
, NULL
, 227, LOCATE_kernel___Int___succ
};
737 val_t
*variable
= NULL
;
738 struct WBT_
**closurevariable
= NULL
;
739 trace
.prev
= tracehead
; tracehead
= &trace
;
740 trace
.file
= LOCATE_kernel
;
741 tracehead
= trace
.prev
;
742 return TAG_Int(UNTAG_Int( self
)+1);
744 val_t
kernel___Int___prec(val_t self
) {
745 struct trace_t trace
= {NULL
, NULL
, 228, LOCATE_kernel___Int___prec
};
746 val_t
*variable
= NULL
;
747 struct WBT_
**closurevariable
= NULL
;
748 trace
.prev
= tracehead
; tracehead
= &trace
;
749 trace
.file
= LOCATE_kernel
;
750 tracehead
= trace
.prev
;
751 return TAG_Int(UNTAG_Int( self
)-1);
753 val_t
kernel___Int_____plus(val_t self
, val_t param0
) {
754 struct trace_t trace
= {NULL
, NULL
, 215, LOCATE_kernel___Int_____plus
};
755 val_t
*variable
= NULL
;
756 struct WBT_
**closurevariable
= NULL
;
757 trace
.prev
= tracehead
; tracehead
= &trace
;
758 trace
.file
= LOCATE_kernel
;
759 tracehead
= trace
.prev
;
760 return TAG_Int(UNTAG_Int( self
)+UNTAG_Int( param0
));
762 val_t
kernel___Int_____minus(val_t self
, val_t param0
) {
763 struct trace_t trace
= {NULL
, NULL
, 217, LOCATE_kernel___Int_____minus
};
764 val_t
*variable
= NULL
;
765 struct WBT_
**closurevariable
= NULL
;
766 trace
.prev
= tracehead
; tracehead
= &trace
;
767 trace
.file
= LOCATE_kernel
;
768 tracehead
= trace
.prev
;
769 return TAG_Int(UNTAG_Int( self
)-UNTAG_Int( param0
));
771 val_t
kernel___Int___distance(val_t self
, val_t param0
) {
772 struct trace_t trace
= {NULL
, NULL
, 229, LOCATE_kernel___Int___distance
};
774 struct WBT_
**closurevariable
= NULL
;
775 trace
.prev
= tracehead
; tracehead
= &trace
;
776 trace
.file
= LOCATE_kernel
;
777 /* Register variable[0]: Local variable */
779 /* Register variable[1]: Local variable */
780 variable
[1] = param0
;
781 /* Register variable[2]: Method return value and escape marker */
782 /* Register variable[3]: Local variable */
783 /* Register variable[4]: Result */
784 variable
[4] = TAG_Int(UNTAG_Int(variable
[0])-UNTAG_Int( variable
[1] /*i*/));
785 variable
[3] = variable
[4];
786 /* Register variable[4]: Result */
787 variable
[4] = TAG_Bool(UNTAG_Int( variable
[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
788 if (UNTAG_Bool(variable
[4])) { /*if*/
789 variable
[2] = variable
[3] /*d*/;
792 /* Register variable[4]: Result */
793 variable
[4] = TAG_Int(-UNTAG_Int( variable
[3] /*d*/));
794 variable
[2] = variable
[4];
797 return_label19
: while(false);
798 tracehead
= trace
.prev
;
801 val_t
kernel___Int___unary__minus(val_t self
) {
802 struct trace_t trace
= {NULL
, NULL
, 216, LOCATE_kernel___Int___unary__minus
};
803 val_t
*variable
= NULL
;
804 struct WBT_
**closurevariable
= NULL
;
805 trace
.prev
= tracehead
; tracehead
= &trace
;
806 trace
.file
= LOCATE_kernel
;
807 tracehead
= trace
.prev
;
808 return TAG_Int(-UNTAG_Int( self
));
810 val_t
kernel___Int_____star(val_t self
, val_t param0
) {
811 struct trace_t trace
= {NULL
, NULL
, 218, LOCATE_kernel___Int_____star
};
812 val_t
*variable
= NULL
;
813 struct WBT_
**closurevariable
= NULL
;
814 trace
.prev
= tracehead
; tracehead
= &trace
;
815 trace
.file
= LOCATE_kernel
;
816 tracehead
= trace
.prev
;
817 return TAG_Int(UNTAG_Int( self
)*UNTAG_Int( param0
));
819 val_t
kernel___Int_____slash(val_t self
, val_t param0
) {
820 struct trace_t trace
= {NULL
, NULL
, 219, LOCATE_kernel___Int_____slash
};
821 val_t
*variable
= NULL
;
822 struct WBT_
**closurevariable
= NULL
;
823 trace
.prev
= tracehead
; tracehead
= &trace
;
824 trace
.file
= LOCATE_kernel
;
825 tracehead
= trace
.prev
;
826 return TAG_Int(UNTAG_Int( self
)/UNTAG_Int( param0
));
828 val_t
kernel___Int_____percent(val_t self
, val_t param0
) {
829 struct trace_t trace
= {NULL
, NULL
, 220, LOCATE_kernel___Int_____percent
};
830 val_t
*variable
= NULL
;
831 struct WBT_
**closurevariable
= NULL
;
832 trace
.prev
= tracehead
; tracehead
= &trace
;
833 trace
.file
= LOCATE_kernel
;
834 tracehead
= trace
.prev
;
835 return TAG_Int(UNTAG_Int( self
)%UNTAG_Int( param0
));
837 val_t
kernel___Int___lshift(val_t self
, val_t param0
) {
838 struct trace_t trace
= {NULL
, NULL
, 221, LOCATE_kernel___Int___lshift
};
839 val_t
*variable
= NULL
;
840 struct WBT_
**closurevariable
= NULL
;
841 trace
.prev
= tracehead
; tracehead
= &trace
;
842 trace
.file
= LOCATE_kernel
;
843 tracehead
= trace
.prev
;
844 return TAG_Int(UNTAG_Int( self
)<<UNTAG_Int( param0
));
846 val_t
kernel___Int___rshift(val_t self
, val_t param0
) {
847 struct trace_t trace
= {NULL
, NULL
, 222, LOCATE_kernel___Int___rshift
};
848 val_t
*variable
= NULL
;
849 struct WBT_
**closurevariable
= NULL
;
850 trace
.prev
= tracehead
; tracehead
= &trace
;
851 trace
.file
= LOCATE_kernel
;
852 tracehead
= trace
.prev
;
853 return TAG_Int(UNTAG_Int( self
)>>UNTAG_Int( param0
));
855 val_t
kernel___Int___to_f(val_t self
) {
856 struct trace_t trace
= {NULL
, NULL
, 224, LOCATE_kernel___Int___to_f
};
857 val_t
*variable
= NULL
;
858 struct WBT_
**closurevariable
= NULL
;
859 trace
.prev
= tracehead
; tracehead
= &trace
;
860 trace
.file
= LOCATE_kernel
;
861 tracehead
= trace
.prev
;
862 return BOX_Float((float)UNTAG_Int( self
));
864 val_t
kernel___Int___ascii(val_t self
) {
865 struct trace_t trace
= {NULL
, NULL
, 277, LOCATE_kernel___Int___ascii
};
866 val_t
*variable
= NULL
;
867 struct WBT_
**closurevariable
= NULL
;
868 trace
.prev
= tracehead
; tracehead
= &trace
;
869 trace
.file
= LOCATE_kernel
;
870 tracehead
= trace
.prev
;
871 return TAG_Char(UNTAG_Int( self
));
873 val_t
kernel___Int___digit_count(val_t self
, val_t param0
) {
874 struct trace_t trace
= {NULL
, NULL
, 280, LOCATE_kernel___Int___digit_count
};
876 struct WBT_
**closurevariable
= NULL
;
877 trace
.prev
= tracehead
; tracehead
= &trace
;
878 trace
.file
= LOCATE_kernel
;
879 /* Register variable[0]: Local variable */
881 /* Register variable[1]: Local variable */
882 variable
[1] = param0
;
883 /* Register variable[2]: Method return value and escape marker */
884 /* Register variable[3]: Local variable */
885 /*variable[3] is variable d*/
886 /* Register variable[4]: Local variable */
887 /*variable[4] is variable n*/
888 /* Register variable[5]: Result */
889 variable
[5] = TAG_Bool(UNTAG_Int(variable
[0])<UNTAG_Int( TAG_Int(0)));
890 if (UNTAG_Bool(variable
[5])) { /*if*/
891 variable
[3] = TAG_Int(1) /*d=*/;
892 /* Register variable[5]: Result */
893 variable
[5] = TAG_Int(-UNTAG_Int(variable
[0]));
894 variable
[4] = variable
[5] /*n=*/;
896 /* Register variable[5]: Result */
897 variable
[5] = TAG_Bool((variable
[0])==( TAG_Int(0)));
898 if (UNTAG_Bool(variable
[5])) { /*if*/
899 variable
[2] = TAG_Int(1);
902 variable
[3] = TAG_Int(0) /*d=*/;
903 variable
[4] = variable
[0] /*n=*/;
906 while (true) { /*while*/
907 /* Register variable[5]: Result */
908 variable
[5] = TAG_Bool(UNTAG_Int( variable
[4] /*n*/)>UNTAG_Int( TAG_Int(0)));
909 if (!UNTAG_Bool(variable
[5])) break; /* while*/
910 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])+UNTAG_Int( TAG_Int(1))) /*d*/;
911 /* Register variable[5]: Result */
912 variable
[5] = TAG_Int(UNTAG_Int( variable
[4] /*n*/)/UNTAG_Int( variable
[1] /*b*/));
913 variable
[4] = variable
[5] /*n=*/;
914 continue_21
: while(0);
917 variable
[2] = variable
[3] /*d*/;
919 return_label20
: while(false);
920 tracehead
= trace
.prev
;
923 val_t
kernel___Int___to_c(val_t self
) {
924 struct trace_t trace
= {NULL
, NULL
, 303, LOCATE_kernel___Int___to_c
};
926 struct WBT_
**closurevariable
= NULL
;
927 trace
.prev
= tracehead
; tracehead
= &trace
;
928 trace
.file
= LOCATE_kernel
;
929 /* Register variable[0]: Local variable */
931 /* Register variable[1]: Method return value and escape marker */
932 /* Register variable[2]: Result */
933 variable
[2] = TAG_Bool(UNTAG_Int(variable
[0])>=UNTAG_Int( TAG_Int(0)));
934 /* Ensure var variable[2]: Left 'and' operand*/
935 if (UNTAG_Bool(variable
[2])) { /* and */
936 /* Register variable[2]: Result */
937 variable
[2] = TAG_Bool(UNTAG_Int(variable
[0])<=UNTAG_Int( TAG_Int(36)));
939 /* Register variable[2]: Result */
940 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);}
941 /* Register variable[2]: Result */
942 variable
[2] = TAG_Bool(UNTAG_Int(variable
[0])<UNTAG_Int( TAG_Int(10)));
943 if (UNTAG_Bool(variable
[2])) { /*if*/
944 /* Register variable[2]: Result */
945 variable
[2] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
946 /* Register variable[2]: Result */
947 variable
[2] = TAG_Int(UNTAG_Int(variable
[0])+UNTAG_Int(variable
[2]));
948 /* Register variable[2]: Result */
949 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
950 variable
[1] = variable
[2];
953 /* Register variable[2]: Result */
954 variable
[2] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
955 /* Register variable[2]: Result */
956 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int( TAG_Int(10)));
957 /* Register variable[2]: Result */
958 variable
[2] = TAG_Int(UNTAG_Int(variable
[0])+UNTAG_Int(variable
[2]));
959 /* Register variable[2]: Result */
960 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
961 variable
[1] = variable
[2];
964 return_label22
: while(false);
965 tracehead
= trace
.prev
;
968 val_t
kernel___Char___object_id(val_t self
) {
969 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_kernel___Char___object_id
};
970 val_t
*variable
= NULL
;
971 struct WBT_
**closurevariable
= NULL
;
972 trace
.prev
= tracehead
; tracehead
= &trace
;
973 trace
.file
= LOCATE_kernel
;
974 tracehead
= trace
.prev
;
975 return TAG_Int(UNTAG_Char( self
));
977 val_t
kernel___Char_____eqeq(val_t self
, val_t param0
) {
978 struct trace_t trace
= {NULL
, NULL
, 325, LOCATE_kernel___Char_____eqeq
};
979 val_t
*variable
= NULL
;
980 struct WBT_
**closurevariable
= NULL
;
981 trace
.prev
= tracehead
; tracehead
= &trace
;
982 trace
.file
= LOCATE_kernel
;
983 tracehead
= trace
.prev
;
984 return TAG_Bool(( self
)==( param0
));
986 val_t
kernel___Char_____neq(val_t self
, val_t param0
) {
987 struct trace_t trace
= {NULL
, NULL
, 326, LOCATE_kernel___Char_____neq
};
988 val_t
*variable
= NULL
;
989 struct WBT_
**closurevariable
= NULL
;
990 trace
.prev
= tracehead
; tracehead
= &trace
;
991 trace
.file
= LOCATE_kernel
;
992 tracehead
= trace
.prev
;
993 return TAG_Bool(( self
)!=( param0
));
995 void kernel___Char___output(val_t self
) {
996 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_kernel___Char___output
};
997 val_t
*variable
= NULL
;
998 struct WBT_
**closurevariable
= NULL
;
999 trace
.prev
= tracehead
; tracehead
= &trace
;
1000 trace
.file
= LOCATE_kernel
;
1001 printf("%c", (unsigned char)UNTAG_Char( self
));
1002 tracehead
= trace
.prev
;
1005 val_t
kernel___Char_____l(val_t self
, val_t param0
) {
1006 struct trace_t trace
= {NULL
, NULL
, 330, LOCATE_kernel___Char_____l
};
1007 val_t
*variable
= NULL
;
1008 struct WBT_
**closurevariable
= NULL
;
1009 trace
.prev
= tracehead
; tracehead
= &trace
;
1010 trace
.file
= LOCATE_kernel
;
1011 tracehead
= trace
.prev
;
1012 return TAG_Bool(UNTAG_Char( self
)<UNTAG_Char( param0
));
1014 val_t
kernel___Char_____leq(val_t self
, val_t param0
) {
1015 struct trace_t trace
= {NULL
, NULL
, 329, LOCATE_kernel___Char_____leq
};
1016 val_t
*variable
= NULL
;
1017 struct WBT_
**closurevariable
= NULL
;
1018 trace
.prev
= tracehead
; tracehead
= &trace
;
1019 trace
.file
= LOCATE_kernel
;
1020 tracehead
= trace
.prev
;
1021 return TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( param0
));
1023 val_t
kernel___Char_____geq(val_t self
, val_t param0
) {
1024 struct trace_t trace
= {NULL
, NULL
, 331, LOCATE_kernel___Char_____geq
};
1025 val_t
*variable
= NULL
;
1026 struct WBT_
**closurevariable
= NULL
;
1027 trace
.prev
= tracehead
; tracehead
= &trace
;
1028 trace
.file
= LOCATE_kernel
;
1029 tracehead
= trace
.prev
;
1030 return TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( param0
));
1032 val_t
kernel___Char_____g(val_t self
, val_t param0
) {
1033 struct trace_t trace
= {NULL
, NULL
, 332, LOCATE_kernel___Char_____g
};
1034 val_t
*variable
= NULL
;
1035 struct WBT_
**closurevariable
= NULL
;
1036 trace
.prev
= tracehead
; tracehead
= &trace
;
1037 trace
.file
= LOCATE_kernel
;
1038 tracehead
= trace
.prev
;
1039 return TAG_Bool(UNTAG_Char( self
)>UNTAG_Char( param0
));
1041 val_t
kernel___Char___succ(val_t self
) {
1042 struct trace_t trace
= {NULL
, NULL
, 334, LOCATE_kernel___Char___succ
};
1043 val_t
*variable
= NULL
;
1044 struct WBT_
**closurevariable
= NULL
;
1045 trace
.prev
= tracehead
; tracehead
= &trace
;
1046 trace
.file
= LOCATE_kernel
;
1047 tracehead
= trace
.prev
;
1048 return TAG_Char(UNTAG_Char( self
)+1);
1050 val_t
kernel___Char___prec(val_t self
) {
1051 struct trace_t trace
= {NULL
, NULL
, 335, LOCATE_kernel___Char___prec
};
1052 val_t
*variable
= NULL
;
1053 struct WBT_
**closurevariable
= NULL
;
1054 trace
.prev
= tracehead
; tracehead
= &trace
;
1055 trace
.file
= LOCATE_kernel
;
1056 tracehead
= trace
.prev
;
1057 return TAG_Char(UNTAG_Char( self
)-1);
1059 val_t
kernel___Char_____plus(val_t self
, val_t param0
) {
1060 struct trace_t trace
= {NULL
, NULL
, 363, LOCATE_kernel___Char_____plus
};
1061 val_t
*variable
= NULL
;
1062 struct WBT_
**closurevariable
= NULL
;
1063 trace
.prev
= tracehead
; tracehead
= &trace
;
1064 trace
.file
= LOCATE_kernel
;
1065 tracehead
= trace
.prev
;
1066 return TAG_Char(UNTAG_Char( self
)+UNTAG_Char( param0
));
1068 val_t
kernel___Char_____minus(val_t self
, val_t param0
) {
1069 struct trace_t trace
= {NULL
, NULL
, 364, LOCATE_kernel___Char_____minus
};
1070 val_t
*variable
= NULL
;
1071 struct WBT_
**closurevariable
= NULL
;
1072 trace
.prev
= tracehead
; tracehead
= &trace
;
1073 trace
.file
= LOCATE_kernel
;
1074 tracehead
= trace
.prev
;
1075 return TAG_Char(UNTAG_Char( self
)-UNTAG_Char( param0
));
1077 val_t
kernel___Char___distance(val_t self
, val_t param0
) {
1078 struct trace_t trace
= {NULL
, NULL
, 337, LOCATE_kernel___Char___distance
};
1080 struct WBT_
**closurevariable
= NULL
;
1081 trace
.prev
= tracehead
; tracehead
= &trace
;
1082 trace
.file
= LOCATE_kernel
;
1083 /* Register variable[0]: Local variable */
1085 /* Register variable[1]: Local variable */
1086 variable
[1] = param0
;
1087 /* Register variable[2]: Method return value and escape marker */
1088 /* Register variable[3]: Local variable */
1089 /* Register variable[4]: Result */
1090 variable
[4] = TAG_Int((unsigned char)UNTAG_Char(variable
[0]));
1091 /* Register variable[5]: Result */
1092 variable
[5] = TAG_Int((unsigned char)UNTAG_Char( variable
[1] /*c*/));
1093 /* Register variable[4]: Result */
1094 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int(variable
[5]));
1095 variable
[3] = variable
[4];
1096 /* Register variable[4]: Result */
1097 variable
[4] = TAG_Bool(UNTAG_Int( variable
[3] /*d*/)>=UNTAG_Int( TAG_Int(0)));
1098 if (UNTAG_Bool(variable
[4])) { /*if*/
1099 variable
[2] = variable
[3] /*d*/;
1100 goto return_label23
;
1102 /* Register variable[4]: Result */
1103 variable
[4] = TAG_Int(-UNTAG_Int( variable
[3] /*d*/));
1104 variable
[2] = variable
[4];
1105 goto return_label23
;
1107 return_label23
: while(false);
1108 tracehead
= trace
.prev
;
1111 val_t
kernel___Char___to_i(val_t self
) {
1112 struct trace_t trace
= {NULL
, NULL
, 347, LOCATE_kernel___Char___to_i
};
1114 struct WBT_
**closurevariable
= NULL
;
1115 trace
.prev
= tracehead
; tracehead
= &trace
;
1116 trace
.file
= LOCATE_kernel
;
1117 /* Register variable[0]: Local variable */
1119 /* Register variable[1]: Method return value and escape marker */
1120 /* Register variable[2]: Result */
1121 variable
[2] = TAG_Bool((variable
[0])==( TAG_Char('-')));
1122 if (UNTAG_Bool(variable
[2])) { /*if*/
1123 /* Register variable[2]: Result */
1124 variable
[2] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
1125 variable
[1] = variable
[2];
1126 goto return_label24
;
1128 /* Register variable[2]: Result */
1129 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])>=UNTAG_Char( TAG_Char('0')));
1130 /* Ensure var variable[2]: Left 'and' operand*/
1131 if (UNTAG_Bool(variable
[2])) { /* and */
1132 /* Register variable[2]: Result */
1133 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])<=UNTAG_Char( TAG_Char('9')));
1135 /* Register variable[2]: Result */
1136 if (UNTAG_Bool(variable
[2])) { /*if*/
1137 /* Register variable[2]: Result */
1138 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[0]));
1139 /* Register variable[3]: Result */
1140 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
1141 /* Register variable[2]: Result */
1142 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1143 variable
[1] = variable
[2];
1144 goto return_label24
;
1146 /* Register variable[2]: Result */
1147 variable
[2] = CALL_kernel___Char___to_lower(variable
[0])(variable
[0]) /*Char::to_lower*/;
1148 /* Register variable[2]: Result */
1149 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[2]));
1150 /* Register variable[3]: Result */
1151 variable
[3] = TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
1152 /* Register variable[3]: Result */
1153 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])+UNTAG_Int( TAG_Int(10)));
1154 /* Register variable[2]: Result */
1155 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1156 variable
[1] = variable
[2];
1157 goto return_label24
;
1160 return_label24
: while(false);
1161 tracehead
= trace
.prev
;
1164 val_t
kernel___Char___ascii(val_t self
) {
1165 struct trace_t trace
= {NULL
, NULL
, 360, LOCATE_kernel___Char___ascii
};
1166 val_t
*variable
= NULL
;
1167 struct WBT_
**closurevariable
= NULL
;
1168 trace
.prev
= tracehead
; tracehead
= &trace
;
1169 trace
.file
= LOCATE_kernel
;
1170 tracehead
= trace
.prev
;
1171 return TAG_Int((unsigned char)UNTAG_Char( self
));
1173 val_t
kernel___Char___to_lower(val_t self
) {
1174 struct trace_t trace
= {NULL
, NULL
, 366, LOCATE_kernel___Char___to_lower
};
1176 struct WBT_
**closurevariable
= NULL
;
1177 trace
.prev
= tracehead
; tracehead
= &trace
;
1178 trace
.file
= LOCATE_kernel
;
1179 /* Register variable[0]: Local variable */
1181 /* Register variable[1]: Method return value and escape marker */
1182 /* Register variable[2]: Result */
1183 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])>=UNTAG_Char( TAG_Char('A')));
1184 /* Ensure var variable[2]: Left 'and' operand*/
1185 if (UNTAG_Bool(variable
[2])) { /* and */
1186 /* Register variable[2]: Result */
1187 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])<=UNTAG_Char( TAG_Char('Z')));
1189 /* Register variable[2]: Result */
1190 if (UNTAG_Bool(variable
[2])) { /*if*/
1191 /* Register variable[2]: Result */
1192 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[0]));
1193 /* Register variable[3]: Result */
1194 variable
[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1195 /* Register variable[2]: Result */
1196 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int(variable
[3]));
1197 /* Register variable[2]: Result */
1198 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
1199 variable
[1] = variable
[2];
1200 goto return_label25
;
1202 variable
[1] = variable
[0];
1203 goto return_label25
;
1205 return_label25
: while(false);
1206 tracehead
= trace
.prev
;
1209 val_t
kernel___Char___to_upper(val_t self
) {
1210 struct trace_t trace
= {NULL
, NULL
, 376, LOCATE_kernel___Char___to_upper
};
1212 struct WBT_
**closurevariable
= NULL
;
1213 trace
.prev
= tracehead
; tracehead
= &trace
;
1214 trace
.file
= LOCATE_kernel
;
1215 /* Register variable[0]: Local variable */
1217 /* Register variable[1]: Method return value and escape marker */
1218 /* Register variable[2]: Result */
1219 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])>=UNTAG_Char( TAG_Char('a')));
1220 /* Ensure var variable[2]: Left 'and' operand*/
1221 if (UNTAG_Bool(variable
[2])) { /* and */
1222 /* Register variable[2]: Result */
1223 variable
[2] = TAG_Bool(UNTAG_Char(variable
[0])<=UNTAG_Char( TAG_Char('z')));
1225 /* Register variable[2]: Result */
1226 if (UNTAG_Bool(variable
[2])) { /*if*/
1227 /* Register variable[2]: Result */
1228 variable
[2] = TAG_Int((unsigned char)UNTAG_Char(variable
[0]));
1229 /* Register variable[3]: Result */
1230 variable
[3] = CALL_kernel___Discrete___distance( TAG_Char('a'))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
1231 /* Register variable[2]: Result */
1232 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])-UNTAG_Int(variable
[3]));
1233 /* Register variable[2]: Result */
1234 variable
[2] = TAG_Char(UNTAG_Int(variable
[2]));
1235 variable
[1] = variable
[2];
1236 goto return_label26
;
1238 variable
[1] = variable
[0];
1239 goto return_label26
;
1241 return_label26
: while(false);
1242 tracehead
= trace
.prev
;