gc: add 'help' option to list all available GC
[nit.git] / c_src / range._sep.c
1 /* This C file is generated by NIT to compile module range. */
2 #include "range._sep.h"
3 val_t range___Range___iterator(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_range;
8 fra.me.line = 43;
9 fra.me.meth = LOCATE_range___Range___iterator;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 1;
12 fra.me.REG[0] = NIT_NULL;
13 fra.me.REG[0] = p0;
14 fra.me.REG[0] = NEW_IteratorRange_range___IteratorRange___init(fra.me.REG[0]);
15 /* ./../lib/standard//collection//range.nit:43 */
16 goto label1;
17 label1: while(0);
18 stack_frame_head = fra.me.prev;
19 return fra.me.REG[0];
20 }
21 val_t range___Range___is_empty(val_t p0){
22 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23 val_t REGB0;
24 val_t tmp;
25 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26 fra.me.file = LOCATE_range;
27 fra.me.line = 55;
28 fra.me.meth = LOCATE_range___Range___is_empty;
29 fra.me.has_broke = 0;
30 fra.me.REG_size = 2;
31 fra.me.REG[0] = NIT_NULL;
32 fra.me.REG[1] = NIT_NULL;
33 fra.me.REG[0] = p0;
34 REGB0 = TAG_Bool(ATTR_range___Range____first(fra.me.REG[0])!=NIT_NULL);
35 /* ./../lib/standard//collection//range.nit:55 */
36 if (UNTAG_Bool(REGB0)) {
37 } else {
38 fprintf(stderr, "Uninitialized attribute %s", "_first");
39 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 55);
40 nit_exit(1);
41 }
42 fra.me.REG[1] = ATTR_range___Range____first(fra.me.REG[0]);
43 REGB0 = TAG_Bool(ATTR_range___Range____after(fra.me.REG[0])!=NIT_NULL);
44 if (UNTAG_Bool(REGB0)) {
45 } else {
46 fprintf(stderr, "Uninitialized attribute %s", "_after");
47 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 55);
48 nit_exit(1);
49 }
50 fra.me.REG[0] = ATTR_range___Range____after(fra.me.REG[0]);
51 REGB0 = CALL_kernel___Comparable_____geq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52 goto label1;
53 label1: while(0);
54 stack_frame_head = fra.me.prev;
55 return REGB0;
56 }
57 val_t range___Range___length(val_t p0){
58 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
59 val_t REGB0;
60 val_t REGB1;
61 val_t tmp;
62 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63 fra.me.file = LOCATE_range;
64 fra.me.line = 45;
65 fra.me.meth = LOCATE_range___Range___length;
66 fra.me.has_broke = 0;
67 fra.me.REG_size = 2;
68 fra.me.REG[0] = NIT_NULL;
69 fra.me.REG[1] = NIT_NULL;
70 fra.me.REG[0] = p0;
71 REGB0 = TAG_Bool(ATTR_range___Range____first(fra.me.REG[0])!=NIT_NULL);
72 /* ./../lib/standard//collection//range.nit:47 */
73 if (UNTAG_Bool(REGB0)) {
74 } else {
75 fprintf(stderr, "Uninitialized attribute %s", "_first");
76 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 47);
77 nit_exit(1);
78 }
79 fra.me.REG[1] = ATTR_range___Range____first(fra.me.REG[0]);
80 REGB0 = TAG_Bool(ATTR_range___Range____after(fra.me.REG[0])!=NIT_NULL);
81 if (UNTAG_Bool(REGB0)) {
82 } else {
83 fprintf(stderr, "Uninitialized attribute %s", "_after");
84 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 47);
85 nit_exit(1);
86 }
87 fra.me.REG[0] = ATTR_range___Range____after(fra.me.REG[0]);
88 REGB0 = CALL_kernel___Discrete___distance(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
89 REGB1 = TAG_Int(0);
90 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
91 /* ./../lib/standard//collection//range.nit:48 */
92 if (UNTAG_Bool(REGB1)) {
93 /* ./../lib/standard//collection//range.nit:49 */
94 goto label1;
95 } else {
96 REGB1 = TAG_Int(0);
97 REGB0 = REGB1;
98 /* ./../lib/standard//collection//range.nit:51 */
99 goto label1;
100 }
101 label1: while(0);
102 stack_frame_head = fra.me.prev;
103 return REGB0;
104 }
105 val_t range___Range___has(val_t p0, val_t p1){
106 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
107 val_t REGB0;
108 val_t REGB1;
109 val_t tmp;
110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111 fra.me.file = LOCATE_range;
112 fra.me.line = 30;
113 fra.me.meth = LOCATE_range___Range___has;
114 fra.me.has_broke = 0;
115 fra.me.REG_size = 3;
116 fra.me.REG[0] = NIT_NULL;
117 fra.me.REG[1] = NIT_NULL;
118 fra.me.REG[2] = NIT_NULL;
119 fra.me.REG[0] = p0;
120 fra.me.REG[1] = p1;
121 REGB0 = TAG_Bool(ATTR_range___Range____first(fra.me.REG[0])!=NIT_NULL);
122 /* ./../lib/standard//collection//range.nit:30 */
123 if (UNTAG_Bool(REGB0)) {
124 } else {
125 fprintf(stderr, "Uninitialized attribute %s", "_first");
126 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 30);
127 nit_exit(1);
128 }
129 fra.me.REG[2] = ATTR_range___Range____first(fra.me.REG[0]);
130 REGB0 = CALL_kernel___Comparable_____geq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
131 if (UNTAG_Bool(REGB0)) {
132 REGB0 = TAG_Bool(ATTR_range___Range____last(fra.me.REG[0])!=NIT_NULL);
133 if (UNTAG_Bool(REGB0)) {
134 } else {
135 fprintf(stderr, "Uninitialized attribute %s", "_last");
136 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 30);
137 nit_exit(1);
138 }
139 fra.me.REG[0] = ATTR_range___Range____last(fra.me.REG[0]);
140 REGB0 = CALL_kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
141 } else {
142 REGB1 = TAG_Bool(false);
143 REGB0 = REGB1;
144 }
145 goto label1;
146 label1: while(0);
147 stack_frame_head = fra.me.prev;
148 return REGB0;
149 }
150 val_t range___Range___has_only(val_t p0, val_t p1){
151 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
152 val_t REGB0;
153 val_t REGB1;
154 val_t tmp;
155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
156 fra.me.file = LOCATE_range;
157 fra.me.line = 32;
158 fra.me.meth = LOCATE_range___Range___has_only;
159 fra.me.has_broke = 0;
160 fra.me.REG_size = 3;
161 fra.me.REG[0] = NIT_NULL;
162 fra.me.REG[1] = NIT_NULL;
163 fra.me.REG[2] = NIT_NULL;
164 fra.me.REG[0] = p0;
165 fra.me.REG[1] = p1;
166 REGB0 = TAG_Bool(ATTR_range___Range____first(fra.me.REG[0])!=NIT_NULL);
167 /* ./../lib/standard//collection//range.nit:32 */
168 if (UNTAG_Bool(REGB0)) {
169 } else {
170 fprintf(stderr, "Uninitialized attribute %s", "_first");
171 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 32);
172 nit_exit(1);
173 }
174 fra.me.REG[2] = ATTR_range___Range____first(fra.me.REG[0]);
175 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[1]));
176 if (UNTAG_Bool(REGB0)) {
177 } else {
178 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
179 REGB0 = REGB1;
180 }
181 if (UNTAG_Bool(REGB0)) {
182 REGB0 = TAG_Bool(ATTR_range___Range____last(fra.me.REG[0])!=NIT_NULL);
183 if (UNTAG_Bool(REGB0)) {
184 } else {
185 fprintf(stderr, "Uninitialized attribute %s", "_last");
186 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 32);
187 nit_exit(1);
188 }
189 fra.me.REG[0] = ATTR_range___Range____last(fra.me.REG[0]);
190 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
191 if (UNTAG_Bool(REGB0)) {
192 } else {
193 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
194 REGB0 = REGB1;
195 }
196 } else {
197 REGB1 = TAG_Bool(false);
198 REGB0 = REGB1;
199 }
200 goto label1;
201 label1: while(0);
202 stack_frame_head = fra.me.prev;
203 return REGB0;
204 }
205 val_t range___Range___count(val_t p0, val_t p1){
206 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
207 val_t REGB0;
208 val_t REGB1;
209 val_t tmp;
210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
211 fra.me.file = LOCATE_range;
212 fra.me.line = 34;
213 fra.me.meth = LOCATE_range___Range___count;
214 fra.me.has_broke = 0;
215 fra.me.REG_size = 2;
216 fra.me.REG[0] = NIT_NULL;
217 fra.me.REG[1] = NIT_NULL;
218 fra.me.REG[0] = p0;
219 fra.me.REG[1] = p1;
220 REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
221 /* ./../lib/standard//collection//range.nit:36 */
222 if (UNTAG_Bool(REGB0)) {
223 REGB0 = TAG_Int(1);
224 /* ./../lib/standard//collection//range.nit:37 */
225 goto label1;
226 } else {
227 REGB1 = TAG_Int(0);
228 REGB0 = REGB1;
229 /* ./../lib/standard//collection//range.nit:39 */
230 goto label1;
231 }
232 label1: while(0);
233 stack_frame_head = fra.me.prev;
234 return REGB0;
235 }
236 val_t range___Range___first(val_t p0){
237 struct {struct stack_frame_t me;} fra;
238 val_t REGB0;
239 val_t tmp;
240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
241 fra.me.file = LOCATE_range;
242 fra.me.line = 22;
243 fra.me.meth = LOCATE_range___Range___first;
244 fra.me.has_broke = 0;
245 fra.me.REG_size = 1;
246 fra.me.REG[0] = NIT_NULL;
247 fra.me.REG[0] = p0;
248 REGB0 = TAG_Bool(ATTR_range___Range____first(fra.me.REG[0])!=NIT_NULL);
249 /* ./../lib/standard//collection//range.nit:22 */
250 if (UNTAG_Bool(REGB0)) {
251 } else {
252 fprintf(stderr, "Uninitialized attribute %s", "_first");
253 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 22);
254 nit_exit(1);
255 }
256 fra.me.REG[0] = ATTR_range___Range____first(fra.me.REG[0]);
257 stack_frame_head = fra.me.prev;
258 return fra.me.REG[0];
259 }
260 val_t range___Range___last(val_t p0){
261 struct {struct stack_frame_t me;} fra;
262 val_t REGB0;
263 val_t tmp;
264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
265 fra.me.file = LOCATE_range;
266 fra.me.line = 24;
267 fra.me.meth = LOCATE_range___Range___last;
268 fra.me.has_broke = 0;
269 fra.me.REG_size = 1;
270 fra.me.REG[0] = NIT_NULL;
271 fra.me.REG[0] = p0;
272 REGB0 = TAG_Bool(ATTR_range___Range____last(fra.me.REG[0])!=NIT_NULL);
273 /* ./../lib/standard//collection//range.nit:24 */
274 if (UNTAG_Bool(REGB0)) {
275 } else {
276 fprintf(stderr, "Uninitialized attribute %s", "_last");
277 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 24);
278 nit_exit(1);
279 }
280 fra.me.REG[0] = ATTR_range___Range____last(fra.me.REG[0]);
281 stack_frame_head = fra.me.prev;
282 return fra.me.REG[0];
283 }
284 val_t range___Range___after(val_t p0){
285 struct {struct stack_frame_t me;} fra;
286 val_t REGB0;
287 val_t tmp;
288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
289 fra.me.file = LOCATE_range;
290 fra.me.line = 27;
291 fra.me.meth = LOCATE_range___Range___after;
292 fra.me.has_broke = 0;
293 fra.me.REG_size = 1;
294 fra.me.REG[0] = NIT_NULL;
295 fra.me.REG[0] = p0;
296 REGB0 = TAG_Bool(ATTR_range___Range____after(fra.me.REG[0])!=NIT_NULL);
297 /* ./../lib/standard//collection//range.nit:27 */
298 if (UNTAG_Bool(REGB0)) {
299 } else {
300 fprintf(stderr, "Uninitialized attribute %s", "_after");
301 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 27);
302 nit_exit(1);
303 }
304 fra.me.REG[0] = ATTR_range___Range____after(fra.me.REG[0]);
305 stack_frame_head = fra.me.prev;
306 return fra.me.REG[0];
307 }
308 void range___Range___init(val_t p0, val_t p1, val_t p2, int* init_table){
309 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Range].i;
310 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
311 val_t tmp;
312 if (init_table[itpos0]) return;
313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
314 fra.me.file = LOCATE_range;
315 fra.me.line = 57;
316 fra.me.meth = LOCATE_range___Range___init;
317 fra.me.has_broke = 0;
318 fra.me.REG_size = 3;
319 fra.me.REG[0] = NIT_NULL;
320 fra.me.REG[1] = NIT_NULL;
321 fra.me.REG[2] = NIT_NULL;
322 fra.me.REG[0] = p0;
323 fra.me.REG[1] = p1;
324 fra.me.REG[2] = p2;
325 /* ./../lib/standard//collection//range.nit:61 */
326 ATTR_range___Range____first(fra.me.REG[0]) = fra.me.REG[1];
327 /* ./../lib/standard//collection//range.nit:62 */
328 ATTR_range___Range____last(fra.me.REG[0]) = fra.me.REG[2];
329 fra.me.REG[2] = CALL_kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
330 /* ./../lib/standard//collection//range.nit:63 */
331 ATTR_range___Range____after(fra.me.REG[0]) = fra.me.REG[2];
332 stack_frame_head = fra.me.prev;
333 init_table[itpos0] = 1;
334 return;
335 }
336 void range___Range___without_last(val_t p0, val_t p1, val_t p2, int* init_table){
337 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Range].i;
338 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
339 val_t tmp;
340 if (init_table[itpos1]) return;
341 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
342 fra.me.file = LOCATE_range;
343 fra.me.line = 66;
344 fra.me.meth = LOCATE_range___Range___without_last;
345 fra.me.has_broke = 0;
346 fra.me.REG_size = 3;
347 fra.me.REG[0] = NIT_NULL;
348 fra.me.REG[1] = NIT_NULL;
349 fra.me.REG[2] = NIT_NULL;
350 fra.me.REG[0] = p0;
351 fra.me.REG[1] = p1;
352 fra.me.REG[2] = p2;
353 /* ./../lib/standard//collection//range.nit:70 */
354 ATTR_range___Range____first(fra.me.REG[0]) = fra.me.REG[1];
355 fra.me.REG[1] = CALL_kernel___Discrete___prec(fra.me.REG[2])(fra.me.REG[2]);
356 /* ./../lib/standard//collection//range.nit:71 */
357 ATTR_range___Range____last(fra.me.REG[0]) = fra.me.REG[1];
358 /* ./../lib/standard//collection//range.nit:72 */
359 ATTR_range___Range____after(fra.me.REG[0]) = fra.me.REG[2];
360 stack_frame_head = fra.me.prev;
361 init_table[itpos1] = 1;
362 return;
363 }
364 val_t range___IteratorRange___item(val_t p0){
365 struct {struct stack_frame_t me;} fra;
366 val_t REGB0;
367 val_t tmp;
368 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
369 fra.me.file = LOCATE_range;
370 fra.me.line = 80;
371 fra.me.meth = LOCATE_range___IteratorRange___item;
372 fra.me.has_broke = 0;
373 fra.me.REG_size = 1;
374 fra.me.REG[0] = NIT_NULL;
375 fra.me.REG[0] = p0;
376 REGB0 = TAG_Bool(ATTR_range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
377 /* ./../lib/standard//collection//range.nit:80 */
378 if (UNTAG_Bool(REGB0)) {
379 } else {
380 fprintf(stderr, "Uninitialized attribute %s", "_item");
381 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 80);
382 nit_exit(1);
383 }
384 fra.me.REG[0] = ATTR_range___IteratorRange____item(fra.me.REG[0]);
385 stack_frame_head = fra.me.prev;
386 return fra.me.REG[0];
387 }
388 void range___IteratorRange___next(val_t p0){
389 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
390 val_t REGB0;
391 val_t tmp;
392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
393 fra.me.file = LOCATE_range;
394 fra.me.line = 84;
395 fra.me.meth = LOCATE_range___IteratorRange___next;
396 fra.me.has_broke = 0;
397 fra.me.REG_size = 2;
398 fra.me.REG[0] = NIT_NULL;
399 fra.me.REG[1] = NIT_NULL;
400 fra.me.REG[0] = p0;
401 REGB0 = TAG_Bool(ATTR_range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
402 /* ./../lib/standard//collection//range.nit:84 */
403 if (UNTAG_Bool(REGB0)) {
404 } else {
405 fprintf(stderr, "Uninitialized attribute %s", "_item");
406 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 84);
407 nit_exit(1);
408 }
409 fra.me.REG[1] = ATTR_range___IteratorRange____item(fra.me.REG[0]);
410 fra.me.REG[1] = CALL_kernel___Discrete___succ(fra.me.REG[1])(fra.me.REG[1]);
411 ATTR_range___IteratorRange____item(fra.me.REG[0]) = fra.me.REG[1];
412 stack_frame_head = fra.me.prev;
413 return;
414 }
415 val_t range___IteratorRange___is_ok(val_t p0){
416 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
417 val_t REGB0;
418 val_t tmp;
419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
420 fra.me.file = LOCATE_range;
421 fra.me.line = 82;
422 fra.me.meth = LOCATE_range___IteratorRange___is_ok;
423 fra.me.has_broke = 0;
424 fra.me.REG_size = 2;
425 fra.me.REG[0] = NIT_NULL;
426 fra.me.REG[1] = NIT_NULL;
427 fra.me.REG[0] = p0;
428 REGB0 = TAG_Bool(ATTR_range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
429 /* ./../lib/standard//collection//range.nit:82 */
430 if (UNTAG_Bool(REGB0)) {
431 } else {
432 fprintf(stderr, "Uninitialized attribute %s", "_item");
433 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 82);
434 nit_exit(1);
435 }
436 fra.me.REG[1] = ATTR_range___IteratorRange____item(fra.me.REG[0]);
437 REGB0 = TAG_Bool(ATTR_range___IteratorRange____range(fra.me.REG[0])!=NIT_NULL);
438 if (UNTAG_Bool(REGB0)) {
439 } else {
440 fprintf(stderr, "Uninitialized attribute %s", "_range");
441 fprintf(stderr, " (%s:%d)\n", LOCATE_range, 82);
442 nit_exit(1);
443 }
444 fra.me.REG[0] = ATTR_range___IteratorRange____range(fra.me.REG[0]);
445 fra.me.REG[0] = CALL_range___Range___after(fra.me.REG[0])(fra.me.REG[0]);
446 REGB0 = CALL_kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
447 goto label1;
448 label1: while(0);
449 stack_frame_head = fra.me.prev;
450 return REGB0;
451 }
452 void range___IteratorRange___init(val_t p0, val_t p1, int* init_table){
453 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IteratorRange].i;
454 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
455 val_t tmp;
456 if (init_table[itpos2]) return;
457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
458 fra.me.file = LOCATE_range;
459 fra.me.line = 86;
460 fra.me.meth = LOCATE_range___IteratorRange___init;
461 fra.me.has_broke = 0;
462 fra.me.REG_size = 2;
463 fra.me.REG[0] = NIT_NULL;
464 fra.me.REG[1] = NIT_NULL;
465 fra.me.REG[0] = p0;
466 fra.me.REG[1] = p1;
467 /* ./../lib/standard//collection//range.nit:88 */
468 ATTR_range___IteratorRange____range(fra.me.REG[0]) = fra.me.REG[1];
469 fra.me.REG[1] = CALL_abstract_collection___Collection___first(fra.me.REG[1])(fra.me.REG[1]);
470 /* ./../lib/standard//collection//range.nit:89 */
471 ATTR_range___IteratorRange____item(fra.me.REG[0]) = fra.me.REG[1];
472 stack_frame_head = fra.me.prev;
473 init_table[itpos2] = 1;
474 return;
475 }