c_src: update
[nit.git] / c_src / lexer._sep.c
1 /* This C file is generated by NIT to compile module lexer. */
2 #include "lexer._sep.h"
3 val_t lexer___Token___text(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_lexer;
9 fra.me.line = 9;
10 fra.me.meth = LOCATE_lexer___Token___text;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* ./parser//lexer.nit:9 */
16 REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 9);
20 }
21 fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
25 val_t lexer___Token___parser_index(val_t p0){
26 struct {struct stack_frame_t me;} fra;
27 val_t tmp;
28 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29 fra.me.file = LOCATE_lexer;
30 fra.me.line = 11;
31 fra.me.meth = LOCATE_lexer___Token___parser_index;
32 fra.me.has_broke = 0;
33 fra.me.REG_size = 0;
34 /* ./parser//lexer.nit:11 */
35 nit_abort("Deferred method called", NULL, LOCATE_lexer, 11);
36 stack_frame_head = fra.me.prev;
37 return NIT_NULL;
38 }
39 val_t lexer___Token___to_s(val_t p0){
40 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
41 val_t REGB0;
42 val_t tmp;
43 static val_t once_value_1; /* Once value */
44 static val_t once_value_2; /* Once value */
45 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46 fra.me.file = LOCATE_lexer;
47 fra.me.line = 13;
48 fra.me.meth = LOCATE_lexer___Token___to_s;
49 fra.me.has_broke = 0;
50 fra.me.REG_size = 3;
51 fra.me.REG[0] = NIT_NULL;
52 fra.me.REG[1] = NIT_NULL;
53 fra.me.REG[2] = NIT_NULL;
54 fra.me.REG[0] = p0;
55 /* ./parser//lexer.nit:14 */
56 REGB0 = TAG_Int(3);
57 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
58 if (!once_value_1) {
59 fra.me.REG[2] = BOX_NativeString("'");
60 REGB0 = TAG_Int(1);
61 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
62 once_value_1 = fra.me.REG[2];
63 register_static_object(&once_value_1);
64 } else fra.me.REG[2] = once_value_1;
65 fra.me.REG[2] = fra.me.REG[2];
66 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
67 REGB0 = TAG_Bool(ATTR_lexer___Token____text(fra.me.REG[0])!=NIT_NULL);
68 if (UNTAG_Bool(REGB0)) {
69 } else {
70 nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 14);
71 }
72 fra.me.REG[0] = ATTR_lexer___Token____text(fra.me.REG[0]);
73 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
74 if (!once_value_2) {
75 fra.me.REG[0] = BOX_NativeString("'");
76 REGB0 = TAG_Int(1);
77 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
78 once_value_2 = fra.me.REG[0];
79 register_static_object(&once_value_2);
80 } else fra.me.REG[0] = once_value_2;
81 fra.me.REG[0] = fra.me.REG[0];
82 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
83 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
84 goto label3;
85 label3: while(0);
86 stack_frame_head = fra.me.prev;
87 return fra.me.REG[1];
88 }
89 val_t lexer___TEol___parser_index(val_t p0){
90 struct {struct stack_frame_t me;} fra;
91 val_t REGB0;
92 val_t tmp;
93 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94 fra.me.file = LOCATE_lexer;
95 fra.me.line = 19;
96 fra.me.meth = LOCATE_lexer___TEol___parser_index;
97 fra.me.has_broke = 0;
98 fra.me.REG_size = 1;
99 fra.me.REG[0] = NIT_NULL;
100 fra.me.REG[0] = p0;
101 /* ./parser//lexer.nit:21 */
102 REGB0 = TAG_Int(0);
103 goto label1;
104 label1: while(0);
105 stack_frame_head = fra.me.prev;
106 return REGB0;
107 }
108 void lexer___TEol___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
109 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEol].i;
110 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
111 val_t tmp;
112 if (init_table[itpos0]) return;
113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114 fra.me.file = LOCATE_lexer;
115 fra.me.line = 24;
116 fra.me.meth = LOCATE_lexer___TEol___init_tk;
117 fra.me.has_broke = 0;
118 fra.me.REG_size = 3;
119 fra.me.REG[0] = NIT_NULL;
120 fra.me.REG[1] = NIT_NULL;
121 fra.me.REG[2] = NIT_NULL;
122 fra.me.REG[0] = p0;
123 fra.me.REG[1] = p1;
124 fra.me.REG[2] = p2;
125 /* ./parser//lexer.nit:26 */
126 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
127 /* ./parser//lexer.nit:27 */
128 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
129 stack_frame_head = fra.me.prev;
130 init_table[itpos0] = 1;
131 return;
132 }
133 val_t lexer___TComment___parser_index(val_t p0){
134 struct {struct stack_frame_t me;} fra;
135 val_t REGB0;
136 val_t tmp;
137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
138 fra.me.file = LOCATE_lexer;
139 fra.me.line = 32;
140 fra.me.meth = LOCATE_lexer___TComment___parser_index;
141 fra.me.has_broke = 0;
142 fra.me.REG_size = 1;
143 fra.me.REG[0] = NIT_NULL;
144 fra.me.REG[0] = p0;
145 /* ./parser//lexer.nit:34 */
146 REGB0 = TAG_Int(1);
147 goto label1;
148 label1: while(0);
149 stack_frame_head = fra.me.prev;
150 return REGB0;
151 }
152 void lexer___TComment___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
153 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TComment].i;
154 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
155 val_t tmp;
156 if (init_table[itpos1]) return;
157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
158 fra.me.file = LOCATE_lexer;
159 fra.me.line = 37;
160 fra.me.meth = LOCATE_lexer___TComment___init_tk;
161 fra.me.has_broke = 0;
162 fra.me.REG_size = 3;
163 fra.me.REG[0] = NIT_NULL;
164 fra.me.REG[1] = NIT_NULL;
165 fra.me.REG[2] = NIT_NULL;
166 fra.me.REG[0] = p0;
167 fra.me.REG[1] = p1;
168 fra.me.REG[2] = p2;
169 /* ./parser//lexer.nit:39 */
170 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
171 /* ./parser//lexer.nit:40 */
172 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
173 stack_frame_head = fra.me.prev;
174 init_table[itpos1] = 1;
175 return;
176 }
177 val_t lexer___TKwmodule___parser_index(val_t p0){
178 struct {struct stack_frame_t me;} fra;
179 val_t REGB0;
180 val_t tmp;
181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
182 fra.me.file = LOCATE_lexer;
183 fra.me.line = 45;
184 fra.me.meth = LOCATE_lexer___TKwmodule___parser_index;
185 fra.me.has_broke = 0;
186 fra.me.REG_size = 1;
187 fra.me.REG[0] = NIT_NULL;
188 fra.me.REG[0] = p0;
189 /* ./parser//lexer.nit:47 */
190 REGB0 = TAG_Int(2);
191 goto label1;
192 label1: while(0);
193 stack_frame_head = fra.me.prev;
194 return REGB0;
195 }
196 void lexer___TKwmodule___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
197 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwmodule].i;
198 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
199 val_t tmp;
200 if (init_table[itpos2]) return;
201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
202 fra.me.file = LOCATE_lexer;
203 fra.me.line = 50;
204 fra.me.meth = LOCATE_lexer___TKwmodule___init_tk;
205 fra.me.has_broke = 0;
206 fra.me.REG_size = 3;
207 fra.me.REG[0] = NIT_NULL;
208 fra.me.REG[1] = NIT_NULL;
209 fra.me.REG[2] = NIT_NULL;
210 fra.me.REG[0] = p0;
211 fra.me.REG[1] = p1;
212 fra.me.REG[2] = p2;
213 /* ./parser//lexer.nit:52 */
214 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
215 /* ./parser//lexer.nit:53 */
216 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
217 stack_frame_head = fra.me.prev;
218 init_table[itpos2] = 1;
219 return;
220 }
221 val_t lexer___TKwimport___parser_index(val_t p0){
222 struct {struct stack_frame_t me;} fra;
223 val_t REGB0;
224 val_t tmp;
225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
226 fra.me.file = LOCATE_lexer;
227 fra.me.line = 58;
228 fra.me.meth = LOCATE_lexer___TKwimport___parser_index;
229 fra.me.has_broke = 0;
230 fra.me.REG_size = 1;
231 fra.me.REG[0] = NIT_NULL;
232 fra.me.REG[0] = p0;
233 /* ./parser//lexer.nit:60 */
234 REGB0 = TAG_Int(3);
235 goto label1;
236 label1: while(0);
237 stack_frame_head = fra.me.prev;
238 return REGB0;
239 }
240 void lexer___TKwimport___init_tk(val_t p0, val_t p1, int* init_table){
241 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwimport].i;
242 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
243 val_t REGB0;
244 val_t tmp;
245 static val_t once_value_1; /* Once value */
246 static val_t once_value_2; /* Once value */
247 if (init_table[itpos3]) return;
248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
249 fra.me.file = LOCATE_lexer;
250 fra.me.line = 63;
251 fra.me.meth = LOCATE_lexer___TKwimport___init_tk;
252 fra.me.has_broke = 0;
253 fra.me.REG_size = 3;
254 fra.me.REG[0] = NIT_NULL;
255 fra.me.REG[1] = NIT_NULL;
256 fra.me.REG[2] = NIT_NULL;
257 fra.me.REG[0] = p0;
258 fra.me.REG[1] = p1;
259 /* ./parser//lexer.nit:65 */
260 if (!once_value_1) {
261 if (!once_value_2) {
262 fra.me.REG[2] = BOX_NativeString("import");
263 REGB0 = TAG_Int(6);
264 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
265 once_value_2 = fra.me.REG[2];
266 register_static_object(&once_value_2);
267 } else fra.me.REG[2] = once_value_2;
268 fra.me.REG[2] = fra.me.REG[2];
269 once_value_1 = fra.me.REG[2];
270 register_static_object(&once_value_1);
271 } else fra.me.REG[2] = once_value_1;
272 fra.me.REG[2] = fra.me.REG[2];
273 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
274 /* ./parser//lexer.nit:66 */
275 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
276 stack_frame_head = fra.me.prev;
277 init_table[itpos3] = 1;
278 return;
279 }
280 val_t lexer___TKwclass___parser_index(val_t p0){
281 struct {struct stack_frame_t me;} fra;
282 val_t REGB0;
283 val_t tmp;
284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
285 fra.me.file = LOCATE_lexer;
286 fra.me.line = 71;
287 fra.me.meth = LOCATE_lexer___TKwclass___parser_index;
288 fra.me.has_broke = 0;
289 fra.me.REG_size = 1;
290 fra.me.REG[0] = NIT_NULL;
291 fra.me.REG[0] = p0;
292 /* ./parser//lexer.nit:73 */
293 REGB0 = TAG_Int(4);
294 goto label1;
295 label1: while(0);
296 stack_frame_head = fra.me.prev;
297 return REGB0;
298 }
299 void lexer___TKwclass___init_tk(val_t p0, val_t p1, int* init_table){
300 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwclass].i;
301 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
302 val_t REGB0;
303 val_t tmp;
304 static val_t once_value_1; /* Once value */
305 static val_t once_value_2; /* Once value */
306 if (init_table[itpos4]) return;
307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
308 fra.me.file = LOCATE_lexer;
309 fra.me.line = 76;
310 fra.me.meth = LOCATE_lexer___TKwclass___init_tk;
311 fra.me.has_broke = 0;
312 fra.me.REG_size = 3;
313 fra.me.REG[0] = NIT_NULL;
314 fra.me.REG[1] = NIT_NULL;
315 fra.me.REG[2] = NIT_NULL;
316 fra.me.REG[0] = p0;
317 fra.me.REG[1] = p1;
318 /* ./parser//lexer.nit:78 */
319 if (!once_value_1) {
320 if (!once_value_2) {
321 fra.me.REG[2] = BOX_NativeString("class");
322 REGB0 = TAG_Int(5);
323 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
324 once_value_2 = fra.me.REG[2];
325 register_static_object(&once_value_2);
326 } else fra.me.REG[2] = once_value_2;
327 fra.me.REG[2] = fra.me.REG[2];
328 once_value_1 = fra.me.REG[2];
329 register_static_object(&once_value_1);
330 } else fra.me.REG[2] = once_value_1;
331 fra.me.REG[2] = fra.me.REG[2];
332 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
333 /* ./parser//lexer.nit:79 */
334 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
335 stack_frame_head = fra.me.prev;
336 init_table[itpos4] = 1;
337 return;
338 }
339 val_t lexer___TKwabstract___parser_index(val_t p0){
340 struct {struct stack_frame_t me;} fra;
341 val_t REGB0;
342 val_t tmp;
343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
344 fra.me.file = LOCATE_lexer;
345 fra.me.line = 84;
346 fra.me.meth = LOCATE_lexer___TKwabstract___parser_index;
347 fra.me.has_broke = 0;
348 fra.me.REG_size = 1;
349 fra.me.REG[0] = NIT_NULL;
350 fra.me.REG[0] = p0;
351 /* ./parser//lexer.nit:86 */
352 REGB0 = TAG_Int(5);
353 goto label1;
354 label1: while(0);
355 stack_frame_head = fra.me.prev;
356 return REGB0;
357 }
358 void lexer___TKwabstract___init_tk(val_t p0, val_t p1, int* init_table){
359 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwabstract].i;
360 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
361 val_t REGB0;
362 val_t tmp;
363 static val_t once_value_1; /* Once value */
364 static val_t once_value_2; /* Once value */
365 if (init_table[itpos5]) return;
366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
367 fra.me.file = LOCATE_lexer;
368 fra.me.line = 89;
369 fra.me.meth = LOCATE_lexer___TKwabstract___init_tk;
370 fra.me.has_broke = 0;
371 fra.me.REG_size = 3;
372 fra.me.REG[0] = NIT_NULL;
373 fra.me.REG[1] = NIT_NULL;
374 fra.me.REG[2] = NIT_NULL;
375 fra.me.REG[0] = p0;
376 fra.me.REG[1] = p1;
377 /* ./parser//lexer.nit:91 */
378 if (!once_value_1) {
379 if (!once_value_2) {
380 fra.me.REG[2] = BOX_NativeString("abstract");
381 REGB0 = TAG_Int(8);
382 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
383 once_value_2 = fra.me.REG[2];
384 register_static_object(&once_value_2);
385 } else fra.me.REG[2] = once_value_2;
386 fra.me.REG[2] = fra.me.REG[2];
387 once_value_1 = fra.me.REG[2];
388 register_static_object(&once_value_1);
389 } else fra.me.REG[2] = once_value_1;
390 fra.me.REG[2] = fra.me.REG[2];
391 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
392 /* ./parser//lexer.nit:92 */
393 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
394 stack_frame_head = fra.me.prev;
395 init_table[itpos5] = 1;
396 return;
397 }
398 val_t lexer___TKwinterface___parser_index(val_t p0){
399 struct {struct stack_frame_t me;} fra;
400 val_t REGB0;
401 val_t tmp;
402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
403 fra.me.file = LOCATE_lexer;
404 fra.me.line = 97;
405 fra.me.meth = LOCATE_lexer___TKwinterface___parser_index;
406 fra.me.has_broke = 0;
407 fra.me.REG_size = 1;
408 fra.me.REG[0] = NIT_NULL;
409 fra.me.REG[0] = p0;
410 /* ./parser//lexer.nit:99 */
411 REGB0 = TAG_Int(6);
412 goto label1;
413 label1: while(0);
414 stack_frame_head = fra.me.prev;
415 return REGB0;
416 }
417 void lexer___TKwinterface___init_tk(val_t p0, val_t p1, int* init_table){
418 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwinterface].i;
419 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
420 val_t REGB0;
421 val_t tmp;
422 static val_t once_value_1; /* Once value */
423 static val_t once_value_2; /* Once value */
424 if (init_table[itpos6]) return;
425 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
426 fra.me.file = LOCATE_lexer;
427 fra.me.line = 102;
428 fra.me.meth = LOCATE_lexer___TKwinterface___init_tk;
429 fra.me.has_broke = 0;
430 fra.me.REG_size = 3;
431 fra.me.REG[0] = NIT_NULL;
432 fra.me.REG[1] = NIT_NULL;
433 fra.me.REG[2] = NIT_NULL;
434 fra.me.REG[0] = p0;
435 fra.me.REG[1] = p1;
436 /* ./parser//lexer.nit:104 */
437 if (!once_value_1) {
438 if (!once_value_2) {
439 fra.me.REG[2] = BOX_NativeString("interface");
440 REGB0 = TAG_Int(9);
441 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
442 once_value_2 = fra.me.REG[2];
443 register_static_object(&once_value_2);
444 } else fra.me.REG[2] = once_value_2;
445 fra.me.REG[2] = fra.me.REG[2];
446 once_value_1 = fra.me.REG[2];
447 register_static_object(&once_value_1);
448 } else fra.me.REG[2] = once_value_1;
449 fra.me.REG[2] = fra.me.REG[2];
450 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
451 /* ./parser//lexer.nit:105 */
452 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
453 stack_frame_head = fra.me.prev;
454 init_table[itpos6] = 1;
455 return;
456 }
457 val_t lexer___TKwuniversal___parser_index(val_t p0){
458 struct {struct stack_frame_t me;} fra;
459 val_t REGB0;
460 val_t tmp;
461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
462 fra.me.file = LOCATE_lexer;
463 fra.me.line = 110;
464 fra.me.meth = LOCATE_lexer___TKwuniversal___parser_index;
465 fra.me.has_broke = 0;
466 fra.me.REG_size = 1;
467 fra.me.REG[0] = NIT_NULL;
468 fra.me.REG[0] = p0;
469 /* ./parser//lexer.nit:112 */
470 REGB0 = TAG_Int(7);
471 goto label1;
472 label1: while(0);
473 stack_frame_head = fra.me.prev;
474 return REGB0;
475 }
476 void lexer___TKwuniversal___init_tk(val_t p0, val_t p1, int* init_table){
477 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwuniversal].i;
478 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
479 val_t REGB0;
480 val_t tmp;
481 static val_t once_value_1; /* Once value */
482 static val_t once_value_2; /* Once value */
483 if (init_table[itpos7]) return;
484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
485 fra.me.file = LOCATE_lexer;
486 fra.me.line = 115;
487 fra.me.meth = LOCATE_lexer___TKwuniversal___init_tk;
488 fra.me.has_broke = 0;
489 fra.me.REG_size = 3;
490 fra.me.REG[0] = NIT_NULL;
491 fra.me.REG[1] = NIT_NULL;
492 fra.me.REG[2] = NIT_NULL;
493 fra.me.REG[0] = p0;
494 fra.me.REG[1] = p1;
495 /* ./parser//lexer.nit:117 */
496 if (!once_value_1) {
497 if (!once_value_2) {
498 fra.me.REG[2] = BOX_NativeString("universal");
499 REGB0 = TAG_Int(9);
500 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
501 once_value_2 = fra.me.REG[2];
502 register_static_object(&once_value_2);
503 } else fra.me.REG[2] = once_value_2;
504 fra.me.REG[2] = fra.me.REG[2];
505 once_value_1 = fra.me.REG[2];
506 register_static_object(&once_value_1);
507 } else fra.me.REG[2] = once_value_1;
508 fra.me.REG[2] = fra.me.REG[2];
509 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
510 /* ./parser//lexer.nit:118 */
511 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
512 stack_frame_head = fra.me.prev;
513 init_table[itpos7] = 1;
514 return;
515 }
516 val_t lexer___TKwspecial___parser_index(val_t p0){
517 struct {struct stack_frame_t me;} fra;
518 val_t REGB0;
519 val_t tmp;
520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
521 fra.me.file = LOCATE_lexer;
522 fra.me.line = 123;
523 fra.me.meth = LOCATE_lexer___TKwspecial___parser_index;
524 fra.me.has_broke = 0;
525 fra.me.REG_size = 1;
526 fra.me.REG[0] = NIT_NULL;
527 fra.me.REG[0] = p0;
528 /* ./parser//lexer.nit:125 */
529 REGB0 = TAG_Int(8);
530 goto label1;
531 label1: while(0);
532 stack_frame_head = fra.me.prev;
533 return REGB0;
534 }
535 void lexer___TKwspecial___init_tk(val_t p0, val_t p1, int* init_table){
536 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwspecial].i;
537 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
538 val_t REGB0;
539 val_t tmp;
540 static val_t once_value_1; /* Once value */
541 static val_t once_value_2; /* Once value */
542 if (init_table[itpos8]) return;
543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
544 fra.me.file = LOCATE_lexer;
545 fra.me.line = 128;
546 fra.me.meth = LOCATE_lexer___TKwspecial___init_tk;
547 fra.me.has_broke = 0;
548 fra.me.REG_size = 3;
549 fra.me.REG[0] = NIT_NULL;
550 fra.me.REG[1] = NIT_NULL;
551 fra.me.REG[2] = NIT_NULL;
552 fra.me.REG[0] = p0;
553 fra.me.REG[1] = p1;
554 /* ./parser//lexer.nit:130 */
555 if (!once_value_1) {
556 if (!once_value_2) {
557 fra.me.REG[2] = BOX_NativeString("special");
558 REGB0 = TAG_Int(7);
559 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
560 once_value_2 = fra.me.REG[2];
561 register_static_object(&once_value_2);
562 } else fra.me.REG[2] = once_value_2;
563 fra.me.REG[2] = fra.me.REG[2];
564 once_value_1 = fra.me.REG[2];
565 register_static_object(&once_value_1);
566 } else fra.me.REG[2] = once_value_1;
567 fra.me.REG[2] = fra.me.REG[2];
568 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
569 /* ./parser//lexer.nit:131 */
570 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
571 stack_frame_head = fra.me.prev;
572 init_table[itpos8] = 1;
573 return;
574 }
575 val_t lexer___TKwend___parser_index(val_t p0){
576 struct {struct stack_frame_t me;} fra;
577 val_t REGB0;
578 val_t tmp;
579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
580 fra.me.file = LOCATE_lexer;
581 fra.me.line = 136;
582 fra.me.meth = LOCATE_lexer___TKwend___parser_index;
583 fra.me.has_broke = 0;
584 fra.me.REG_size = 1;
585 fra.me.REG[0] = NIT_NULL;
586 fra.me.REG[0] = p0;
587 /* ./parser//lexer.nit:138 */
588 REGB0 = TAG_Int(9);
589 goto label1;
590 label1: while(0);
591 stack_frame_head = fra.me.prev;
592 return REGB0;
593 }
594 void lexer___TKwend___init_tk(val_t p0, val_t p1, int* init_table){
595 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwend].i;
596 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
597 val_t REGB0;
598 val_t tmp;
599 static val_t once_value_1; /* Once value */
600 static val_t once_value_2; /* Once value */
601 if (init_table[itpos9]) return;
602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
603 fra.me.file = LOCATE_lexer;
604 fra.me.line = 141;
605 fra.me.meth = LOCATE_lexer___TKwend___init_tk;
606 fra.me.has_broke = 0;
607 fra.me.REG_size = 3;
608 fra.me.REG[0] = NIT_NULL;
609 fra.me.REG[1] = NIT_NULL;
610 fra.me.REG[2] = NIT_NULL;
611 fra.me.REG[0] = p0;
612 fra.me.REG[1] = p1;
613 /* ./parser//lexer.nit:143 */
614 if (!once_value_1) {
615 if (!once_value_2) {
616 fra.me.REG[2] = BOX_NativeString("end");
617 REGB0 = TAG_Int(3);
618 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
619 once_value_2 = fra.me.REG[2];
620 register_static_object(&once_value_2);
621 } else fra.me.REG[2] = once_value_2;
622 fra.me.REG[2] = fra.me.REG[2];
623 once_value_1 = fra.me.REG[2];
624 register_static_object(&once_value_1);
625 } else fra.me.REG[2] = once_value_1;
626 fra.me.REG[2] = fra.me.REG[2];
627 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
628 /* ./parser//lexer.nit:144 */
629 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
630 stack_frame_head = fra.me.prev;
631 init_table[itpos9] = 1;
632 return;
633 }
634 val_t lexer___TKwmeth___parser_index(val_t p0){
635 struct {struct stack_frame_t me;} fra;
636 val_t REGB0;
637 val_t tmp;
638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
639 fra.me.file = LOCATE_lexer;
640 fra.me.line = 149;
641 fra.me.meth = LOCATE_lexer___TKwmeth___parser_index;
642 fra.me.has_broke = 0;
643 fra.me.REG_size = 1;
644 fra.me.REG[0] = NIT_NULL;
645 fra.me.REG[0] = p0;
646 /* ./parser//lexer.nit:151 */
647 REGB0 = TAG_Int(10);
648 goto label1;
649 label1: while(0);
650 stack_frame_head = fra.me.prev;
651 return REGB0;
652 }
653 void lexer___TKwmeth___init_tk(val_t p0, val_t p1, int* init_table){
654 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwmeth].i;
655 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
656 val_t REGB0;
657 val_t tmp;
658 static val_t once_value_1; /* Once value */
659 static val_t once_value_2; /* Once value */
660 if (init_table[itpos10]) return;
661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
662 fra.me.file = LOCATE_lexer;
663 fra.me.line = 154;
664 fra.me.meth = LOCATE_lexer___TKwmeth___init_tk;
665 fra.me.has_broke = 0;
666 fra.me.REG_size = 3;
667 fra.me.REG[0] = NIT_NULL;
668 fra.me.REG[1] = NIT_NULL;
669 fra.me.REG[2] = NIT_NULL;
670 fra.me.REG[0] = p0;
671 fra.me.REG[1] = p1;
672 /* ./parser//lexer.nit:156 */
673 if (!once_value_1) {
674 if (!once_value_2) {
675 fra.me.REG[2] = BOX_NativeString("fun");
676 REGB0 = TAG_Int(3);
677 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
678 once_value_2 = fra.me.REG[2];
679 register_static_object(&once_value_2);
680 } else fra.me.REG[2] = once_value_2;
681 fra.me.REG[2] = fra.me.REG[2];
682 once_value_1 = fra.me.REG[2];
683 register_static_object(&once_value_1);
684 } else fra.me.REG[2] = once_value_1;
685 fra.me.REG[2] = fra.me.REG[2];
686 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
687 /* ./parser//lexer.nit:157 */
688 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
689 stack_frame_head = fra.me.prev;
690 init_table[itpos10] = 1;
691 return;
692 }
693 val_t lexer___TKwtype___parser_index(val_t p0){
694 struct {struct stack_frame_t me;} fra;
695 val_t REGB0;
696 val_t tmp;
697 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
698 fra.me.file = LOCATE_lexer;
699 fra.me.line = 162;
700 fra.me.meth = LOCATE_lexer___TKwtype___parser_index;
701 fra.me.has_broke = 0;
702 fra.me.REG_size = 1;
703 fra.me.REG[0] = NIT_NULL;
704 fra.me.REG[0] = p0;
705 /* ./parser//lexer.nit:164 */
706 REGB0 = TAG_Int(11);
707 goto label1;
708 label1: while(0);
709 stack_frame_head = fra.me.prev;
710 return REGB0;
711 }
712 void lexer___TKwtype___init_tk(val_t p0, val_t p1, int* init_table){
713 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwtype].i;
714 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
715 val_t REGB0;
716 val_t tmp;
717 static val_t once_value_1; /* Once value */
718 static val_t once_value_2; /* Once value */
719 if (init_table[itpos11]) return;
720 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
721 fra.me.file = LOCATE_lexer;
722 fra.me.line = 167;
723 fra.me.meth = LOCATE_lexer___TKwtype___init_tk;
724 fra.me.has_broke = 0;
725 fra.me.REG_size = 3;
726 fra.me.REG[0] = NIT_NULL;
727 fra.me.REG[1] = NIT_NULL;
728 fra.me.REG[2] = NIT_NULL;
729 fra.me.REG[0] = p0;
730 fra.me.REG[1] = p1;
731 /* ./parser//lexer.nit:169 */
732 if (!once_value_1) {
733 if (!once_value_2) {
734 fra.me.REG[2] = BOX_NativeString("type");
735 REGB0 = TAG_Int(4);
736 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
737 once_value_2 = fra.me.REG[2];
738 register_static_object(&once_value_2);
739 } else fra.me.REG[2] = once_value_2;
740 fra.me.REG[2] = fra.me.REG[2];
741 once_value_1 = fra.me.REG[2];
742 register_static_object(&once_value_1);
743 } else fra.me.REG[2] = once_value_1;
744 fra.me.REG[2] = fra.me.REG[2];
745 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
746 /* ./parser//lexer.nit:170 */
747 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
748 stack_frame_head = fra.me.prev;
749 init_table[itpos11] = 1;
750 return;
751 }
752 val_t lexer___TKwinit___parser_index(val_t p0){
753 struct {struct stack_frame_t me;} fra;
754 val_t REGB0;
755 val_t tmp;
756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
757 fra.me.file = LOCATE_lexer;
758 fra.me.line = 175;
759 fra.me.meth = LOCATE_lexer___TKwinit___parser_index;
760 fra.me.has_broke = 0;
761 fra.me.REG_size = 1;
762 fra.me.REG[0] = NIT_NULL;
763 fra.me.REG[0] = p0;
764 /* ./parser//lexer.nit:177 */
765 REGB0 = TAG_Int(12);
766 goto label1;
767 label1: while(0);
768 stack_frame_head = fra.me.prev;
769 return REGB0;
770 }
771 void lexer___TKwinit___init_tk(val_t p0, val_t p1, int* init_table){
772 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwinit].i;
773 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
774 val_t REGB0;
775 val_t tmp;
776 static val_t once_value_1; /* Once value */
777 static val_t once_value_2; /* Once value */
778 if (init_table[itpos12]) return;
779 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
780 fra.me.file = LOCATE_lexer;
781 fra.me.line = 180;
782 fra.me.meth = LOCATE_lexer___TKwinit___init_tk;
783 fra.me.has_broke = 0;
784 fra.me.REG_size = 3;
785 fra.me.REG[0] = NIT_NULL;
786 fra.me.REG[1] = NIT_NULL;
787 fra.me.REG[2] = NIT_NULL;
788 fra.me.REG[0] = p0;
789 fra.me.REG[1] = p1;
790 /* ./parser//lexer.nit:182 */
791 if (!once_value_1) {
792 if (!once_value_2) {
793 fra.me.REG[2] = BOX_NativeString("init");
794 REGB0 = TAG_Int(4);
795 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
796 once_value_2 = fra.me.REG[2];
797 register_static_object(&once_value_2);
798 } else fra.me.REG[2] = once_value_2;
799 fra.me.REG[2] = fra.me.REG[2];
800 once_value_1 = fra.me.REG[2];
801 register_static_object(&once_value_1);
802 } else fra.me.REG[2] = once_value_1;
803 fra.me.REG[2] = fra.me.REG[2];
804 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
805 /* ./parser//lexer.nit:183 */
806 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
807 stack_frame_head = fra.me.prev;
808 init_table[itpos12] = 1;
809 return;
810 }
811 val_t lexer___TKwredef___parser_index(val_t p0){
812 struct {struct stack_frame_t me;} fra;
813 val_t REGB0;
814 val_t tmp;
815 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
816 fra.me.file = LOCATE_lexer;
817 fra.me.line = 188;
818 fra.me.meth = LOCATE_lexer___TKwredef___parser_index;
819 fra.me.has_broke = 0;
820 fra.me.REG_size = 1;
821 fra.me.REG[0] = NIT_NULL;
822 fra.me.REG[0] = p0;
823 /* ./parser//lexer.nit:190 */
824 REGB0 = TAG_Int(13);
825 goto label1;
826 label1: while(0);
827 stack_frame_head = fra.me.prev;
828 return REGB0;
829 }
830 void lexer___TKwredef___init_tk(val_t p0, val_t p1, int* init_table){
831 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwredef].i;
832 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
833 val_t REGB0;
834 val_t tmp;
835 static val_t once_value_1; /* Once value */
836 static val_t once_value_2; /* Once value */
837 if (init_table[itpos13]) return;
838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
839 fra.me.file = LOCATE_lexer;
840 fra.me.line = 193;
841 fra.me.meth = LOCATE_lexer___TKwredef___init_tk;
842 fra.me.has_broke = 0;
843 fra.me.REG_size = 3;
844 fra.me.REG[0] = NIT_NULL;
845 fra.me.REG[1] = NIT_NULL;
846 fra.me.REG[2] = NIT_NULL;
847 fra.me.REG[0] = p0;
848 fra.me.REG[1] = p1;
849 /* ./parser//lexer.nit:195 */
850 if (!once_value_1) {
851 if (!once_value_2) {
852 fra.me.REG[2] = BOX_NativeString("redef");
853 REGB0 = TAG_Int(5);
854 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
855 once_value_2 = fra.me.REG[2];
856 register_static_object(&once_value_2);
857 } else fra.me.REG[2] = once_value_2;
858 fra.me.REG[2] = fra.me.REG[2];
859 once_value_1 = fra.me.REG[2];
860 register_static_object(&once_value_1);
861 } else fra.me.REG[2] = once_value_1;
862 fra.me.REG[2] = fra.me.REG[2];
863 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
864 /* ./parser//lexer.nit:196 */
865 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
866 stack_frame_head = fra.me.prev;
867 init_table[itpos13] = 1;
868 return;
869 }
870 val_t lexer___TKwis___parser_index(val_t p0){
871 struct {struct stack_frame_t me;} fra;
872 val_t REGB0;
873 val_t tmp;
874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
875 fra.me.file = LOCATE_lexer;
876 fra.me.line = 201;
877 fra.me.meth = LOCATE_lexer___TKwis___parser_index;
878 fra.me.has_broke = 0;
879 fra.me.REG_size = 1;
880 fra.me.REG[0] = NIT_NULL;
881 fra.me.REG[0] = p0;
882 /* ./parser//lexer.nit:203 */
883 REGB0 = TAG_Int(14);
884 goto label1;
885 label1: while(0);
886 stack_frame_head = fra.me.prev;
887 return REGB0;
888 }
889 void lexer___TKwis___init_tk(val_t p0, val_t p1, int* init_table){
890 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwis].i;
891 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
892 val_t REGB0;
893 val_t tmp;
894 static val_t once_value_1; /* Once value */
895 static val_t once_value_2; /* Once value */
896 if (init_table[itpos14]) return;
897 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
898 fra.me.file = LOCATE_lexer;
899 fra.me.line = 206;
900 fra.me.meth = LOCATE_lexer___TKwis___init_tk;
901 fra.me.has_broke = 0;
902 fra.me.REG_size = 3;
903 fra.me.REG[0] = NIT_NULL;
904 fra.me.REG[1] = NIT_NULL;
905 fra.me.REG[2] = NIT_NULL;
906 fra.me.REG[0] = p0;
907 fra.me.REG[1] = p1;
908 /* ./parser//lexer.nit:208 */
909 if (!once_value_1) {
910 if (!once_value_2) {
911 fra.me.REG[2] = BOX_NativeString("is");
912 REGB0 = TAG_Int(2);
913 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
914 once_value_2 = fra.me.REG[2];
915 register_static_object(&once_value_2);
916 } else fra.me.REG[2] = once_value_2;
917 fra.me.REG[2] = fra.me.REG[2];
918 once_value_1 = fra.me.REG[2];
919 register_static_object(&once_value_1);
920 } else fra.me.REG[2] = once_value_1;
921 fra.me.REG[2] = fra.me.REG[2];
922 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
923 /* ./parser//lexer.nit:209 */
924 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
925 stack_frame_head = fra.me.prev;
926 init_table[itpos14] = 1;
927 return;
928 }
929 val_t lexer___TKwdo___parser_index(val_t p0){
930 struct {struct stack_frame_t me;} fra;
931 val_t REGB0;
932 val_t tmp;
933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
934 fra.me.file = LOCATE_lexer;
935 fra.me.line = 214;
936 fra.me.meth = LOCATE_lexer___TKwdo___parser_index;
937 fra.me.has_broke = 0;
938 fra.me.REG_size = 1;
939 fra.me.REG[0] = NIT_NULL;
940 fra.me.REG[0] = p0;
941 /* ./parser//lexer.nit:216 */
942 REGB0 = TAG_Int(15);
943 goto label1;
944 label1: while(0);
945 stack_frame_head = fra.me.prev;
946 return REGB0;
947 }
948 void lexer___TKwdo___init_tk(val_t p0, val_t p1, int* init_table){
949 int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwdo].i;
950 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
951 val_t REGB0;
952 val_t tmp;
953 static val_t once_value_1; /* Once value */
954 static val_t once_value_2; /* Once value */
955 if (init_table[itpos15]) return;
956 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
957 fra.me.file = LOCATE_lexer;
958 fra.me.line = 219;
959 fra.me.meth = LOCATE_lexer___TKwdo___init_tk;
960 fra.me.has_broke = 0;
961 fra.me.REG_size = 3;
962 fra.me.REG[0] = NIT_NULL;
963 fra.me.REG[1] = NIT_NULL;
964 fra.me.REG[2] = NIT_NULL;
965 fra.me.REG[0] = p0;
966 fra.me.REG[1] = p1;
967 /* ./parser//lexer.nit:221 */
968 if (!once_value_1) {
969 if (!once_value_2) {
970 fra.me.REG[2] = BOX_NativeString("do");
971 REGB0 = TAG_Int(2);
972 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
973 once_value_2 = fra.me.REG[2];
974 register_static_object(&once_value_2);
975 } else fra.me.REG[2] = once_value_2;
976 fra.me.REG[2] = fra.me.REG[2];
977 once_value_1 = fra.me.REG[2];
978 register_static_object(&once_value_1);
979 } else fra.me.REG[2] = once_value_1;
980 fra.me.REG[2] = fra.me.REG[2];
981 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
982 /* ./parser//lexer.nit:222 */
983 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
984 stack_frame_head = fra.me.prev;
985 init_table[itpos15] = 1;
986 return;
987 }
988 val_t lexer___TKwreadable___parser_index(val_t p0){
989 struct {struct stack_frame_t me;} fra;
990 val_t REGB0;
991 val_t tmp;
992 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
993 fra.me.file = LOCATE_lexer;
994 fra.me.line = 227;
995 fra.me.meth = LOCATE_lexer___TKwreadable___parser_index;
996 fra.me.has_broke = 0;
997 fra.me.REG_size = 1;
998 fra.me.REG[0] = NIT_NULL;
999 fra.me.REG[0] = p0;
1000 /* ./parser//lexer.nit:229 */
1001 REGB0 = TAG_Int(16);
1002 goto label1;
1003 label1: while(0);
1004 stack_frame_head = fra.me.prev;
1005 return REGB0;
1006 }
1007 void lexer___TKwreadable___init_tk(val_t p0, val_t p1, int* init_table){
1008 int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwreadable].i;
1009 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1010 val_t REGB0;
1011 val_t tmp;
1012 static val_t once_value_1; /* Once value */
1013 static val_t once_value_2; /* Once value */
1014 if (init_table[itpos16]) return;
1015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1016 fra.me.file = LOCATE_lexer;
1017 fra.me.line = 232;
1018 fra.me.meth = LOCATE_lexer___TKwreadable___init_tk;
1019 fra.me.has_broke = 0;
1020 fra.me.REG_size = 3;
1021 fra.me.REG[0] = NIT_NULL;
1022 fra.me.REG[1] = NIT_NULL;
1023 fra.me.REG[2] = NIT_NULL;
1024 fra.me.REG[0] = p0;
1025 fra.me.REG[1] = p1;
1026 /* ./parser//lexer.nit:234 */
1027 if (!once_value_1) {
1028 if (!once_value_2) {
1029 fra.me.REG[2] = BOX_NativeString("readable");
1030 REGB0 = TAG_Int(8);
1031 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1032 once_value_2 = fra.me.REG[2];
1033 register_static_object(&once_value_2);
1034 } else fra.me.REG[2] = once_value_2;
1035 fra.me.REG[2] = fra.me.REG[2];
1036 once_value_1 = fra.me.REG[2];
1037 register_static_object(&once_value_1);
1038 } else fra.me.REG[2] = once_value_1;
1039 fra.me.REG[2] = fra.me.REG[2];
1040 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1041 /* ./parser//lexer.nit:235 */
1042 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1043 stack_frame_head = fra.me.prev;
1044 init_table[itpos16] = 1;
1045 return;
1046 }
1047 val_t lexer___TKwwritable___parser_index(val_t p0){
1048 struct {struct stack_frame_t me;} fra;
1049 val_t REGB0;
1050 val_t tmp;
1051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1052 fra.me.file = LOCATE_lexer;
1053 fra.me.line = 240;
1054 fra.me.meth = LOCATE_lexer___TKwwritable___parser_index;
1055 fra.me.has_broke = 0;
1056 fra.me.REG_size = 1;
1057 fra.me.REG[0] = NIT_NULL;
1058 fra.me.REG[0] = p0;
1059 /* ./parser//lexer.nit:242 */
1060 REGB0 = TAG_Int(17);
1061 goto label1;
1062 label1: while(0);
1063 stack_frame_head = fra.me.prev;
1064 return REGB0;
1065 }
1066 void lexer___TKwwritable___init_tk(val_t p0, val_t p1, int* init_table){
1067 int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwwritable].i;
1068 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1069 val_t REGB0;
1070 val_t tmp;
1071 static val_t once_value_1; /* Once value */
1072 static val_t once_value_2; /* Once value */
1073 if (init_table[itpos17]) return;
1074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1075 fra.me.file = LOCATE_lexer;
1076 fra.me.line = 245;
1077 fra.me.meth = LOCATE_lexer___TKwwritable___init_tk;
1078 fra.me.has_broke = 0;
1079 fra.me.REG_size = 3;
1080 fra.me.REG[0] = NIT_NULL;
1081 fra.me.REG[1] = NIT_NULL;
1082 fra.me.REG[2] = NIT_NULL;
1083 fra.me.REG[0] = p0;
1084 fra.me.REG[1] = p1;
1085 /* ./parser//lexer.nit:247 */
1086 if (!once_value_1) {
1087 if (!once_value_2) {
1088 fra.me.REG[2] = BOX_NativeString("writable");
1089 REGB0 = TAG_Int(8);
1090 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1091 once_value_2 = fra.me.REG[2];
1092 register_static_object(&once_value_2);
1093 } else fra.me.REG[2] = once_value_2;
1094 fra.me.REG[2] = fra.me.REG[2];
1095 once_value_1 = fra.me.REG[2];
1096 register_static_object(&once_value_1);
1097 } else fra.me.REG[2] = once_value_1;
1098 fra.me.REG[2] = fra.me.REG[2];
1099 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1100 /* ./parser//lexer.nit:248 */
1101 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1102 stack_frame_head = fra.me.prev;
1103 init_table[itpos17] = 1;
1104 return;
1105 }
1106 val_t lexer___TKwvar___parser_index(val_t p0){
1107 struct {struct stack_frame_t me;} fra;
1108 val_t REGB0;
1109 val_t tmp;
1110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1111 fra.me.file = LOCATE_lexer;
1112 fra.me.line = 253;
1113 fra.me.meth = LOCATE_lexer___TKwvar___parser_index;
1114 fra.me.has_broke = 0;
1115 fra.me.REG_size = 1;
1116 fra.me.REG[0] = NIT_NULL;
1117 fra.me.REG[0] = p0;
1118 /* ./parser//lexer.nit:255 */
1119 REGB0 = TAG_Int(18);
1120 goto label1;
1121 label1: while(0);
1122 stack_frame_head = fra.me.prev;
1123 return REGB0;
1124 }
1125 void lexer___TKwvar___init_tk(val_t p0, val_t p1, int* init_table){
1126 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwvar].i;
1127 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1128 val_t REGB0;
1129 val_t tmp;
1130 static val_t once_value_1; /* Once value */
1131 static val_t once_value_2; /* Once value */
1132 if (init_table[itpos18]) return;
1133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1134 fra.me.file = LOCATE_lexer;
1135 fra.me.line = 258;
1136 fra.me.meth = LOCATE_lexer___TKwvar___init_tk;
1137 fra.me.has_broke = 0;
1138 fra.me.REG_size = 3;
1139 fra.me.REG[0] = NIT_NULL;
1140 fra.me.REG[1] = NIT_NULL;
1141 fra.me.REG[2] = NIT_NULL;
1142 fra.me.REG[0] = p0;
1143 fra.me.REG[1] = p1;
1144 /* ./parser//lexer.nit:260 */
1145 if (!once_value_1) {
1146 if (!once_value_2) {
1147 fra.me.REG[2] = BOX_NativeString("var");
1148 REGB0 = TAG_Int(3);
1149 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1150 once_value_2 = fra.me.REG[2];
1151 register_static_object(&once_value_2);
1152 } else fra.me.REG[2] = once_value_2;
1153 fra.me.REG[2] = fra.me.REG[2];
1154 once_value_1 = fra.me.REG[2];
1155 register_static_object(&once_value_1);
1156 } else fra.me.REG[2] = once_value_1;
1157 fra.me.REG[2] = fra.me.REG[2];
1158 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1159 /* ./parser//lexer.nit:261 */
1160 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1161 stack_frame_head = fra.me.prev;
1162 init_table[itpos18] = 1;
1163 return;
1164 }
1165 val_t lexer___TKwintern___parser_index(val_t p0){
1166 struct {struct stack_frame_t me;} fra;
1167 val_t REGB0;
1168 val_t tmp;
1169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1170 fra.me.file = LOCATE_lexer;
1171 fra.me.line = 266;
1172 fra.me.meth = LOCATE_lexer___TKwintern___parser_index;
1173 fra.me.has_broke = 0;
1174 fra.me.REG_size = 1;
1175 fra.me.REG[0] = NIT_NULL;
1176 fra.me.REG[0] = p0;
1177 /* ./parser//lexer.nit:268 */
1178 REGB0 = TAG_Int(19);
1179 goto label1;
1180 label1: while(0);
1181 stack_frame_head = fra.me.prev;
1182 return REGB0;
1183 }
1184 void lexer___TKwintern___init_tk(val_t p0, val_t p1, int* init_table){
1185 int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwintern].i;
1186 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1187 val_t REGB0;
1188 val_t tmp;
1189 static val_t once_value_1; /* Once value */
1190 static val_t once_value_2; /* Once value */
1191 if (init_table[itpos19]) return;
1192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1193 fra.me.file = LOCATE_lexer;
1194 fra.me.line = 271;
1195 fra.me.meth = LOCATE_lexer___TKwintern___init_tk;
1196 fra.me.has_broke = 0;
1197 fra.me.REG_size = 3;
1198 fra.me.REG[0] = NIT_NULL;
1199 fra.me.REG[1] = NIT_NULL;
1200 fra.me.REG[2] = NIT_NULL;
1201 fra.me.REG[0] = p0;
1202 fra.me.REG[1] = p1;
1203 /* ./parser//lexer.nit:273 */
1204 if (!once_value_1) {
1205 if (!once_value_2) {
1206 fra.me.REG[2] = BOX_NativeString("intern");
1207 REGB0 = TAG_Int(6);
1208 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1209 once_value_2 = fra.me.REG[2];
1210 register_static_object(&once_value_2);
1211 } else fra.me.REG[2] = once_value_2;
1212 fra.me.REG[2] = fra.me.REG[2];
1213 once_value_1 = fra.me.REG[2];
1214 register_static_object(&once_value_1);
1215 } else fra.me.REG[2] = once_value_1;
1216 fra.me.REG[2] = fra.me.REG[2];
1217 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1218 /* ./parser//lexer.nit:274 */
1219 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1220 stack_frame_head = fra.me.prev;
1221 init_table[itpos19] = 1;
1222 return;
1223 }
1224 val_t lexer___TKwextern___parser_index(val_t p0){
1225 struct {struct stack_frame_t me;} fra;
1226 val_t REGB0;
1227 val_t tmp;
1228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1229 fra.me.file = LOCATE_lexer;
1230 fra.me.line = 279;
1231 fra.me.meth = LOCATE_lexer___TKwextern___parser_index;
1232 fra.me.has_broke = 0;
1233 fra.me.REG_size = 1;
1234 fra.me.REG[0] = NIT_NULL;
1235 fra.me.REG[0] = p0;
1236 /* ./parser//lexer.nit:281 */
1237 REGB0 = TAG_Int(20);
1238 goto label1;
1239 label1: while(0);
1240 stack_frame_head = fra.me.prev;
1241 return REGB0;
1242 }
1243 void lexer___TKwextern___init_tk(val_t p0, val_t p1, int* init_table){
1244 int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwextern].i;
1245 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1246 val_t REGB0;
1247 val_t tmp;
1248 static val_t once_value_1; /* Once value */
1249 static val_t once_value_2; /* Once value */
1250 if (init_table[itpos20]) return;
1251 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1252 fra.me.file = LOCATE_lexer;
1253 fra.me.line = 284;
1254 fra.me.meth = LOCATE_lexer___TKwextern___init_tk;
1255 fra.me.has_broke = 0;
1256 fra.me.REG_size = 3;
1257 fra.me.REG[0] = NIT_NULL;
1258 fra.me.REG[1] = NIT_NULL;
1259 fra.me.REG[2] = NIT_NULL;
1260 fra.me.REG[0] = p0;
1261 fra.me.REG[1] = p1;
1262 /* ./parser//lexer.nit:286 */
1263 if (!once_value_1) {
1264 if (!once_value_2) {
1265 fra.me.REG[2] = BOX_NativeString("extern");
1266 REGB0 = TAG_Int(6);
1267 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1268 once_value_2 = fra.me.REG[2];
1269 register_static_object(&once_value_2);
1270 } else fra.me.REG[2] = once_value_2;
1271 fra.me.REG[2] = fra.me.REG[2];
1272 once_value_1 = fra.me.REG[2];
1273 register_static_object(&once_value_1);
1274 } else fra.me.REG[2] = once_value_1;
1275 fra.me.REG[2] = fra.me.REG[2];
1276 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1277 /* ./parser//lexer.nit:287 */
1278 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1279 stack_frame_head = fra.me.prev;
1280 init_table[itpos20] = 1;
1281 return;
1282 }
1283 val_t lexer___TKwprotected___parser_index(val_t p0){
1284 struct {struct stack_frame_t me;} fra;
1285 val_t REGB0;
1286 val_t tmp;
1287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1288 fra.me.file = LOCATE_lexer;
1289 fra.me.line = 292;
1290 fra.me.meth = LOCATE_lexer___TKwprotected___parser_index;
1291 fra.me.has_broke = 0;
1292 fra.me.REG_size = 1;
1293 fra.me.REG[0] = NIT_NULL;
1294 fra.me.REG[0] = p0;
1295 /* ./parser//lexer.nit:294 */
1296 REGB0 = TAG_Int(21);
1297 goto label1;
1298 label1: while(0);
1299 stack_frame_head = fra.me.prev;
1300 return REGB0;
1301 }
1302 void lexer___TKwprotected___init_tk(val_t p0, val_t p1, int* init_table){
1303 int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwprotected].i;
1304 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1305 val_t REGB0;
1306 val_t tmp;
1307 static val_t once_value_1; /* Once value */
1308 static val_t once_value_2; /* Once value */
1309 if (init_table[itpos21]) return;
1310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1311 fra.me.file = LOCATE_lexer;
1312 fra.me.line = 297;
1313 fra.me.meth = LOCATE_lexer___TKwprotected___init_tk;
1314 fra.me.has_broke = 0;
1315 fra.me.REG_size = 3;
1316 fra.me.REG[0] = NIT_NULL;
1317 fra.me.REG[1] = NIT_NULL;
1318 fra.me.REG[2] = NIT_NULL;
1319 fra.me.REG[0] = p0;
1320 fra.me.REG[1] = p1;
1321 /* ./parser//lexer.nit:299 */
1322 if (!once_value_1) {
1323 if (!once_value_2) {
1324 fra.me.REG[2] = BOX_NativeString("protected");
1325 REGB0 = TAG_Int(9);
1326 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1327 once_value_2 = fra.me.REG[2];
1328 register_static_object(&once_value_2);
1329 } else fra.me.REG[2] = once_value_2;
1330 fra.me.REG[2] = fra.me.REG[2];
1331 once_value_1 = fra.me.REG[2];
1332 register_static_object(&once_value_1);
1333 } else fra.me.REG[2] = once_value_1;
1334 fra.me.REG[2] = fra.me.REG[2];
1335 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1336 /* ./parser//lexer.nit:300 */
1337 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1338 stack_frame_head = fra.me.prev;
1339 init_table[itpos21] = 1;
1340 return;
1341 }
1342 val_t lexer___TKwprivate___parser_index(val_t p0){
1343 struct {struct stack_frame_t me;} fra;
1344 val_t REGB0;
1345 val_t tmp;
1346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1347 fra.me.file = LOCATE_lexer;
1348 fra.me.line = 305;
1349 fra.me.meth = LOCATE_lexer___TKwprivate___parser_index;
1350 fra.me.has_broke = 0;
1351 fra.me.REG_size = 1;
1352 fra.me.REG[0] = NIT_NULL;
1353 fra.me.REG[0] = p0;
1354 /* ./parser//lexer.nit:307 */
1355 REGB0 = TAG_Int(22);
1356 goto label1;
1357 label1: while(0);
1358 stack_frame_head = fra.me.prev;
1359 return REGB0;
1360 }
1361 void lexer___TKwprivate___init_tk(val_t p0, val_t p1, int* init_table){
1362 int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwprivate].i;
1363 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1364 val_t REGB0;
1365 val_t tmp;
1366 static val_t once_value_1; /* Once value */
1367 static val_t once_value_2; /* Once value */
1368 if (init_table[itpos22]) return;
1369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1370 fra.me.file = LOCATE_lexer;
1371 fra.me.line = 310;
1372 fra.me.meth = LOCATE_lexer___TKwprivate___init_tk;
1373 fra.me.has_broke = 0;
1374 fra.me.REG_size = 3;
1375 fra.me.REG[0] = NIT_NULL;
1376 fra.me.REG[1] = NIT_NULL;
1377 fra.me.REG[2] = NIT_NULL;
1378 fra.me.REG[0] = p0;
1379 fra.me.REG[1] = p1;
1380 /* ./parser//lexer.nit:312 */
1381 if (!once_value_1) {
1382 if (!once_value_2) {
1383 fra.me.REG[2] = BOX_NativeString("private");
1384 REGB0 = TAG_Int(7);
1385 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1386 once_value_2 = fra.me.REG[2];
1387 register_static_object(&once_value_2);
1388 } else fra.me.REG[2] = once_value_2;
1389 fra.me.REG[2] = fra.me.REG[2];
1390 once_value_1 = fra.me.REG[2];
1391 register_static_object(&once_value_1);
1392 } else fra.me.REG[2] = once_value_1;
1393 fra.me.REG[2] = fra.me.REG[2];
1394 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1395 /* ./parser//lexer.nit:313 */
1396 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1397 stack_frame_head = fra.me.prev;
1398 init_table[itpos22] = 1;
1399 return;
1400 }
1401 val_t lexer___TKwintrude___parser_index(val_t p0){
1402 struct {struct stack_frame_t me;} fra;
1403 val_t REGB0;
1404 val_t tmp;
1405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1406 fra.me.file = LOCATE_lexer;
1407 fra.me.line = 318;
1408 fra.me.meth = LOCATE_lexer___TKwintrude___parser_index;
1409 fra.me.has_broke = 0;
1410 fra.me.REG_size = 1;
1411 fra.me.REG[0] = NIT_NULL;
1412 fra.me.REG[0] = p0;
1413 /* ./parser//lexer.nit:320 */
1414 REGB0 = TAG_Int(23);
1415 goto label1;
1416 label1: while(0);
1417 stack_frame_head = fra.me.prev;
1418 return REGB0;
1419 }
1420 void lexer___TKwintrude___init_tk(val_t p0, val_t p1, int* init_table){
1421 int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwintrude].i;
1422 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1423 val_t REGB0;
1424 val_t tmp;
1425 static val_t once_value_1; /* Once value */
1426 static val_t once_value_2; /* Once value */
1427 if (init_table[itpos23]) return;
1428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1429 fra.me.file = LOCATE_lexer;
1430 fra.me.line = 323;
1431 fra.me.meth = LOCATE_lexer___TKwintrude___init_tk;
1432 fra.me.has_broke = 0;
1433 fra.me.REG_size = 3;
1434 fra.me.REG[0] = NIT_NULL;
1435 fra.me.REG[1] = NIT_NULL;
1436 fra.me.REG[2] = NIT_NULL;
1437 fra.me.REG[0] = p0;
1438 fra.me.REG[1] = p1;
1439 /* ./parser//lexer.nit:325 */
1440 if (!once_value_1) {
1441 if (!once_value_2) {
1442 fra.me.REG[2] = BOX_NativeString("intrude");
1443 REGB0 = TAG_Int(7);
1444 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1445 once_value_2 = fra.me.REG[2];
1446 register_static_object(&once_value_2);
1447 } else fra.me.REG[2] = once_value_2;
1448 fra.me.REG[2] = fra.me.REG[2];
1449 once_value_1 = fra.me.REG[2];
1450 register_static_object(&once_value_1);
1451 } else fra.me.REG[2] = once_value_1;
1452 fra.me.REG[2] = fra.me.REG[2];
1453 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1454 /* ./parser//lexer.nit:326 */
1455 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1456 stack_frame_head = fra.me.prev;
1457 init_table[itpos23] = 1;
1458 return;
1459 }
1460 val_t lexer___TKwif___parser_index(val_t p0){
1461 struct {struct stack_frame_t me;} fra;
1462 val_t REGB0;
1463 val_t tmp;
1464 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1465 fra.me.file = LOCATE_lexer;
1466 fra.me.line = 331;
1467 fra.me.meth = LOCATE_lexer___TKwif___parser_index;
1468 fra.me.has_broke = 0;
1469 fra.me.REG_size = 1;
1470 fra.me.REG[0] = NIT_NULL;
1471 fra.me.REG[0] = p0;
1472 /* ./parser//lexer.nit:333 */
1473 REGB0 = TAG_Int(24);
1474 goto label1;
1475 label1: while(0);
1476 stack_frame_head = fra.me.prev;
1477 return REGB0;
1478 }
1479 void lexer___TKwif___init_tk(val_t p0, val_t p1, int* init_table){
1480 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwif].i;
1481 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1482 val_t REGB0;
1483 val_t tmp;
1484 static val_t once_value_1; /* Once value */
1485 static val_t once_value_2; /* Once value */
1486 if (init_table[itpos24]) return;
1487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1488 fra.me.file = LOCATE_lexer;
1489 fra.me.line = 336;
1490 fra.me.meth = LOCATE_lexer___TKwif___init_tk;
1491 fra.me.has_broke = 0;
1492 fra.me.REG_size = 3;
1493 fra.me.REG[0] = NIT_NULL;
1494 fra.me.REG[1] = NIT_NULL;
1495 fra.me.REG[2] = NIT_NULL;
1496 fra.me.REG[0] = p0;
1497 fra.me.REG[1] = p1;
1498 /* ./parser//lexer.nit:338 */
1499 if (!once_value_1) {
1500 if (!once_value_2) {
1501 fra.me.REG[2] = BOX_NativeString("if");
1502 REGB0 = TAG_Int(2);
1503 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1504 once_value_2 = fra.me.REG[2];
1505 register_static_object(&once_value_2);
1506 } else fra.me.REG[2] = once_value_2;
1507 fra.me.REG[2] = fra.me.REG[2];
1508 once_value_1 = fra.me.REG[2];
1509 register_static_object(&once_value_1);
1510 } else fra.me.REG[2] = once_value_1;
1511 fra.me.REG[2] = fra.me.REG[2];
1512 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1513 /* ./parser//lexer.nit:339 */
1514 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1515 stack_frame_head = fra.me.prev;
1516 init_table[itpos24] = 1;
1517 return;
1518 }
1519 val_t lexer___TKwthen___parser_index(val_t p0){
1520 struct {struct stack_frame_t me;} fra;
1521 val_t REGB0;
1522 val_t tmp;
1523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1524 fra.me.file = LOCATE_lexer;
1525 fra.me.line = 344;
1526 fra.me.meth = LOCATE_lexer___TKwthen___parser_index;
1527 fra.me.has_broke = 0;
1528 fra.me.REG_size = 1;
1529 fra.me.REG[0] = NIT_NULL;
1530 fra.me.REG[0] = p0;
1531 /* ./parser//lexer.nit:346 */
1532 REGB0 = TAG_Int(25);
1533 goto label1;
1534 label1: while(0);
1535 stack_frame_head = fra.me.prev;
1536 return REGB0;
1537 }
1538 void lexer___TKwthen___init_tk(val_t p0, val_t p1, int* init_table){
1539 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwthen].i;
1540 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1541 val_t REGB0;
1542 val_t tmp;
1543 static val_t once_value_1; /* Once value */
1544 static val_t once_value_2; /* Once value */
1545 if (init_table[itpos25]) return;
1546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1547 fra.me.file = LOCATE_lexer;
1548 fra.me.line = 349;
1549 fra.me.meth = LOCATE_lexer___TKwthen___init_tk;
1550 fra.me.has_broke = 0;
1551 fra.me.REG_size = 3;
1552 fra.me.REG[0] = NIT_NULL;
1553 fra.me.REG[1] = NIT_NULL;
1554 fra.me.REG[2] = NIT_NULL;
1555 fra.me.REG[0] = p0;
1556 fra.me.REG[1] = p1;
1557 /* ./parser//lexer.nit:351 */
1558 if (!once_value_1) {
1559 if (!once_value_2) {
1560 fra.me.REG[2] = BOX_NativeString("then");
1561 REGB0 = TAG_Int(4);
1562 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1563 once_value_2 = fra.me.REG[2];
1564 register_static_object(&once_value_2);
1565 } else fra.me.REG[2] = once_value_2;
1566 fra.me.REG[2] = fra.me.REG[2];
1567 once_value_1 = fra.me.REG[2];
1568 register_static_object(&once_value_1);
1569 } else fra.me.REG[2] = once_value_1;
1570 fra.me.REG[2] = fra.me.REG[2];
1571 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1572 /* ./parser//lexer.nit:352 */
1573 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1574 stack_frame_head = fra.me.prev;
1575 init_table[itpos25] = 1;
1576 return;
1577 }
1578 val_t lexer___TKwelse___parser_index(val_t p0){
1579 struct {struct stack_frame_t me;} fra;
1580 val_t REGB0;
1581 val_t tmp;
1582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1583 fra.me.file = LOCATE_lexer;
1584 fra.me.line = 357;
1585 fra.me.meth = LOCATE_lexer___TKwelse___parser_index;
1586 fra.me.has_broke = 0;
1587 fra.me.REG_size = 1;
1588 fra.me.REG[0] = NIT_NULL;
1589 fra.me.REG[0] = p0;
1590 /* ./parser//lexer.nit:359 */
1591 REGB0 = TAG_Int(26);
1592 goto label1;
1593 label1: while(0);
1594 stack_frame_head = fra.me.prev;
1595 return REGB0;
1596 }
1597 void lexer___TKwelse___init_tk(val_t p0, val_t p1, int* init_table){
1598 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwelse].i;
1599 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1600 val_t REGB0;
1601 val_t tmp;
1602 static val_t once_value_1; /* Once value */
1603 static val_t once_value_2; /* Once value */
1604 if (init_table[itpos26]) return;
1605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1606 fra.me.file = LOCATE_lexer;
1607 fra.me.line = 362;
1608 fra.me.meth = LOCATE_lexer___TKwelse___init_tk;
1609 fra.me.has_broke = 0;
1610 fra.me.REG_size = 3;
1611 fra.me.REG[0] = NIT_NULL;
1612 fra.me.REG[1] = NIT_NULL;
1613 fra.me.REG[2] = NIT_NULL;
1614 fra.me.REG[0] = p0;
1615 fra.me.REG[1] = p1;
1616 /* ./parser//lexer.nit:364 */
1617 if (!once_value_1) {
1618 if (!once_value_2) {
1619 fra.me.REG[2] = BOX_NativeString("else");
1620 REGB0 = TAG_Int(4);
1621 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1622 once_value_2 = fra.me.REG[2];
1623 register_static_object(&once_value_2);
1624 } else fra.me.REG[2] = once_value_2;
1625 fra.me.REG[2] = fra.me.REG[2];
1626 once_value_1 = fra.me.REG[2];
1627 register_static_object(&once_value_1);
1628 } else fra.me.REG[2] = once_value_1;
1629 fra.me.REG[2] = fra.me.REG[2];
1630 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1631 /* ./parser//lexer.nit:365 */
1632 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1633 stack_frame_head = fra.me.prev;
1634 init_table[itpos26] = 1;
1635 return;
1636 }
1637 val_t lexer___TKwwhile___parser_index(val_t p0){
1638 struct {struct stack_frame_t me;} fra;
1639 val_t REGB0;
1640 val_t tmp;
1641 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1642 fra.me.file = LOCATE_lexer;
1643 fra.me.line = 370;
1644 fra.me.meth = LOCATE_lexer___TKwwhile___parser_index;
1645 fra.me.has_broke = 0;
1646 fra.me.REG_size = 1;
1647 fra.me.REG[0] = NIT_NULL;
1648 fra.me.REG[0] = p0;
1649 /* ./parser//lexer.nit:372 */
1650 REGB0 = TAG_Int(27);
1651 goto label1;
1652 label1: while(0);
1653 stack_frame_head = fra.me.prev;
1654 return REGB0;
1655 }
1656 void lexer___TKwwhile___init_tk(val_t p0, val_t p1, int* init_table){
1657 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwwhile].i;
1658 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1659 val_t REGB0;
1660 val_t tmp;
1661 static val_t once_value_1; /* Once value */
1662 static val_t once_value_2; /* Once value */
1663 if (init_table[itpos27]) return;
1664 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1665 fra.me.file = LOCATE_lexer;
1666 fra.me.line = 375;
1667 fra.me.meth = LOCATE_lexer___TKwwhile___init_tk;
1668 fra.me.has_broke = 0;
1669 fra.me.REG_size = 3;
1670 fra.me.REG[0] = NIT_NULL;
1671 fra.me.REG[1] = NIT_NULL;
1672 fra.me.REG[2] = NIT_NULL;
1673 fra.me.REG[0] = p0;
1674 fra.me.REG[1] = p1;
1675 /* ./parser//lexer.nit:377 */
1676 if (!once_value_1) {
1677 if (!once_value_2) {
1678 fra.me.REG[2] = BOX_NativeString("while");
1679 REGB0 = TAG_Int(5);
1680 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1681 once_value_2 = fra.me.REG[2];
1682 register_static_object(&once_value_2);
1683 } else fra.me.REG[2] = once_value_2;
1684 fra.me.REG[2] = fra.me.REG[2];
1685 once_value_1 = fra.me.REG[2];
1686 register_static_object(&once_value_1);
1687 } else fra.me.REG[2] = once_value_1;
1688 fra.me.REG[2] = fra.me.REG[2];
1689 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1690 /* ./parser//lexer.nit:378 */
1691 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1692 stack_frame_head = fra.me.prev;
1693 init_table[itpos27] = 1;
1694 return;
1695 }
1696 val_t lexer___TKwloop___parser_index(val_t p0){
1697 struct {struct stack_frame_t me;} fra;
1698 val_t REGB0;
1699 val_t tmp;
1700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1701 fra.me.file = LOCATE_lexer;
1702 fra.me.line = 383;
1703 fra.me.meth = LOCATE_lexer___TKwloop___parser_index;
1704 fra.me.has_broke = 0;
1705 fra.me.REG_size = 1;
1706 fra.me.REG[0] = NIT_NULL;
1707 fra.me.REG[0] = p0;
1708 /* ./parser//lexer.nit:385 */
1709 REGB0 = TAG_Int(28);
1710 goto label1;
1711 label1: while(0);
1712 stack_frame_head = fra.me.prev;
1713 return REGB0;
1714 }
1715 void lexer___TKwloop___init_tk(val_t p0, val_t p1, int* init_table){
1716 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwloop].i;
1717 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1718 val_t REGB0;
1719 val_t tmp;
1720 static val_t once_value_1; /* Once value */
1721 static val_t once_value_2; /* Once value */
1722 if (init_table[itpos28]) return;
1723 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1724 fra.me.file = LOCATE_lexer;
1725 fra.me.line = 388;
1726 fra.me.meth = LOCATE_lexer___TKwloop___init_tk;
1727 fra.me.has_broke = 0;
1728 fra.me.REG_size = 3;
1729 fra.me.REG[0] = NIT_NULL;
1730 fra.me.REG[1] = NIT_NULL;
1731 fra.me.REG[2] = NIT_NULL;
1732 fra.me.REG[0] = p0;
1733 fra.me.REG[1] = p1;
1734 /* ./parser//lexer.nit:390 */
1735 if (!once_value_1) {
1736 if (!once_value_2) {
1737 fra.me.REG[2] = BOX_NativeString("loop");
1738 REGB0 = TAG_Int(4);
1739 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1740 once_value_2 = fra.me.REG[2];
1741 register_static_object(&once_value_2);
1742 } else fra.me.REG[2] = once_value_2;
1743 fra.me.REG[2] = fra.me.REG[2];
1744 once_value_1 = fra.me.REG[2];
1745 register_static_object(&once_value_1);
1746 } else fra.me.REG[2] = once_value_1;
1747 fra.me.REG[2] = fra.me.REG[2];
1748 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1749 /* ./parser//lexer.nit:391 */
1750 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1751 stack_frame_head = fra.me.prev;
1752 init_table[itpos28] = 1;
1753 return;
1754 }
1755 val_t lexer___TKwfor___parser_index(val_t p0){
1756 struct {struct stack_frame_t me;} fra;
1757 val_t REGB0;
1758 val_t tmp;
1759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1760 fra.me.file = LOCATE_lexer;
1761 fra.me.line = 396;
1762 fra.me.meth = LOCATE_lexer___TKwfor___parser_index;
1763 fra.me.has_broke = 0;
1764 fra.me.REG_size = 1;
1765 fra.me.REG[0] = NIT_NULL;
1766 fra.me.REG[0] = p0;
1767 /* ./parser//lexer.nit:398 */
1768 REGB0 = TAG_Int(29);
1769 goto label1;
1770 label1: while(0);
1771 stack_frame_head = fra.me.prev;
1772 return REGB0;
1773 }
1774 void lexer___TKwfor___init_tk(val_t p0, val_t p1, int* init_table){
1775 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwfor].i;
1776 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1777 val_t REGB0;
1778 val_t tmp;
1779 static val_t once_value_1; /* Once value */
1780 static val_t once_value_2; /* Once value */
1781 if (init_table[itpos29]) return;
1782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1783 fra.me.file = LOCATE_lexer;
1784 fra.me.line = 401;
1785 fra.me.meth = LOCATE_lexer___TKwfor___init_tk;
1786 fra.me.has_broke = 0;
1787 fra.me.REG_size = 3;
1788 fra.me.REG[0] = NIT_NULL;
1789 fra.me.REG[1] = NIT_NULL;
1790 fra.me.REG[2] = NIT_NULL;
1791 fra.me.REG[0] = p0;
1792 fra.me.REG[1] = p1;
1793 /* ./parser//lexer.nit:403 */
1794 if (!once_value_1) {
1795 if (!once_value_2) {
1796 fra.me.REG[2] = BOX_NativeString("for");
1797 REGB0 = TAG_Int(3);
1798 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1799 once_value_2 = fra.me.REG[2];
1800 register_static_object(&once_value_2);
1801 } else fra.me.REG[2] = once_value_2;
1802 fra.me.REG[2] = fra.me.REG[2];
1803 once_value_1 = fra.me.REG[2];
1804 register_static_object(&once_value_1);
1805 } else fra.me.REG[2] = once_value_1;
1806 fra.me.REG[2] = fra.me.REG[2];
1807 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1808 /* ./parser//lexer.nit:404 */
1809 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1810 stack_frame_head = fra.me.prev;
1811 init_table[itpos29] = 1;
1812 return;
1813 }
1814 val_t lexer___TKwin___parser_index(val_t p0){
1815 struct {struct stack_frame_t me;} fra;
1816 val_t REGB0;
1817 val_t tmp;
1818 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1819 fra.me.file = LOCATE_lexer;
1820 fra.me.line = 409;
1821 fra.me.meth = LOCATE_lexer___TKwin___parser_index;
1822 fra.me.has_broke = 0;
1823 fra.me.REG_size = 1;
1824 fra.me.REG[0] = NIT_NULL;
1825 fra.me.REG[0] = p0;
1826 /* ./parser//lexer.nit:411 */
1827 REGB0 = TAG_Int(30);
1828 goto label1;
1829 label1: while(0);
1830 stack_frame_head = fra.me.prev;
1831 return REGB0;
1832 }
1833 void lexer___TKwin___init_tk(val_t p0, val_t p1, int* init_table){
1834 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwin].i;
1835 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1836 val_t REGB0;
1837 val_t tmp;
1838 static val_t once_value_1; /* Once value */
1839 static val_t once_value_2; /* Once value */
1840 if (init_table[itpos30]) return;
1841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1842 fra.me.file = LOCATE_lexer;
1843 fra.me.line = 414;
1844 fra.me.meth = LOCATE_lexer___TKwin___init_tk;
1845 fra.me.has_broke = 0;
1846 fra.me.REG_size = 3;
1847 fra.me.REG[0] = NIT_NULL;
1848 fra.me.REG[1] = NIT_NULL;
1849 fra.me.REG[2] = NIT_NULL;
1850 fra.me.REG[0] = p0;
1851 fra.me.REG[1] = p1;
1852 /* ./parser//lexer.nit:416 */
1853 if (!once_value_1) {
1854 if (!once_value_2) {
1855 fra.me.REG[2] = BOX_NativeString("in");
1856 REGB0 = TAG_Int(2);
1857 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1858 once_value_2 = fra.me.REG[2];
1859 register_static_object(&once_value_2);
1860 } else fra.me.REG[2] = once_value_2;
1861 fra.me.REG[2] = fra.me.REG[2];
1862 once_value_1 = fra.me.REG[2];
1863 register_static_object(&once_value_1);
1864 } else fra.me.REG[2] = once_value_1;
1865 fra.me.REG[2] = fra.me.REG[2];
1866 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1867 /* ./parser//lexer.nit:417 */
1868 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1869 stack_frame_head = fra.me.prev;
1870 init_table[itpos30] = 1;
1871 return;
1872 }
1873 val_t lexer___TKwand___parser_index(val_t p0){
1874 struct {struct stack_frame_t me;} fra;
1875 val_t REGB0;
1876 val_t tmp;
1877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1878 fra.me.file = LOCATE_lexer;
1879 fra.me.line = 422;
1880 fra.me.meth = LOCATE_lexer___TKwand___parser_index;
1881 fra.me.has_broke = 0;
1882 fra.me.REG_size = 1;
1883 fra.me.REG[0] = NIT_NULL;
1884 fra.me.REG[0] = p0;
1885 /* ./parser//lexer.nit:424 */
1886 REGB0 = TAG_Int(31);
1887 goto label1;
1888 label1: while(0);
1889 stack_frame_head = fra.me.prev;
1890 return REGB0;
1891 }
1892 void lexer___TKwand___init_tk(val_t p0, val_t p1, int* init_table){
1893 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwand].i;
1894 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1895 val_t REGB0;
1896 val_t tmp;
1897 static val_t once_value_1; /* Once value */
1898 static val_t once_value_2; /* Once value */
1899 if (init_table[itpos31]) return;
1900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1901 fra.me.file = LOCATE_lexer;
1902 fra.me.line = 427;
1903 fra.me.meth = LOCATE_lexer___TKwand___init_tk;
1904 fra.me.has_broke = 0;
1905 fra.me.REG_size = 3;
1906 fra.me.REG[0] = NIT_NULL;
1907 fra.me.REG[1] = NIT_NULL;
1908 fra.me.REG[2] = NIT_NULL;
1909 fra.me.REG[0] = p0;
1910 fra.me.REG[1] = p1;
1911 /* ./parser//lexer.nit:429 */
1912 if (!once_value_1) {
1913 if (!once_value_2) {
1914 fra.me.REG[2] = BOX_NativeString("and");
1915 REGB0 = TAG_Int(3);
1916 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1917 once_value_2 = fra.me.REG[2];
1918 register_static_object(&once_value_2);
1919 } else fra.me.REG[2] = once_value_2;
1920 fra.me.REG[2] = fra.me.REG[2];
1921 once_value_1 = fra.me.REG[2];
1922 register_static_object(&once_value_1);
1923 } else fra.me.REG[2] = once_value_1;
1924 fra.me.REG[2] = fra.me.REG[2];
1925 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1926 /* ./parser//lexer.nit:430 */
1927 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1928 stack_frame_head = fra.me.prev;
1929 init_table[itpos31] = 1;
1930 return;
1931 }
1932 val_t lexer___TKwor___parser_index(val_t p0){
1933 struct {struct stack_frame_t me;} fra;
1934 val_t REGB0;
1935 val_t tmp;
1936 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1937 fra.me.file = LOCATE_lexer;
1938 fra.me.line = 435;
1939 fra.me.meth = LOCATE_lexer___TKwor___parser_index;
1940 fra.me.has_broke = 0;
1941 fra.me.REG_size = 1;
1942 fra.me.REG[0] = NIT_NULL;
1943 fra.me.REG[0] = p0;
1944 /* ./parser//lexer.nit:437 */
1945 REGB0 = TAG_Int(32);
1946 goto label1;
1947 label1: while(0);
1948 stack_frame_head = fra.me.prev;
1949 return REGB0;
1950 }
1951 void lexer___TKwor___init_tk(val_t p0, val_t p1, int* init_table){
1952 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwor].i;
1953 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1954 val_t REGB0;
1955 val_t tmp;
1956 static val_t once_value_1; /* Once value */
1957 static val_t once_value_2; /* Once value */
1958 if (init_table[itpos32]) return;
1959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1960 fra.me.file = LOCATE_lexer;
1961 fra.me.line = 440;
1962 fra.me.meth = LOCATE_lexer___TKwor___init_tk;
1963 fra.me.has_broke = 0;
1964 fra.me.REG_size = 3;
1965 fra.me.REG[0] = NIT_NULL;
1966 fra.me.REG[1] = NIT_NULL;
1967 fra.me.REG[2] = NIT_NULL;
1968 fra.me.REG[0] = p0;
1969 fra.me.REG[1] = p1;
1970 /* ./parser//lexer.nit:442 */
1971 if (!once_value_1) {
1972 if (!once_value_2) {
1973 fra.me.REG[2] = BOX_NativeString("or");
1974 REGB0 = TAG_Int(2);
1975 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1976 once_value_2 = fra.me.REG[2];
1977 register_static_object(&once_value_2);
1978 } else fra.me.REG[2] = once_value_2;
1979 fra.me.REG[2] = fra.me.REG[2];
1980 once_value_1 = fra.me.REG[2];
1981 register_static_object(&once_value_1);
1982 } else fra.me.REG[2] = once_value_1;
1983 fra.me.REG[2] = fra.me.REG[2];
1984 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
1985 /* ./parser//lexer.nit:443 */
1986 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
1987 stack_frame_head = fra.me.prev;
1988 init_table[itpos32] = 1;
1989 return;
1990 }
1991 val_t lexer___TKwnot___parser_index(val_t p0){
1992 struct {struct stack_frame_t me;} fra;
1993 val_t REGB0;
1994 val_t tmp;
1995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1996 fra.me.file = LOCATE_lexer;
1997 fra.me.line = 448;
1998 fra.me.meth = LOCATE_lexer___TKwnot___parser_index;
1999 fra.me.has_broke = 0;
2000 fra.me.REG_size = 1;
2001 fra.me.REG[0] = NIT_NULL;
2002 fra.me.REG[0] = p0;
2003 /* ./parser//lexer.nit:450 */
2004 REGB0 = TAG_Int(33);
2005 goto label1;
2006 label1: while(0);
2007 stack_frame_head = fra.me.prev;
2008 return REGB0;
2009 }
2010 void lexer___TKwnot___init_tk(val_t p0, val_t p1, int* init_table){
2011 int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnot].i;
2012 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2013 val_t REGB0;
2014 val_t tmp;
2015 static val_t once_value_1; /* Once value */
2016 static val_t once_value_2; /* Once value */
2017 if (init_table[itpos33]) return;
2018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2019 fra.me.file = LOCATE_lexer;
2020 fra.me.line = 453;
2021 fra.me.meth = LOCATE_lexer___TKwnot___init_tk;
2022 fra.me.has_broke = 0;
2023 fra.me.REG_size = 3;
2024 fra.me.REG[0] = NIT_NULL;
2025 fra.me.REG[1] = NIT_NULL;
2026 fra.me.REG[2] = NIT_NULL;
2027 fra.me.REG[0] = p0;
2028 fra.me.REG[1] = p1;
2029 /* ./parser//lexer.nit:455 */
2030 if (!once_value_1) {
2031 if (!once_value_2) {
2032 fra.me.REG[2] = BOX_NativeString("not");
2033 REGB0 = TAG_Int(3);
2034 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2035 once_value_2 = fra.me.REG[2];
2036 register_static_object(&once_value_2);
2037 } else fra.me.REG[2] = once_value_2;
2038 fra.me.REG[2] = fra.me.REG[2];
2039 once_value_1 = fra.me.REG[2];
2040 register_static_object(&once_value_1);
2041 } else fra.me.REG[2] = once_value_1;
2042 fra.me.REG[2] = fra.me.REG[2];
2043 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2044 /* ./parser//lexer.nit:456 */
2045 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2046 stack_frame_head = fra.me.prev;
2047 init_table[itpos33] = 1;
2048 return;
2049 }
2050 val_t lexer___TKwreturn___parser_index(val_t p0){
2051 struct {struct stack_frame_t me;} fra;
2052 val_t REGB0;
2053 val_t tmp;
2054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2055 fra.me.file = LOCATE_lexer;
2056 fra.me.line = 461;
2057 fra.me.meth = LOCATE_lexer___TKwreturn___parser_index;
2058 fra.me.has_broke = 0;
2059 fra.me.REG_size = 1;
2060 fra.me.REG[0] = NIT_NULL;
2061 fra.me.REG[0] = p0;
2062 /* ./parser//lexer.nit:463 */
2063 REGB0 = TAG_Int(34);
2064 goto label1;
2065 label1: while(0);
2066 stack_frame_head = fra.me.prev;
2067 return REGB0;
2068 }
2069 void lexer___TKwreturn___init_tk(val_t p0, val_t p1, int* init_table){
2070 int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwreturn].i;
2071 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2072 val_t REGB0;
2073 val_t tmp;
2074 static val_t once_value_1; /* Once value */
2075 static val_t once_value_2; /* Once value */
2076 if (init_table[itpos34]) return;
2077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2078 fra.me.file = LOCATE_lexer;
2079 fra.me.line = 466;
2080 fra.me.meth = LOCATE_lexer___TKwreturn___init_tk;
2081 fra.me.has_broke = 0;
2082 fra.me.REG_size = 3;
2083 fra.me.REG[0] = NIT_NULL;
2084 fra.me.REG[1] = NIT_NULL;
2085 fra.me.REG[2] = NIT_NULL;
2086 fra.me.REG[0] = p0;
2087 fra.me.REG[1] = p1;
2088 /* ./parser//lexer.nit:468 */
2089 if (!once_value_1) {
2090 if (!once_value_2) {
2091 fra.me.REG[2] = BOX_NativeString("return");
2092 REGB0 = TAG_Int(6);
2093 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2094 once_value_2 = fra.me.REG[2];
2095 register_static_object(&once_value_2);
2096 } else fra.me.REG[2] = once_value_2;
2097 fra.me.REG[2] = fra.me.REG[2];
2098 once_value_1 = fra.me.REG[2];
2099 register_static_object(&once_value_1);
2100 } else fra.me.REG[2] = once_value_1;
2101 fra.me.REG[2] = fra.me.REG[2];
2102 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2103 /* ./parser//lexer.nit:469 */
2104 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2105 stack_frame_head = fra.me.prev;
2106 init_table[itpos34] = 1;
2107 return;
2108 }
2109 val_t lexer___TKwcontinue___parser_index(val_t p0){
2110 struct {struct stack_frame_t me;} fra;
2111 val_t REGB0;
2112 val_t tmp;
2113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2114 fra.me.file = LOCATE_lexer;
2115 fra.me.line = 474;
2116 fra.me.meth = LOCATE_lexer___TKwcontinue___parser_index;
2117 fra.me.has_broke = 0;
2118 fra.me.REG_size = 1;
2119 fra.me.REG[0] = NIT_NULL;
2120 fra.me.REG[0] = p0;
2121 /* ./parser//lexer.nit:476 */
2122 REGB0 = TAG_Int(35);
2123 goto label1;
2124 label1: while(0);
2125 stack_frame_head = fra.me.prev;
2126 return REGB0;
2127 }
2128 void lexer___TKwcontinue___init_tk(val_t p0, val_t p1, int* init_table){
2129 int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwcontinue].i;
2130 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2131 val_t REGB0;
2132 val_t tmp;
2133 static val_t once_value_1; /* Once value */
2134 static val_t once_value_2; /* Once value */
2135 if (init_table[itpos35]) return;
2136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2137 fra.me.file = LOCATE_lexer;
2138 fra.me.line = 479;
2139 fra.me.meth = LOCATE_lexer___TKwcontinue___init_tk;
2140 fra.me.has_broke = 0;
2141 fra.me.REG_size = 3;
2142 fra.me.REG[0] = NIT_NULL;
2143 fra.me.REG[1] = NIT_NULL;
2144 fra.me.REG[2] = NIT_NULL;
2145 fra.me.REG[0] = p0;
2146 fra.me.REG[1] = p1;
2147 /* ./parser//lexer.nit:481 */
2148 if (!once_value_1) {
2149 if (!once_value_2) {
2150 fra.me.REG[2] = BOX_NativeString("continue");
2151 REGB0 = TAG_Int(8);
2152 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2153 once_value_2 = fra.me.REG[2];
2154 register_static_object(&once_value_2);
2155 } else fra.me.REG[2] = once_value_2;
2156 fra.me.REG[2] = fra.me.REG[2];
2157 once_value_1 = fra.me.REG[2];
2158 register_static_object(&once_value_1);
2159 } else fra.me.REG[2] = once_value_1;
2160 fra.me.REG[2] = fra.me.REG[2];
2161 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2162 /* ./parser//lexer.nit:482 */
2163 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2164 stack_frame_head = fra.me.prev;
2165 init_table[itpos35] = 1;
2166 return;
2167 }
2168 val_t lexer___TKwbreak___parser_index(val_t p0){
2169 struct {struct stack_frame_t me;} fra;
2170 val_t REGB0;
2171 val_t tmp;
2172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2173 fra.me.file = LOCATE_lexer;
2174 fra.me.line = 487;
2175 fra.me.meth = LOCATE_lexer___TKwbreak___parser_index;
2176 fra.me.has_broke = 0;
2177 fra.me.REG_size = 1;
2178 fra.me.REG[0] = NIT_NULL;
2179 fra.me.REG[0] = p0;
2180 /* ./parser//lexer.nit:489 */
2181 REGB0 = TAG_Int(36);
2182 goto label1;
2183 label1: while(0);
2184 stack_frame_head = fra.me.prev;
2185 return REGB0;
2186 }
2187 void lexer___TKwbreak___init_tk(val_t p0, val_t p1, int* init_table){
2188 int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwbreak].i;
2189 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2190 val_t REGB0;
2191 val_t tmp;
2192 static val_t once_value_1; /* Once value */
2193 static val_t once_value_2; /* Once value */
2194 if (init_table[itpos36]) return;
2195 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2196 fra.me.file = LOCATE_lexer;
2197 fra.me.line = 492;
2198 fra.me.meth = LOCATE_lexer___TKwbreak___init_tk;
2199 fra.me.has_broke = 0;
2200 fra.me.REG_size = 3;
2201 fra.me.REG[0] = NIT_NULL;
2202 fra.me.REG[1] = NIT_NULL;
2203 fra.me.REG[2] = NIT_NULL;
2204 fra.me.REG[0] = p0;
2205 fra.me.REG[1] = p1;
2206 /* ./parser//lexer.nit:494 */
2207 if (!once_value_1) {
2208 if (!once_value_2) {
2209 fra.me.REG[2] = BOX_NativeString("break");
2210 REGB0 = TAG_Int(5);
2211 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2212 once_value_2 = fra.me.REG[2];
2213 register_static_object(&once_value_2);
2214 } else fra.me.REG[2] = once_value_2;
2215 fra.me.REG[2] = fra.me.REG[2];
2216 once_value_1 = fra.me.REG[2];
2217 register_static_object(&once_value_1);
2218 } else fra.me.REG[2] = once_value_1;
2219 fra.me.REG[2] = fra.me.REG[2];
2220 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2221 /* ./parser//lexer.nit:495 */
2222 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2223 stack_frame_head = fra.me.prev;
2224 init_table[itpos36] = 1;
2225 return;
2226 }
2227 val_t lexer___TKwabort___parser_index(val_t p0){
2228 struct {struct stack_frame_t me;} fra;
2229 val_t REGB0;
2230 val_t tmp;
2231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2232 fra.me.file = LOCATE_lexer;
2233 fra.me.line = 500;
2234 fra.me.meth = LOCATE_lexer___TKwabort___parser_index;
2235 fra.me.has_broke = 0;
2236 fra.me.REG_size = 1;
2237 fra.me.REG[0] = NIT_NULL;
2238 fra.me.REG[0] = p0;
2239 /* ./parser//lexer.nit:502 */
2240 REGB0 = TAG_Int(37);
2241 goto label1;
2242 label1: while(0);
2243 stack_frame_head = fra.me.prev;
2244 return REGB0;
2245 }
2246 void lexer___TKwabort___init_tk(val_t p0, val_t p1, int* init_table){
2247 int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwabort].i;
2248 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2249 val_t REGB0;
2250 val_t tmp;
2251 static val_t once_value_1; /* Once value */
2252 static val_t once_value_2; /* Once value */
2253 if (init_table[itpos37]) return;
2254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2255 fra.me.file = LOCATE_lexer;
2256 fra.me.line = 505;
2257 fra.me.meth = LOCATE_lexer___TKwabort___init_tk;
2258 fra.me.has_broke = 0;
2259 fra.me.REG_size = 3;
2260 fra.me.REG[0] = NIT_NULL;
2261 fra.me.REG[1] = NIT_NULL;
2262 fra.me.REG[2] = NIT_NULL;
2263 fra.me.REG[0] = p0;
2264 fra.me.REG[1] = p1;
2265 /* ./parser//lexer.nit:507 */
2266 if (!once_value_1) {
2267 if (!once_value_2) {
2268 fra.me.REG[2] = BOX_NativeString("abort");
2269 REGB0 = TAG_Int(5);
2270 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2271 once_value_2 = fra.me.REG[2];
2272 register_static_object(&once_value_2);
2273 } else fra.me.REG[2] = once_value_2;
2274 fra.me.REG[2] = fra.me.REG[2];
2275 once_value_1 = fra.me.REG[2];
2276 register_static_object(&once_value_1);
2277 } else fra.me.REG[2] = once_value_1;
2278 fra.me.REG[2] = fra.me.REG[2];
2279 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2280 /* ./parser//lexer.nit:508 */
2281 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2282 stack_frame_head = fra.me.prev;
2283 init_table[itpos37] = 1;
2284 return;
2285 }
2286 val_t lexer___TKwassert___parser_index(val_t p0){
2287 struct {struct stack_frame_t me;} fra;
2288 val_t REGB0;
2289 val_t tmp;
2290 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2291 fra.me.file = LOCATE_lexer;
2292 fra.me.line = 513;
2293 fra.me.meth = LOCATE_lexer___TKwassert___parser_index;
2294 fra.me.has_broke = 0;
2295 fra.me.REG_size = 1;
2296 fra.me.REG[0] = NIT_NULL;
2297 fra.me.REG[0] = p0;
2298 /* ./parser//lexer.nit:515 */
2299 REGB0 = TAG_Int(38);
2300 goto label1;
2301 label1: while(0);
2302 stack_frame_head = fra.me.prev;
2303 return REGB0;
2304 }
2305 void lexer___TKwassert___init_tk(val_t p0, val_t p1, int* init_table){
2306 int itpos38 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwassert].i;
2307 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2308 val_t REGB0;
2309 val_t tmp;
2310 static val_t once_value_1; /* Once value */
2311 static val_t once_value_2; /* Once value */
2312 if (init_table[itpos38]) return;
2313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2314 fra.me.file = LOCATE_lexer;
2315 fra.me.line = 518;
2316 fra.me.meth = LOCATE_lexer___TKwassert___init_tk;
2317 fra.me.has_broke = 0;
2318 fra.me.REG_size = 3;
2319 fra.me.REG[0] = NIT_NULL;
2320 fra.me.REG[1] = NIT_NULL;
2321 fra.me.REG[2] = NIT_NULL;
2322 fra.me.REG[0] = p0;
2323 fra.me.REG[1] = p1;
2324 /* ./parser//lexer.nit:520 */
2325 if (!once_value_1) {
2326 if (!once_value_2) {
2327 fra.me.REG[2] = BOX_NativeString("assert");
2328 REGB0 = TAG_Int(6);
2329 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2330 once_value_2 = fra.me.REG[2];
2331 register_static_object(&once_value_2);
2332 } else fra.me.REG[2] = once_value_2;
2333 fra.me.REG[2] = fra.me.REG[2];
2334 once_value_1 = fra.me.REG[2];
2335 register_static_object(&once_value_1);
2336 } else fra.me.REG[2] = once_value_1;
2337 fra.me.REG[2] = fra.me.REG[2];
2338 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2339 /* ./parser//lexer.nit:521 */
2340 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2341 stack_frame_head = fra.me.prev;
2342 init_table[itpos38] = 1;
2343 return;
2344 }
2345 val_t lexer___TKwnew___parser_index(val_t p0){
2346 struct {struct stack_frame_t me;} fra;
2347 val_t REGB0;
2348 val_t tmp;
2349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2350 fra.me.file = LOCATE_lexer;
2351 fra.me.line = 526;
2352 fra.me.meth = LOCATE_lexer___TKwnew___parser_index;
2353 fra.me.has_broke = 0;
2354 fra.me.REG_size = 1;
2355 fra.me.REG[0] = NIT_NULL;
2356 fra.me.REG[0] = p0;
2357 /* ./parser//lexer.nit:528 */
2358 REGB0 = TAG_Int(39);
2359 goto label1;
2360 label1: while(0);
2361 stack_frame_head = fra.me.prev;
2362 return REGB0;
2363 }
2364 void lexer___TKwnew___init_tk(val_t p0, val_t p1, int* init_table){
2365 int itpos39 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnew].i;
2366 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2367 val_t REGB0;
2368 val_t tmp;
2369 static val_t once_value_1; /* Once value */
2370 static val_t once_value_2; /* Once value */
2371 if (init_table[itpos39]) return;
2372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2373 fra.me.file = LOCATE_lexer;
2374 fra.me.line = 531;
2375 fra.me.meth = LOCATE_lexer___TKwnew___init_tk;
2376 fra.me.has_broke = 0;
2377 fra.me.REG_size = 3;
2378 fra.me.REG[0] = NIT_NULL;
2379 fra.me.REG[1] = NIT_NULL;
2380 fra.me.REG[2] = NIT_NULL;
2381 fra.me.REG[0] = p0;
2382 fra.me.REG[1] = p1;
2383 /* ./parser//lexer.nit:533 */
2384 if (!once_value_1) {
2385 if (!once_value_2) {
2386 fra.me.REG[2] = BOX_NativeString("new");
2387 REGB0 = TAG_Int(3);
2388 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2389 once_value_2 = fra.me.REG[2];
2390 register_static_object(&once_value_2);
2391 } else fra.me.REG[2] = once_value_2;
2392 fra.me.REG[2] = fra.me.REG[2];
2393 once_value_1 = fra.me.REG[2];
2394 register_static_object(&once_value_1);
2395 } else fra.me.REG[2] = once_value_1;
2396 fra.me.REG[2] = fra.me.REG[2];
2397 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2398 /* ./parser//lexer.nit:534 */
2399 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2400 stack_frame_head = fra.me.prev;
2401 init_table[itpos39] = 1;
2402 return;
2403 }
2404 val_t lexer___TKwisa___parser_index(val_t p0){
2405 struct {struct stack_frame_t me;} fra;
2406 val_t REGB0;
2407 val_t tmp;
2408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2409 fra.me.file = LOCATE_lexer;
2410 fra.me.line = 539;
2411 fra.me.meth = LOCATE_lexer___TKwisa___parser_index;
2412 fra.me.has_broke = 0;
2413 fra.me.REG_size = 1;
2414 fra.me.REG[0] = NIT_NULL;
2415 fra.me.REG[0] = p0;
2416 /* ./parser//lexer.nit:541 */
2417 REGB0 = TAG_Int(40);
2418 goto label1;
2419 label1: while(0);
2420 stack_frame_head = fra.me.prev;
2421 return REGB0;
2422 }
2423 void lexer___TKwisa___init_tk(val_t p0, val_t p1, int* init_table){
2424 int itpos40 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwisa].i;
2425 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2426 val_t REGB0;
2427 val_t tmp;
2428 static val_t once_value_1; /* Once value */
2429 static val_t once_value_2; /* Once value */
2430 if (init_table[itpos40]) return;
2431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2432 fra.me.file = LOCATE_lexer;
2433 fra.me.line = 544;
2434 fra.me.meth = LOCATE_lexer___TKwisa___init_tk;
2435 fra.me.has_broke = 0;
2436 fra.me.REG_size = 3;
2437 fra.me.REG[0] = NIT_NULL;
2438 fra.me.REG[1] = NIT_NULL;
2439 fra.me.REG[2] = NIT_NULL;
2440 fra.me.REG[0] = p0;
2441 fra.me.REG[1] = p1;
2442 /* ./parser//lexer.nit:546 */
2443 if (!once_value_1) {
2444 if (!once_value_2) {
2445 fra.me.REG[2] = BOX_NativeString("isa");
2446 REGB0 = TAG_Int(3);
2447 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2448 once_value_2 = fra.me.REG[2];
2449 register_static_object(&once_value_2);
2450 } else fra.me.REG[2] = once_value_2;
2451 fra.me.REG[2] = fra.me.REG[2];
2452 once_value_1 = fra.me.REG[2];
2453 register_static_object(&once_value_1);
2454 } else fra.me.REG[2] = once_value_1;
2455 fra.me.REG[2] = fra.me.REG[2];
2456 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2457 /* ./parser//lexer.nit:547 */
2458 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2459 stack_frame_head = fra.me.prev;
2460 init_table[itpos40] = 1;
2461 return;
2462 }
2463 val_t lexer___TKwonce___parser_index(val_t p0){
2464 struct {struct stack_frame_t me;} fra;
2465 val_t REGB0;
2466 val_t tmp;
2467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2468 fra.me.file = LOCATE_lexer;
2469 fra.me.line = 552;
2470 fra.me.meth = LOCATE_lexer___TKwonce___parser_index;
2471 fra.me.has_broke = 0;
2472 fra.me.REG_size = 1;
2473 fra.me.REG[0] = NIT_NULL;
2474 fra.me.REG[0] = p0;
2475 /* ./parser//lexer.nit:554 */
2476 REGB0 = TAG_Int(41);
2477 goto label1;
2478 label1: while(0);
2479 stack_frame_head = fra.me.prev;
2480 return REGB0;
2481 }
2482 void lexer___TKwonce___init_tk(val_t p0, val_t p1, int* init_table){
2483 int itpos41 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwonce].i;
2484 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2485 val_t REGB0;
2486 val_t tmp;
2487 static val_t once_value_1; /* Once value */
2488 static val_t once_value_2; /* Once value */
2489 if (init_table[itpos41]) return;
2490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2491 fra.me.file = LOCATE_lexer;
2492 fra.me.line = 557;
2493 fra.me.meth = LOCATE_lexer___TKwonce___init_tk;
2494 fra.me.has_broke = 0;
2495 fra.me.REG_size = 3;
2496 fra.me.REG[0] = NIT_NULL;
2497 fra.me.REG[1] = NIT_NULL;
2498 fra.me.REG[2] = NIT_NULL;
2499 fra.me.REG[0] = p0;
2500 fra.me.REG[1] = p1;
2501 /* ./parser//lexer.nit:559 */
2502 if (!once_value_1) {
2503 if (!once_value_2) {
2504 fra.me.REG[2] = BOX_NativeString("once");
2505 REGB0 = TAG_Int(4);
2506 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2507 once_value_2 = fra.me.REG[2];
2508 register_static_object(&once_value_2);
2509 } else fra.me.REG[2] = once_value_2;
2510 fra.me.REG[2] = fra.me.REG[2];
2511 once_value_1 = fra.me.REG[2];
2512 register_static_object(&once_value_1);
2513 } else fra.me.REG[2] = once_value_1;
2514 fra.me.REG[2] = fra.me.REG[2];
2515 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2516 /* ./parser//lexer.nit:560 */
2517 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2518 stack_frame_head = fra.me.prev;
2519 init_table[itpos41] = 1;
2520 return;
2521 }
2522 val_t lexer___TKwsuper___parser_index(val_t p0){
2523 struct {struct stack_frame_t me;} fra;
2524 val_t REGB0;
2525 val_t tmp;
2526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2527 fra.me.file = LOCATE_lexer;
2528 fra.me.line = 565;
2529 fra.me.meth = LOCATE_lexer___TKwsuper___parser_index;
2530 fra.me.has_broke = 0;
2531 fra.me.REG_size = 1;
2532 fra.me.REG[0] = NIT_NULL;
2533 fra.me.REG[0] = p0;
2534 /* ./parser//lexer.nit:567 */
2535 REGB0 = TAG_Int(42);
2536 goto label1;
2537 label1: while(0);
2538 stack_frame_head = fra.me.prev;
2539 return REGB0;
2540 }
2541 void lexer___TKwsuper___init_tk(val_t p0, val_t p1, int* init_table){
2542 int itpos42 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwsuper].i;
2543 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2544 val_t REGB0;
2545 val_t tmp;
2546 static val_t once_value_1; /* Once value */
2547 static val_t once_value_2; /* Once value */
2548 if (init_table[itpos42]) return;
2549 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2550 fra.me.file = LOCATE_lexer;
2551 fra.me.line = 570;
2552 fra.me.meth = LOCATE_lexer___TKwsuper___init_tk;
2553 fra.me.has_broke = 0;
2554 fra.me.REG_size = 3;
2555 fra.me.REG[0] = NIT_NULL;
2556 fra.me.REG[1] = NIT_NULL;
2557 fra.me.REG[2] = NIT_NULL;
2558 fra.me.REG[0] = p0;
2559 fra.me.REG[1] = p1;
2560 /* ./parser//lexer.nit:572 */
2561 if (!once_value_1) {
2562 if (!once_value_2) {
2563 fra.me.REG[2] = BOX_NativeString("super");
2564 REGB0 = TAG_Int(5);
2565 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2566 once_value_2 = fra.me.REG[2];
2567 register_static_object(&once_value_2);
2568 } else fra.me.REG[2] = once_value_2;
2569 fra.me.REG[2] = fra.me.REG[2];
2570 once_value_1 = fra.me.REG[2];
2571 register_static_object(&once_value_1);
2572 } else fra.me.REG[2] = once_value_1;
2573 fra.me.REG[2] = fra.me.REG[2];
2574 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2575 /* ./parser//lexer.nit:573 */
2576 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2577 stack_frame_head = fra.me.prev;
2578 init_table[itpos42] = 1;
2579 return;
2580 }
2581 val_t lexer___TKwself___parser_index(val_t p0){
2582 struct {struct stack_frame_t me;} fra;
2583 val_t REGB0;
2584 val_t tmp;
2585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2586 fra.me.file = LOCATE_lexer;
2587 fra.me.line = 578;
2588 fra.me.meth = LOCATE_lexer___TKwself___parser_index;
2589 fra.me.has_broke = 0;
2590 fra.me.REG_size = 1;
2591 fra.me.REG[0] = NIT_NULL;
2592 fra.me.REG[0] = p0;
2593 /* ./parser//lexer.nit:580 */
2594 REGB0 = TAG_Int(43);
2595 goto label1;
2596 label1: while(0);
2597 stack_frame_head = fra.me.prev;
2598 return REGB0;
2599 }
2600 void lexer___TKwself___init_tk(val_t p0, val_t p1, int* init_table){
2601 int itpos43 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwself].i;
2602 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2603 val_t REGB0;
2604 val_t tmp;
2605 static val_t once_value_1; /* Once value */
2606 static val_t once_value_2; /* Once value */
2607 if (init_table[itpos43]) return;
2608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2609 fra.me.file = LOCATE_lexer;
2610 fra.me.line = 583;
2611 fra.me.meth = LOCATE_lexer___TKwself___init_tk;
2612 fra.me.has_broke = 0;
2613 fra.me.REG_size = 3;
2614 fra.me.REG[0] = NIT_NULL;
2615 fra.me.REG[1] = NIT_NULL;
2616 fra.me.REG[2] = NIT_NULL;
2617 fra.me.REG[0] = p0;
2618 fra.me.REG[1] = p1;
2619 /* ./parser//lexer.nit:585 */
2620 if (!once_value_1) {
2621 if (!once_value_2) {
2622 fra.me.REG[2] = BOX_NativeString("self");
2623 REGB0 = TAG_Int(4);
2624 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2625 once_value_2 = fra.me.REG[2];
2626 register_static_object(&once_value_2);
2627 } else fra.me.REG[2] = once_value_2;
2628 fra.me.REG[2] = fra.me.REG[2];
2629 once_value_1 = fra.me.REG[2];
2630 register_static_object(&once_value_1);
2631 } else fra.me.REG[2] = once_value_1;
2632 fra.me.REG[2] = fra.me.REG[2];
2633 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2634 /* ./parser//lexer.nit:586 */
2635 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2636 stack_frame_head = fra.me.prev;
2637 init_table[itpos43] = 1;
2638 return;
2639 }
2640 val_t lexer___TKwtrue___parser_index(val_t p0){
2641 struct {struct stack_frame_t me;} fra;
2642 val_t REGB0;
2643 val_t tmp;
2644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2645 fra.me.file = LOCATE_lexer;
2646 fra.me.line = 591;
2647 fra.me.meth = LOCATE_lexer___TKwtrue___parser_index;
2648 fra.me.has_broke = 0;
2649 fra.me.REG_size = 1;
2650 fra.me.REG[0] = NIT_NULL;
2651 fra.me.REG[0] = p0;
2652 /* ./parser//lexer.nit:593 */
2653 REGB0 = TAG_Int(44);
2654 goto label1;
2655 label1: while(0);
2656 stack_frame_head = fra.me.prev;
2657 return REGB0;
2658 }
2659 void lexer___TKwtrue___init_tk(val_t p0, val_t p1, int* init_table){
2660 int itpos44 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwtrue].i;
2661 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2662 val_t REGB0;
2663 val_t tmp;
2664 static val_t once_value_1; /* Once value */
2665 static val_t once_value_2; /* Once value */
2666 if (init_table[itpos44]) return;
2667 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2668 fra.me.file = LOCATE_lexer;
2669 fra.me.line = 596;
2670 fra.me.meth = LOCATE_lexer___TKwtrue___init_tk;
2671 fra.me.has_broke = 0;
2672 fra.me.REG_size = 3;
2673 fra.me.REG[0] = NIT_NULL;
2674 fra.me.REG[1] = NIT_NULL;
2675 fra.me.REG[2] = NIT_NULL;
2676 fra.me.REG[0] = p0;
2677 fra.me.REG[1] = p1;
2678 /* ./parser//lexer.nit:598 */
2679 if (!once_value_1) {
2680 if (!once_value_2) {
2681 fra.me.REG[2] = BOX_NativeString("true");
2682 REGB0 = TAG_Int(4);
2683 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2684 once_value_2 = fra.me.REG[2];
2685 register_static_object(&once_value_2);
2686 } else fra.me.REG[2] = once_value_2;
2687 fra.me.REG[2] = fra.me.REG[2];
2688 once_value_1 = fra.me.REG[2];
2689 register_static_object(&once_value_1);
2690 } else fra.me.REG[2] = once_value_1;
2691 fra.me.REG[2] = fra.me.REG[2];
2692 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2693 /* ./parser//lexer.nit:599 */
2694 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2695 stack_frame_head = fra.me.prev;
2696 init_table[itpos44] = 1;
2697 return;
2698 }
2699 val_t lexer___TKwfalse___parser_index(val_t p0){
2700 struct {struct stack_frame_t me;} fra;
2701 val_t REGB0;
2702 val_t tmp;
2703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2704 fra.me.file = LOCATE_lexer;
2705 fra.me.line = 604;
2706 fra.me.meth = LOCATE_lexer___TKwfalse___parser_index;
2707 fra.me.has_broke = 0;
2708 fra.me.REG_size = 1;
2709 fra.me.REG[0] = NIT_NULL;
2710 fra.me.REG[0] = p0;
2711 /* ./parser//lexer.nit:606 */
2712 REGB0 = TAG_Int(45);
2713 goto label1;
2714 label1: while(0);
2715 stack_frame_head = fra.me.prev;
2716 return REGB0;
2717 }
2718 void lexer___TKwfalse___init_tk(val_t p0, val_t p1, int* init_table){
2719 int itpos45 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwfalse].i;
2720 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2721 val_t REGB0;
2722 val_t tmp;
2723 static val_t once_value_1; /* Once value */
2724 static val_t once_value_2; /* Once value */
2725 if (init_table[itpos45]) return;
2726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2727 fra.me.file = LOCATE_lexer;
2728 fra.me.line = 609;
2729 fra.me.meth = LOCATE_lexer___TKwfalse___init_tk;
2730 fra.me.has_broke = 0;
2731 fra.me.REG_size = 3;
2732 fra.me.REG[0] = NIT_NULL;
2733 fra.me.REG[1] = NIT_NULL;
2734 fra.me.REG[2] = NIT_NULL;
2735 fra.me.REG[0] = p0;
2736 fra.me.REG[1] = p1;
2737 /* ./parser//lexer.nit:611 */
2738 if (!once_value_1) {
2739 if (!once_value_2) {
2740 fra.me.REG[2] = BOX_NativeString("false");
2741 REGB0 = TAG_Int(5);
2742 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2743 once_value_2 = fra.me.REG[2];
2744 register_static_object(&once_value_2);
2745 } else fra.me.REG[2] = once_value_2;
2746 fra.me.REG[2] = fra.me.REG[2];
2747 once_value_1 = fra.me.REG[2];
2748 register_static_object(&once_value_1);
2749 } else fra.me.REG[2] = once_value_1;
2750 fra.me.REG[2] = fra.me.REG[2];
2751 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2752 /* ./parser//lexer.nit:612 */
2753 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2754 stack_frame_head = fra.me.prev;
2755 init_table[itpos45] = 1;
2756 return;
2757 }
2758 val_t lexer___TKwnull___parser_index(val_t p0){
2759 struct {struct stack_frame_t me;} fra;
2760 val_t REGB0;
2761 val_t tmp;
2762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2763 fra.me.file = LOCATE_lexer;
2764 fra.me.line = 617;
2765 fra.me.meth = LOCATE_lexer___TKwnull___parser_index;
2766 fra.me.has_broke = 0;
2767 fra.me.REG_size = 1;
2768 fra.me.REG[0] = NIT_NULL;
2769 fra.me.REG[0] = p0;
2770 /* ./parser//lexer.nit:619 */
2771 REGB0 = TAG_Int(46);
2772 goto label1;
2773 label1: while(0);
2774 stack_frame_head = fra.me.prev;
2775 return REGB0;
2776 }
2777 void lexer___TKwnull___init_tk(val_t p0, val_t p1, int* init_table){
2778 int itpos46 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnull].i;
2779 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2780 val_t REGB0;
2781 val_t tmp;
2782 static val_t once_value_1; /* Once value */
2783 static val_t once_value_2; /* Once value */
2784 if (init_table[itpos46]) return;
2785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2786 fra.me.file = LOCATE_lexer;
2787 fra.me.line = 622;
2788 fra.me.meth = LOCATE_lexer___TKwnull___init_tk;
2789 fra.me.has_broke = 0;
2790 fra.me.REG_size = 3;
2791 fra.me.REG[0] = NIT_NULL;
2792 fra.me.REG[1] = NIT_NULL;
2793 fra.me.REG[2] = NIT_NULL;
2794 fra.me.REG[0] = p0;
2795 fra.me.REG[1] = p1;
2796 /* ./parser//lexer.nit:624 */
2797 if (!once_value_1) {
2798 if (!once_value_2) {
2799 fra.me.REG[2] = BOX_NativeString("null");
2800 REGB0 = TAG_Int(4);
2801 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2802 once_value_2 = fra.me.REG[2];
2803 register_static_object(&once_value_2);
2804 } else fra.me.REG[2] = once_value_2;
2805 fra.me.REG[2] = fra.me.REG[2];
2806 once_value_1 = fra.me.REG[2];
2807 register_static_object(&once_value_1);
2808 } else fra.me.REG[2] = once_value_1;
2809 fra.me.REG[2] = fra.me.REG[2];
2810 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2811 /* ./parser//lexer.nit:625 */
2812 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2813 stack_frame_head = fra.me.prev;
2814 init_table[itpos46] = 1;
2815 return;
2816 }
2817 val_t lexer___TKwas___parser_index(val_t p0){
2818 struct {struct stack_frame_t me;} fra;
2819 val_t REGB0;
2820 val_t tmp;
2821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2822 fra.me.file = LOCATE_lexer;
2823 fra.me.line = 630;
2824 fra.me.meth = LOCATE_lexer___TKwas___parser_index;
2825 fra.me.has_broke = 0;
2826 fra.me.REG_size = 1;
2827 fra.me.REG[0] = NIT_NULL;
2828 fra.me.REG[0] = p0;
2829 /* ./parser//lexer.nit:632 */
2830 REGB0 = TAG_Int(47);
2831 goto label1;
2832 label1: while(0);
2833 stack_frame_head = fra.me.prev;
2834 return REGB0;
2835 }
2836 void lexer___TKwas___init_tk(val_t p0, val_t p1, int* init_table){
2837 int itpos47 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwas].i;
2838 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2839 val_t REGB0;
2840 val_t tmp;
2841 static val_t once_value_1; /* Once value */
2842 static val_t once_value_2; /* Once value */
2843 if (init_table[itpos47]) return;
2844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2845 fra.me.file = LOCATE_lexer;
2846 fra.me.line = 635;
2847 fra.me.meth = LOCATE_lexer___TKwas___init_tk;
2848 fra.me.has_broke = 0;
2849 fra.me.REG_size = 3;
2850 fra.me.REG[0] = NIT_NULL;
2851 fra.me.REG[1] = NIT_NULL;
2852 fra.me.REG[2] = NIT_NULL;
2853 fra.me.REG[0] = p0;
2854 fra.me.REG[1] = p1;
2855 /* ./parser//lexer.nit:637 */
2856 if (!once_value_1) {
2857 if (!once_value_2) {
2858 fra.me.REG[2] = BOX_NativeString("as");
2859 REGB0 = TAG_Int(2);
2860 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2861 once_value_2 = fra.me.REG[2];
2862 register_static_object(&once_value_2);
2863 } else fra.me.REG[2] = once_value_2;
2864 fra.me.REG[2] = fra.me.REG[2];
2865 once_value_1 = fra.me.REG[2];
2866 register_static_object(&once_value_1);
2867 } else fra.me.REG[2] = once_value_1;
2868 fra.me.REG[2] = fra.me.REG[2];
2869 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2870 /* ./parser//lexer.nit:638 */
2871 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2872 stack_frame_head = fra.me.prev;
2873 init_table[itpos47] = 1;
2874 return;
2875 }
2876 val_t lexer___TKwnullable___parser_index(val_t p0){
2877 struct {struct stack_frame_t me;} fra;
2878 val_t REGB0;
2879 val_t tmp;
2880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2881 fra.me.file = LOCATE_lexer;
2882 fra.me.line = 643;
2883 fra.me.meth = LOCATE_lexer___TKwnullable___parser_index;
2884 fra.me.has_broke = 0;
2885 fra.me.REG_size = 1;
2886 fra.me.REG[0] = NIT_NULL;
2887 fra.me.REG[0] = p0;
2888 /* ./parser//lexer.nit:645 */
2889 REGB0 = TAG_Int(48);
2890 goto label1;
2891 label1: while(0);
2892 stack_frame_head = fra.me.prev;
2893 return REGB0;
2894 }
2895 void lexer___TKwnullable___init_tk(val_t p0, val_t p1, int* init_table){
2896 int itpos48 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwnullable].i;
2897 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2898 val_t REGB0;
2899 val_t tmp;
2900 static val_t once_value_1; /* Once value */
2901 static val_t once_value_2; /* Once value */
2902 if (init_table[itpos48]) return;
2903 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2904 fra.me.file = LOCATE_lexer;
2905 fra.me.line = 648;
2906 fra.me.meth = LOCATE_lexer___TKwnullable___init_tk;
2907 fra.me.has_broke = 0;
2908 fra.me.REG_size = 3;
2909 fra.me.REG[0] = NIT_NULL;
2910 fra.me.REG[1] = NIT_NULL;
2911 fra.me.REG[2] = NIT_NULL;
2912 fra.me.REG[0] = p0;
2913 fra.me.REG[1] = p1;
2914 /* ./parser//lexer.nit:650 */
2915 if (!once_value_1) {
2916 if (!once_value_2) {
2917 fra.me.REG[2] = BOX_NativeString("nullable");
2918 REGB0 = TAG_Int(8);
2919 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2920 once_value_2 = fra.me.REG[2];
2921 register_static_object(&once_value_2);
2922 } else fra.me.REG[2] = once_value_2;
2923 fra.me.REG[2] = fra.me.REG[2];
2924 once_value_1 = fra.me.REG[2];
2925 register_static_object(&once_value_1);
2926 } else fra.me.REG[2] = once_value_1;
2927 fra.me.REG[2] = fra.me.REG[2];
2928 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2929 /* ./parser//lexer.nit:651 */
2930 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2931 stack_frame_head = fra.me.prev;
2932 init_table[itpos48] = 1;
2933 return;
2934 }
2935 val_t lexer___TKwisset___parser_index(val_t p0){
2936 struct {struct stack_frame_t me;} fra;
2937 val_t REGB0;
2938 val_t tmp;
2939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2940 fra.me.file = LOCATE_lexer;
2941 fra.me.line = 656;
2942 fra.me.meth = LOCATE_lexer___TKwisset___parser_index;
2943 fra.me.has_broke = 0;
2944 fra.me.REG_size = 1;
2945 fra.me.REG[0] = NIT_NULL;
2946 fra.me.REG[0] = p0;
2947 /* ./parser//lexer.nit:658 */
2948 REGB0 = TAG_Int(49);
2949 goto label1;
2950 label1: while(0);
2951 stack_frame_head = fra.me.prev;
2952 return REGB0;
2953 }
2954 void lexer___TKwisset___init_tk(val_t p0, val_t p1, int* init_table){
2955 int itpos49 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwisset].i;
2956 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2957 val_t REGB0;
2958 val_t tmp;
2959 static val_t once_value_1; /* Once value */
2960 static val_t once_value_2; /* Once value */
2961 if (init_table[itpos49]) return;
2962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2963 fra.me.file = LOCATE_lexer;
2964 fra.me.line = 661;
2965 fra.me.meth = LOCATE_lexer___TKwisset___init_tk;
2966 fra.me.has_broke = 0;
2967 fra.me.REG_size = 3;
2968 fra.me.REG[0] = NIT_NULL;
2969 fra.me.REG[1] = NIT_NULL;
2970 fra.me.REG[2] = NIT_NULL;
2971 fra.me.REG[0] = p0;
2972 fra.me.REG[1] = p1;
2973 /* ./parser//lexer.nit:663 */
2974 if (!once_value_1) {
2975 if (!once_value_2) {
2976 fra.me.REG[2] = BOX_NativeString("isset");
2977 REGB0 = TAG_Int(5);
2978 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2979 once_value_2 = fra.me.REG[2];
2980 register_static_object(&once_value_2);
2981 } else fra.me.REG[2] = once_value_2;
2982 fra.me.REG[2] = fra.me.REG[2];
2983 once_value_1 = fra.me.REG[2];
2984 register_static_object(&once_value_1);
2985 } else fra.me.REG[2] = once_value_1;
2986 fra.me.REG[2] = fra.me.REG[2];
2987 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
2988 /* ./parser//lexer.nit:664 */
2989 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
2990 stack_frame_head = fra.me.prev;
2991 init_table[itpos49] = 1;
2992 return;
2993 }
2994 val_t lexer___TKwlabel___parser_index(val_t p0){
2995 struct {struct stack_frame_t me;} fra;
2996 val_t REGB0;
2997 val_t tmp;
2998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2999 fra.me.file = LOCATE_lexer;
3000 fra.me.line = 669;
3001 fra.me.meth = LOCATE_lexer___TKwlabel___parser_index;
3002 fra.me.has_broke = 0;
3003 fra.me.REG_size = 1;
3004 fra.me.REG[0] = NIT_NULL;
3005 fra.me.REG[0] = p0;
3006 /* ./parser//lexer.nit:671 */
3007 REGB0 = TAG_Int(50);
3008 goto label1;
3009 label1: while(0);
3010 stack_frame_head = fra.me.prev;
3011 return REGB0;
3012 }
3013 void lexer___TKwlabel___init_tk(val_t p0, val_t p1, int* init_table){
3014 int itpos50 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TKwlabel].i;
3015 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3016 val_t REGB0;
3017 val_t tmp;
3018 static val_t once_value_1; /* Once value */
3019 static val_t once_value_2; /* Once value */
3020 if (init_table[itpos50]) return;
3021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3022 fra.me.file = LOCATE_lexer;
3023 fra.me.line = 674;
3024 fra.me.meth = LOCATE_lexer___TKwlabel___init_tk;
3025 fra.me.has_broke = 0;
3026 fra.me.REG_size = 3;
3027 fra.me.REG[0] = NIT_NULL;
3028 fra.me.REG[1] = NIT_NULL;
3029 fra.me.REG[2] = NIT_NULL;
3030 fra.me.REG[0] = p0;
3031 fra.me.REG[1] = p1;
3032 /* ./parser//lexer.nit:676 */
3033 if (!once_value_1) {
3034 if (!once_value_2) {
3035 fra.me.REG[2] = BOX_NativeString("label");
3036 REGB0 = TAG_Int(5);
3037 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3038 once_value_2 = fra.me.REG[2];
3039 register_static_object(&once_value_2);
3040 } else fra.me.REG[2] = once_value_2;
3041 fra.me.REG[2] = fra.me.REG[2];
3042 once_value_1 = fra.me.REG[2];
3043 register_static_object(&once_value_1);
3044 } else fra.me.REG[2] = once_value_1;
3045 fra.me.REG[2] = fra.me.REG[2];
3046 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3047 /* ./parser//lexer.nit:677 */
3048 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3049 stack_frame_head = fra.me.prev;
3050 init_table[itpos50] = 1;
3051 return;
3052 }
3053 val_t lexer___TOpar___parser_index(val_t p0){
3054 struct {struct stack_frame_t me;} fra;
3055 val_t REGB0;
3056 val_t tmp;
3057 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3058 fra.me.file = LOCATE_lexer;
3059 fra.me.line = 682;
3060 fra.me.meth = LOCATE_lexer___TOpar___parser_index;
3061 fra.me.has_broke = 0;
3062 fra.me.REG_size = 1;
3063 fra.me.REG[0] = NIT_NULL;
3064 fra.me.REG[0] = p0;
3065 /* ./parser//lexer.nit:684 */
3066 REGB0 = TAG_Int(51);
3067 goto label1;
3068 label1: while(0);
3069 stack_frame_head = fra.me.prev;
3070 return REGB0;
3071 }
3072 void lexer___TOpar___init_tk(val_t p0, val_t p1, int* init_table){
3073 int itpos51 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TOpar].i;
3074 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3075 val_t REGB0;
3076 val_t tmp;
3077 static val_t once_value_1; /* Once value */
3078 static val_t once_value_2; /* Once value */
3079 if (init_table[itpos51]) return;
3080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3081 fra.me.file = LOCATE_lexer;
3082 fra.me.line = 687;
3083 fra.me.meth = LOCATE_lexer___TOpar___init_tk;
3084 fra.me.has_broke = 0;
3085 fra.me.REG_size = 3;
3086 fra.me.REG[0] = NIT_NULL;
3087 fra.me.REG[1] = NIT_NULL;
3088 fra.me.REG[2] = NIT_NULL;
3089 fra.me.REG[0] = p0;
3090 fra.me.REG[1] = p1;
3091 /* ./parser//lexer.nit:689 */
3092 if (!once_value_1) {
3093 if (!once_value_2) {
3094 fra.me.REG[2] = BOX_NativeString("(");
3095 REGB0 = TAG_Int(1);
3096 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3097 once_value_2 = fra.me.REG[2];
3098 register_static_object(&once_value_2);
3099 } else fra.me.REG[2] = once_value_2;
3100 fra.me.REG[2] = fra.me.REG[2];
3101 once_value_1 = fra.me.REG[2];
3102 register_static_object(&once_value_1);
3103 } else fra.me.REG[2] = once_value_1;
3104 fra.me.REG[2] = fra.me.REG[2];
3105 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3106 /* ./parser//lexer.nit:690 */
3107 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3108 stack_frame_head = fra.me.prev;
3109 init_table[itpos51] = 1;
3110 return;
3111 }
3112 val_t lexer___TCpar___parser_index(val_t p0){
3113 struct {struct stack_frame_t me;} fra;
3114 val_t REGB0;
3115 val_t tmp;
3116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3117 fra.me.file = LOCATE_lexer;
3118 fra.me.line = 695;
3119 fra.me.meth = LOCATE_lexer___TCpar___parser_index;
3120 fra.me.has_broke = 0;
3121 fra.me.REG_size = 1;
3122 fra.me.REG[0] = NIT_NULL;
3123 fra.me.REG[0] = p0;
3124 /* ./parser//lexer.nit:697 */
3125 REGB0 = TAG_Int(52);
3126 goto label1;
3127 label1: while(0);
3128 stack_frame_head = fra.me.prev;
3129 return REGB0;
3130 }
3131 void lexer___TCpar___init_tk(val_t p0, val_t p1, int* init_table){
3132 int itpos52 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TCpar].i;
3133 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3134 val_t REGB0;
3135 val_t tmp;
3136 static val_t once_value_1; /* Once value */
3137 static val_t once_value_2; /* Once value */
3138 if (init_table[itpos52]) return;
3139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3140 fra.me.file = LOCATE_lexer;
3141 fra.me.line = 700;
3142 fra.me.meth = LOCATE_lexer___TCpar___init_tk;
3143 fra.me.has_broke = 0;
3144 fra.me.REG_size = 3;
3145 fra.me.REG[0] = NIT_NULL;
3146 fra.me.REG[1] = NIT_NULL;
3147 fra.me.REG[2] = NIT_NULL;
3148 fra.me.REG[0] = p0;
3149 fra.me.REG[1] = p1;
3150 /* ./parser//lexer.nit:702 */
3151 if (!once_value_1) {
3152 if (!once_value_2) {
3153 fra.me.REG[2] = BOX_NativeString(")");
3154 REGB0 = TAG_Int(1);
3155 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3156 once_value_2 = fra.me.REG[2];
3157 register_static_object(&once_value_2);
3158 } else fra.me.REG[2] = once_value_2;
3159 fra.me.REG[2] = fra.me.REG[2];
3160 once_value_1 = fra.me.REG[2];
3161 register_static_object(&once_value_1);
3162 } else fra.me.REG[2] = once_value_1;
3163 fra.me.REG[2] = fra.me.REG[2];
3164 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3165 /* ./parser//lexer.nit:703 */
3166 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3167 stack_frame_head = fra.me.prev;
3168 init_table[itpos52] = 1;
3169 return;
3170 }
3171 val_t lexer___TObra___parser_index(val_t p0){
3172 struct {struct stack_frame_t me;} fra;
3173 val_t REGB0;
3174 val_t tmp;
3175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3176 fra.me.file = LOCATE_lexer;
3177 fra.me.line = 708;
3178 fra.me.meth = LOCATE_lexer___TObra___parser_index;
3179 fra.me.has_broke = 0;
3180 fra.me.REG_size = 1;
3181 fra.me.REG[0] = NIT_NULL;
3182 fra.me.REG[0] = p0;
3183 /* ./parser//lexer.nit:710 */
3184 REGB0 = TAG_Int(53);
3185 goto label1;
3186 label1: while(0);
3187 stack_frame_head = fra.me.prev;
3188 return REGB0;
3189 }
3190 void lexer___TObra___init_tk(val_t p0, val_t p1, int* init_table){
3191 int itpos53 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TObra].i;
3192 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3193 val_t REGB0;
3194 val_t tmp;
3195 static val_t once_value_1; /* Once value */
3196 static val_t once_value_2; /* Once value */
3197 if (init_table[itpos53]) return;
3198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3199 fra.me.file = LOCATE_lexer;
3200 fra.me.line = 713;
3201 fra.me.meth = LOCATE_lexer___TObra___init_tk;
3202 fra.me.has_broke = 0;
3203 fra.me.REG_size = 3;
3204 fra.me.REG[0] = NIT_NULL;
3205 fra.me.REG[1] = NIT_NULL;
3206 fra.me.REG[2] = NIT_NULL;
3207 fra.me.REG[0] = p0;
3208 fra.me.REG[1] = p1;
3209 /* ./parser//lexer.nit:715 */
3210 if (!once_value_1) {
3211 if (!once_value_2) {
3212 fra.me.REG[2] = BOX_NativeString("[");
3213 REGB0 = TAG_Int(1);
3214 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3215 once_value_2 = fra.me.REG[2];
3216 register_static_object(&once_value_2);
3217 } else fra.me.REG[2] = once_value_2;
3218 fra.me.REG[2] = fra.me.REG[2];
3219 once_value_1 = fra.me.REG[2];
3220 register_static_object(&once_value_1);
3221 } else fra.me.REG[2] = once_value_1;
3222 fra.me.REG[2] = fra.me.REG[2];
3223 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3224 /* ./parser//lexer.nit:716 */
3225 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3226 stack_frame_head = fra.me.prev;
3227 init_table[itpos53] = 1;
3228 return;
3229 }
3230 val_t lexer___TCbra___parser_index(val_t p0){
3231 struct {struct stack_frame_t me;} fra;
3232 val_t REGB0;
3233 val_t tmp;
3234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3235 fra.me.file = LOCATE_lexer;
3236 fra.me.line = 721;
3237 fra.me.meth = LOCATE_lexer___TCbra___parser_index;
3238 fra.me.has_broke = 0;
3239 fra.me.REG_size = 1;
3240 fra.me.REG[0] = NIT_NULL;
3241 fra.me.REG[0] = p0;
3242 /* ./parser//lexer.nit:723 */
3243 REGB0 = TAG_Int(54);
3244 goto label1;
3245 label1: while(0);
3246 stack_frame_head = fra.me.prev;
3247 return REGB0;
3248 }
3249 void lexer___TCbra___init_tk(val_t p0, val_t p1, int* init_table){
3250 int itpos54 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TCbra].i;
3251 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3252 val_t REGB0;
3253 val_t tmp;
3254 static val_t once_value_1; /* Once value */
3255 static val_t once_value_2; /* Once value */
3256 if (init_table[itpos54]) return;
3257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3258 fra.me.file = LOCATE_lexer;
3259 fra.me.line = 726;
3260 fra.me.meth = LOCATE_lexer___TCbra___init_tk;
3261 fra.me.has_broke = 0;
3262 fra.me.REG_size = 3;
3263 fra.me.REG[0] = NIT_NULL;
3264 fra.me.REG[1] = NIT_NULL;
3265 fra.me.REG[2] = NIT_NULL;
3266 fra.me.REG[0] = p0;
3267 fra.me.REG[1] = p1;
3268 /* ./parser//lexer.nit:728 */
3269 if (!once_value_1) {
3270 if (!once_value_2) {
3271 fra.me.REG[2] = BOX_NativeString("]");
3272 REGB0 = TAG_Int(1);
3273 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3274 once_value_2 = fra.me.REG[2];
3275 register_static_object(&once_value_2);
3276 } else fra.me.REG[2] = once_value_2;
3277 fra.me.REG[2] = fra.me.REG[2];
3278 once_value_1 = fra.me.REG[2];
3279 register_static_object(&once_value_1);
3280 } else fra.me.REG[2] = once_value_1;
3281 fra.me.REG[2] = fra.me.REG[2];
3282 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3283 /* ./parser//lexer.nit:729 */
3284 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3285 stack_frame_head = fra.me.prev;
3286 init_table[itpos54] = 1;
3287 return;
3288 }
3289 val_t lexer___TComma___parser_index(val_t p0){
3290 struct {struct stack_frame_t me;} fra;
3291 val_t REGB0;
3292 val_t tmp;
3293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3294 fra.me.file = LOCATE_lexer;
3295 fra.me.line = 734;
3296 fra.me.meth = LOCATE_lexer___TComma___parser_index;
3297 fra.me.has_broke = 0;
3298 fra.me.REG_size = 1;
3299 fra.me.REG[0] = NIT_NULL;
3300 fra.me.REG[0] = p0;
3301 /* ./parser//lexer.nit:736 */
3302 REGB0 = TAG_Int(55);
3303 goto label1;
3304 label1: while(0);
3305 stack_frame_head = fra.me.prev;
3306 return REGB0;
3307 }
3308 void lexer___TComma___init_tk(val_t p0, val_t p1, int* init_table){
3309 int itpos55 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TComma].i;
3310 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3311 val_t REGB0;
3312 val_t tmp;
3313 static val_t once_value_1; /* Once value */
3314 static val_t once_value_2; /* Once value */
3315 if (init_table[itpos55]) return;
3316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3317 fra.me.file = LOCATE_lexer;
3318 fra.me.line = 739;
3319 fra.me.meth = LOCATE_lexer___TComma___init_tk;
3320 fra.me.has_broke = 0;
3321 fra.me.REG_size = 3;
3322 fra.me.REG[0] = NIT_NULL;
3323 fra.me.REG[1] = NIT_NULL;
3324 fra.me.REG[2] = NIT_NULL;
3325 fra.me.REG[0] = p0;
3326 fra.me.REG[1] = p1;
3327 /* ./parser//lexer.nit:741 */
3328 if (!once_value_1) {
3329 if (!once_value_2) {
3330 fra.me.REG[2] = BOX_NativeString(",");
3331 REGB0 = TAG_Int(1);
3332 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3333 once_value_2 = fra.me.REG[2];
3334 register_static_object(&once_value_2);
3335 } else fra.me.REG[2] = once_value_2;
3336 fra.me.REG[2] = fra.me.REG[2];
3337 once_value_1 = fra.me.REG[2];
3338 register_static_object(&once_value_1);
3339 } else fra.me.REG[2] = once_value_1;
3340 fra.me.REG[2] = fra.me.REG[2];
3341 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3342 /* ./parser//lexer.nit:742 */
3343 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3344 stack_frame_head = fra.me.prev;
3345 init_table[itpos55] = 1;
3346 return;
3347 }
3348 val_t lexer___TColumn___parser_index(val_t p0){
3349 struct {struct stack_frame_t me;} fra;
3350 val_t REGB0;
3351 val_t tmp;
3352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3353 fra.me.file = LOCATE_lexer;
3354 fra.me.line = 747;
3355 fra.me.meth = LOCATE_lexer___TColumn___parser_index;
3356 fra.me.has_broke = 0;
3357 fra.me.REG_size = 1;
3358 fra.me.REG[0] = NIT_NULL;
3359 fra.me.REG[0] = p0;
3360 /* ./parser//lexer.nit:749 */
3361 REGB0 = TAG_Int(56);
3362 goto label1;
3363 label1: while(0);
3364 stack_frame_head = fra.me.prev;
3365 return REGB0;
3366 }
3367 void lexer___TColumn___init_tk(val_t p0, val_t p1, int* init_table){
3368 int itpos56 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TColumn].i;
3369 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3370 val_t REGB0;
3371 val_t tmp;
3372 static val_t once_value_1; /* Once value */
3373 static val_t once_value_2; /* Once value */
3374 if (init_table[itpos56]) return;
3375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3376 fra.me.file = LOCATE_lexer;
3377 fra.me.line = 752;
3378 fra.me.meth = LOCATE_lexer___TColumn___init_tk;
3379 fra.me.has_broke = 0;
3380 fra.me.REG_size = 3;
3381 fra.me.REG[0] = NIT_NULL;
3382 fra.me.REG[1] = NIT_NULL;
3383 fra.me.REG[2] = NIT_NULL;
3384 fra.me.REG[0] = p0;
3385 fra.me.REG[1] = p1;
3386 /* ./parser//lexer.nit:754 */
3387 if (!once_value_1) {
3388 if (!once_value_2) {
3389 fra.me.REG[2] = BOX_NativeString(":");
3390 REGB0 = TAG_Int(1);
3391 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3392 once_value_2 = fra.me.REG[2];
3393 register_static_object(&once_value_2);
3394 } else fra.me.REG[2] = once_value_2;
3395 fra.me.REG[2] = fra.me.REG[2];
3396 once_value_1 = fra.me.REG[2];
3397 register_static_object(&once_value_1);
3398 } else fra.me.REG[2] = once_value_1;
3399 fra.me.REG[2] = fra.me.REG[2];
3400 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3401 /* ./parser//lexer.nit:755 */
3402 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3403 stack_frame_head = fra.me.prev;
3404 init_table[itpos56] = 1;
3405 return;
3406 }
3407 val_t lexer___TQuad___parser_index(val_t p0){
3408 struct {struct stack_frame_t me;} fra;
3409 val_t REGB0;
3410 val_t tmp;
3411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3412 fra.me.file = LOCATE_lexer;
3413 fra.me.line = 760;
3414 fra.me.meth = LOCATE_lexer___TQuad___parser_index;
3415 fra.me.has_broke = 0;
3416 fra.me.REG_size = 1;
3417 fra.me.REG[0] = NIT_NULL;
3418 fra.me.REG[0] = p0;
3419 /* ./parser//lexer.nit:762 */
3420 REGB0 = TAG_Int(57);
3421 goto label1;
3422 label1: while(0);
3423 stack_frame_head = fra.me.prev;
3424 return REGB0;
3425 }
3426 void lexer___TQuad___init_tk(val_t p0, val_t p1, int* init_table){
3427 int itpos57 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TQuad].i;
3428 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3429 val_t REGB0;
3430 val_t tmp;
3431 static val_t once_value_1; /* Once value */
3432 static val_t once_value_2; /* Once value */
3433 if (init_table[itpos57]) return;
3434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3435 fra.me.file = LOCATE_lexer;
3436 fra.me.line = 765;
3437 fra.me.meth = LOCATE_lexer___TQuad___init_tk;
3438 fra.me.has_broke = 0;
3439 fra.me.REG_size = 3;
3440 fra.me.REG[0] = NIT_NULL;
3441 fra.me.REG[1] = NIT_NULL;
3442 fra.me.REG[2] = NIT_NULL;
3443 fra.me.REG[0] = p0;
3444 fra.me.REG[1] = p1;
3445 /* ./parser//lexer.nit:767 */
3446 if (!once_value_1) {
3447 if (!once_value_2) {
3448 fra.me.REG[2] = BOX_NativeString("::");
3449 REGB0 = TAG_Int(2);
3450 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3451 once_value_2 = fra.me.REG[2];
3452 register_static_object(&once_value_2);
3453 } else fra.me.REG[2] = once_value_2;
3454 fra.me.REG[2] = fra.me.REG[2];
3455 once_value_1 = fra.me.REG[2];
3456 register_static_object(&once_value_1);
3457 } else fra.me.REG[2] = once_value_1;
3458 fra.me.REG[2] = fra.me.REG[2];
3459 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3460 /* ./parser//lexer.nit:768 */
3461 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3462 stack_frame_head = fra.me.prev;
3463 init_table[itpos57] = 1;
3464 return;
3465 }
3466 val_t lexer___TAssign___parser_index(val_t p0){
3467 struct {struct stack_frame_t me;} fra;
3468 val_t REGB0;
3469 val_t tmp;
3470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3471 fra.me.file = LOCATE_lexer;
3472 fra.me.line = 773;
3473 fra.me.meth = LOCATE_lexer___TAssign___parser_index;
3474 fra.me.has_broke = 0;
3475 fra.me.REG_size = 1;
3476 fra.me.REG[0] = NIT_NULL;
3477 fra.me.REG[0] = p0;
3478 /* ./parser//lexer.nit:775 */
3479 REGB0 = TAG_Int(58);
3480 goto label1;
3481 label1: while(0);
3482 stack_frame_head = fra.me.prev;
3483 return REGB0;
3484 }
3485 void lexer___TAssign___init_tk(val_t p0, val_t p1, int* init_table){
3486 int itpos58 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAssign].i;
3487 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3488 val_t REGB0;
3489 val_t tmp;
3490 static val_t once_value_1; /* Once value */
3491 static val_t once_value_2; /* Once value */
3492 if (init_table[itpos58]) return;
3493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3494 fra.me.file = LOCATE_lexer;
3495 fra.me.line = 778;
3496 fra.me.meth = LOCATE_lexer___TAssign___init_tk;
3497 fra.me.has_broke = 0;
3498 fra.me.REG_size = 3;
3499 fra.me.REG[0] = NIT_NULL;
3500 fra.me.REG[1] = NIT_NULL;
3501 fra.me.REG[2] = NIT_NULL;
3502 fra.me.REG[0] = p0;
3503 fra.me.REG[1] = p1;
3504 /* ./parser//lexer.nit:780 */
3505 if (!once_value_1) {
3506 if (!once_value_2) {
3507 fra.me.REG[2] = BOX_NativeString("=");
3508 REGB0 = TAG_Int(1);
3509 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3510 once_value_2 = fra.me.REG[2];
3511 register_static_object(&once_value_2);
3512 } else fra.me.REG[2] = once_value_2;
3513 fra.me.REG[2] = fra.me.REG[2];
3514 once_value_1 = fra.me.REG[2];
3515 register_static_object(&once_value_1);
3516 } else fra.me.REG[2] = once_value_1;
3517 fra.me.REG[2] = fra.me.REG[2];
3518 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3519 /* ./parser//lexer.nit:781 */
3520 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3521 stack_frame_head = fra.me.prev;
3522 init_table[itpos58] = 1;
3523 return;
3524 }
3525 val_t lexer___TPluseq___parser_index(val_t p0){
3526 struct {struct stack_frame_t me;} fra;
3527 val_t REGB0;
3528 val_t tmp;
3529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3530 fra.me.file = LOCATE_lexer;
3531 fra.me.line = 786;
3532 fra.me.meth = LOCATE_lexer___TPluseq___parser_index;
3533 fra.me.has_broke = 0;
3534 fra.me.REG_size = 1;
3535 fra.me.REG[0] = NIT_NULL;
3536 fra.me.REG[0] = p0;
3537 /* ./parser//lexer.nit:788 */
3538 REGB0 = TAG_Int(59);
3539 goto label1;
3540 label1: while(0);
3541 stack_frame_head = fra.me.prev;
3542 return REGB0;
3543 }
3544 void lexer___TPluseq___init_tk(val_t p0, val_t p1, int* init_table){
3545 int itpos59 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPluseq].i;
3546 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3547 val_t REGB0;
3548 val_t tmp;
3549 static val_t once_value_1; /* Once value */
3550 static val_t once_value_2; /* Once value */
3551 if (init_table[itpos59]) return;
3552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3553 fra.me.file = LOCATE_lexer;
3554 fra.me.line = 791;
3555 fra.me.meth = LOCATE_lexer___TPluseq___init_tk;
3556 fra.me.has_broke = 0;
3557 fra.me.REG_size = 3;
3558 fra.me.REG[0] = NIT_NULL;
3559 fra.me.REG[1] = NIT_NULL;
3560 fra.me.REG[2] = NIT_NULL;
3561 fra.me.REG[0] = p0;
3562 fra.me.REG[1] = p1;
3563 /* ./parser//lexer.nit:793 */
3564 if (!once_value_1) {
3565 if (!once_value_2) {
3566 fra.me.REG[2] = BOX_NativeString("+=");
3567 REGB0 = TAG_Int(2);
3568 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3569 once_value_2 = fra.me.REG[2];
3570 register_static_object(&once_value_2);
3571 } else fra.me.REG[2] = once_value_2;
3572 fra.me.REG[2] = fra.me.REG[2];
3573 once_value_1 = fra.me.REG[2];
3574 register_static_object(&once_value_1);
3575 } else fra.me.REG[2] = once_value_1;
3576 fra.me.REG[2] = fra.me.REG[2];
3577 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3578 /* ./parser//lexer.nit:794 */
3579 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3580 stack_frame_head = fra.me.prev;
3581 init_table[itpos59] = 1;
3582 return;
3583 }
3584 val_t lexer___TMinuseq___parser_index(val_t p0){
3585 struct {struct stack_frame_t me;} fra;
3586 val_t REGB0;
3587 val_t tmp;
3588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3589 fra.me.file = LOCATE_lexer;
3590 fra.me.line = 799;
3591 fra.me.meth = LOCATE_lexer___TMinuseq___parser_index;
3592 fra.me.has_broke = 0;
3593 fra.me.REG_size = 1;
3594 fra.me.REG[0] = NIT_NULL;
3595 fra.me.REG[0] = p0;
3596 /* ./parser//lexer.nit:801 */
3597 REGB0 = TAG_Int(60);
3598 goto label1;
3599 label1: while(0);
3600 stack_frame_head = fra.me.prev;
3601 return REGB0;
3602 }
3603 void lexer___TMinuseq___init_tk(val_t p0, val_t p1, int* init_table){
3604 int itpos60 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMinuseq].i;
3605 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3606 val_t REGB0;
3607 val_t tmp;
3608 static val_t once_value_1; /* Once value */
3609 static val_t once_value_2; /* Once value */
3610 if (init_table[itpos60]) return;
3611 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3612 fra.me.file = LOCATE_lexer;
3613 fra.me.line = 804;
3614 fra.me.meth = LOCATE_lexer___TMinuseq___init_tk;
3615 fra.me.has_broke = 0;
3616 fra.me.REG_size = 3;
3617 fra.me.REG[0] = NIT_NULL;
3618 fra.me.REG[1] = NIT_NULL;
3619 fra.me.REG[2] = NIT_NULL;
3620 fra.me.REG[0] = p0;
3621 fra.me.REG[1] = p1;
3622 /* ./parser//lexer.nit:806 */
3623 if (!once_value_1) {
3624 if (!once_value_2) {
3625 fra.me.REG[2] = BOX_NativeString("-=");
3626 REGB0 = TAG_Int(2);
3627 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3628 once_value_2 = fra.me.REG[2];
3629 register_static_object(&once_value_2);
3630 } else fra.me.REG[2] = once_value_2;
3631 fra.me.REG[2] = fra.me.REG[2];
3632 once_value_1 = fra.me.REG[2];
3633 register_static_object(&once_value_1);
3634 } else fra.me.REG[2] = once_value_1;
3635 fra.me.REG[2] = fra.me.REG[2];
3636 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3637 /* ./parser//lexer.nit:807 */
3638 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3639 stack_frame_head = fra.me.prev;
3640 init_table[itpos60] = 1;
3641 return;
3642 }
3643 val_t lexer___TDotdotdot___parser_index(val_t p0){
3644 struct {struct stack_frame_t me;} fra;
3645 val_t REGB0;
3646 val_t tmp;
3647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3648 fra.me.file = LOCATE_lexer;
3649 fra.me.line = 812;
3650 fra.me.meth = LOCATE_lexer___TDotdotdot___parser_index;
3651 fra.me.has_broke = 0;
3652 fra.me.REG_size = 1;
3653 fra.me.REG[0] = NIT_NULL;
3654 fra.me.REG[0] = p0;
3655 /* ./parser//lexer.nit:814 */
3656 REGB0 = TAG_Int(61);
3657 goto label1;
3658 label1: while(0);
3659 stack_frame_head = fra.me.prev;
3660 return REGB0;
3661 }
3662 void lexer___TDotdotdot___init_tk(val_t p0, val_t p1, int* init_table){
3663 int itpos61 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDotdotdot].i;
3664 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3665 val_t REGB0;
3666 val_t tmp;
3667 static val_t once_value_1; /* Once value */
3668 static val_t once_value_2; /* Once value */
3669 if (init_table[itpos61]) return;
3670 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3671 fra.me.file = LOCATE_lexer;
3672 fra.me.line = 817;
3673 fra.me.meth = LOCATE_lexer___TDotdotdot___init_tk;
3674 fra.me.has_broke = 0;
3675 fra.me.REG_size = 3;
3676 fra.me.REG[0] = NIT_NULL;
3677 fra.me.REG[1] = NIT_NULL;
3678 fra.me.REG[2] = NIT_NULL;
3679 fra.me.REG[0] = p0;
3680 fra.me.REG[1] = p1;
3681 /* ./parser//lexer.nit:819 */
3682 if (!once_value_1) {
3683 if (!once_value_2) {
3684 fra.me.REG[2] = BOX_NativeString("...");
3685 REGB0 = TAG_Int(3);
3686 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3687 once_value_2 = fra.me.REG[2];
3688 register_static_object(&once_value_2);
3689 } else fra.me.REG[2] = once_value_2;
3690 fra.me.REG[2] = fra.me.REG[2];
3691 once_value_1 = fra.me.REG[2];
3692 register_static_object(&once_value_1);
3693 } else fra.me.REG[2] = once_value_1;
3694 fra.me.REG[2] = fra.me.REG[2];
3695 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3696 /* ./parser//lexer.nit:820 */
3697 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3698 stack_frame_head = fra.me.prev;
3699 init_table[itpos61] = 1;
3700 return;
3701 }
3702 val_t lexer___TDotdot___parser_index(val_t p0){
3703 struct {struct stack_frame_t me;} fra;
3704 val_t REGB0;
3705 val_t tmp;
3706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3707 fra.me.file = LOCATE_lexer;
3708 fra.me.line = 825;
3709 fra.me.meth = LOCATE_lexer___TDotdot___parser_index;
3710 fra.me.has_broke = 0;
3711 fra.me.REG_size = 1;
3712 fra.me.REG[0] = NIT_NULL;
3713 fra.me.REG[0] = p0;
3714 /* ./parser//lexer.nit:827 */
3715 REGB0 = TAG_Int(62);
3716 goto label1;
3717 label1: while(0);
3718 stack_frame_head = fra.me.prev;
3719 return REGB0;
3720 }
3721 void lexer___TDotdot___init_tk(val_t p0, val_t p1, int* init_table){
3722 int itpos62 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDotdot].i;
3723 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3724 val_t REGB0;
3725 val_t tmp;
3726 static val_t once_value_1; /* Once value */
3727 static val_t once_value_2; /* Once value */
3728 if (init_table[itpos62]) return;
3729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3730 fra.me.file = LOCATE_lexer;
3731 fra.me.line = 830;
3732 fra.me.meth = LOCATE_lexer___TDotdot___init_tk;
3733 fra.me.has_broke = 0;
3734 fra.me.REG_size = 3;
3735 fra.me.REG[0] = NIT_NULL;
3736 fra.me.REG[1] = NIT_NULL;
3737 fra.me.REG[2] = NIT_NULL;
3738 fra.me.REG[0] = p0;
3739 fra.me.REG[1] = p1;
3740 /* ./parser//lexer.nit:832 */
3741 if (!once_value_1) {
3742 if (!once_value_2) {
3743 fra.me.REG[2] = BOX_NativeString("..");
3744 REGB0 = TAG_Int(2);
3745 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3746 once_value_2 = fra.me.REG[2];
3747 register_static_object(&once_value_2);
3748 } else fra.me.REG[2] = once_value_2;
3749 fra.me.REG[2] = fra.me.REG[2];
3750 once_value_1 = fra.me.REG[2];
3751 register_static_object(&once_value_1);
3752 } else fra.me.REG[2] = once_value_1;
3753 fra.me.REG[2] = fra.me.REG[2];
3754 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3755 /* ./parser//lexer.nit:833 */
3756 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3757 stack_frame_head = fra.me.prev;
3758 init_table[itpos62] = 1;
3759 return;
3760 }
3761 val_t lexer___TDot___parser_index(val_t p0){
3762 struct {struct stack_frame_t me;} fra;
3763 val_t REGB0;
3764 val_t tmp;
3765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3766 fra.me.file = LOCATE_lexer;
3767 fra.me.line = 838;
3768 fra.me.meth = LOCATE_lexer___TDot___parser_index;
3769 fra.me.has_broke = 0;
3770 fra.me.REG_size = 1;
3771 fra.me.REG[0] = NIT_NULL;
3772 fra.me.REG[0] = p0;
3773 /* ./parser//lexer.nit:840 */
3774 REGB0 = TAG_Int(63);
3775 goto label1;
3776 label1: while(0);
3777 stack_frame_head = fra.me.prev;
3778 return REGB0;
3779 }
3780 void lexer___TDot___init_tk(val_t p0, val_t p1, int* init_table){
3781 int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TDot].i;
3782 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3783 val_t REGB0;
3784 val_t tmp;
3785 static val_t once_value_1; /* Once value */
3786 static val_t once_value_2; /* Once value */
3787 if (init_table[itpos63]) return;
3788 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3789 fra.me.file = LOCATE_lexer;
3790 fra.me.line = 843;
3791 fra.me.meth = LOCATE_lexer___TDot___init_tk;
3792 fra.me.has_broke = 0;
3793 fra.me.REG_size = 3;
3794 fra.me.REG[0] = NIT_NULL;
3795 fra.me.REG[1] = NIT_NULL;
3796 fra.me.REG[2] = NIT_NULL;
3797 fra.me.REG[0] = p0;
3798 fra.me.REG[1] = p1;
3799 /* ./parser//lexer.nit:845 */
3800 if (!once_value_1) {
3801 if (!once_value_2) {
3802 fra.me.REG[2] = BOX_NativeString(".");
3803 REGB0 = TAG_Int(1);
3804 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3805 once_value_2 = fra.me.REG[2];
3806 register_static_object(&once_value_2);
3807 } else fra.me.REG[2] = once_value_2;
3808 fra.me.REG[2] = fra.me.REG[2];
3809 once_value_1 = fra.me.REG[2];
3810 register_static_object(&once_value_1);
3811 } else fra.me.REG[2] = once_value_1;
3812 fra.me.REG[2] = fra.me.REG[2];
3813 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3814 /* ./parser//lexer.nit:846 */
3815 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3816 stack_frame_head = fra.me.prev;
3817 init_table[itpos63] = 1;
3818 return;
3819 }
3820 val_t lexer___TPlus___parser_index(val_t p0){
3821 struct {struct stack_frame_t me;} fra;
3822 val_t REGB0;
3823 val_t tmp;
3824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3825 fra.me.file = LOCATE_lexer;
3826 fra.me.line = 851;
3827 fra.me.meth = LOCATE_lexer___TPlus___parser_index;
3828 fra.me.has_broke = 0;
3829 fra.me.REG_size = 1;
3830 fra.me.REG[0] = NIT_NULL;
3831 fra.me.REG[0] = p0;
3832 /* ./parser//lexer.nit:853 */
3833 REGB0 = TAG_Int(64);
3834 goto label1;
3835 label1: while(0);
3836 stack_frame_head = fra.me.prev;
3837 return REGB0;
3838 }
3839 void lexer___TPlus___init_tk(val_t p0, val_t p1, int* init_table){
3840 int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPlus].i;
3841 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3842 val_t REGB0;
3843 val_t tmp;
3844 static val_t once_value_1; /* Once value */
3845 static val_t once_value_2; /* Once value */
3846 if (init_table[itpos64]) return;
3847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3848 fra.me.file = LOCATE_lexer;
3849 fra.me.line = 856;
3850 fra.me.meth = LOCATE_lexer___TPlus___init_tk;
3851 fra.me.has_broke = 0;
3852 fra.me.REG_size = 3;
3853 fra.me.REG[0] = NIT_NULL;
3854 fra.me.REG[1] = NIT_NULL;
3855 fra.me.REG[2] = NIT_NULL;
3856 fra.me.REG[0] = p0;
3857 fra.me.REG[1] = p1;
3858 /* ./parser//lexer.nit:858 */
3859 if (!once_value_1) {
3860 if (!once_value_2) {
3861 fra.me.REG[2] = BOX_NativeString("+");
3862 REGB0 = TAG_Int(1);
3863 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3864 once_value_2 = fra.me.REG[2];
3865 register_static_object(&once_value_2);
3866 } else fra.me.REG[2] = once_value_2;
3867 fra.me.REG[2] = fra.me.REG[2];
3868 once_value_1 = fra.me.REG[2];
3869 register_static_object(&once_value_1);
3870 } else fra.me.REG[2] = once_value_1;
3871 fra.me.REG[2] = fra.me.REG[2];
3872 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3873 /* ./parser//lexer.nit:859 */
3874 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3875 stack_frame_head = fra.me.prev;
3876 init_table[itpos64] = 1;
3877 return;
3878 }
3879 val_t lexer___TMinus___parser_index(val_t p0){
3880 struct {struct stack_frame_t me;} fra;
3881 val_t REGB0;
3882 val_t tmp;
3883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3884 fra.me.file = LOCATE_lexer;
3885 fra.me.line = 864;
3886 fra.me.meth = LOCATE_lexer___TMinus___parser_index;
3887 fra.me.has_broke = 0;
3888 fra.me.REG_size = 1;
3889 fra.me.REG[0] = NIT_NULL;
3890 fra.me.REG[0] = p0;
3891 /* ./parser//lexer.nit:866 */
3892 REGB0 = TAG_Int(65);
3893 goto label1;
3894 label1: while(0);
3895 stack_frame_head = fra.me.prev;
3896 return REGB0;
3897 }
3898 void lexer___TMinus___init_tk(val_t p0, val_t p1, int* init_table){
3899 int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMinus].i;
3900 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3901 val_t REGB0;
3902 val_t tmp;
3903 static val_t once_value_1; /* Once value */
3904 static val_t once_value_2; /* Once value */
3905 if (init_table[itpos65]) return;
3906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3907 fra.me.file = LOCATE_lexer;
3908 fra.me.line = 869;
3909 fra.me.meth = LOCATE_lexer___TMinus___init_tk;
3910 fra.me.has_broke = 0;
3911 fra.me.REG_size = 3;
3912 fra.me.REG[0] = NIT_NULL;
3913 fra.me.REG[1] = NIT_NULL;
3914 fra.me.REG[2] = NIT_NULL;
3915 fra.me.REG[0] = p0;
3916 fra.me.REG[1] = p1;
3917 /* ./parser//lexer.nit:871 */
3918 if (!once_value_1) {
3919 if (!once_value_2) {
3920 fra.me.REG[2] = BOX_NativeString("-");
3921 REGB0 = TAG_Int(1);
3922 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3923 once_value_2 = fra.me.REG[2];
3924 register_static_object(&once_value_2);
3925 } else fra.me.REG[2] = once_value_2;
3926 fra.me.REG[2] = fra.me.REG[2];
3927 once_value_1 = fra.me.REG[2];
3928 register_static_object(&once_value_1);
3929 } else fra.me.REG[2] = once_value_1;
3930 fra.me.REG[2] = fra.me.REG[2];
3931 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3932 /* ./parser//lexer.nit:872 */
3933 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3934 stack_frame_head = fra.me.prev;
3935 init_table[itpos65] = 1;
3936 return;
3937 }
3938 val_t lexer___TStar___parser_index(val_t p0){
3939 struct {struct stack_frame_t me;} fra;
3940 val_t REGB0;
3941 val_t tmp;
3942 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3943 fra.me.file = LOCATE_lexer;
3944 fra.me.line = 877;
3945 fra.me.meth = LOCATE_lexer___TStar___parser_index;
3946 fra.me.has_broke = 0;
3947 fra.me.REG_size = 1;
3948 fra.me.REG[0] = NIT_NULL;
3949 fra.me.REG[0] = p0;
3950 /* ./parser//lexer.nit:879 */
3951 REGB0 = TAG_Int(66);
3952 goto label1;
3953 label1: while(0);
3954 stack_frame_head = fra.me.prev;
3955 return REGB0;
3956 }
3957 void lexer___TStar___init_tk(val_t p0, val_t p1, int* init_table){
3958 int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStar].i;
3959 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3960 val_t REGB0;
3961 val_t tmp;
3962 static val_t once_value_1; /* Once value */
3963 static val_t once_value_2; /* Once value */
3964 if (init_table[itpos66]) return;
3965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3966 fra.me.file = LOCATE_lexer;
3967 fra.me.line = 882;
3968 fra.me.meth = LOCATE_lexer___TStar___init_tk;
3969 fra.me.has_broke = 0;
3970 fra.me.REG_size = 3;
3971 fra.me.REG[0] = NIT_NULL;
3972 fra.me.REG[1] = NIT_NULL;
3973 fra.me.REG[2] = NIT_NULL;
3974 fra.me.REG[0] = p0;
3975 fra.me.REG[1] = p1;
3976 /* ./parser//lexer.nit:884 */
3977 if (!once_value_1) {
3978 if (!once_value_2) {
3979 fra.me.REG[2] = BOX_NativeString("*");
3980 REGB0 = TAG_Int(1);
3981 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3982 once_value_2 = fra.me.REG[2];
3983 register_static_object(&once_value_2);
3984 } else fra.me.REG[2] = once_value_2;
3985 fra.me.REG[2] = fra.me.REG[2];
3986 once_value_1 = fra.me.REG[2];
3987 register_static_object(&once_value_1);
3988 } else fra.me.REG[2] = once_value_1;
3989 fra.me.REG[2] = fra.me.REG[2];
3990 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
3991 /* ./parser//lexer.nit:885 */
3992 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
3993 stack_frame_head = fra.me.prev;
3994 init_table[itpos66] = 1;
3995 return;
3996 }
3997 val_t lexer___TSlash___parser_index(val_t p0){
3998 struct {struct stack_frame_t me;} fra;
3999 val_t REGB0;
4000 val_t tmp;
4001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4002 fra.me.file = LOCATE_lexer;
4003 fra.me.line = 890;
4004 fra.me.meth = LOCATE_lexer___TSlash___parser_index;
4005 fra.me.has_broke = 0;
4006 fra.me.REG_size = 1;
4007 fra.me.REG[0] = NIT_NULL;
4008 fra.me.REG[0] = p0;
4009 /* ./parser//lexer.nit:892 */
4010 REGB0 = TAG_Int(67);
4011 goto label1;
4012 label1: while(0);
4013 stack_frame_head = fra.me.prev;
4014 return REGB0;
4015 }
4016 void lexer___TSlash___init_tk(val_t p0, val_t p1, int* init_table){
4017 int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TSlash].i;
4018 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4019 val_t REGB0;
4020 val_t tmp;
4021 static val_t once_value_1; /* Once value */
4022 static val_t once_value_2; /* Once value */
4023 if (init_table[itpos67]) return;
4024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4025 fra.me.file = LOCATE_lexer;
4026 fra.me.line = 895;
4027 fra.me.meth = LOCATE_lexer___TSlash___init_tk;
4028 fra.me.has_broke = 0;
4029 fra.me.REG_size = 3;
4030 fra.me.REG[0] = NIT_NULL;
4031 fra.me.REG[1] = NIT_NULL;
4032 fra.me.REG[2] = NIT_NULL;
4033 fra.me.REG[0] = p0;
4034 fra.me.REG[1] = p1;
4035 /* ./parser//lexer.nit:897 */
4036 if (!once_value_1) {
4037 if (!once_value_2) {
4038 fra.me.REG[2] = BOX_NativeString("/");
4039 REGB0 = TAG_Int(1);
4040 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4041 once_value_2 = fra.me.REG[2];
4042 register_static_object(&once_value_2);
4043 } else fra.me.REG[2] = once_value_2;
4044 fra.me.REG[2] = fra.me.REG[2];
4045 once_value_1 = fra.me.REG[2];
4046 register_static_object(&once_value_1);
4047 } else fra.me.REG[2] = once_value_1;
4048 fra.me.REG[2] = fra.me.REG[2];
4049 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4050 /* ./parser//lexer.nit:898 */
4051 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4052 stack_frame_head = fra.me.prev;
4053 init_table[itpos67] = 1;
4054 return;
4055 }
4056 val_t lexer___TPercent___parser_index(val_t p0){
4057 struct {struct stack_frame_t me;} fra;
4058 val_t REGB0;
4059 val_t tmp;
4060 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4061 fra.me.file = LOCATE_lexer;
4062 fra.me.line = 903;
4063 fra.me.meth = LOCATE_lexer___TPercent___parser_index;
4064 fra.me.has_broke = 0;
4065 fra.me.REG_size = 1;
4066 fra.me.REG[0] = NIT_NULL;
4067 fra.me.REG[0] = p0;
4068 /* ./parser//lexer.nit:905 */
4069 REGB0 = TAG_Int(68);
4070 goto label1;
4071 label1: while(0);
4072 stack_frame_head = fra.me.prev;
4073 return REGB0;
4074 }
4075 void lexer___TPercent___init_tk(val_t p0, val_t p1, int* init_table){
4076 int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TPercent].i;
4077 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4078 val_t REGB0;
4079 val_t tmp;
4080 static val_t once_value_1; /* Once value */
4081 static val_t once_value_2; /* Once value */
4082 if (init_table[itpos68]) return;
4083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4084 fra.me.file = LOCATE_lexer;
4085 fra.me.line = 908;
4086 fra.me.meth = LOCATE_lexer___TPercent___init_tk;
4087 fra.me.has_broke = 0;
4088 fra.me.REG_size = 3;
4089 fra.me.REG[0] = NIT_NULL;
4090 fra.me.REG[1] = NIT_NULL;
4091 fra.me.REG[2] = NIT_NULL;
4092 fra.me.REG[0] = p0;
4093 fra.me.REG[1] = p1;
4094 /* ./parser//lexer.nit:910 */
4095 if (!once_value_1) {
4096 if (!once_value_2) {
4097 fra.me.REG[2] = BOX_NativeString("%");
4098 REGB0 = TAG_Int(1);
4099 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4100 once_value_2 = fra.me.REG[2];
4101 register_static_object(&once_value_2);
4102 } else fra.me.REG[2] = once_value_2;
4103 fra.me.REG[2] = fra.me.REG[2];
4104 once_value_1 = fra.me.REG[2];
4105 register_static_object(&once_value_1);
4106 } else fra.me.REG[2] = once_value_1;
4107 fra.me.REG[2] = fra.me.REG[2];
4108 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4109 /* ./parser//lexer.nit:911 */
4110 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4111 stack_frame_head = fra.me.prev;
4112 init_table[itpos68] = 1;
4113 return;
4114 }
4115 val_t lexer___TEq___parser_index(val_t p0){
4116 struct {struct stack_frame_t me;} fra;
4117 val_t REGB0;
4118 val_t tmp;
4119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4120 fra.me.file = LOCATE_lexer;
4121 fra.me.line = 916;
4122 fra.me.meth = LOCATE_lexer___TEq___parser_index;
4123 fra.me.has_broke = 0;
4124 fra.me.REG_size = 1;
4125 fra.me.REG[0] = NIT_NULL;
4126 fra.me.REG[0] = p0;
4127 /* ./parser//lexer.nit:918 */
4128 REGB0 = TAG_Int(69);
4129 goto label1;
4130 label1: while(0);
4131 stack_frame_head = fra.me.prev;
4132 return REGB0;
4133 }
4134 void lexer___TEq___init_tk(val_t p0, val_t p1, int* init_table){
4135 int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEq].i;
4136 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4137 val_t REGB0;
4138 val_t tmp;
4139 static val_t once_value_1; /* Once value */
4140 static val_t once_value_2; /* Once value */
4141 if (init_table[itpos69]) return;
4142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4143 fra.me.file = LOCATE_lexer;
4144 fra.me.line = 921;
4145 fra.me.meth = LOCATE_lexer___TEq___init_tk;
4146 fra.me.has_broke = 0;
4147 fra.me.REG_size = 3;
4148 fra.me.REG[0] = NIT_NULL;
4149 fra.me.REG[1] = NIT_NULL;
4150 fra.me.REG[2] = NIT_NULL;
4151 fra.me.REG[0] = p0;
4152 fra.me.REG[1] = p1;
4153 /* ./parser//lexer.nit:923 */
4154 if (!once_value_1) {
4155 if (!once_value_2) {
4156 fra.me.REG[2] = BOX_NativeString("==");
4157 REGB0 = TAG_Int(2);
4158 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4159 once_value_2 = fra.me.REG[2];
4160 register_static_object(&once_value_2);
4161 } else fra.me.REG[2] = once_value_2;
4162 fra.me.REG[2] = fra.me.REG[2];
4163 once_value_1 = fra.me.REG[2];
4164 register_static_object(&once_value_1);
4165 } else fra.me.REG[2] = once_value_1;
4166 fra.me.REG[2] = fra.me.REG[2];
4167 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4168 /* ./parser//lexer.nit:924 */
4169 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4170 stack_frame_head = fra.me.prev;
4171 init_table[itpos69] = 1;
4172 return;
4173 }
4174 val_t lexer___TNe___parser_index(val_t p0){
4175 struct {struct stack_frame_t me;} fra;
4176 val_t REGB0;
4177 val_t tmp;
4178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4179 fra.me.file = LOCATE_lexer;
4180 fra.me.line = 929;
4181 fra.me.meth = LOCATE_lexer___TNe___parser_index;
4182 fra.me.has_broke = 0;
4183 fra.me.REG_size = 1;
4184 fra.me.REG[0] = NIT_NULL;
4185 fra.me.REG[0] = p0;
4186 /* ./parser//lexer.nit:931 */
4187 REGB0 = TAG_Int(70);
4188 goto label1;
4189 label1: while(0);
4190 stack_frame_head = fra.me.prev;
4191 return REGB0;
4192 }
4193 void lexer___TNe___init_tk(val_t p0, val_t p1, int* init_table){
4194 int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNe].i;
4195 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4196 val_t REGB0;
4197 val_t tmp;
4198 static val_t once_value_1; /* Once value */
4199 static val_t once_value_2; /* Once value */
4200 if (init_table[itpos70]) return;
4201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4202 fra.me.file = LOCATE_lexer;
4203 fra.me.line = 934;
4204 fra.me.meth = LOCATE_lexer___TNe___init_tk;
4205 fra.me.has_broke = 0;
4206 fra.me.REG_size = 3;
4207 fra.me.REG[0] = NIT_NULL;
4208 fra.me.REG[1] = NIT_NULL;
4209 fra.me.REG[2] = NIT_NULL;
4210 fra.me.REG[0] = p0;
4211 fra.me.REG[1] = p1;
4212 /* ./parser//lexer.nit:936 */
4213 if (!once_value_1) {
4214 if (!once_value_2) {
4215 fra.me.REG[2] = BOX_NativeString("!=");
4216 REGB0 = TAG_Int(2);
4217 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4218 once_value_2 = fra.me.REG[2];
4219 register_static_object(&once_value_2);
4220 } else fra.me.REG[2] = once_value_2;
4221 fra.me.REG[2] = fra.me.REG[2];
4222 once_value_1 = fra.me.REG[2];
4223 register_static_object(&once_value_1);
4224 } else fra.me.REG[2] = once_value_1;
4225 fra.me.REG[2] = fra.me.REG[2];
4226 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4227 /* ./parser//lexer.nit:937 */
4228 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4229 stack_frame_head = fra.me.prev;
4230 init_table[itpos70] = 1;
4231 return;
4232 }
4233 val_t lexer___TLt___parser_index(val_t p0){
4234 struct {struct stack_frame_t me;} fra;
4235 val_t REGB0;
4236 val_t tmp;
4237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4238 fra.me.file = LOCATE_lexer;
4239 fra.me.line = 942;
4240 fra.me.meth = LOCATE_lexer___TLt___parser_index;
4241 fra.me.has_broke = 0;
4242 fra.me.REG_size = 1;
4243 fra.me.REG[0] = NIT_NULL;
4244 fra.me.REG[0] = p0;
4245 /* ./parser//lexer.nit:944 */
4246 REGB0 = TAG_Int(71);
4247 goto label1;
4248 label1: while(0);
4249 stack_frame_head = fra.me.prev;
4250 return REGB0;
4251 }
4252 void lexer___TLt___init_tk(val_t p0, val_t p1, int* init_table){
4253 int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLt].i;
4254 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4255 val_t REGB0;
4256 val_t tmp;
4257 static val_t once_value_1; /* Once value */
4258 static val_t once_value_2; /* Once value */
4259 if (init_table[itpos71]) return;
4260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4261 fra.me.file = LOCATE_lexer;
4262 fra.me.line = 947;
4263 fra.me.meth = LOCATE_lexer___TLt___init_tk;
4264 fra.me.has_broke = 0;
4265 fra.me.REG_size = 3;
4266 fra.me.REG[0] = NIT_NULL;
4267 fra.me.REG[1] = NIT_NULL;
4268 fra.me.REG[2] = NIT_NULL;
4269 fra.me.REG[0] = p0;
4270 fra.me.REG[1] = p1;
4271 /* ./parser//lexer.nit:949 */
4272 if (!once_value_1) {
4273 if (!once_value_2) {
4274 fra.me.REG[2] = BOX_NativeString("<");
4275 REGB0 = TAG_Int(1);
4276 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4277 once_value_2 = fra.me.REG[2];
4278 register_static_object(&once_value_2);
4279 } else fra.me.REG[2] = once_value_2;
4280 fra.me.REG[2] = fra.me.REG[2];
4281 once_value_1 = fra.me.REG[2];
4282 register_static_object(&once_value_1);
4283 } else fra.me.REG[2] = once_value_1;
4284 fra.me.REG[2] = fra.me.REG[2];
4285 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4286 /* ./parser//lexer.nit:950 */
4287 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4288 stack_frame_head = fra.me.prev;
4289 init_table[itpos71] = 1;
4290 return;
4291 }
4292 val_t lexer___TLe___parser_index(val_t p0){
4293 struct {struct stack_frame_t me;} fra;
4294 val_t REGB0;
4295 val_t tmp;
4296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4297 fra.me.file = LOCATE_lexer;
4298 fra.me.line = 955;
4299 fra.me.meth = LOCATE_lexer___TLe___parser_index;
4300 fra.me.has_broke = 0;
4301 fra.me.REG_size = 1;
4302 fra.me.REG[0] = NIT_NULL;
4303 fra.me.REG[0] = p0;
4304 /* ./parser//lexer.nit:957 */
4305 REGB0 = TAG_Int(72);
4306 goto label1;
4307 label1: while(0);
4308 stack_frame_head = fra.me.prev;
4309 return REGB0;
4310 }
4311 void lexer___TLe___init_tk(val_t p0, val_t p1, int* init_table){
4312 int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLe].i;
4313 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4314 val_t REGB0;
4315 val_t tmp;
4316 static val_t once_value_1; /* Once value */
4317 static val_t once_value_2; /* Once value */
4318 if (init_table[itpos72]) return;
4319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4320 fra.me.file = LOCATE_lexer;
4321 fra.me.line = 960;
4322 fra.me.meth = LOCATE_lexer___TLe___init_tk;
4323 fra.me.has_broke = 0;
4324 fra.me.REG_size = 3;
4325 fra.me.REG[0] = NIT_NULL;
4326 fra.me.REG[1] = NIT_NULL;
4327 fra.me.REG[2] = NIT_NULL;
4328 fra.me.REG[0] = p0;
4329 fra.me.REG[1] = p1;
4330 /* ./parser//lexer.nit:962 */
4331 if (!once_value_1) {
4332 if (!once_value_2) {
4333 fra.me.REG[2] = BOX_NativeString("<=");
4334 REGB0 = TAG_Int(2);
4335 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4336 once_value_2 = fra.me.REG[2];
4337 register_static_object(&once_value_2);
4338 } else fra.me.REG[2] = once_value_2;
4339 fra.me.REG[2] = fra.me.REG[2];
4340 once_value_1 = fra.me.REG[2];
4341 register_static_object(&once_value_1);
4342 } else fra.me.REG[2] = once_value_1;
4343 fra.me.REG[2] = fra.me.REG[2];
4344 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4345 /* ./parser//lexer.nit:963 */
4346 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4347 stack_frame_head = fra.me.prev;
4348 init_table[itpos72] = 1;
4349 return;
4350 }
4351 val_t lexer___TLl___parser_index(val_t p0){
4352 struct {struct stack_frame_t me;} fra;
4353 val_t REGB0;
4354 val_t tmp;
4355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4356 fra.me.file = LOCATE_lexer;
4357 fra.me.line = 968;
4358 fra.me.meth = LOCATE_lexer___TLl___parser_index;
4359 fra.me.has_broke = 0;
4360 fra.me.REG_size = 1;
4361 fra.me.REG[0] = NIT_NULL;
4362 fra.me.REG[0] = p0;
4363 /* ./parser//lexer.nit:970 */
4364 REGB0 = TAG_Int(73);
4365 goto label1;
4366 label1: while(0);
4367 stack_frame_head = fra.me.prev;
4368 return REGB0;
4369 }
4370 void lexer___TLl___init_tk(val_t p0, val_t p1, int* init_table){
4371 int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TLl].i;
4372 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4373 val_t REGB0;
4374 val_t tmp;
4375 static val_t once_value_1; /* Once value */
4376 static val_t once_value_2; /* Once value */
4377 if (init_table[itpos73]) return;
4378 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4379 fra.me.file = LOCATE_lexer;
4380 fra.me.line = 973;
4381 fra.me.meth = LOCATE_lexer___TLl___init_tk;
4382 fra.me.has_broke = 0;
4383 fra.me.REG_size = 3;
4384 fra.me.REG[0] = NIT_NULL;
4385 fra.me.REG[1] = NIT_NULL;
4386 fra.me.REG[2] = NIT_NULL;
4387 fra.me.REG[0] = p0;
4388 fra.me.REG[1] = p1;
4389 /* ./parser//lexer.nit:975 */
4390 if (!once_value_1) {
4391 if (!once_value_2) {
4392 fra.me.REG[2] = BOX_NativeString("<<");
4393 REGB0 = TAG_Int(2);
4394 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4395 once_value_2 = fra.me.REG[2];
4396 register_static_object(&once_value_2);
4397 } else fra.me.REG[2] = once_value_2;
4398 fra.me.REG[2] = fra.me.REG[2];
4399 once_value_1 = fra.me.REG[2];
4400 register_static_object(&once_value_1);
4401 } else fra.me.REG[2] = once_value_1;
4402 fra.me.REG[2] = fra.me.REG[2];
4403 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4404 /* ./parser//lexer.nit:976 */
4405 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4406 stack_frame_head = fra.me.prev;
4407 init_table[itpos73] = 1;
4408 return;
4409 }
4410 val_t lexer___TGt___parser_index(val_t p0){
4411 struct {struct stack_frame_t me;} fra;
4412 val_t REGB0;
4413 val_t tmp;
4414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4415 fra.me.file = LOCATE_lexer;
4416 fra.me.line = 981;
4417 fra.me.meth = LOCATE_lexer___TGt___parser_index;
4418 fra.me.has_broke = 0;
4419 fra.me.REG_size = 1;
4420 fra.me.REG[0] = NIT_NULL;
4421 fra.me.REG[0] = p0;
4422 /* ./parser//lexer.nit:983 */
4423 REGB0 = TAG_Int(74);
4424 goto label1;
4425 label1: while(0);
4426 stack_frame_head = fra.me.prev;
4427 return REGB0;
4428 }
4429 void lexer___TGt___init_tk(val_t p0, val_t p1, int* init_table){
4430 int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGt].i;
4431 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4432 val_t REGB0;
4433 val_t tmp;
4434 static val_t once_value_1; /* Once value */
4435 static val_t once_value_2; /* Once value */
4436 if (init_table[itpos74]) return;
4437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4438 fra.me.file = LOCATE_lexer;
4439 fra.me.line = 986;
4440 fra.me.meth = LOCATE_lexer___TGt___init_tk;
4441 fra.me.has_broke = 0;
4442 fra.me.REG_size = 3;
4443 fra.me.REG[0] = NIT_NULL;
4444 fra.me.REG[1] = NIT_NULL;
4445 fra.me.REG[2] = NIT_NULL;
4446 fra.me.REG[0] = p0;
4447 fra.me.REG[1] = p1;
4448 /* ./parser//lexer.nit:988 */
4449 if (!once_value_1) {
4450 if (!once_value_2) {
4451 fra.me.REG[2] = BOX_NativeString(">");
4452 REGB0 = TAG_Int(1);
4453 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4454 once_value_2 = fra.me.REG[2];
4455 register_static_object(&once_value_2);
4456 } else fra.me.REG[2] = once_value_2;
4457 fra.me.REG[2] = fra.me.REG[2];
4458 once_value_1 = fra.me.REG[2];
4459 register_static_object(&once_value_1);
4460 } else fra.me.REG[2] = once_value_1;
4461 fra.me.REG[2] = fra.me.REG[2];
4462 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4463 /* ./parser//lexer.nit:989 */
4464 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4465 stack_frame_head = fra.me.prev;
4466 init_table[itpos74] = 1;
4467 return;
4468 }
4469 val_t lexer___TGe___parser_index(val_t p0){
4470 struct {struct stack_frame_t me;} fra;
4471 val_t REGB0;
4472 val_t tmp;
4473 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4474 fra.me.file = LOCATE_lexer;
4475 fra.me.line = 994;
4476 fra.me.meth = LOCATE_lexer___TGe___parser_index;
4477 fra.me.has_broke = 0;
4478 fra.me.REG_size = 1;
4479 fra.me.REG[0] = NIT_NULL;
4480 fra.me.REG[0] = p0;
4481 /* ./parser//lexer.nit:996 */
4482 REGB0 = TAG_Int(75);
4483 goto label1;
4484 label1: while(0);
4485 stack_frame_head = fra.me.prev;
4486 return REGB0;
4487 }
4488 void lexer___TGe___init_tk(val_t p0, val_t p1, int* init_table){
4489 int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGe].i;
4490 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4491 val_t REGB0;
4492 val_t tmp;
4493 static val_t once_value_1; /* Once value */
4494 static val_t once_value_2; /* Once value */
4495 if (init_table[itpos75]) return;
4496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4497 fra.me.file = LOCATE_lexer;
4498 fra.me.line = 999;
4499 fra.me.meth = LOCATE_lexer___TGe___init_tk;
4500 fra.me.has_broke = 0;
4501 fra.me.REG_size = 3;
4502 fra.me.REG[0] = NIT_NULL;
4503 fra.me.REG[1] = NIT_NULL;
4504 fra.me.REG[2] = NIT_NULL;
4505 fra.me.REG[0] = p0;
4506 fra.me.REG[1] = p1;
4507 /* ./parser//lexer.nit:1001 */
4508 if (!once_value_1) {
4509 if (!once_value_2) {
4510 fra.me.REG[2] = BOX_NativeString(">=");
4511 REGB0 = TAG_Int(2);
4512 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4513 once_value_2 = fra.me.REG[2];
4514 register_static_object(&once_value_2);
4515 } else fra.me.REG[2] = once_value_2;
4516 fra.me.REG[2] = fra.me.REG[2];
4517 once_value_1 = fra.me.REG[2];
4518 register_static_object(&once_value_1);
4519 } else fra.me.REG[2] = once_value_1;
4520 fra.me.REG[2] = fra.me.REG[2];
4521 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4522 /* ./parser//lexer.nit:1002 */
4523 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4524 stack_frame_head = fra.me.prev;
4525 init_table[itpos75] = 1;
4526 return;
4527 }
4528 val_t lexer___TGg___parser_index(val_t p0){
4529 struct {struct stack_frame_t me;} fra;
4530 val_t REGB0;
4531 val_t tmp;
4532 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4533 fra.me.file = LOCATE_lexer;
4534 fra.me.line = 1007;
4535 fra.me.meth = LOCATE_lexer___TGg___parser_index;
4536 fra.me.has_broke = 0;
4537 fra.me.REG_size = 1;
4538 fra.me.REG[0] = NIT_NULL;
4539 fra.me.REG[0] = p0;
4540 /* ./parser//lexer.nit:1009 */
4541 REGB0 = TAG_Int(76);
4542 goto label1;
4543 label1: while(0);
4544 stack_frame_head = fra.me.prev;
4545 return REGB0;
4546 }
4547 void lexer___TGg___init_tk(val_t p0, val_t p1, int* init_table){
4548 int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TGg].i;
4549 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4550 val_t REGB0;
4551 val_t tmp;
4552 static val_t once_value_1; /* Once value */
4553 static val_t once_value_2; /* Once value */
4554 if (init_table[itpos76]) return;
4555 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4556 fra.me.file = LOCATE_lexer;
4557 fra.me.line = 1012;
4558 fra.me.meth = LOCATE_lexer___TGg___init_tk;
4559 fra.me.has_broke = 0;
4560 fra.me.REG_size = 3;
4561 fra.me.REG[0] = NIT_NULL;
4562 fra.me.REG[1] = NIT_NULL;
4563 fra.me.REG[2] = NIT_NULL;
4564 fra.me.REG[0] = p0;
4565 fra.me.REG[1] = p1;
4566 /* ./parser//lexer.nit:1014 */
4567 if (!once_value_1) {
4568 if (!once_value_2) {
4569 fra.me.REG[2] = BOX_NativeString(">>");
4570 REGB0 = TAG_Int(2);
4571 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4572 once_value_2 = fra.me.REG[2];
4573 register_static_object(&once_value_2);
4574 } else fra.me.REG[2] = once_value_2;
4575 fra.me.REG[2] = fra.me.REG[2];
4576 once_value_1 = fra.me.REG[2];
4577 register_static_object(&once_value_1);
4578 } else fra.me.REG[2] = once_value_1;
4579 fra.me.REG[2] = fra.me.REG[2];
4580 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4581 /* ./parser//lexer.nit:1015 */
4582 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4583 stack_frame_head = fra.me.prev;
4584 init_table[itpos76] = 1;
4585 return;
4586 }
4587 val_t lexer___TStarship___parser_index(val_t p0){
4588 struct {struct stack_frame_t me;} fra;
4589 val_t REGB0;
4590 val_t tmp;
4591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4592 fra.me.file = LOCATE_lexer;
4593 fra.me.line = 1020;
4594 fra.me.meth = LOCATE_lexer___TStarship___parser_index;
4595 fra.me.has_broke = 0;
4596 fra.me.REG_size = 1;
4597 fra.me.REG[0] = NIT_NULL;
4598 fra.me.REG[0] = p0;
4599 /* ./parser//lexer.nit:1022 */
4600 REGB0 = TAG_Int(77);
4601 goto label1;
4602 label1: while(0);
4603 stack_frame_head = fra.me.prev;
4604 return REGB0;
4605 }
4606 void lexer___TStarship___init_tk(val_t p0, val_t p1, int* init_table){
4607 int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStarship].i;
4608 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4609 val_t REGB0;
4610 val_t tmp;
4611 static val_t once_value_1; /* Once value */
4612 static val_t once_value_2; /* Once value */
4613 if (init_table[itpos77]) return;
4614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4615 fra.me.file = LOCATE_lexer;
4616 fra.me.line = 1025;
4617 fra.me.meth = LOCATE_lexer___TStarship___init_tk;
4618 fra.me.has_broke = 0;
4619 fra.me.REG_size = 3;
4620 fra.me.REG[0] = NIT_NULL;
4621 fra.me.REG[1] = NIT_NULL;
4622 fra.me.REG[2] = NIT_NULL;
4623 fra.me.REG[0] = p0;
4624 fra.me.REG[1] = p1;
4625 /* ./parser//lexer.nit:1027 */
4626 if (!once_value_1) {
4627 if (!once_value_2) {
4628 fra.me.REG[2] = BOX_NativeString("<=>");
4629 REGB0 = TAG_Int(3);
4630 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4631 once_value_2 = fra.me.REG[2];
4632 register_static_object(&once_value_2);
4633 } else fra.me.REG[2] = once_value_2;
4634 fra.me.REG[2] = fra.me.REG[2];
4635 once_value_1 = fra.me.REG[2];
4636 register_static_object(&once_value_1);
4637 } else fra.me.REG[2] = once_value_1;
4638 fra.me.REG[2] = fra.me.REG[2];
4639 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4640 /* ./parser//lexer.nit:1028 */
4641 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4642 stack_frame_head = fra.me.prev;
4643 init_table[itpos77] = 1;
4644 return;
4645 }
4646 val_t lexer___TBang___parser_index(val_t p0){
4647 struct {struct stack_frame_t me;} fra;
4648 val_t REGB0;
4649 val_t tmp;
4650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4651 fra.me.file = LOCATE_lexer;
4652 fra.me.line = 1033;
4653 fra.me.meth = LOCATE_lexer___TBang___parser_index;
4654 fra.me.has_broke = 0;
4655 fra.me.REG_size = 1;
4656 fra.me.REG[0] = NIT_NULL;
4657 fra.me.REG[0] = p0;
4658 /* ./parser//lexer.nit:1035 */
4659 REGB0 = TAG_Int(78);
4660 goto label1;
4661 label1: while(0);
4662 stack_frame_head = fra.me.prev;
4663 return REGB0;
4664 }
4665 void lexer___TBang___init_tk(val_t p0, val_t p1, int* init_table){
4666 int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TBang].i;
4667 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4668 val_t REGB0;
4669 val_t tmp;
4670 static val_t once_value_1; /* Once value */
4671 static val_t once_value_2; /* Once value */
4672 if (init_table[itpos78]) return;
4673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4674 fra.me.file = LOCATE_lexer;
4675 fra.me.line = 1038;
4676 fra.me.meth = LOCATE_lexer___TBang___init_tk;
4677 fra.me.has_broke = 0;
4678 fra.me.REG_size = 3;
4679 fra.me.REG[0] = NIT_NULL;
4680 fra.me.REG[1] = NIT_NULL;
4681 fra.me.REG[2] = NIT_NULL;
4682 fra.me.REG[0] = p0;
4683 fra.me.REG[1] = p1;
4684 /* ./parser//lexer.nit:1040 */
4685 if (!once_value_1) {
4686 if (!once_value_2) {
4687 fra.me.REG[2] = BOX_NativeString("!");
4688 REGB0 = TAG_Int(1);
4689 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
4690 once_value_2 = fra.me.REG[2];
4691 register_static_object(&once_value_2);
4692 } else fra.me.REG[2] = once_value_2;
4693 fra.me.REG[2] = fra.me.REG[2];
4694 once_value_1 = fra.me.REG[2];
4695 register_static_object(&once_value_1);
4696 } else fra.me.REG[2] = once_value_1;
4697 fra.me.REG[2] = fra.me.REG[2];
4698 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
4699 /* ./parser//lexer.nit:1041 */
4700 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
4701 stack_frame_head = fra.me.prev;
4702 init_table[itpos78] = 1;
4703 return;
4704 }
4705 val_t lexer___TClassid___parser_index(val_t p0){
4706 struct {struct stack_frame_t me;} fra;
4707 val_t REGB0;
4708 val_t tmp;
4709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4710 fra.me.file = LOCATE_lexer;
4711 fra.me.line = 1046;
4712 fra.me.meth = LOCATE_lexer___TClassid___parser_index;
4713 fra.me.has_broke = 0;
4714 fra.me.REG_size = 1;
4715 fra.me.REG[0] = NIT_NULL;
4716 fra.me.REG[0] = p0;
4717 /* ./parser//lexer.nit:1048 */
4718 REGB0 = TAG_Int(79);
4719 goto label1;
4720 label1: while(0);
4721 stack_frame_head = fra.me.prev;
4722 return REGB0;
4723 }
4724 void lexer___TClassid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4725 int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TClassid].i;
4726 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4727 val_t tmp;
4728 if (init_table[itpos79]) return;
4729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4730 fra.me.file = LOCATE_lexer;
4731 fra.me.line = 1051;
4732 fra.me.meth = LOCATE_lexer___TClassid___init_tk;
4733 fra.me.has_broke = 0;
4734 fra.me.REG_size = 3;
4735 fra.me.REG[0] = NIT_NULL;
4736 fra.me.REG[1] = NIT_NULL;
4737 fra.me.REG[2] = NIT_NULL;
4738 fra.me.REG[0] = p0;
4739 fra.me.REG[1] = p1;
4740 fra.me.REG[2] = p2;
4741 /* ./parser//lexer.nit:1053 */
4742 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4743 /* ./parser//lexer.nit:1054 */
4744 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4745 stack_frame_head = fra.me.prev;
4746 init_table[itpos79] = 1;
4747 return;
4748 }
4749 val_t lexer___TId___parser_index(val_t p0){
4750 struct {struct stack_frame_t me;} fra;
4751 val_t REGB0;
4752 val_t tmp;
4753 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4754 fra.me.file = LOCATE_lexer;
4755 fra.me.line = 1059;
4756 fra.me.meth = LOCATE_lexer___TId___parser_index;
4757 fra.me.has_broke = 0;
4758 fra.me.REG_size = 1;
4759 fra.me.REG[0] = NIT_NULL;
4760 fra.me.REG[0] = p0;
4761 /* ./parser//lexer.nit:1061 */
4762 REGB0 = TAG_Int(80);
4763 goto label1;
4764 label1: while(0);
4765 stack_frame_head = fra.me.prev;
4766 return REGB0;
4767 }
4768 void lexer___TId___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4769 int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TId].i;
4770 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4771 val_t tmp;
4772 if (init_table[itpos80]) return;
4773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4774 fra.me.file = LOCATE_lexer;
4775 fra.me.line = 1064;
4776 fra.me.meth = LOCATE_lexer___TId___init_tk;
4777 fra.me.has_broke = 0;
4778 fra.me.REG_size = 3;
4779 fra.me.REG[0] = NIT_NULL;
4780 fra.me.REG[1] = NIT_NULL;
4781 fra.me.REG[2] = NIT_NULL;
4782 fra.me.REG[0] = p0;
4783 fra.me.REG[1] = p1;
4784 fra.me.REG[2] = p2;
4785 /* ./parser//lexer.nit:1066 */
4786 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4787 /* ./parser//lexer.nit:1067 */
4788 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4789 stack_frame_head = fra.me.prev;
4790 init_table[itpos80] = 1;
4791 return;
4792 }
4793 val_t lexer___TAttrid___parser_index(val_t p0){
4794 struct {struct stack_frame_t me;} fra;
4795 val_t REGB0;
4796 val_t tmp;
4797 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4798 fra.me.file = LOCATE_lexer;
4799 fra.me.line = 1072;
4800 fra.me.meth = LOCATE_lexer___TAttrid___parser_index;
4801 fra.me.has_broke = 0;
4802 fra.me.REG_size = 1;
4803 fra.me.REG[0] = NIT_NULL;
4804 fra.me.REG[0] = p0;
4805 /* ./parser//lexer.nit:1074 */
4806 REGB0 = TAG_Int(81);
4807 goto label1;
4808 label1: while(0);
4809 stack_frame_head = fra.me.prev;
4810 return REGB0;
4811 }
4812 void lexer___TAttrid___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4813 int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TAttrid].i;
4814 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4815 val_t tmp;
4816 if (init_table[itpos81]) return;
4817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4818 fra.me.file = LOCATE_lexer;
4819 fra.me.line = 1077;
4820 fra.me.meth = LOCATE_lexer___TAttrid___init_tk;
4821 fra.me.has_broke = 0;
4822 fra.me.REG_size = 3;
4823 fra.me.REG[0] = NIT_NULL;
4824 fra.me.REG[1] = NIT_NULL;
4825 fra.me.REG[2] = NIT_NULL;
4826 fra.me.REG[0] = p0;
4827 fra.me.REG[1] = p1;
4828 fra.me.REG[2] = p2;
4829 /* ./parser//lexer.nit:1079 */
4830 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4831 /* ./parser//lexer.nit:1080 */
4832 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4833 stack_frame_head = fra.me.prev;
4834 init_table[itpos81] = 1;
4835 return;
4836 }
4837 val_t lexer___TNumber___parser_index(val_t p0){
4838 struct {struct stack_frame_t me;} fra;
4839 val_t REGB0;
4840 val_t tmp;
4841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4842 fra.me.file = LOCATE_lexer;
4843 fra.me.line = 1085;
4844 fra.me.meth = LOCATE_lexer___TNumber___parser_index;
4845 fra.me.has_broke = 0;
4846 fra.me.REG_size = 1;
4847 fra.me.REG[0] = NIT_NULL;
4848 fra.me.REG[0] = p0;
4849 /* ./parser//lexer.nit:1087 */
4850 REGB0 = TAG_Int(82);
4851 goto label1;
4852 label1: while(0);
4853 stack_frame_head = fra.me.prev;
4854 return REGB0;
4855 }
4856 void lexer___TNumber___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4857 int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TNumber].i;
4858 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4859 val_t tmp;
4860 if (init_table[itpos82]) return;
4861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4862 fra.me.file = LOCATE_lexer;
4863 fra.me.line = 1090;
4864 fra.me.meth = LOCATE_lexer___TNumber___init_tk;
4865 fra.me.has_broke = 0;
4866 fra.me.REG_size = 3;
4867 fra.me.REG[0] = NIT_NULL;
4868 fra.me.REG[1] = NIT_NULL;
4869 fra.me.REG[2] = NIT_NULL;
4870 fra.me.REG[0] = p0;
4871 fra.me.REG[1] = p1;
4872 fra.me.REG[2] = p2;
4873 /* ./parser//lexer.nit:1092 */
4874 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4875 /* ./parser//lexer.nit:1093 */
4876 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4877 stack_frame_head = fra.me.prev;
4878 init_table[itpos82] = 1;
4879 return;
4880 }
4881 val_t lexer___TFloat___parser_index(val_t p0){
4882 struct {struct stack_frame_t me;} fra;
4883 val_t REGB0;
4884 val_t tmp;
4885 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4886 fra.me.file = LOCATE_lexer;
4887 fra.me.line = 1098;
4888 fra.me.meth = LOCATE_lexer___TFloat___parser_index;
4889 fra.me.has_broke = 0;
4890 fra.me.REG_size = 1;
4891 fra.me.REG[0] = NIT_NULL;
4892 fra.me.REG[0] = p0;
4893 /* ./parser//lexer.nit:1100 */
4894 REGB0 = TAG_Int(83);
4895 goto label1;
4896 label1: while(0);
4897 stack_frame_head = fra.me.prev;
4898 return REGB0;
4899 }
4900 void lexer___TFloat___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4901 int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TFloat].i;
4902 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4903 val_t tmp;
4904 if (init_table[itpos83]) return;
4905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4906 fra.me.file = LOCATE_lexer;
4907 fra.me.line = 1103;
4908 fra.me.meth = LOCATE_lexer___TFloat___init_tk;
4909 fra.me.has_broke = 0;
4910 fra.me.REG_size = 3;
4911 fra.me.REG[0] = NIT_NULL;
4912 fra.me.REG[1] = NIT_NULL;
4913 fra.me.REG[2] = NIT_NULL;
4914 fra.me.REG[0] = p0;
4915 fra.me.REG[1] = p1;
4916 fra.me.REG[2] = p2;
4917 /* ./parser//lexer.nit:1105 */
4918 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4919 /* ./parser//lexer.nit:1106 */
4920 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4921 stack_frame_head = fra.me.prev;
4922 init_table[itpos83] = 1;
4923 return;
4924 }
4925 val_t lexer___TChar___parser_index(val_t p0){
4926 struct {struct stack_frame_t me;} fra;
4927 val_t REGB0;
4928 val_t tmp;
4929 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4930 fra.me.file = LOCATE_lexer;
4931 fra.me.line = 1111;
4932 fra.me.meth = LOCATE_lexer___TChar___parser_index;
4933 fra.me.has_broke = 0;
4934 fra.me.REG_size = 1;
4935 fra.me.REG[0] = NIT_NULL;
4936 fra.me.REG[0] = p0;
4937 /* ./parser//lexer.nit:1113 */
4938 REGB0 = TAG_Int(84);
4939 goto label1;
4940 label1: while(0);
4941 stack_frame_head = fra.me.prev;
4942 return REGB0;
4943 }
4944 void lexer___TChar___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4945 int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TChar].i;
4946 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4947 val_t tmp;
4948 if (init_table[itpos84]) return;
4949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4950 fra.me.file = LOCATE_lexer;
4951 fra.me.line = 1116;
4952 fra.me.meth = LOCATE_lexer___TChar___init_tk;
4953 fra.me.has_broke = 0;
4954 fra.me.REG_size = 3;
4955 fra.me.REG[0] = NIT_NULL;
4956 fra.me.REG[1] = NIT_NULL;
4957 fra.me.REG[2] = NIT_NULL;
4958 fra.me.REG[0] = p0;
4959 fra.me.REG[1] = p1;
4960 fra.me.REG[2] = p2;
4961 /* ./parser//lexer.nit:1118 */
4962 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
4963 /* ./parser//lexer.nit:1119 */
4964 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
4965 stack_frame_head = fra.me.prev;
4966 init_table[itpos84] = 1;
4967 return;
4968 }
4969 val_t lexer___TString___parser_index(val_t p0){
4970 struct {struct stack_frame_t me;} fra;
4971 val_t REGB0;
4972 val_t tmp;
4973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4974 fra.me.file = LOCATE_lexer;
4975 fra.me.line = 1124;
4976 fra.me.meth = LOCATE_lexer___TString___parser_index;
4977 fra.me.has_broke = 0;
4978 fra.me.REG_size = 1;
4979 fra.me.REG[0] = NIT_NULL;
4980 fra.me.REG[0] = p0;
4981 /* ./parser//lexer.nit:1126 */
4982 REGB0 = TAG_Int(85);
4983 goto label1;
4984 label1: while(0);
4985 stack_frame_head = fra.me.prev;
4986 return REGB0;
4987 }
4988 void lexer___TString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
4989 int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TString].i;
4990 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4991 val_t tmp;
4992 if (init_table[itpos85]) return;
4993 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4994 fra.me.file = LOCATE_lexer;
4995 fra.me.line = 1129;
4996 fra.me.meth = LOCATE_lexer___TString___init_tk;
4997 fra.me.has_broke = 0;
4998 fra.me.REG_size = 3;
4999 fra.me.REG[0] = NIT_NULL;
5000 fra.me.REG[1] = NIT_NULL;
5001 fra.me.REG[2] = NIT_NULL;
5002 fra.me.REG[0] = p0;
5003 fra.me.REG[1] = p1;
5004 fra.me.REG[2] = p2;
5005 /* ./parser//lexer.nit:1131 */
5006 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
5007 /* ./parser//lexer.nit:1132 */
5008 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
5009 stack_frame_head = fra.me.prev;
5010 init_table[itpos85] = 1;
5011 return;
5012 }
5013 val_t lexer___TStartString___parser_index(val_t p0){
5014 struct {struct stack_frame_t me;} fra;
5015 val_t REGB0;
5016 val_t tmp;
5017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5018 fra.me.file = LOCATE_lexer;
5019 fra.me.line = 1137;
5020 fra.me.meth = LOCATE_lexer___TStartString___parser_index;
5021 fra.me.has_broke = 0;
5022 fra.me.REG_size = 1;
5023 fra.me.REG[0] = NIT_NULL;
5024 fra.me.REG[0] = p0;
5025 /* ./parser//lexer.nit:1139 */
5026 REGB0 = TAG_Int(86);
5027 goto label1;
5028 label1: while(0);
5029 stack_frame_head = fra.me.prev;
5030 return REGB0;
5031 }
5032 void lexer___TStartString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
5033 int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TStartString].i;
5034 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5035 val_t tmp;
5036 if (init_table[itpos86]) return;
5037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5038 fra.me.file = LOCATE_lexer;
5039 fra.me.line = 1142;
5040 fra.me.meth = LOCATE_lexer___TStartString___init_tk;
5041 fra.me.has_broke = 0;
5042 fra.me.REG_size = 3;
5043 fra.me.REG[0] = NIT_NULL;
5044 fra.me.REG[1] = NIT_NULL;
5045 fra.me.REG[2] = NIT_NULL;
5046 fra.me.REG[0] = p0;
5047 fra.me.REG[1] = p1;
5048 fra.me.REG[2] = p2;
5049 /* ./parser//lexer.nit:1144 */
5050 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
5051 /* ./parser//lexer.nit:1145 */
5052 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
5053 stack_frame_head = fra.me.prev;
5054 init_table[itpos86] = 1;
5055 return;
5056 }
5057 val_t lexer___TMidString___parser_index(val_t p0){
5058 struct {struct stack_frame_t me;} fra;
5059 val_t REGB0;
5060 val_t tmp;
5061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5062 fra.me.file = LOCATE_lexer;
5063 fra.me.line = 1150;
5064 fra.me.meth = LOCATE_lexer___TMidString___parser_index;
5065 fra.me.has_broke = 0;
5066 fra.me.REG_size = 1;
5067 fra.me.REG[0] = NIT_NULL;
5068 fra.me.REG[0] = p0;
5069 /* ./parser//lexer.nit:1152 */
5070 REGB0 = TAG_Int(87);
5071 goto label1;
5072 label1: while(0);
5073 stack_frame_head = fra.me.prev;
5074 return REGB0;
5075 }
5076 void lexer___TMidString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
5077 int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TMidString].i;
5078 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5079 val_t tmp;
5080 if (init_table[itpos87]) return;
5081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5082 fra.me.file = LOCATE_lexer;
5083 fra.me.line = 1155;
5084 fra.me.meth = LOCATE_lexer___TMidString___init_tk;
5085 fra.me.has_broke = 0;
5086 fra.me.REG_size = 3;
5087 fra.me.REG[0] = NIT_NULL;
5088 fra.me.REG[1] = NIT_NULL;
5089 fra.me.REG[2] = NIT_NULL;
5090 fra.me.REG[0] = p0;
5091 fra.me.REG[1] = p1;
5092 fra.me.REG[2] = p2;
5093 /* ./parser//lexer.nit:1157 */
5094 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
5095 /* ./parser//lexer.nit:1158 */
5096 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
5097 stack_frame_head = fra.me.prev;
5098 init_table[itpos87] = 1;
5099 return;
5100 }
5101 val_t lexer___TEndString___parser_index(val_t p0){
5102 struct {struct stack_frame_t me;} fra;
5103 val_t REGB0;
5104 val_t tmp;
5105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5106 fra.me.file = LOCATE_lexer;
5107 fra.me.line = 1163;
5108 fra.me.meth = LOCATE_lexer___TEndString___parser_index;
5109 fra.me.has_broke = 0;
5110 fra.me.REG_size = 1;
5111 fra.me.REG[0] = NIT_NULL;
5112 fra.me.REG[0] = p0;
5113 /* ./parser//lexer.nit:1165 */
5114 REGB0 = TAG_Int(88);
5115 goto label1;
5116 label1: while(0);
5117 stack_frame_head = fra.me.prev;
5118 return REGB0;
5119 }
5120 void lexer___TEndString___init_tk(val_t p0, val_t p1, val_t p2, int* init_table){
5121 int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_TEndString].i;
5122 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5123 val_t tmp;
5124 if (init_table[itpos88]) return;
5125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5126 fra.me.file = LOCATE_lexer;
5127 fra.me.line = 1168;
5128 fra.me.meth = LOCATE_lexer___TEndString___init_tk;
5129 fra.me.has_broke = 0;
5130 fra.me.REG_size = 3;
5131 fra.me.REG[0] = NIT_NULL;
5132 fra.me.REG[1] = NIT_NULL;
5133 fra.me.REG[2] = NIT_NULL;
5134 fra.me.REG[0] = p0;
5135 fra.me.REG[1] = p1;
5136 fra.me.REG[2] = p2;
5137 /* ./parser//lexer.nit:1170 */
5138 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[1];
5139 /* ./parser//lexer.nit:1171 */
5140 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[2];
5141 stack_frame_head = fra.me.prev;
5142 init_table[itpos88] = 1;
5143 return;
5144 }
5145 val_t lexer___EOF___parser_index(val_t p0){
5146 struct {struct stack_frame_t me;} fra;
5147 val_t REGB0;
5148 val_t tmp;
5149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5150 fra.me.file = LOCATE_lexer;
5151 fra.me.line = 1177;
5152 fra.me.meth = LOCATE_lexer___EOF___parser_index;
5153 fra.me.has_broke = 0;
5154 fra.me.REG_size = 1;
5155 fra.me.REG[0] = NIT_NULL;
5156 fra.me.REG[0] = p0;
5157 /* ./parser//lexer.nit:1179 */
5158 REGB0 = TAG_Int(89);
5159 goto label1;
5160 label1: while(0);
5161 stack_frame_head = fra.me.prev;
5162 return REGB0;
5163 }
5164 void lexer___EOF___init(val_t p0, val_t p1, int* init_table){
5165 int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_EOF].i;
5166 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5167 val_t REGB0;
5168 val_t tmp;
5169 static val_t once_value_1; /* Once value */
5170 if (init_table[itpos89]) return;
5171 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5172 fra.me.file = LOCATE_lexer;
5173 fra.me.line = 1182;
5174 fra.me.meth = LOCATE_lexer___EOF___init;
5175 fra.me.has_broke = 0;
5176 fra.me.REG_size = 3;
5177 fra.me.REG[0] = NIT_NULL;
5178 fra.me.REG[1] = NIT_NULL;
5179 fra.me.REG[2] = NIT_NULL;
5180 fra.me.REG[0] = p0;
5181 fra.me.REG[1] = p1;
5182 /* ./parser//lexer.nit:1184 */
5183 if (!once_value_1) {
5184 fra.me.REG[2] = BOX_NativeString("");
5185 REGB0 = TAG_Int(0);
5186 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
5187 once_value_1 = fra.me.REG[2];
5188 register_static_object(&once_value_1);
5189 } else fra.me.REG[2] = once_value_1;
5190 fra.me.REG[2] = fra.me.REG[2];
5191 ATTR_lexer___Token____text(fra.me.REG[0]) = fra.me.REG[2];
5192 /* ./parser//lexer.nit:1185 */
5193 ATTR_parser_nodes___ANode____location(fra.me.REG[0]) = fra.me.REG[1];
5194 stack_frame_head = fra.me.prev;
5195 init_table[itpos89] = 1;
5196 return;
5197 }
5198 val_t lexer___AError___message(val_t p0){
5199 struct {struct stack_frame_t me;} fra;
5200 val_t REGB0;
5201 val_t tmp;
5202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5203 fra.me.file = LOCATE_lexer;
5204 fra.me.line = 1190;
5205 fra.me.meth = LOCATE_lexer___AError___message;
5206 fra.me.has_broke = 0;
5207 fra.me.REG_size = 1;
5208 fra.me.REG[0] = NIT_NULL;
5209 fra.me.REG[0] = p0;
5210 /* ./parser//lexer.nit:1190 */
5211 REGB0 = TAG_Bool(ATTR_lexer___AError____message(fra.me.REG[0])!=NIT_NULL);
5212 if (UNTAG_Bool(REGB0)) {
5213 } else {
5214 nit_abort("Uninitialized attribute %s", "_message", LOCATE_lexer, 1190);
5215 }
5216 fra.me.REG[0] = ATTR_lexer___AError____message(fra.me.REG[0]);
5217 stack_frame_head = fra.me.prev;
5218 return fra.me.REG[0];
5219 }
5220 void lexer___AError___init_error(val_t p0, val_t p1, val_t p2, int* init_table){
5221 int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AError].i;
5222 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5223 val_t tmp;
5224 if (init_table[itpos90]) return;
5225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5226 fra.me.file = LOCATE_lexer;
5227 fra.me.line = 1192;
5228 fra.me.meth = LOCATE_lexer___AError___init_error;
5229 fra.me.has_broke = 0;
5230 fra.me.REG_size = 3;
5231 fra.me.REG[0] = NIT_NULL;
5232 fra.me.REG[1] = NIT_NULL;
5233 fra.me.REG[2] = NIT_NULL;
5234 fra.me.REG[0] = p0;
5235 fra.me.REG[1] = p1;
5236 fra.me.REG[2] = p2;
5237 /* ./parser//lexer.nit:1194 */
5238 CALL_lexer___EOF___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], init_table);
5239 /* ./parser//lexer.nit:1195 */
5240 ATTR_lexer___AError____message(fra.me.REG[0]) = fra.me.REG[1];
5241 stack_frame_head = fra.me.prev;
5242 init_table[itpos90] = 1;
5243 return;
5244 }
5245 val_t lexer___Lexer___filename(val_t p0){
5246 struct {struct stack_frame_t me;} fra;
5247 val_t REGB0;
5248 val_t tmp;
5249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5250 fra.me.file = LOCATE_lexer;
5251 fra.me.line = 1210;
5252 fra.me.meth = LOCATE_lexer___Lexer___filename;
5253 fra.me.has_broke = 0;
5254 fra.me.REG_size = 1;
5255 fra.me.REG[0] = NIT_NULL;
5256 fra.me.REG[0] = p0;
5257 /* ./parser//lexer.nit:1210 */
5258 REGB0 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
5259 if (UNTAG_Bool(REGB0)) {
5260 } else {
5261 nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1210);
5262 }
5263 fra.me.REG[0] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
5264 stack_frame_head = fra.me.prev;
5265 return fra.me.REG[0];
5266 }
5267 val_t lexer___Lexer___state_initial(val_t p0){
5268 struct {struct stack_frame_t me;} fra;
5269 val_t REGB0;
5270 val_t tmp;
5271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5272 fra.me.file = LOCATE_lexer;
5273 fra.me.line = 1237;
5274 fra.me.meth = LOCATE_lexer___Lexer___state_initial;
5275 fra.me.has_broke = 0;
5276 fra.me.REG_size = 1;
5277 fra.me.REG[0] = NIT_NULL;
5278 fra.me.REG[0] = p0;
5279 /* ./parser//lexer.nit:1238 */
5280 REGB0 = TAG_Int(0);
5281 goto label1;
5282 label1: while(0);
5283 stack_frame_head = fra.me.prev;
5284 return REGB0;
5285 }
5286 void lexer___Lexer___init(val_t p0, val_t p1, val_t p2, int* init_table){
5287 int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Lexer].i;
5288 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5289 val_t REGB0;
5290 val_t tmp;
5291 if (init_table[itpos91]) return;
5292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5293 fra.me.file = LOCATE_lexer;
5294 fra.me.line = 1240;
5295 fra.me.meth = LOCATE_lexer___Lexer___init;
5296 fra.me.has_broke = 0;
5297 fra.me.REG_size = 3;
5298 fra.me.REG[0] = NIT_NULL;
5299 fra.me.REG[1] = NIT_NULL;
5300 fra.me.REG[2] = NIT_NULL;
5301 fra.me.REG[0] = p0;
5302 fra.me.REG[1] = p1;
5303 fra.me.REG[2] = p2;
5304 /* ./parser//lexer.nit:1243 */
5305 ATTR_lexer___Lexer____filename(fra.me.REG[0]) = fra.me.REG[2];
5306 /* ./parser//lexer.nit:1244 */
5307 fra.me.REG[2] = NEW_Buffer_string___Buffer___init();
5308 ATTR_lexer___Lexer____text(fra.me.REG[0]) = fra.me.REG[2];
5309 /* ./parser//lexer.nit:1245 */
5310 ATTR_lexer___Lexer____stream(fra.me.REG[0]) = fra.me.REG[1];
5311 /* ./parser//lexer.nit:1246 */
5312 REGB0 = TAG_Int(1);
5313 /* ./../lib/standard//kernel.nit:216 */
5314 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
5315 /* ./parser//lexer.nit:1246 */
5316 ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB0;
5317 /* ./parser//lexer.nit:1247 */
5318 fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
5319 ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]) = fra.me.REG[1];
5320 stack_frame_head = fra.me.prev;
5321 init_table[itpos91] = 1;
5322 return;
5323 }
5324 val_t lexer___Lexer___peek(val_t p0){
5325 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5326 val_t REGB0;
5327 val_t REGB1;
5328 val_t tmp;
5329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5330 fra.me.file = LOCATE_lexer;
5331 fra.me.line = 1250;
5332 fra.me.meth = LOCATE_lexer___Lexer___peek;
5333 fra.me.has_broke = 0;
5334 fra.me.REG_size = 2;
5335 fra.me.REG[0] = NIT_NULL;
5336 fra.me.REG[1] = NIT_NULL;
5337 fra.me.REG[0] = p0;
5338 /* ./parser//lexer.nit:1253 */
5339 while(1) {
5340 fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
5341 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5342 if (UNTAG_Bool(REGB0)) {
5343 } else {
5344 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5345 if (UNTAG_Bool(REGB1)) {
5346 REGB1 = TAG_Bool(false);
5347 REGB0 = REGB1;
5348 } else {
5349 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
5350 REGB0 = REGB1;
5351 }
5352 }
5353 if (UNTAG_Bool(REGB0)) {
5354 /* ./parser//lexer.nit:1254 */
5355 fra.me.REG[1] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
5356 ATTR_lexer___Lexer____token(fra.me.REG[0]) = fra.me.REG[1];
5357 } else {
5358 /* ./parser//lexer.nit:1253 */
5359 goto label1;
5360 }
5361 }
5362 label1: while(0);
5363 /* ./parser//lexer.nit:1256 */
5364 fra.me.REG[0] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
5365 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
5366 if (UNTAG_Bool(REGB0)) {
5367 } else {
5368 nit_abort("Cast failed", NULL, LOCATE_lexer, 1256);
5369 }
5370 goto label2;
5371 label2: while(0);
5372 stack_frame_head = fra.me.prev;
5373 return fra.me.REG[0];
5374 }
5375 val_t lexer___Lexer___next(val_t p0){
5376 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5377 val_t REGB0;
5378 val_t REGB1;
5379 val_t tmp;
5380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5381 fra.me.file = LOCATE_lexer;
5382 fra.me.line = 1259;
5383 fra.me.meth = LOCATE_lexer___Lexer___next;
5384 fra.me.has_broke = 0;
5385 fra.me.REG_size = 3;
5386 fra.me.REG[0] = NIT_NULL;
5387 fra.me.REG[1] = NIT_NULL;
5388 fra.me.REG[2] = NIT_NULL;
5389 fra.me.REG[0] = p0;
5390 /* ./parser//lexer.nit:1262 */
5391 fra.me.REG[1] = ATTR_lexer___Lexer____token(fra.me.REG[0]);
5392 /* ./parser//lexer.nit:1263 */
5393 while(1) {
5394 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5395 if (UNTAG_Bool(REGB0)) {
5396 } else {
5397 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5398 if (UNTAG_Bool(REGB1)) {
5399 REGB1 = TAG_Bool(false);
5400 REGB0 = REGB1;
5401 } else {
5402 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
5403 REGB0 = REGB1;
5404 }
5405 }
5406 if (UNTAG_Bool(REGB0)) {
5407 /* ./parser//lexer.nit:1264 */
5408 fra.me.REG[2] = CALL_lexer___Lexer___get_token(fra.me.REG[0])(fra.me.REG[0]);
5409 fra.me.REG[1] = fra.me.REG[2];
5410 } else {
5411 /* ./parser//lexer.nit:1263 */
5412 goto label1;
5413 }
5414 }
5415 label1: while(0);
5416 /* ./parser//lexer.nit:1266 */
5417 ATTR_lexer___Lexer____token(fra.me.REG[0]) = NIT_NULL;
5418 /* ./parser//lexer.nit:1267 */
5419 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
5420 if (UNTAG_Bool(REGB0)) {
5421 } else {
5422 nit_abort("Cast failed", NULL, LOCATE_lexer, 1267);
5423 }
5424 goto label2;
5425 label2: while(0);
5426 stack_frame_head = fra.me.prev;
5427 return fra.me.REG[1];
5428 }
5429 val_t lexer___Lexer___get_token(val_t p0){
5430 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5431 val_t REGB0;
5432 val_t REGB1;
5433 val_t REGB2;
5434 val_t REGB3;
5435 val_t REGB4;
5436 val_t REGB5;
5437 val_t REGB6;
5438 val_t REGB7;
5439 val_t REGB8;
5440 val_t REGB9;
5441 val_t REGB10;
5442 val_t REGB11;
5443 val_t REGB12;
5444 val_t REGB13;
5445 val_t REGB14;
5446 val_t REGB15;
5447 val_t REGB16;
5448 val_t REGB17;
5449 val_t tmp;
5450 static val_t once_value_4; /* Once value */
5451 static val_t once_value_5; /* Once value */
5452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5453 fra.me.file = LOCATE_lexer;
5454 fra.me.line = 1270;
5455 fra.me.meth = LOCATE_lexer___Lexer___get_token;
5456 fra.me.has_broke = 0;
5457 fra.me.REG_size = 6;
5458 fra.me.REG[0] = NIT_NULL;
5459 fra.me.REG[1] = NIT_NULL;
5460 fra.me.REG[2] = NIT_NULL;
5461 fra.me.REG[3] = NIT_NULL;
5462 fra.me.REG[4] = NIT_NULL;
5463 fra.me.REG[5] = NIT_NULL;
5464 fra.me.REG[0] = p0;
5465 /* ./parser//lexer.nit:1273 */
5466 REGB0 = TAG_Int(0);
5467 /* ./parser//lexer.nit:1275 */
5468 REGB1 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
5469 if (UNTAG_Bool(REGB1)) {
5470 } else {
5471 nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1275);
5472 }
5473 REGB1 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
5474 /* ./parser//lexer.nit:1276 */
5475 REGB2 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
5476 if (UNTAG_Bool(REGB2)) {
5477 } else {
5478 nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1276);
5479 }
5480 REGB2 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
5481 /* ./parser//lexer.nit:1278 */
5482 REGB3 = TAG_Int(1);
5483 /* ./../lib/standard//kernel.nit:216 */
5484 REGB3 = TAG_Int(-UNTAG_Int(REGB3));
5485 /* ./parser//lexer.nit:1279 */
5486 REGB4 = TAG_Int(1);
5487 /* ./../lib/standard//kernel.nit:216 */
5488 REGB4 = TAG_Int(-UNTAG_Int(REGB4));
5489 /* ./parser//lexer.nit:1280 */
5490 REGB5 = TAG_Int(1);
5491 /* ./../lib/standard//kernel.nit:216 */
5492 REGB5 = TAG_Int(-UNTAG_Int(REGB5));
5493 /* ./parser//lexer.nit:1281 */
5494 REGB6 = TAG_Int(1);
5495 /* ./../lib/standard//kernel.nit:216 */
5496 REGB6 = TAG_Int(-UNTAG_Int(REGB6));
5497 /* ./parser//lexer.nit:1282 */
5498 REGB7 = TAG_Int(1);
5499 /* ./../lib/standard//kernel.nit:216 */
5500 REGB7 = TAG_Int(-UNTAG_Int(REGB7));
5501 /* ./parser//lexer.nit:1284 */
5502 REGB8 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
5503 if (UNTAG_Bool(REGB8)) {
5504 } else {
5505 nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1284);
5506 }
5507 fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
5508 /* ./parser//lexer.nit:1285 */
5509 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[1])(fra.me.REG[1]);
5510 /* ./parser//lexer.nit:1287 */
5511 while(1) {
5512 /* ./parser//lexer.nit:1288 */
5513 REGB8 = CALL_lexer___Lexer___get_char(fra.me.REG[0])(fra.me.REG[0]);
5514 /* ./parser//lexer.nit:1290 */
5515 REGB9 = TAG_Int(1);
5516 /* ./../lib/standard//kernel.nit:216 */
5517 REGB9 = TAG_Int(-UNTAG_Int(REGB9));
5518 /* ./parser//lexer.nit:1290 */
5519 REGB10 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB9));
5520 if (UNTAG_Bool(REGB10)) {
5521 } else {
5522 /* ./../lib/standard//kernel.nit:207 */
5523 REGB9 = TAG_Bool((REGB8)==(REGB9));
5524 /* ./parser//lexer.nit:1290 */
5525 REGB10 = REGB9;
5526 }
5527 REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
5528 if (UNTAG_Bool(REGB10)) {
5529 /* ./parser//lexer.nit:1291 */
5530 REGB10 = TAG_Bool(ATTR_lexer___Lexer____cr(fra.me.REG[0])!=NIT_NULL);
5531 if (UNTAG_Bool(REGB10)) {
5532 } else {
5533 nit_abort("Uninitialized attribute %s", "_cr", LOCATE_lexer, 1291);
5534 }
5535 REGB10 = ATTR_lexer___Lexer____cr(fra.me.REG[0]);
5536 /* ./parser//lexer.nit:1292 */
5537 REGB9 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
5538 if (UNTAG_Bool(REGB9)) {
5539 } else {
5540 nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1292);
5541 }
5542 REGB9 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
5543 /* ./parser//lexer.nit:1293 */
5544 REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
5545 if (UNTAG_Bool(REGB11)) {
5546 } else {
5547 nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1293);
5548 }
5549 REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
5550 /* ./parser//lexer.nit:1294 */
5551 REGB12 = TAG_Int(10);
5552 REGB13 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB12));
5553 if (UNTAG_Bool(REGB13)) {
5554 } else {
5555 /* ./../lib/standard//kernel.nit:207 */
5556 REGB12 = TAG_Bool((REGB8)==(REGB12));
5557 /* ./parser//lexer.nit:1294 */
5558 REGB13 = REGB12;
5559 }
5560 if (UNTAG_Bool(REGB13)) {
5561 /* ./parser//lexer.nit:1295 */
5562 if (UNTAG_Bool(REGB10)) {
5563 /* ./parser//lexer.nit:1296 */
5564 REGB13 = TAG_Bool(false);
5565 REGB10 = REGB13;
5566 } else {
5567 /* ./parser//lexer.nit:1298 */
5568 REGB13 = TAG_Int(1);
5569 /* ./../lib/standard//kernel.nit:215 */
5570 REGB13 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB13));
5571 /* ./parser//lexer.nit:1298 */
5572 REGB9 = REGB13;
5573 /* ./parser//lexer.nit:1299 */
5574 REGB13 = TAG_Int(0);
5575 REGB11 = REGB13;
5576 }
5577 } else {
5578 /* ./parser//lexer.nit:1301 */
5579 REGB13 = TAG_Int(13);
5580 REGB12 = TAG_Bool(IS_EQUAL_OO(REGB8,REGB13));
5581 if (UNTAG_Bool(REGB12)) {
5582 } else {
5583 /* ./../lib/standard//kernel.nit:207 */
5584 REGB13 = TAG_Bool((REGB8)==(REGB13));
5585 /* ./parser//lexer.nit:1301 */
5586 REGB12 = REGB13;
5587 }
5588 if (UNTAG_Bool(REGB12)) {
5589 /* ./parser//lexer.nit:1302 */
5590 REGB12 = TAG_Int(1);
5591 /* ./../lib/standard//kernel.nit:215 */
5592 REGB12 = TAG_Int(UNTAG_Int(REGB9)+UNTAG_Int(REGB12));
5593 /* ./parser//lexer.nit:1302 */
5594 REGB9 = REGB12;
5595 /* ./parser//lexer.nit:1303 */
5596 REGB12 = TAG_Int(0);
5597 REGB11 = REGB12;
5598 /* ./parser//lexer.nit:1304 */
5599 REGB12 = TAG_Bool(true);
5600 REGB10 = REGB12;
5601 } else {
5602 /* ./parser//lexer.nit:1306 */
5603 REGB12 = TAG_Int(1);
5604 /* ./../lib/standard//kernel.nit:215 */
5605 REGB12 = TAG_Int(UNTAG_Int(REGB11)+UNTAG_Int(REGB12));
5606 /* ./parser//lexer.nit:1306 */
5607 REGB11 = REGB12;
5608 /* ./parser//lexer.nit:1307 */
5609 REGB12 = TAG_Bool(false);
5610 REGB10 = REGB12;
5611 }
5612 }
5613 /* ./../lib/standard//kernel.nit:277 */
5614 REGB12 = TAG_Char(UNTAG_Int(REGB8));
5615 /* ./parser//lexer.nit:1310 */
5616 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB12);
5617 /* ./parser//lexer.nit:1312 */
5618 while(1) {
5619 /* ./parser//lexer.nit:1313 */
5620 REGB12 = REGB0;
5621 /* ./parser//lexer.nit:1314 */
5622 REGB13 = TAG_Int(1);
5623 /* ./../lib/standard//kernel.nit:216 */
5624 REGB13 = TAG_Int(-UNTAG_Int(REGB13));
5625 /* ./../lib/standard//kernel.nit:212 */
5626 REGB13 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB13));
5627 /* ./parser//lexer.nit:1314 */
5628 if (UNTAG_Bool(REGB13)) {
5629 /* ./parser//lexer.nit:1315 */
5630 REGB13 = TAG_Int(2);
5631 /* ./../lib/standard//kernel.nit:216 */
5632 REGB13 = TAG_Int(-UNTAG_Int(REGB13));
5633 /* ./../lib/standard//kernel.nit:217 */
5634 REGB13 = TAG_Int(UNTAG_Int(REGB13)-UNTAG_Int(REGB0));
5635 /* ./parser//lexer.nit:1315 */
5636 REGB12 = REGB13;
5637 }
5638 /* ./parser//lexer.nit:1318 */
5639 REGB13 = TAG_Int(1);
5640 /* ./../lib/standard//kernel.nit:216 */
5641 REGB13 = TAG_Int(-UNTAG_Int(REGB13));
5642 /* ./parser//lexer.nit:1318 */
5643 REGB0 = REGB13;
5644 /* ./parser//lexer.nit:1320 */
5645 REGB13 = TAG_Int(0);
5646 /* ./parser//lexer.nit:1321 */
5647 REGB14 = TAG_Int(0);
5648 REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
5649 REGB15 = TAG_Int(1);
5650 /* ./../lib/standard//kernel.nit:217 */
5651 REGB15 = TAG_Int(UNTAG_Int(REGB14)-UNTAG_Int(REGB15));
5652 /* ./parser//lexer.nit:1323 */
5653 REGB14 = TAG_Int(0);
5654 /* ./../lib/standard//kernel.nit:213 */
5655 REGB14 = TAG_Bool(UNTAG_Int(REGB15)>=UNTAG_Int(REGB14));
5656 /* ./parser//lexer.nit:1323 */
5657 if (UNTAG_Bool(REGB14)) {
5658 /* ./parser//lexer.nit:1324 */
5659 while(1) {
5660 /* ./../lib/standard//kernel.nit:211 */
5661 REGB14 = TAG_Bool(UNTAG_Int(REGB13)<=UNTAG_Int(REGB15));
5662 /* ./parser//lexer.nit:1324 */
5663 if (UNTAG_Bool(REGB14)) {
5664 /* ./../lib/standard//kernel.nit:215 */
5665 REGB14 = TAG_Int(UNTAG_Int(REGB13)+UNTAG_Int(REGB15));
5666 /* ./parser//lexer.nit:1325 */
5667 REGB16 = TAG_Int(2);
5668 /* ./../lib/standard//kernel.nit:219 */
5669 REGB16 = TAG_Int(UNTAG_Int(REGB14)/UNTAG_Int(REGB16));
5670 /* ./parser//lexer.nit:1326 */
5671 REGB14 = TAG_Int(3);
5672 /* ./../lib/standard//kernel.nit:218 */
5673 REGB14 = TAG_Int(UNTAG_Int(REGB16)*UNTAG_Int(REGB14));
5674 /* ./parser//lexer.nit:1326 */
5675 REGB17 = TAG_Int(1);
5676 /* ./../lib/standard//kernel.nit:215 */
5677 REGB17 = TAG_Int(UNTAG_Int(REGB14)+UNTAG_Int(REGB17));
5678 /* ./parser//lexer.nit:1328 */
5679 REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB17);
5680 /* ./../lib/standard//kernel.nit:212 */
5681 REGB14 = TAG_Bool(UNTAG_Int(REGB8)<UNTAG_Int(REGB14));
5682 /* ./parser//lexer.nit:1328 */
5683 if (UNTAG_Bool(REGB14)) {
5684 /* ./parser//lexer.nit:1329 */
5685 REGB14 = TAG_Int(1);
5686 /* ./../lib/standard//kernel.nit:217 */
5687 REGB14 = TAG_Int(UNTAG_Int(REGB16)-UNTAG_Int(REGB14));
5688 /* ./parser//lexer.nit:1329 */
5689 REGB15 = REGB14;
5690 } else {
5691 /* ./parser//lexer.nit:1330 */
5692 REGB14 = TAG_Int(1);
5693 /* ./../lib/standard//kernel.nit:215 */
5694 REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
5695 /* ./parser//lexer.nit:1330 */
5696 REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
5697 /* ./../lib/standard//kernel.nit:214 */
5698 REGB14 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB14));
5699 /* ./parser//lexer.nit:1330 */
5700 if (UNTAG_Bool(REGB14)) {
5701 /* ./parser//lexer.nit:1331 */
5702 REGB14 = TAG_Int(1);
5703 /* ./../lib/standard//kernel.nit:215 */
5704 REGB14 = TAG_Int(UNTAG_Int(REGB16)+UNTAG_Int(REGB14));
5705 /* ./parser//lexer.nit:1331 */
5706 REGB13 = REGB14;
5707 } else {
5708 /* ./parser//lexer.nit:1333 */
5709 REGB14 = TAG_Int(2);
5710 /* ./../lib/standard//kernel.nit:215 */
5711 REGB14 = TAG_Int(UNTAG_Int(REGB17)+UNTAG_Int(REGB14));
5712 /* ./parser//lexer.nit:1333 */
5713 REGB14 = CALL_tables___TablesCapable___lexer_goto(fra.me.REG[0])(fra.me.REG[0], REGB12, REGB14);
5714 REGB0 = REGB14;
5715 /* ./parser//lexer.nit:1334 */
5716 goto label1;
5717 }
5718 }
5719 } else {
5720 /* ./parser//lexer.nit:1324 */
5721 goto label1;
5722 }
5723 }
5724 label1: while(0);
5725 }
5726 /* ./parser//lexer.nit:1338 */
5727 REGB12 = TAG_Int(2);
5728 /* ./../lib/standard//kernel.nit:216 */
5729 REGB12 = TAG_Int(-UNTAG_Int(REGB12));
5730 /* ./../lib/standard//kernel.nit:214 */
5731 REGB12 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB12));
5732 /* ./parser//lexer.nit:1338 */
5733 if (UNTAG_Bool(REGB12)) {
5734 goto label2;
5735 }
5736 }
5737 label2: while(0);
5738 /* ./parser//lexer.nit:1341 */
5739 ATTR_lexer___Lexer____cr(fra.me.REG[0]) = REGB10;
5740 /* ./parser//lexer.nit:1342 */
5741 ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB9;
5742 /* ./parser//lexer.nit:1343 */
5743 ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB11;
5744 } else {
5745 /* ./parser//lexer.nit:1345 */
5746 REGB11 = TAG_Int(1);
5747 /* ./../lib/standard//kernel.nit:216 */
5748 REGB11 = TAG_Int(-UNTAG_Int(REGB11));
5749 /* ./parser//lexer.nit:1345 */
5750 REGB0 = REGB11;
5751 }
5752 /* ./parser//lexer.nit:1348 */
5753 REGB11 = TAG_Int(0);
5754 /* ./../lib/standard//kernel.nit:213 */
5755 REGB11 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB11));
5756 /* ./parser//lexer.nit:1348 */
5757 if (UNTAG_Bool(REGB11)) {
5758 /* ./parser//lexer.nit:1349 */
5759 REGB11 = CALL_tables___TablesCapable___lexer_accept(fra.me.REG[0])(fra.me.REG[0], REGB0);
5760 /* ./parser//lexer.nit:1350 */
5761 REGB9 = TAG_Int(1);
5762 /* ./../lib/standard//kernel.nit:216 */
5763 REGB9 = TAG_Int(-UNTAG_Int(REGB9));
5764 /* ./parser//lexer.nit:1350 */
5765 REGB10 = TAG_Bool(IS_EQUAL_OO(REGB11,REGB9));
5766 if (UNTAG_Bool(REGB10)) {
5767 } else {
5768 /* ./../lib/standard//kernel.nit:207 */
5769 REGB9 = TAG_Bool((REGB11)==(REGB9));
5770 /* ./parser//lexer.nit:1350 */
5771 REGB10 = REGB9;
5772 }
5773 REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
5774 if (UNTAG_Bool(REGB10)) {
5775 /* ./parser//lexer.nit:1351 */
5776 REGB3 = REGB0;
5777 /* ./parser//lexer.nit:1352 */
5778 REGB4 = REGB11;
5779 /* ./../lib/standard//collection//array.nit:23 */
5780 REGB11 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
5781 if (UNTAG_Bool(REGB11)) {
5782 } else {
5783 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
5784 }
5785 REGB11 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
5786 /* ./parser//lexer.nit:1353 */
5787 REGB5 = REGB11;
5788 /* ./parser//lexer.nit:1354 */
5789 REGB11 = TAG_Bool(ATTR_lexer___Lexer____pos(fra.me.REG[0])!=NIT_NULL);
5790 if (UNTAG_Bool(REGB11)) {
5791 } else {
5792 nit_abort("Uninitialized attribute %s", "_pos", LOCATE_lexer, 1354);
5793 }
5794 REGB11 = ATTR_lexer___Lexer____pos(fra.me.REG[0]);
5795 REGB6 = REGB11;
5796 /* ./parser//lexer.nit:1355 */
5797 REGB11 = TAG_Bool(ATTR_lexer___Lexer____line(fra.me.REG[0])!=NIT_NULL);
5798 if (UNTAG_Bool(REGB11)) {
5799 } else {
5800 nit_abort("Uninitialized attribute %s", "_line", LOCATE_lexer, 1355);
5801 }
5802 REGB11 = ATTR_lexer___Lexer____line(fra.me.REG[0]);
5803 REGB7 = REGB11;
5804 }
5805 } else {
5806 /* ./parser//lexer.nit:1358 */
5807 REGB11 = TAG_Int(1);
5808 /* ./../lib/standard//kernel.nit:216 */
5809 REGB11 = TAG_Int(-UNTAG_Int(REGB11));
5810 /* ./parser//lexer.nit:1358 */
5811 REGB10 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB11));
5812 if (UNTAG_Bool(REGB10)) {
5813 } else {
5814 /* ./../lib/standard//kernel.nit:207 */
5815 REGB11 = TAG_Bool((REGB3)==(REGB11));
5816 /* ./parser//lexer.nit:1358 */
5817 REGB10 = REGB11;
5818 }
5819 REGB10 = TAG_Bool(!UNTAG_Bool(REGB10));
5820 if (UNTAG_Bool(REGB10)) {
5821 /* ./parser//lexer.nit:1359 */
5822 REGB10 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
5823 if (UNTAG_Bool(REGB10)) {
5824 } else {
5825 nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1359);
5826 }
5827 fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
5828 REGB10 = TAG_Int(1);
5829 /* ./../lib/standard//kernel.nit:215 */
5830 REGB10 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB10));
5831 /* ./parser//lexer.nit:1359 */
5832 REGB11 = TAG_Int(1);
5833 /* ./../lib/standard//kernel.nit:215 */
5834 REGB11 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB11));
5835 /* ./parser//lexer.nit:1359 */
5836 REGB9 = TAG_Int(1);
5837 /* ./../lib/standard//kernel.nit:215 */
5838 REGB9 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB9));
5839 /* ./parser//lexer.nit:1359 */
5840 fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB10, REGB11, REGB9, REGB6);
5841 /* ./parser//lexer.nit:1360 */
5842 ATTR_lexer___Lexer____pos(fra.me.REG[0]) = REGB6;
5843 /* ./parser//lexer.nit:1361 */
5844 ATTR_lexer___Lexer____line(fra.me.REG[0]) = REGB7;
5845 /* ./parser//lexer.nit:1362 */
5846 CALL_lexer___Lexer___push_back(fra.me.REG[0])(fra.me.REG[0], REGB5);
5847 /* ./parser//lexer.nit:1363 */
5848 REGB9 = TAG_Int(0);
5849 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
5850 if (UNTAG_Bool(REGB11)) {
5851 } else {
5852 /* ./../lib/standard//kernel.nit:207 */
5853 REGB9 = TAG_Bool((REGB4)==(REGB9));
5854 /* ./parser//lexer.nit:1363 */
5855 REGB11 = REGB9;
5856 }
5857 if (UNTAG_Bool(REGB11)) {
5858 /* ./parser//lexer.nit:1364 */
5859 fra.me.REG[3] = NIT_NULL;
5860 goto label3;
5861 }
5862 /* ./parser//lexer.nit:1366 */
5863 REGB11 = TAG_Int(1);
5864 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
5865 if (UNTAG_Bool(REGB9)) {
5866 } else {
5867 /* ./../lib/standard//kernel.nit:207 */
5868 REGB11 = TAG_Bool((REGB4)==(REGB11));
5869 /* ./parser//lexer.nit:1366 */
5870 REGB9 = REGB11;
5871 }
5872 if (UNTAG_Bool(REGB9)) {
5873 /* ./parser//lexer.nit:1367 */
5874 REGB9 = TAG_Int(0);
5875 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
5876 /* ./parser//lexer.nit:1368 */
5877 fra.me.REG[4] = NEW_TEol_lexer___TEol___init_tk(fra.me.REG[4], fra.me.REG[2]);
5878 fra.me.REG[3] = fra.me.REG[4];
5879 goto label3;
5880 }
5881 /* ./parser//lexer.nit:1370 */
5882 REGB9 = TAG_Int(2);
5883 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
5884 if (UNTAG_Bool(REGB11)) {
5885 } else {
5886 /* ./../lib/standard//kernel.nit:207 */
5887 REGB9 = TAG_Bool((REGB4)==(REGB9));
5888 /* ./parser//lexer.nit:1370 */
5889 REGB11 = REGB9;
5890 }
5891 if (UNTAG_Bool(REGB11)) {
5892 /* ./parser//lexer.nit:1371 */
5893 REGB11 = TAG_Int(0);
5894 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
5895 /* ./parser//lexer.nit:1372 */
5896 fra.me.REG[4] = NEW_TComment_lexer___TComment___init_tk(fra.me.REG[4], fra.me.REG[2]);
5897 fra.me.REG[3] = fra.me.REG[4];
5898 goto label3;
5899 }
5900 /* ./parser//lexer.nit:1374 */
5901 REGB11 = TAG_Int(3);
5902 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
5903 if (UNTAG_Bool(REGB9)) {
5904 } else {
5905 /* ./../lib/standard//kernel.nit:207 */
5906 REGB11 = TAG_Bool((REGB4)==(REGB11));
5907 /* ./parser//lexer.nit:1374 */
5908 REGB9 = REGB11;
5909 }
5910 if (UNTAG_Bool(REGB9)) {
5911 /* ./parser//lexer.nit:1375 */
5912 REGB9 = TAG_Int(0);
5913 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
5914 /* ./parser//lexer.nit:1376 */
5915 fra.me.REG[4] = NEW_TKwmodule_lexer___TKwmodule___init_tk(fra.me.REG[4], fra.me.REG[2]);
5916 fra.me.REG[3] = fra.me.REG[4];
5917 goto label3;
5918 }
5919 /* ./parser//lexer.nit:1378 */
5920 REGB9 = TAG_Int(4);
5921 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
5922 if (UNTAG_Bool(REGB11)) {
5923 } else {
5924 /* ./../lib/standard//kernel.nit:207 */
5925 REGB9 = TAG_Bool((REGB4)==(REGB9));
5926 /* ./parser//lexer.nit:1378 */
5927 REGB11 = REGB9;
5928 }
5929 if (UNTAG_Bool(REGB11)) {
5930 /* ./parser//lexer.nit:1379 */
5931 fra.me.REG[4] = NEW_TKwimport_lexer___TKwimport___init_tk(fra.me.REG[2]);
5932 fra.me.REG[3] = fra.me.REG[4];
5933 goto label3;
5934 }
5935 /* ./parser//lexer.nit:1381 */
5936 REGB11 = TAG_Int(5);
5937 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
5938 if (UNTAG_Bool(REGB9)) {
5939 } else {
5940 /* ./../lib/standard//kernel.nit:207 */
5941 REGB11 = TAG_Bool((REGB4)==(REGB11));
5942 /* ./parser//lexer.nit:1381 */
5943 REGB9 = REGB11;
5944 }
5945 if (UNTAG_Bool(REGB9)) {
5946 /* ./parser//lexer.nit:1382 */
5947 fra.me.REG[4] = NEW_TKwclass_lexer___TKwclass___init_tk(fra.me.REG[2]);
5948 fra.me.REG[3] = fra.me.REG[4];
5949 goto label3;
5950 }
5951 /* ./parser//lexer.nit:1384 */
5952 REGB9 = TAG_Int(6);
5953 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
5954 if (UNTAG_Bool(REGB11)) {
5955 } else {
5956 /* ./../lib/standard//kernel.nit:207 */
5957 REGB9 = TAG_Bool((REGB4)==(REGB9));
5958 /* ./parser//lexer.nit:1384 */
5959 REGB11 = REGB9;
5960 }
5961 if (UNTAG_Bool(REGB11)) {
5962 /* ./parser//lexer.nit:1385 */
5963 fra.me.REG[4] = NEW_TKwabstract_lexer___TKwabstract___init_tk(fra.me.REG[2]);
5964 fra.me.REG[3] = fra.me.REG[4];
5965 goto label3;
5966 }
5967 /* ./parser//lexer.nit:1387 */
5968 REGB11 = TAG_Int(7);
5969 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
5970 if (UNTAG_Bool(REGB9)) {
5971 } else {
5972 /* ./../lib/standard//kernel.nit:207 */
5973 REGB11 = TAG_Bool((REGB4)==(REGB11));
5974 /* ./parser//lexer.nit:1387 */
5975 REGB9 = REGB11;
5976 }
5977 if (UNTAG_Bool(REGB9)) {
5978 /* ./parser//lexer.nit:1388 */
5979 fra.me.REG[4] = NEW_TKwinterface_lexer___TKwinterface___init_tk(fra.me.REG[2]);
5980 fra.me.REG[3] = fra.me.REG[4];
5981 goto label3;
5982 }
5983 /* ./parser//lexer.nit:1390 */
5984 REGB9 = TAG_Int(8);
5985 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
5986 if (UNTAG_Bool(REGB11)) {
5987 } else {
5988 /* ./../lib/standard//kernel.nit:207 */
5989 REGB9 = TAG_Bool((REGB4)==(REGB9));
5990 /* ./parser//lexer.nit:1390 */
5991 REGB11 = REGB9;
5992 }
5993 if (UNTAG_Bool(REGB11)) {
5994 /* ./parser//lexer.nit:1391 */
5995 fra.me.REG[4] = NEW_TKwuniversal_lexer___TKwuniversal___init_tk(fra.me.REG[2]);
5996 fra.me.REG[3] = fra.me.REG[4];
5997 goto label3;
5998 }
5999 /* ./parser//lexer.nit:1393 */
6000 REGB11 = TAG_Int(9);
6001 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6002 if (UNTAG_Bool(REGB9)) {
6003 } else {
6004 /* ./../lib/standard//kernel.nit:207 */
6005 REGB11 = TAG_Bool((REGB4)==(REGB11));
6006 /* ./parser//lexer.nit:1393 */
6007 REGB9 = REGB11;
6008 }
6009 if (UNTAG_Bool(REGB9)) {
6010 /* ./parser//lexer.nit:1394 */
6011 fra.me.REG[4] = NEW_TKwspecial_lexer___TKwspecial___init_tk(fra.me.REG[2]);
6012 fra.me.REG[3] = fra.me.REG[4];
6013 goto label3;
6014 }
6015 /* ./parser//lexer.nit:1396 */
6016 REGB9 = TAG_Int(10);
6017 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6018 if (UNTAG_Bool(REGB11)) {
6019 } else {
6020 /* ./../lib/standard//kernel.nit:207 */
6021 REGB9 = TAG_Bool((REGB4)==(REGB9));
6022 /* ./parser//lexer.nit:1396 */
6023 REGB11 = REGB9;
6024 }
6025 if (UNTAG_Bool(REGB11)) {
6026 /* ./parser//lexer.nit:1397 */
6027 fra.me.REG[4] = NEW_TKwend_lexer___TKwend___init_tk(fra.me.REG[2]);
6028 fra.me.REG[3] = fra.me.REG[4];
6029 goto label3;
6030 }
6031 /* ./parser//lexer.nit:1399 */
6032 REGB11 = TAG_Int(11);
6033 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6034 if (UNTAG_Bool(REGB9)) {
6035 } else {
6036 /* ./../lib/standard//kernel.nit:207 */
6037 REGB11 = TAG_Bool((REGB4)==(REGB11));
6038 /* ./parser//lexer.nit:1399 */
6039 REGB9 = REGB11;
6040 }
6041 if (UNTAG_Bool(REGB9)) {
6042 /* ./parser//lexer.nit:1400 */
6043 fra.me.REG[4] = NEW_TKwmeth_lexer___TKwmeth___init_tk(fra.me.REG[2]);
6044 fra.me.REG[3] = fra.me.REG[4];
6045 goto label3;
6046 }
6047 /* ./parser//lexer.nit:1402 */
6048 REGB9 = TAG_Int(12);
6049 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6050 if (UNTAG_Bool(REGB11)) {
6051 } else {
6052 /* ./../lib/standard//kernel.nit:207 */
6053 REGB9 = TAG_Bool((REGB4)==(REGB9));
6054 /* ./parser//lexer.nit:1402 */
6055 REGB11 = REGB9;
6056 }
6057 if (UNTAG_Bool(REGB11)) {
6058 /* ./parser//lexer.nit:1403 */
6059 fra.me.REG[4] = NEW_TKwtype_lexer___TKwtype___init_tk(fra.me.REG[2]);
6060 fra.me.REG[3] = fra.me.REG[4];
6061 goto label3;
6062 }
6063 /* ./parser//lexer.nit:1405 */
6064 REGB11 = TAG_Int(13);
6065 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6066 if (UNTAG_Bool(REGB9)) {
6067 } else {
6068 /* ./../lib/standard//kernel.nit:207 */
6069 REGB11 = TAG_Bool((REGB4)==(REGB11));
6070 /* ./parser//lexer.nit:1405 */
6071 REGB9 = REGB11;
6072 }
6073 if (UNTAG_Bool(REGB9)) {
6074 /* ./parser//lexer.nit:1406 */
6075 fra.me.REG[4] = NEW_TKwinit_lexer___TKwinit___init_tk(fra.me.REG[2]);
6076 fra.me.REG[3] = fra.me.REG[4];
6077 goto label3;
6078 }
6079 /* ./parser//lexer.nit:1408 */
6080 REGB9 = TAG_Int(14);
6081 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6082 if (UNTAG_Bool(REGB11)) {
6083 } else {
6084 /* ./../lib/standard//kernel.nit:207 */
6085 REGB9 = TAG_Bool((REGB4)==(REGB9));
6086 /* ./parser//lexer.nit:1408 */
6087 REGB11 = REGB9;
6088 }
6089 if (UNTAG_Bool(REGB11)) {
6090 /* ./parser//lexer.nit:1409 */
6091 fra.me.REG[4] = NEW_TKwredef_lexer___TKwredef___init_tk(fra.me.REG[2]);
6092 fra.me.REG[3] = fra.me.REG[4];
6093 goto label3;
6094 }
6095 /* ./parser//lexer.nit:1411 */
6096 REGB11 = TAG_Int(15);
6097 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6098 if (UNTAG_Bool(REGB9)) {
6099 } else {
6100 /* ./../lib/standard//kernel.nit:207 */
6101 REGB11 = TAG_Bool((REGB4)==(REGB11));
6102 /* ./parser//lexer.nit:1411 */
6103 REGB9 = REGB11;
6104 }
6105 if (UNTAG_Bool(REGB9)) {
6106 /* ./parser//lexer.nit:1412 */
6107 fra.me.REG[4] = NEW_TKwis_lexer___TKwis___init_tk(fra.me.REG[2]);
6108 fra.me.REG[3] = fra.me.REG[4];
6109 goto label3;
6110 }
6111 /* ./parser//lexer.nit:1414 */
6112 REGB9 = TAG_Int(16);
6113 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6114 if (UNTAG_Bool(REGB11)) {
6115 } else {
6116 /* ./../lib/standard//kernel.nit:207 */
6117 REGB9 = TAG_Bool((REGB4)==(REGB9));
6118 /* ./parser//lexer.nit:1414 */
6119 REGB11 = REGB9;
6120 }
6121 if (UNTAG_Bool(REGB11)) {
6122 /* ./parser//lexer.nit:1415 */
6123 fra.me.REG[4] = NEW_TKwdo_lexer___TKwdo___init_tk(fra.me.REG[2]);
6124 fra.me.REG[3] = fra.me.REG[4];
6125 goto label3;
6126 }
6127 /* ./parser//lexer.nit:1417 */
6128 REGB11 = TAG_Int(17);
6129 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6130 if (UNTAG_Bool(REGB9)) {
6131 } else {
6132 /* ./../lib/standard//kernel.nit:207 */
6133 REGB11 = TAG_Bool((REGB4)==(REGB11));
6134 /* ./parser//lexer.nit:1417 */
6135 REGB9 = REGB11;
6136 }
6137 if (UNTAG_Bool(REGB9)) {
6138 /* ./parser//lexer.nit:1418 */
6139 fra.me.REG[4] = NEW_TKwreadable_lexer___TKwreadable___init_tk(fra.me.REG[2]);
6140 fra.me.REG[3] = fra.me.REG[4];
6141 goto label3;
6142 }
6143 /* ./parser//lexer.nit:1420 */
6144 REGB9 = TAG_Int(18);
6145 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6146 if (UNTAG_Bool(REGB11)) {
6147 } else {
6148 /* ./../lib/standard//kernel.nit:207 */
6149 REGB9 = TAG_Bool((REGB4)==(REGB9));
6150 /* ./parser//lexer.nit:1420 */
6151 REGB11 = REGB9;
6152 }
6153 if (UNTAG_Bool(REGB11)) {
6154 /* ./parser//lexer.nit:1421 */
6155 fra.me.REG[4] = NEW_TKwwritable_lexer___TKwwritable___init_tk(fra.me.REG[2]);
6156 fra.me.REG[3] = fra.me.REG[4];
6157 goto label3;
6158 }
6159 /* ./parser//lexer.nit:1423 */
6160 REGB11 = TAG_Int(19);
6161 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6162 if (UNTAG_Bool(REGB9)) {
6163 } else {
6164 /* ./../lib/standard//kernel.nit:207 */
6165 REGB11 = TAG_Bool((REGB4)==(REGB11));
6166 /* ./parser//lexer.nit:1423 */
6167 REGB9 = REGB11;
6168 }
6169 if (UNTAG_Bool(REGB9)) {
6170 /* ./parser//lexer.nit:1424 */
6171 fra.me.REG[4] = NEW_TKwvar_lexer___TKwvar___init_tk(fra.me.REG[2]);
6172 fra.me.REG[3] = fra.me.REG[4];
6173 goto label3;
6174 }
6175 /* ./parser//lexer.nit:1426 */
6176 REGB9 = TAG_Int(20);
6177 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6178 if (UNTAG_Bool(REGB11)) {
6179 } else {
6180 /* ./../lib/standard//kernel.nit:207 */
6181 REGB9 = TAG_Bool((REGB4)==(REGB9));
6182 /* ./parser//lexer.nit:1426 */
6183 REGB11 = REGB9;
6184 }
6185 if (UNTAG_Bool(REGB11)) {
6186 /* ./parser//lexer.nit:1427 */
6187 fra.me.REG[4] = NEW_TKwintern_lexer___TKwintern___init_tk(fra.me.REG[2]);
6188 fra.me.REG[3] = fra.me.REG[4];
6189 goto label3;
6190 }
6191 /* ./parser//lexer.nit:1429 */
6192 REGB11 = TAG_Int(21);
6193 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6194 if (UNTAG_Bool(REGB9)) {
6195 } else {
6196 /* ./../lib/standard//kernel.nit:207 */
6197 REGB11 = TAG_Bool((REGB4)==(REGB11));
6198 /* ./parser//lexer.nit:1429 */
6199 REGB9 = REGB11;
6200 }
6201 if (UNTAG_Bool(REGB9)) {
6202 /* ./parser//lexer.nit:1430 */
6203 fra.me.REG[4] = NEW_TKwextern_lexer___TKwextern___init_tk(fra.me.REG[2]);
6204 fra.me.REG[3] = fra.me.REG[4];
6205 goto label3;
6206 }
6207 /* ./parser//lexer.nit:1432 */
6208 REGB9 = TAG_Int(22);
6209 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6210 if (UNTAG_Bool(REGB11)) {
6211 } else {
6212 /* ./../lib/standard//kernel.nit:207 */
6213 REGB9 = TAG_Bool((REGB4)==(REGB9));
6214 /* ./parser//lexer.nit:1432 */
6215 REGB11 = REGB9;
6216 }
6217 if (UNTAG_Bool(REGB11)) {
6218 /* ./parser//lexer.nit:1433 */
6219 fra.me.REG[4] = NEW_TKwprotected_lexer___TKwprotected___init_tk(fra.me.REG[2]);
6220 fra.me.REG[3] = fra.me.REG[4];
6221 goto label3;
6222 }
6223 /* ./parser//lexer.nit:1435 */
6224 REGB11 = TAG_Int(23);
6225 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6226 if (UNTAG_Bool(REGB9)) {
6227 } else {
6228 /* ./../lib/standard//kernel.nit:207 */
6229 REGB11 = TAG_Bool((REGB4)==(REGB11));
6230 /* ./parser//lexer.nit:1435 */
6231 REGB9 = REGB11;
6232 }
6233 if (UNTAG_Bool(REGB9)) {
6234 /* ./parser//lexer.nit:1436 */
6235 fra.me.REG[4] = NEW_TKwprivate_lexer___TKwprivate___init_tk(fra.me.REG[2]);
6236 fra.me.REG[3] = fra.me.REG[4];
6237 goto label3;
6238 }
6239 /* ./parser//lexer.nit:1438 */
6240 REGB9 = TAG_Int(24);
6241 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6242 if (UNTAG_Bool(REGB11)) {
6243 } else {
6244 /* ./../lib/standard//kernel.nit:207 */
6245 REGB9 = TAG_Bool((REGB4)==(REGB9));
6246 /* ./parser//lexer.nit:1438 */
6247 REGB11 = REGB9;
6248 }
6249 if (UNTAG_Bool(REGB11)) {
6250 /* ./parser//lexer.nit:1439 */
6251 fra.me.REG[4] = NEW_TKwintrude_lexer___TKwintrude___init_tk(fra.me.REG[2]);
6252 fra.me.REG[3] = fra.me.REG[4];
6253 goto label3;
6254 }
6255 /* ./parser//lexer.nit:1441 */
6256 REGB11 = TAG_Int(25);
6257 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6258 if (UNTAG_Bool(REGB9)) {
6259 } else {
6260 /* ./../lib/standard//kernel.nit:207 */
6261 REGB11 = TAG_Bool((REGB4)==(REGB11));
6262 /* ./parser//lexer.nit:1441 */
6263 REGB9 = REGB11;
6264 }
6265 if (UNTAG_Bool(REGB9)) {
6266 /* ./parser//lexer.nit:1442 */
6267 fra.me.REG[4] = NEW_TKwif_lexer___TKwif___init_tk(fra.me.REG[2]);
6268 fra.me.REG[3] = fra.me.REG[4];
6269 goto label3;
6270 }
6271 /* ./parser//lexer.nit:1444 */
6272 REGB9 = TAG_Int(26);
6273 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6274 if (UNTAG_Bool(REGB11)) {
6275 } else {
6276 /* ./../lib/standard//kernel.nit:207 */
6277 REGB9 = TAG_Bool((REGB4)==(REGB9));
6278 /* ./parser//lexer.nit:1444 */
6279 REGB11 = REGB9;
6280 }
6281 if (UNTAG_Bool(REGB11)) {
6282 /* ./parser//lexer.nit:1445 */
6283 fra.me.REG[4] = NEW_TKwthen_lexer___TKwthen___init_tk(fra.me.REG[2]);
6284 fra.me.REG[3] = fra.me.REG[4];
6285 goto label3;
6286 }
6287 /* ./parser//lexer.nit:1447 */
6288 REGB11 = TAG_Int(27);
6289 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6290 if (UNTAG_Bool(REGB9)) {
6291 } else {
6292 /* ./../lib/standard//kernel.nit:207 */
6293 REGB11 = TAG_Bool((REGB4)==(REGB11));
6294 /* ./parser//lexer.nit:1447 */
6295 REGB9 = REGB11;
6296 }
6297 if (UNTAG_Bool(REGB9)) {
6298 /* ./parser//lexer.nit:1448 */
6299 fra.me.REG[4] = NEW_TKwelse_lexer___TKwelse___init_tk(fra.me.REG[2]);
6300 fra.me.REG[3] = fra.me.REG[4];
6301 goto label3;
6302 }
6303 /* ./parser//lexer.nit:1450 */
6304 REGB9 = TAG_Int(28);
6305 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6306 if (UNTAG_Bool(REGB11)) {
6307 } else {
6308 /* ./../lib/standard//kernel.nit:207 */
6309 REGB9 = TAG_Bool((REGB4)==(REGB9));
6310 /* ./parser//lexer.nit:1450 */
6311 REGB11 = REGB9;
6312 }
6313 if (UNTAG_Bool(REGB11)) {
6314 /* ./parser//lexer.nit:1451 */
6315 fra.me.REG[4] = NEW_TKwwhile_lexer___TKwwhile___init_tk(fra.me.REG[2]);
6316 fra.me.REG[3] = fra.me.REG[4];
6317 goto label3;
6318 }
6319 /* ./parser//lexer.nit:1453 */
6320 REGB11 = TAG_Int(29);
6321 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6322 if (UNTAG_Bool(REGB9)) {
6323 } else {
6324 /* ./../lib/standard//kernel.nit:207 */
6325 REGB11 = TAG_Bool((REGB4)==(REGB11));
6326 /* ./parser//lexer.nit:1453 */
6327 REGB9 = REGB11;
6328 }
6329 if (UNTAG_Bool(REGB9)) {
6330 /* ./parser//lexer.nit:1454 */
6331 fra.me.REG[4] = NEW_TKwloop_lexer___TKwloop___init_tk(fra.me.REG[2]);
6332 fra.me.REG[3] = fra.me.REG[4];
6333 goto label3;
6334 }
6335 /* ./parser//lexer.nit:1456 */
6336 REGB9 = TAG_Int(30);
6337 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6338 if (UNTAG_Bool(REGB11)) {
6339 } else {
6340 /* ./../lib/standard//kernel.nit:207 */
6341 REGB9 = TAG_Bool((REGB4)==(REGB9));
6342 /* ./parser//lexer.nit:1456 */
6343 REGB11 = REGB9;
6344 }
6345 if (UNTAG_Bool(REGB11)) {
6346 /* ./parser//lexer.nit:1457 */
6347 fra.me.REG[4] = NEW_TKwfor_lexer___TKwfor___init_tk(fra.me.REG[2]);
6348 fra.me.REG[3] = fra.me.REG[4];
6349 goto label3;
6350 }
6351 /* ./parser//lexer.nit:1459 */
6352 REGB11 = TAG_Int(31);
6353 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6354 if (UNTAG_Bool(REGB9)) {
6355 } else {
6356 /* ./../lib/standard//kernel.nit:207 */
6357 REGB11 = TAG_Bool((REGB4)==(REGB11));
6358 /* ./parser//lexer.nit:1459 */
6359 REGB9 = REGB11;
6360 }
6361 if (UNTAG_Bool(REGB9)) {
6362 /* ./parser//lexer.nit:1460 */
6363 fra.me.REG[4] = NEW_TKwin_lexer___TKwin___init_tk(fra.me.REG[2]);
6364 fra.me.REG[3] = fra.me.REG[4];
6365 goto label3;
6366 }
6367 /* ./parser//lexer.nit:1462 */
6368 REGB9 = TAG_Int(32);
6369 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6370 if (UNTAG_Bool(REGB11)) {
6371 } else {
6372 /* ./../lib/standard//kernel.nit:207 */
6373 REGB9 = TAG_Bool((REGB4)==(REGB9));
6374 /* ./parser//lexer.nit:1462 */
6375 REGB11 = REGB9;
6376 }
6377 if (UNTAG_Bool(REGB11)) {
6378 /* ./parser//lexer.nit:1463 */
6379 fra.me.REG[4] = NEW_TKwand_lexer___TKwand___init_tk(fra.me.REG[2]);
6380 fra.me.REG[3] = fra.me.REG[4];
6381 goto label3;
6382 }
6383 /* ./parser//lexer.nit:1465 */
6384 REGB11 = TAG_Int(33);
6385 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6386 if (UNTAG_Bool(REGB9)) {
6387 } else {
6388 /* ./../lib/standard//kernel.nit:207 */
6389 REGB11 = TAG_Bool((REGB4)==(REGB11));
6390 /* ./parser//lexer.nit:1465 */
6391 REGB9 = REGB11;
6392 }
6393 if (UNTAG_Bool(REGB9)) {
6394 /* ./parser//lexer.nit:1466 */
6395 fra.me.REG[4] = NEW_TKwor_lexer___TKwor___init_tk(fra.me.REG[2]);
6396 fra.me.REG[3] = fra.me.REG[4];
6397 goto label3;
6398 }
6399 /* ./parser//lexer.nit:1468 */
6400 REGB9 = TAG_Int(34);
6401 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6402 if (UNTAG_Bool(REGB11)) {
6403 } else {
6404 /* ./../lib/standard//kernel.nit:207 */
6405 REGB9 = TAG_Bool((REGB4)==(REGB9));
6406 /* ./parser//lexer.nit:1468 */
6407 REGB11 = REGB9;
6408 }
6409 if (UNTAG_Bool(REGB11)) {
6410 /* ./parser//lexer.nit:1469 */
6411 fra.me.REG[4] = NEW_TKwnot_lexer___TKwnot___init_tk(fra.me.REG[2]);
6412 fra.me.REG[3] = fra.me.REG[4];
6413 goto label3;
6414 }
6415 /* ./parser//lexer.nit:1471 */
6416 REGB11 = TAG_Int(35);
6417 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6418 if (UNTAG_Bool(REGB9)) {
6419 } else {
6420 /* ./../lib/standard//kernel.nit:207 */
6421 REGB11 = TAG_Bool((REGB4)==(REGB11));
6422 /* ./parser//lexer.nit:1471 */
6423 REGB9 = REGB11;
6424 }
6425 if (UNTAG_Bool(REGB9)) {
6426 /* ./parser//lexer.nit:1472 */
6427 fra.me.REG[4] = NEW_TKwreturn_lexer___TKwreturn___init_tk(fra.me.REG[2]);
6428 fra.me.REG[3] = fra.me.REG[4];
6429 goto label3;
6430 }
6431 /* ./parser//lexer.nit:1474 */
6432 REGB9 = TAG_Int(36);
6433 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6434 if (UNTAG_Bool(REGB11)) {
6435 } else {
6436 /* ./../lib/standard//kernel.nit:207 */
6437 REGB9 = TAG_Bool((REGB4)==(REGB9));
6438 /* ./parser//lexer.nit:1474 */
6439 REGB11 = REGB9;
6440 }
6441 if (UNTAG_Bool(REGB11)) {
6442 /* ./parser//lexer.nit:1475 */
6443 fra.me.REG[4] = NEW_TKwcontinue_lexer___TKwcontinue___init_tk(fra.me.REG[2]);
6444 fra.me.REG[3] = fra.me.REG[4];
6445 goto label3;
6446 }
6447 /* ./parser//lexer.nit:1477 */
6448 REGB11 = TAG_Int(37);
6449 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6450 if (UNTAG_Bool(REGB9)) {
6451 } else {
6452 /* ./../lib/standard//kernel.nit:207 */
6453 REGB11 = TAG_Bool((REGB4)==(REGB11));
6454 /* ./parser//lexer.nit:1477 */
6455 REGB9 = REGB11;
6456 }
6457 if (UNTAG_Bool(REGB9)) {
6458 /* ./parser//lexer.nit:1478 */
6459 fra.me.REG[4] = NEW_TKwbreak_lexer___TKwbreak___init_tk(fra.me.REG[2]);
6460 fra.me.REG[3] = fra.me.REG[4];
6461 goto label3;
6462 }
6463 /* ./parser//lexer.nit:1480 */
6464 REGB9 = TAG_Int(38);
6465 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6466 if (UNTAG_Bool(REGB11)) {
6467 } else {
6468 /* ./../lib/standard//kernel.nit:207 */
6469 REGB9 = TAG_Bool((REGB4)==(REGB9));
6470 /* ./parser//lexer.nit:1480 */
6471 REGB11 = REGB9;
6472 }
6473 if (UNTAG_Bool(REGB11)) {
6474 /* ./parser//lexer.nit:1481 */
6475 fra.me.REG[4] = NEW_TKwabort_lexer___TKwabort___init_tk(fra.me.REG[2]);
6476 fra.me.REG[3] = fra.me.REG[4];
6477 goto label3;
6478 }
6479 /* ./parser//lexer.nit:1483 */
6480 REGB11 = TAG_Int(39);
6481 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6482 if (UNTAG_Bool(REGB9)) {
6483 } else {
6484 /* ./../lib/standard//kernel.nit:207 */
6485 REGB11 = TAG_Bool((REGB4)==(REGB11));
6486 /* ./parser//lexer.nit:1483 */
6487 REGB9 = REGB11;
6488 }
6489 if (UNTAG_Bool(REGB9)) {
6490 /* ./parser//lexer.nit:1484 */
6491 fra.me.REG[4] = NEW_TKwassert_lexer___TKwassert___init_tk(fra.me.REG[2]);
6492 fra.me.REG[3] = fra.me.REG[4];
6493 goto label3;
6494 }
6495 /* ./parser//lexer.nit:1486 */
6496 REGB9 = TAG_Int(40);
6497 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6498 if (UNTAG_Bool(REGB11)) {
6499 } else {
6500 /* ./../lib/standard//kernel.nit:207 */
6501 REGB9 = TAG_Bool((REGB4)==(REGB9));
6502 /* ./parser//lexer.nit:1486 */
6503 REGB11 = REGB9;
6504 }
6505 if (UNTAG_Bool(REGB11)) {
6506 /* ./parser//lexer.nit:1487 */
6507 fra.me.REG[4] = NEW_TKwnew_lexer___TKwnew___init_tk(fra.me.REG[2]);
6508 fra.me.REG[3] = fra.me.REG[4];
6509 goto label3;
6510 }
6511 /* ./parser//lexer.nit:1489 */
6512 REGB11 = TAG_Int(41);
6513 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6514 if (UNTAG_Bool(REGB9)) {
6515 } else {
6516 /* ./../lib/standard//kernel.nit:207 */
6517 REGB11 = TAG_Bool((REGB4)==(REGB11));
6518 /* ./parser//lexer.nit:1489 */
6519 REGB9 = REGB11;
6520 }
6521 if (UNTAG_Bool(REGB9)) {
6522 /* ./parser//lexer.nit:1490 */
6523 fra.me.REG[4] = NEW_TKwisa_lexer___TKwisa___init_tk(fra.me.REG[2]);
6524 fra.me.REG[3] = fra.me.REG[4];
6525 goto label3;
6526 }
6527 /* ./parser//lexer.nit:1492 */
6528 REGB9 = TAG_Int(42);
6529 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6530 if (UNTAG_Bool(REGB11)) {
6531 } else {
6532 /* ./../lib/standard//kernel.nit:207 */
6533 REGB9 = TAG_Bool((REGB4)==(REGB9));
6534 /* ./parser//lexer.nit:1492 */
6535 REGB11 = REGB9;
6536 }
6537 if (UNTAG_Bool(REGB11)) {
6538 /* ./parser//lexer.nit:1493 */
6539 fra.me.REG[4] = NEW_TKwonce_lexer___TKwonce___init_tk(fra.me.REG[2]);
6540 fra.me.REG[3] = fra.me.REG[4];
6541 goto label3;
6542 }
6543 /* ./parser//lexer.nit:1495 */
6544 REGB11 = TAG_Int(43);
6545 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6546 if (UNTAG_Bool(REGB9)) {
6547 } else {
6548 /* ./../lib/standard//kernel.nit:207 */
6549 REGB11 = TAG_Bool((REGB4)==(REGB11));
6550 /* ./parser//lexer.nit:1495 */
6551 REGB9 = REGB11;
6552 }
6553 if (UNTAG_Bool(REGB9)) {
6554 /* ./parser//lexer.nit:1496 */
6555 fra.me.REG[4] = NEW_TKwsuper_lexer___TKwsuper___init_tk(fra.me.REG[2]);
6556 fra.me.REG[3] = fra.me.REG[4];
6557 goto label3;
6558 }
6559 /* ./parser//lexer.nit:1498 */
6560 REGB9 = TAG_Int(44);
6561 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6562 if (UNTAG_Bool(REGB11)) {
6563 } else {
6564 /* ./../lib/standard//kernel.nit:207 */
6565 REGB9 = TAG_Bool((REGB4)==(REGB9));
6566 /* ./parser//lexer.nit:1498 */
6567 REGB11 = REGB9;
6568 }
6569 if (UNTAG_Bool(REGB11)) {
6570 /* ./parser//lexer.nit:1499 */
6571 fra.me.REG[4] = NEW_TKwself_lexer___TKwself___init_tk(fra.me.REG[2]);
6572 fra.me.REG[3] = fra.me.REG[4];
6573 goto label3;
6574 }
6575 /* ./parser//lexer.nit:1501 */
6576 REGB11 = TAG_Int(45);
6577 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6578 if (UNTAG_Bool(REGB9)) {
6579 } else {
6580 /* ./../lib/standard//kernel.nit:207 */
6581 REGB11 = TAG_Bool((REGB4)==(REGB11));
6582 /* ./parser//lexer.nit:1501 */
6583 REGB9 = REGB11;
6584 }
6585 if (UNTAG_Bool(REGB9)) {
6586 /* ./parser//lexer.nit:1502 */
6587 fra.me.REG[4] = NEW_TKwtrue_lexer___TKwtrue___init_tk(fra.me.REG[2]);
6588 fra.me.REG[3] = fra.me.REG[4];
6589 goto label3;
6590 }
6591 /* ./parser//lexer.nit:1504 */
6592 REGB9 = TAG_Int(46);
6593 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6594 if (UNTAG_Bool(REGB11)) {
6595 } else {
6596 /* ./../lib/standard//kernel.nit:207 */
6597 REGB9 = TAG_Bool((REGB4)==(REGB9));
6598 /* ./parser//lexer.nit:1504 */
6599 REGB11 = REGB9;
6600 }
6601 if (UNTAG_Bool(REGB11)) {
6602 /* ./parser//lexer.nit:1505 */
6603 fra.me.REG[4] = NEW_TKwfalse_lexer___TKwfalse___init_tk(fra.me.REG[2]);
6604 fra.me.REG[3] = fra.me.REG[4];
6605 goto label3;
6606 }
6607 /* ./parser//lexer.nit:1507 */
6608 REGB11 = TAG_Int(47);
6609 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6610 if (UNTAG_Bool(REGB9)) {
6611 } else {
6612 /* ./../lib/standard//kernel.nit:207 */
6613 REGB11 = TAG_Bool((REGB4)==(REGB11));
6614 /* ./parser//lexer.nit:1507 */
6615 REGB9 = REGB11;
6616 }
6617 if (UNTAG_Bool(REGB9)) {
6618 /* ./parser//lexer.nit:1508 */
6619 fra.me.REG[4] = NEW_TKwnull_lexer___TKwnull___init_tk(fra.me.REG[2]);
6620 fra.me.REG[3] = fra.me.REG[4];
6621 goto label3;
6622 }
6623 /* ./parser//lexer.nit:1510 */
6624 REGB9 = TAG_Int(48);
6625 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6626 if (UNTAG_Bool(REGB11)) {
6627 } else {
6628 /* ./../lib/standard//kernel.nit:207 */
6629 REGB9 = TAG_Bool((REGB4)==(REGB9));
6630 /* ./parser//lexer.nit:1510 */
6631 REGB11 = REGB9;
6632 }
6633 if (UNTAG_Bool(REGB11)) {
6634 /* ./parser//lexer.nit:1511 */
6635 fra.me.REG[4] = NEW_TKwas_lexer___TKwas___init_tk(fra.me.REG[2]);
6636 fra.me.REG[3] = fra.me.REG[4];
6637 goto label3;
6638 }
6639 /* ./parser//lexer.nit:1513 */
6640 REGB11 = TAG_Int(49);
6641 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6642 if (UNTAG_Bool(REGB9)) {
6643 } else {
6644 /* ./../lib/standard//kernel.nit:207 */
6645 REGB11 = TAG_Bool((REGB4)==(REGB11));
6646 /* ./parser//lexer.nit:1513 */
6647 REGB9 = REGB11;
6648 }
6649 if (UNTAG_Bool(REGB9)) {
6650 /* ./parser//lexer.nit:1514 */
6651 fra.me.REG[4] = NEW_TKwnullable_lexer___TKwnullable___init_tk(fra.me.REG[2]);
6652 fra.me.REG[3] = fra.me.REG[4];
6653 goto label3;
6654 }
6655 /* ./parser//lexer.nit:1516 */
6656 REGB9 = TAG_Int(50);
6657 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6658 if (UNTAG_Bool(REGB11)) {
6659 } else {
6660 /* ./../lib/standard//kernel.nit:207 */
6661 REGB9 = TAG_Bool((REGB4)==(REGB9));
6662 /* ./parser//lexer.nit:1516 */
6663 REGB11 = REGB9;
6664 }
6665 if (UNTAG_Bool(REGB11)) {
6666 /* ./parser//lexer.nit:1517 */
6667 fra.me.REG[4] = NEW_TKwisset_lexer___TKwisset___init_tk(fra.me.REG[2]);
6668 fra.me.REG[3] = fra.me.REG[4];
6669 goto label3;
6670 }
6671 /* ./parser//lexer.nit:1519 */
6672 REGB11 = TAG_Int(51);
6673 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6674 if (UNTAG_Bool(REGB9)) {
6675 } else {
6676 /* ./../lib/standard//kernel.nit:207 */
6677 REGB11 = TAG_Bool((REGB4)==(REGB11));
6678 /* ./parser//lexer.nit:1519 */
6679 REGB9 = REGB11;
6680 }
6681 if (UNTAG_Bool(REGB9)) {
6682 /* ./parser//lexer.nit:1520 */
6683 fra.me.REG[4] = NEW_TKwlabel_lexer___TKwlabel___init_tk(fra.me.REG[2]);
6684 fra.me.REG[3] = fra.me.REG[4];
6685 goto label3;
6686 }
6687 /* ./parser//lexer.nit:1522 */
6688 REGB9 = TAG_Int(52);
6689 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6690 if (UNTAG_Bool(REGB11)) {
6691 } else {
6692 /* ./../lib/standard//kernel.nit:207 */
6693 REGB9 = TAG_Bool((REGB4)==(REGB9));
6694 /* ./parser//lexer.nit:1522 */
6695 REGB11 = REGB9;
6696 }
6697 if (UNTAG_Bool(REGB11)) {
6698 /* ./parser//lexer.nit:1523 */
6699 fra.me.REG[4] = NEW_TOpar_lexer___TOpar___init_tk(fra.me.REG[2]);
6700 fra.me.REG[3] = fra.me.REG[4];
6701 goto label3;
6702 }
6703 /* ./parser//lexer.nit:1525 */
6704 REGB11 = TAG_Int(53);
6705 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6706 if (UNTAG_Bool(REGB9)) {
6707 } else {
6708 /* ./../lib/standard//kernel.nit:207 */
6709 REGB11 = TAG_Bool((REGB4)==(REGB11));
6710 /* ./parser//lexer.nit:1525 */
6711 REGB9 = REGB11;
6712 }
6713 if (UNTAG_Bool(REGB9)) {
6714 /* ./parser//lexer.nit:1526 */
6715 fra.me.REG[4] = NEW_TCpar_lexer___TCpar___init_tk(fra.me.REG[2]);
6716 fra.me.REG[3] = fra.me.REG[4];
6717 goto label3;
6718 }
6719 /* ./parser//lexer.nit:1528 */
6720 REGB9 = TAG_Int(54);
6721 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6722 if (UNTAG_Bool(REGB11)) {
6723 } else {
6724 /* ./../lib/standard//kernel.nit:207 */
6725 REGB9 = TAG_Bool((REGB4)==(REGB9));
6726 /* ./parser//lexer.nit:1528 */
6727 REGB11 = REGB9;
6728 }
6729 if (UNTAG_Bool(REGB11)) {
6730 /* ./parser//lexer.nit:1529 */
6731 fra.me.REG[4] = NEW_TObra_lexer___TObra___init_tk(fra.me.REG[2]);
6732 fra.me.REG[3] = fra.me.REG[4];
6733 goto label3;
6734 }
6735 /* ./parser//lexer.nit:1531 */
6736 REGB11 = TAG_Int(55);
6737 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6738 if (UNTAG_Bool(REGB9)) {
6739 } else {
6740 /* ./../lib/standard//kernel.nit:207 */
6741 REGB11 = TAG_Bool((REGB4)==(REGB11));
6742 /* ./parser//lexer.nit:1531 */
6743 REGB9 = REGB11;
6744 }
6745 if (UNTAG_Bool(REGB9)) {
6746 /* ./parser//lexer.nit:1532 */
6747 fra.me.REG[4] = NEW_TCbra_lexer___TCbra___init_tk(fra.me.REG[2]);
6748 fra.me.REG[3] = fra.me.REG[4];
6749 goto label3;
6750 }
6751 /* ./parser//lexer.nit:1534 */
6752 REGB9 = TAG_Int(56);
6753 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6754 if (UNTAG_Bool(REGB11)) {
6755 } else {
6756 /* ./../lib/standard//kernel.nit:207 */
6757 REGB9 = TAG_Bool((REGB4)==(REGB9));
6758 /* ./parser//lexer.nit:1534 */
6759 REGB11 = REGB9;
6760 }
6761 if (UNTAG_Bool(REGB11)) {
6762 /* ./parser//lexer.nit:1535 */
6763 fra.me.REG[4] = NEW_TComma_lexer___TComma___init_tk(fra.me.REG[2]);
6764 fra.me.REG[3] = fra.me.REG[4];
6765 goto label3;
6766 }
6767 /* ./parser//lexer.nit:1537 */
6768 REGB11 = TAG_Int(57);
6769 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6770 if (UNTAG_Bool(REGB9)) {
6771 } else {
6772 /* ./../lib/standard//kernel.nit:207 */
6773 REGB11 = TAG_Bool((REGB4)==(REGB11));
6774 /* ./parser//lexer.nit:1537 */
6775 REGB9 = REGB11;
6776 }
6777 if (UNTAG_Bool(REGB9)) {
6778 /* ./parser//lexer.nit:1538 */
6779 fra.me.REG[4] = NEW_TColumn_lexer___TColumn___init_tk(fra.me.REG[2]);
6780 fra.me.REG[3] = fra.me.REG[4];
6781 goto label3;
6782 }
6783 /* ./parser//lexer.nit:1540 */
6784 REGB9 = TAG_Int(58);
6785 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6786 if (UNTAG_Bool(REGB11)) {
6787 } else {
6788 /* ./../lib/standard//kernel.nit:207 */
6789 REGB9 = TAG_Bool((REGB4)==(REGB9));
6790 /* ./parser//lexer.nit:1540 */
6791 REGB11 = REGB9;
6792 }
6793 if (UNTAG_Bool(REGB11)) {
6794 /* ./parser//lexer.nit:1541 */
6795 fra.me.REG[4] = NEW_TQuad_lexer___TQuad___init_tk(fra.me.REG[2]);
6796 fra.me.REG[3] = fra.me.REG[4];
6797 goto label3;
6798 }
6799 /* ./parser//lexer.nit:1543 */
6800 REGB11 = TAG_Int(59);
6801 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6802 if (UNTAG_Bool(REGB9)) {
6803 } else {
6804 /* ./../lib/standard//kernel.nit:207 */
6805 REGB11 = TAG_Bool((REGB4)==(REGB11));
6806 /* ./parser//lexer.nit:1543 */
6807 REGB9 = REGB11;
6808 }
6809 if (UNTAG_Bool(REGB9)) {
6810 /* ./parser//lexer.nit:1544 */
6811 fra.me.REG[4] = NEW_TAssign_lexer___TAssign___init_tk(fra.me.REG[2]);
6812 fra.me.REG[3] = fra.me.REG[4];
6813 goto label3;
6814 }
6815 /* ./parser//lexer.nit:1546 */
6816 REGB9 = TAG_Int(60);
6817 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6818 if (UNTAG_Bool(REGB11)) {
6819 } else {
6820 /* ./../lib/standard//kernel.nit:207 */
6821 REGB9 = TAG_Bool((REGB4)==(REGB9));
6822 /* ./parser//lexer.nit:1546 */
6823 REGB11 = REGB9;
6824 }
6825 if (UNTAG_Bool(REGB11)) {
6826 /* ./parser//lexer.nit:1547 */
6827 fra.me.REG[4] = NEW_TPluseq_lexer___TPluseq___init_tk(fra.me.REG[2]);
6828 fra.me.REG[3] = fra.me.REG[4];
6829 goto label3;
6830 }
6831 /* ./parser//lexer.nit:1549 */
6832 REGB11 = TAG_Int(61);
6833 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6834 if (UNTAG_Bool(REGB9)) {
6835 } else {
6836 /* ./../lib/standard//kernel.nit:207 */
6837 REGB11 = TAG_Bool((REGB4)==(REGB11));
6838 /* ./parser//lexer.nit:1549 */
6839 REGB9 = REGB11;
6840 }
6841 if (UNTAG_Bool(REGB9)) {
6842 /* ./parser//lexer.nit:1550 */
6843 fra.me.REG[4] = NEW_TMinuseq_lexer___TMinuseq___init_tk(fra.me.REG[2]);
6844 fra.me.REG[3] = fra.me.REG[4];
6845 goto label3;
6846 }
6847 /* ./parser//lexer.nit:1552 */
6848 REGB9 = TAG_Int(62);
6849 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6850 if (UNTAG_Bool(REGB11)) {
6851 } else {
6852 /* ./../lib/standard//kernel.nit:207 */
6853 REGB9 = TAG_Bool((REGB4)==(REGB9));
6854 /* ./parser//lexer.nit:1552 */
6855 REGB11 = REGB9;
6856 }
6857 if (UNTAG_Bool(REGB11)) {
6858 /* ./parser//lexer.nit:1553 */
6859 fra.me.REG[4] = NEW_TDotdotdot_lexer___TDotdotdot___init_tk(fra.me.REG[2]);
6860 fra.me.REG[3] = fra.me.REG[4];
6861 goto label3;
6862 }
6863 /* ./parser//lexer.nit:1555 */
6864 REGB11 = TAG_Int(63);
6865 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6866 if (UNTAG_Bool(REGB9)) {
6867 } else {
6868 /* ./../lib/standard//kernel.nit:207 */
6869 REGB11 = TAG_Bool((REGB4)==(REGB11));
6870 /* ./parser//lexer.nit:1555 */
6871 REGB9 = REGB11;
6872 }
6873 if (UNTAG_Bool(REGB9)) {
6874 /* ./parser//lexer.nit:1556 */
6875 fra.me.REG[4] = NEW_TDotdot_lexer___TDotdot___init_tk(fra.me.REG[2]);
6876 fra.me.REG[3] = fra.me.REG[4];
6877 goto label3;
6878 }
6879 /* ./parser//lexer.nit:1558 */
6880 REGB9 = TAG_Int(64);
6881 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6882 if (UNTAG_Bool(REGB11)) {
6883 } else {
6884 /* ./../lib/standard//kernel.nit:207 */
6885 REGB9 = TAG_Bool((REGB4)==(REGB9));
6886 /* ./parser//lexer.nit:1558 */
6887 REGB11 = REGB9;
6888 }
6889 if (UNTAG_Bool(REGB11)) {
6890 /* ./parser//lexer.nit:1559 */
6891 fra.me.REG[4] = NEW_TDot_lexer___TDot___init_tk(fra.me.REG[2]);
6892 fra.me.REG[3] = fra.me.REG[4];
6893 goto label3;
6894 }
6895 /* ./parser//lexer.nit:1561 */
6896 REGB11 = TAG_Int(65);
6897 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6898 if (UNTAG_Bool(REGB9)) {
6899 } else {
6900 /* ./../lib/standard//kernel.nit:207 */
6901 REGB11 = TAG_Bool((REGB4)==(REGB11));
6902 /* ./parser//lexer.nit:1561 */
6903 REGB9 = REGB11;
6904 }
6905 if (UNTAG_Bool(REGB9)) {
6906 /* ./parser//lexer.nit:1562 */
6907 fra.me.REG[4] = NEW_TPlus_lexer___TPlus___init_tk(fra.me.REG[2]);
6908 fra.me.REG[3] = fra.me.REG[4];
6909 goto label3;
6910 }
6911 /* ./parser//lexer.nit:1564 */
6912 REGB9 = TAG_Int(66);
6913 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6914 if (UNTAG_Bool(REGB11)) {
6915 } else {
6916 /* ./../lib/standard//kernel.nit:207 */
6917 REGB9 = TAG_Bool((REGB4)==(REGB9));
6918 /* ./parser//lexer.nit:1564 */
6919 REGB11 = REGB9;
6920 }
6921 if (UNTAG_Bool(REGB11)) {
6922 /* ./parser//lexer.nit:1565 */
6923 fra.me.REG[4] = NEW_TMinus_lexer___TMinus___init_tk(fra.me.REG[2]);
6924 fra.me.REG[3] = fra.me.REG[4];
6925 goto label3;
6926 }
6927 /* ./parser//lexer.nit:1567 */
6928 REGB11 = TAG_Int(67);
6929 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6930 if (UNTAG_Bool(REGB9)) {
6931 } else {
6932 /* ./../lib/standard//kernel.nit:207 */
6933 REGB11 = TAG_Bool((REGB4)==(REGB11));
6934 /* ./parser//lexer.nit:1567 */
6935 REGB9 = REGB11;
6936 }
6937 if (UNTAG_Bool(REGB9)) {
6938 /* ./parser//lexer.nit:1568 */
6939 fra.me.REG[4] = NEW_TStar_lexer___TStar___init_tk(fra.me.REG[2]);
6940 fra.me.REG[3] = fra.me.REG[4];
6941 goto label3;
6942 }
6943 /* ./parser//lexer.nit:1570 */
6944 REGB9 = TAG_Int(68);
6945 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6946 if (UNTAG_Bool(REGB11)) {
6947 } else {
6948 /* ./../lib/standard//kernel.nit:207 */
6949 REGB9 = TAG_Bool((REGB4)==(REGB9));
6950 /* ./parser//lexer.nit:1570 */
6951 REGB11 = REGB9;
6952 }
6953 if (UNTAG_Bool(REGB11)) {
6954 /* ./parser//lexer.nit:1571 */
6955 fra.me.REG[4] = NEW_TSlash_lexer___TSlash___init_tk(fra.me.REG[2]);
6956 fra.me.REG[3] = fra.me.REG[4];
6957 goto label3;
6958 }
6959 /* ./parser//lexer.nit:1573 */
6960 REGB11 = TAG_Int(69);
6961 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6962 if (UNTAG_Bool(REGB9)) {
6963 } else {
6964 /* ./../lib/standard//kernel.nit:207 */
6965 REGB11 = TAG_Bool((REGB4)==(REGB11));
6966 /* ./parser//lexer.nit:1573 */
6967 REGB9 = REGB11;
6968 }
6969 if (UNTAG_Bool(REGB9)) {
6970 /* ./parser//lexer.nit:1574 */
6971 fra.me.REG[4] = NEW_TPercent_lexer___TPercent___init_tk(fra.me.REG[2]);
6972 fra.me.REG[3] = fra.me.REG[4];
6973 goto label3;
6974 }
6975 /* ./parser//lexer.nit:1576 */
6976 REGB9 = TAG_Int(70);
6977 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
6978 if (UNTAG_Bool(REGB11)) {
6979 } else {
6980 /* ./../lib/standard//kernel.nit:207 */
6981 REGB9 = TAG_Bool((REGB4)==(REGB9));
6982 /* ./parser//lexer.nit:1576 */
6983 REGB11 = REGB9;
6984 }
6985 if (UNTAG_Bool(REGB11)) {
6986 /* ./parser//lexer.nit:1577 */
6987 fra.me.REG[4] = NEW_TEq_lexer___TEq___init_tk(fra.me.REG[2]);
6988 fra.me.REG[3] = fra.me.REG[4];
6989 goto label3;
6990 }
6991 /* ./parser//lexer.nit:1579 */
6992 REGB11 = TAG_Int(71);
6993 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
6994 if (UNTAG_Bool(REGB9)) {
6995 } else {
6996 /* ./../lib/standard//kernel.nit:207 */
6997 REGB11 = TAG_Bool((REGB4)==(REGB11));
6998 /* ./parser//lexer.nit:1579 */
6999 REGB9 = REGB11;
7000 }
7001 if (UNTAG_Bool(REGB9)) {
7002 /* ./parser//lexer.nit:1580 */
7003 fra.me.REG[4] = NEW_TNe_lexer___TNe___init_tk(fra.me.REG[2]);
7004 fra.me.REG[3] = fra.me.REG[4];
7005 goto label3;
7006 }
7007 /* ./parser//lexer.nit:1582 */
7008 REGB9 = TAG_Int(72);
7009 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7010 if (UNTAG_Bool(REGB11)) {
7011 } else {
7012 /* ./../lib/standard//kernel.nit:207 */
7013 REGB9 = TAG_Bool((REGB4)==(REGB9));
7014 /* ./parser//lexer.nit:1582 */
7015 REGB11 = REGB9;
7016 }
7017 if (UNTAG_Bool(REGB11)) {
7018 /* ./parser//lexer.nit:1583 */
7019 fra.me.REG[4] = NEW_TLt_lexer___TLt___init_tk(fra.me.REG[2]);
7020 fra.me.REG[3] = fra.me.REG[4];
7021 goto label3;
7022 }
7023 /* ./parser//lexer.nit:1585 */
7024 REGB11 = TAG_Int(73);
7025 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7026 if (UNTAG_Bool(REGB9)) {
7027 } else {
7028 /* ./../lib/standard//kernel.nit:207 */
7029 REGB11 = TAG_Bool((REGB4)==(REGB11));
7030 /* ./parser//lexer.nit:1585 */
7031 REGB9 = REGB11;
7032 }
7033 if (UNTAG_Bool(REGB9)) {
7034 /* ./parser//lexer.nit:1586 */
7035 fra.me.REG[4] = NEW_TLe_lexer___TLe___init_tk(fra.me.REG[2]);
7036 fra.me.REG[3] = fra.me.REG[4];
7037 goto label3;
7038 }
7039 /* ./parser//lexer.nit:1588 */
7040 REGB9 = TAG_Int(74);
7041 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7042 if (UNTAG_Bool(REGB11)) {
7043 } else {
7044 /* ./../lib/standard//kernel.nit:207 */
7045 REGB9 = TAG_Bool((REGB4)==(REGB9));
7046 /* ./parser//lexer.nit:1588 */
7047 REGB11 = REGB9;
7048 }
7049 if (UNTAG_Bool(REGB11)) {
7050 /* ./parser//lexer.nit:1589 */
7051 fra.me.REG[4] = NEW_TLl_lexer___TLl___init_tk(fra.me.REG[2]);
7052 fra.me.REG[3] = fra.me.REG[4];
7053 goto label3;
7054 }
7055 /* ./parser//lexer.nit:1591 */
7056 REGB11 = TAG_Int(75);
7057 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7058 if (UNTAG_Bool(REGB9)) {
7059 } else {
7060 /* ./../lib/standard//kernel.nit:207 */
7061 REGB11 = TAG_Bool((REGB4)==(REGB11));
7062 /* ./parser//lexer.nit:1591 */
7063 REGB9 = REGB11;
7064 }
7065 if (UNTAG_Bool(REGB9)) {
7066 /* ./parser//lexer.nit:1592 */
7067 fra.me.REG[4] = NEW_TGt_lexer___TGt___init_tk(fra.me.REG[2]);
7068 fra.me.REG[3] = fra.me.REG[4];
7069 goto label3;
7070 }
7071 /* ./parser//lexer.nit:1594 */
7072 REGB9 = TAG_Int(76);
7073 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7074 if (UNTAG_Bool(REGB11)) {
7075 } else {
7076 /* ./../lib/standard//kernel.nit:207 */
7077 REGB9 = TAG_Bool((REGB4)==(REGB9));
7078 /* ./parser//lexer.nit:1594 */
7079 REGB11 = REGB9;
7080 }
7081 if (UNTAG_Bool(REGB11)) {
7082 /* ./parser//lexer.nit:1595 */
7083 fra.me.REG[4] = NEW_TGe_lexer___TGe___init_tk(fra.me.REG[2]);
7084 fra.me.REG[3] = fra.me.REG[4];
7085 goto label3;
7086 }
7087 /* ./parser//lexer.nit:1597 */
7088 REGB11 = TAG_Int(77);
7089 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7090 if (UNTAG_Bool(REGB9)) {
7091 } else {
7092 /* ./../lib/standard//kernel.nit:207 */
7093 REGB11 = TAG_Bool((REGB4)==(REGB11));
7094 /* ./parser//lexer.nit:1597 */
7095 REGB9 = REGB11;
7096 }
7097 if (UNTAG_Bool(REGB9)) {
7098 /* ./parser//lexer.nit:1598 */
7099 fra.me.REG[4] = NEW_TGg_lexer___TGg___init_tk(fra.me.REG[2]);
7100 fra.me.REG[3] = fra.me.REG[4];
7101 goto label3;
7102 }
7103 /* ./parser//lexer.nit:1600 */
7104 REGB9 = TAG_Int(78);
7105 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7106 if (UNTAG_Bool(REGB11)) {
7107 } else {
7108 /* ./../lib/standard//kernel.nit:207 */
7109 REGB9 = TAG_Bool((REGB4)==(REGB9));
7110 /* ./parser//lexer.nit:1600 */
7111 REGB11 = REGB9;
7112 }
7113 if (UNTAG_Bool(REGB11)) {
7114 /* ./parser//lexer.nit:1601 */
7115 fra.me.REG[4] = NEW_TStarship_lexer___TStarship___init_tk(fra.me.REG[2]);
7116 fra.me.REG[3] = fra.me.REG[4];
7117 goto label3;
7118 }
7119 /* ./parser//lexer.nit:1603 */
7120 REGB11 = TAG_Int(79);
7121 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7122 if (UNTAG_Bool(REGB9)) {
7123 } else {
7124 /* ./../lib/standard//kernel.nit:207 */
7125 REGB11 = TAG_Bool((REGB4)==(REGB11));
7126 /* ./parser//lexer.nit:1603 */
7127 REGB9 = REGB11;
7128 }
7129 if (UNTAG_Bool(REGB9)) {
7130 /* ./parser//lexer.nit:1604 */
7131 fra.me.REG[4] = NEW_TBang_lexer___TBang___init_tk(fra.me.REG[2]);
7132 fra.me.REG[3] = fra.me.REG[4];
7133 goto label3;
7134 }
7135 /* ./parser//lexer.nit:1606 */
7136 REGB9 = TAG_Int(80);
7137 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7138 if (UNTAG_Bool(REGB11)) {
7139 } else {
7140 /* ./../lib/standard//kernel.nit:207 */
7141 REGB9 = TAG_Bool((REGB4)==(REGB9));
7142 /* ./parser//lexer.nit:1606 */
7143 REGB11 = REGB9;
7144 }
7145 if (UNTAG_Bool(REGB11)) {
7146 /* ./parser//lexer.nit:1607 */
7147 REGB11 = TAG_Int(0);
7148 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
7149 /* ./parser//lexer.nit:1608 */
7150 fra.me.REG[4] = NEW_TClassid_lexer___TClassid___init_tk(fra.me.REG[4], fra.me.REG[2]);
7151 fra.me.REG[3] = fra.me.REG[4];
7152 goto label3;
7153 }
7154 /* ./parser//lexer.nit:1610 */
7155 REGB11 = TAG_Int(81);
7156 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7157 if (UNTAG_Bool(REGB9)) {
7158 } else {
7159 /* ./../lib/standard//kernel.nit:207 */
7160 REGB11 = TAG_Bool((REGB4)==(REGB11));
7161 /* ./parser//lexer.nit:1610 */
7162 REGB9 = REGB11;
7163 }
7164 if (UNTAG_Bool(REGB9)) {
7165 /* ./parser//lexer.nit:1611 */
7166 REGB9 = TAG_Int(0);
7167 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
7168 /* ./parser//lexer.nit:1612 */
7169 fra.me.REG[4] = NEW_TId_lexer___TId___init_tk(fra.me.REG[4], fra.me.REG[2]);
7170 fra.me.REG[3] = fra.me.REG[4];
7171 goto label3;
7172 }
7173 /* ./parser//lexer.nit:1614 */
7174 REGB9 = TAG_Int(82);
7175 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7176 if (UNTAG_Bool(REGB11)) {
7177 } else {
7178 /* ./../lib/standard//kernel.nit:207 */
7179 REGB9 = TAG_Bool((REGB4)==(REGB9));
7180 /* ./parser//lexer.nit:1614 */
7181 REGB11 = REGB9;
7182 }
7183 if (UNTAG_Bool(REGB11)) {
7184 /* ./parser//lexer.nit:1615 */
7185 REGB11 = TAG_Int(0);
7186 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
7187 /* ./parser//lexer.nit:1616 */
7188 fra.me.REG[4] = NEW_TAttrid_lexer___TAttrid___init_tk(fra.me.REG[4], fra.me.REG[2]);
7189 fra.me.REG[3] = fra.me.REG[4];
7190 goto label3;
7191 }
7192 /* ./parser//lexer.nit:1618 */
7193 REGB11 = TAG_Int(83);
7194 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7195 if (UNTAG_Bool(REGB9)) {
7196 } else {
7197 /* ./../lib/standard//kernel.nit:207 */
7198 REGB11 = TAG_Bool((REGB4)==(REGB11));
7199 /* ./parser//lexer.nit:1618 */
7200 REGB9 = REGB11;
7201 }
7202 if (UNTAG_Bool(REGB9)) {
7203 /* ./parser//lexer.nit:1619 */
7204 REGB9 = TAG_Int(0);
7205 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
7206 /* ./parser//lexer.nit:1620 */
7207 fra.me.REG[4] = NEW_TNumber_lexer___TNumber___init_tk(fra.me.REG[4], fra.me.REG[2]);
7208 fra.me.REG[3] = fra.me.REG[4];
7209 goto label3;
7210 }
7211 /* ./parser//lexer.nit:1622 */
7212 REGB9 = TAG_Int(84);
7213 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7214 if (UNTAG_Bool(REGB11)) {
7215 } else {
7216 /* ./../lib/standard//kernel.nit:207 */
7217 REGB9 = TAG_Bool((REGB4)==(REGB9));
7218 /* ./parser//lexer.nit:1622 */
7219 REGB11 = REGB9;
7220 }
7221 if (UNTAG_Bool(REGB11)) {
7222 /* ./parser//lexer.nit:1623 */
7223 REGB11 = TAG_Int(0);
7224 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
7225 /* ./parser//lexer.nit:1624 */
7226 fra.me.REG[4] = NEW_TFloat_lexer___TFloat___init_tk(fra.me.REG[4], fra.me.REG[2]);
7227 fra.me.REG[3] = fra.me.REG[4];
7228 goto label3;
7229 }
7230 /* ./parser//lexer.nit:1626 */
7231 REGB11 = TAG_Int(85);
7232 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7233 if (UNTAG_Bool(REGB9)) {
7234 } else {
7235 /* ./../lib/standard//kernel.nit:207 */
7236 REGB11 = TAG_Bool((REGB4)==(REGB11));
7237 /* ./parser//lexer.nit:1626 */
7238 REGB9 = REGB11;
7239 }
7240 if (UNTAG_Bool(REGB9)) {
7241 /* ./parser//lexer.nit:1627 */
7242 REGB9 = TAG_Int(0);
7243 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
7244 /* ./parser//lexer.nit:1628 */
7245 fra.me.REG[4] = NEW_TChar_lexer___TChar___init_tk(fra.me.REG[4], fra.me.REG[2]);
7246 fra.me.REG[3] = fra.me.REG[4];
7247 goto label3;
7248 }
7249 /* ./parser//lexer.nit:1630 */
7250 REGB9 = TAG_Int(86);
7251 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7252 if (UNTAG_Bool(REGB11)) {
7253 } else {
7254 /* ./../lib/standard//kernel.nit:207 */
7255 REGB9 = TAG_Bool((REGB4)==(REGB9));
7256 /* ./parser//lexer.nit:1630 */
7257 REGB11 = REGB9;
7258 }
7259 if (UNTAG_Bool(REGB11)) {
7260 /* ./parser//lexer.nit:1631 */
7261 REGB11 = TAG_Int(0);
7262 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
7263 /* ./parser//lexer.nit:1632 */
7264 fra.me.REG[4] = NEW_TString_lexer___TString___init_tk(fra.me.REG[4], fra.me.REG[2]);
7265 fra.me.REG[3] = fra.me.REG[4];
7266 goto label3;
7267 }
7268 /* ./parser//lexer.nit:1634 */
7269 REGB11 = TAG_Int(87);
7270 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7271 if (UNTAG_Bool(REGB9)) {
7272 } else {
7273 /* ./../lib/standard//kernel.nit:207 */
7274 REGB11 = TAG_Bool((REGB4)==(REGB11));
7275 /* ./parser//lexer.nit:1634 */
7276 REGB9 = REGB11;
7277 }
7278 if (UNTAG_Bool(REGB9)) {
7279 /* ./parser//lexer.nit:1635 */
7280 REGB9 = TAG_Int(0);
7281 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
7282 /* ./parser//lexer.nit:1636 */
7283 fra.me.REG[4] = NEW_TStartString_lexer___TStartString___init_tk(fra.me.REG[4], fra.me.REG[2]);
7284 fra.me.REG[3] = fra.me.REG[4];
7285 goto label3;
7286 }
7287 /* ./parser//lexer.nit:1638 */
7288 REGB9 = TAG_Int(88);
7289 REGB11 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB9));
7290 if (UNTAG_Bool(REGB11)) {
7291 } else {
7292 /* ./../lib/standard//kernel.nit:207 */
7293 REGB9 = TAG_Bool((REGB4)==(REGB9));
7294 /* ./parser//lexer.nit:1638 */
7295 REGB11 = REGB9;
7296 }
7297 if (UNTAG_Bool(REGB11)) {
7298 /* ./parser//lexer.nit:1639 */
7299 REGB11 = TAG_Int(0);
7300 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB11, REGB5);
7301 /* ./parser//lexer.nit:1640 */
7302 fra.me.REG[4] = NEW_TMidString_lexer___TMidString___init_tk(fra.me.REG[4], fra.me.REG[2]);
7303 fra.me.REG[3] = fra.me.REG[4];
7304 goto label3;
7305 }
7306 /* ./parser//lexer.nit:1642 */
7307 REGB11 = TAG_Int(89);
7308 REGB9 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB11));
7309 if (UNTAG_Bool(REGB9)) {
7310 } else {
7311 /* ./../lib/standard//kernel.nit:207 */
7312 REGB11 = TAG_Bool((REGB4)==(REGB11));
7313 /* ./parser//lexer.nit:1642 */
7314 REGB9 = REGB11;
7315 }
7316 if (UNTAG_Bool(REGB9)) {
7317 /* ./parser//lexer.nit:1643 */
7318 REGB9 = TAG_Int(0);
7319 fra.me.REG[4] = CALL_string___AbstractString___substring(fra.me.REG[1])(fra.me.REG[1], REGB9, REGB5);
7320 /* ./parser//lexer.nit:1644 */
7321 fra.me.REG[2] = NEW_TEndString_lexer___TEndString___init_tk(fra.me.REG[4], fra.me.REG[2]);
7322 fra.me.REG[3] = fra.me.REG[2];
7323 goto label3;
7324 }
7325 } else {
7326 /* ./parser//lexer.nit:1647 */
7327 REGB9 = TAG_Bool(ATTR_lexer___Lexer____filename(fra.me.REG[0])!=NIT_NULL);
7328 if (UNTAG_Bool(REGB9)) {
7329 } else {
7330 nit_abort("Uninitialized attribute %s", "_filename", LOCATE_lexer, 1647);
7331 }
7332 fra.me.REG[2] = ATTR_lexer___Lexer____filename(fra.me.REG[0]);
7333 REGB9 = TAG_Int(1);
7334 /* ./../lib/standard//kernel.nit:215 */
7335 REGB9 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB9));
7336 /* ./parser//lexer.nit:1647 */
7337 REGB11 = TAG_Int(1);
7338 /* ./../lib/standard//kernel.nit:215 */
7339 REGB11 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB11));
7340 /* ./parser//lexer.nit:1647 */
7341 REGB10 = TAG_Int(1);
7342 /* ./../lib/standard//kernel.nit:215 */
7343 REGB10 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB10));
7344 /* ./parser//lexer.nit:1647 */
7345 REGB8 = TAG_Int(1);
7346 /* ./../lib/standard//kernel.nit:215 */
7347 REGB8 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB8));
7348 /* ./parser//lexer.nit:1647 */
7349 fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB9, REGB11, REGB10, REGB8);
7350 /* ./../lib/standard//collection//array.nit:23 */
7351 REGB8 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
7352 if (UNTAG_Bool(REGB8)) {
7353 } else {
7354 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
7355 }
7356 REGB8 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
7357 /* ./parser//lexer.nit:1648 */
7358 REGB10 = TAG_Int(0);
7359 /* ./../lib/standard//kernel.nit:214 */
7360 REGB10 = TAG_Bool(UNTAG_Int(REGB8)>UNTAG_Int(REGB10));
7361 /* ./parser//lexer.nit:1648 */
7362 if (UNTAG_Bool(REGB10)) {
7363 /* ./parser//lexer.nit:1649 */
7364 REGB10 = TAG_Int(3);
7365 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB10);
7366 if (!once_value_4) {
7367 fra.me.REG[5] = BOX_NativeString("Syntax error: unknown token ");
7368 REGB10 = TAG_Int(28);
7369 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
7370 once_value_4 = fra.me.REG[5];
7371 register_static_object(&once_value_4);
7372 } else fra.me.REG[5] = once_value_4;
7373 fra.me.REG[5] = fra.me.REG[5];
7374 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
7375 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
7376 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
7377 if (!once_value_5) {
7378 fra.me.REG[5] = BOX_NativeString(".");
7379 REGB10 = TAG_Int(1);
7380 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB10);
7381 once_value_5 = fra.me.REG[5];
7382 register_static_object(&once_value_5);
7383 } else fra.me.REG[5] = once_value_5;
7384 fra.me.REG[5] = fra.me.REG[5];
7385 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
7386 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
7387 fra.me.REG[4] = NEW_AError_lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
7388 /* ./parser//lexer.nit:1650 */
7389 fra.me.REG[3] = fra.me.REG[4];
7390 goto label3;
7391 } else {
7392 /* ./parser//lexer.nit:1652 */
7393 fra.me.REG[2] = NEW_EOF_lexer___EOF___init(fra.me.REG[2]);
7394 /* ./parser//lexer.nit:1653 */
7395 fra.me.REG[3] = fra.me.REG[2];
7396 goto label3;
7397 }
7398 }
7399 }
7400 /* ./parser//lexer.nit:1657 */
7401 REGB10 = TAG_Bool(false);
7402 if (UNTAG_Bool(REGB10)) {
7403 goto label6;
7404 }
7405 }
7406 label6: while(0);
7407 /* ./parser//lexer.nit:1659 */
7408 fra.me.REG[3] = NIT_NULL;
7409 goto label3;
7410 label3: while(0);
7411 stack_frame_head = fra.me.prev;
7412 return fra.me.REG[3];
7413 }
7414 val_t lexer___Lexer___get_char(val_t p0){
7415 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7416 val_t REGB0;
7417 val_t REGB1;
7418 val_t REGB2;
7419 val_t REGB3;
7420 val_t tmp;
7421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7422 fra.me.file = LOCATE_lexer;
7423 fra.me.line = 1662;
7424 fra.me.meth = LOCATE_lexer___Lexer___get_char;
7425 fra.me.has_broke = 0;
7426 fra.me.REG_size = 2;
7427 fra.me.REG[0] = NIT_NULL;
7428 fra.me.REG[1] = NIT_NULL;
7429 fra.me.REG[0] = p0;
7430 /* ./parser//lexer.nit:1666 */
7431 REGB0 = TAG_Bool(ATTR_lexer___Lexer____eof(fra.me.REG[0])!=NIT_NULL);
7432 if (UNTAG_Bool(REGB0)) {
7433 } else {
7434 nit_abort("Uninitialized attribute %s", "_eof", LOCATE_lexer, 1666);
7435 }
7436 REGB0 = ATTR_lexer___Lexer____eof(fra.me.REG[0]);
7437 if (UNTAG_Bool(REGB0)) {
7438 /* ./parser//lexer.nit:1667 */
7439 REGB0 = TAG_Int(1);
7440 /* ./../lib/standard//kernel.nit:216 */
7441 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
7442 /* ./parser//lexer.nit:1667 */
7443 goto label1;
7444 }
7445 /* ./parser//lexer.nit:1672 */
7446 REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
7447 if (UNTAG_Bool(REGB1)) {
7448 } else {
7449 nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1672);
7450 }
7451 REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
7452 /* ./parser//lexer.nit:1673 */
7453 REGB2 = TAG_Int(0);
7454 /* ./../lib/standard//kernel.nit:213 */
7455 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
7456 /* ./parser//lexer.nit:1673 */
7457 if (UNTAG_Bool(REGB2)) {
7458 /* ./parser//lexer.nit:1674 */
7459 REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
7460 if (UNTAG_Bool(REGB2)) {
7461 } else {
7462 nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1674);
7463 }
7464 fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
7465 REGB2 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
7466 if (UNTAG_Bool(REGB2)) {
7467 } else {
7468 nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1674);
7469 }
7470 REGB2 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
7471 REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB2);
7472 /* ./parser//lexer.nit:1675 */
7473 REGB3 = TAG_Int(1);
7474 /* ./../lib/standard//kernel.nit:217 */
7475 REGB3 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB3));
7476 /* ./parser//lexer.nit:1675 */
7477 ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
7478 /* ./../lib/standard//kernel.nit:382 */
7479 REGB2 = TAG_Int((unsigned char)UNTAG_Char(REGB2));
7480 } else {
7481 /* ./parser//lexer.nit:1678 */
7482 REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream(fra.me.REG[0])!=NIT_NULL);
7483 if (UNTAG_Bool(REGB3)) {
7484 } else {
7485 nit_abort("Uninitialized attribute %s", "_stream", LOCATE_lexer, 1678);
7486 }
7487 fra.me.REG[1] = ATTR_lexer___Lexer____stream(fra.me.REG[0]);
7488 REGB3 = CALL_stream___IStream___read_char(fra.me.REG[1])(fra.me.REG[1]);
7489 REGB2 = REGB3;
7490 }
7491 /* ./parser//lexer.nit:1681 */
7492 REGB3 = TAG_Int(1);
7493 /* ./../lib/standard//kernel.nit:216 */
7494 REGB3 = TAG_Int(-UNTAG_Int(REGB3));
7495 /* ./parser//lexer.nit:1681 */
7496 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
7497 if (UNTAG_Bool(REGB1)) {
7498 } else {
7499 /* ./../lib/standard//kernel.nit:207 */
7500 REGB3 = TAG_Bool((REGB2)==(REGB3));
7501 /* ./parser//lexer.nit:1681 */
7502 REGB1 = REGB3;
7503 }
7504 if (UNTAG_Bool(REGB1)) {
7505 /* ./parser//lexer.nit:1682 */
7506 REGB1 = TAG_Bool(true);
7507 ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
7508 }
7509 /* ./parser//lexer.nit:1685 */
7510 REGB0 = REGB2;
7511 goto label1;
7512 label1: while(0);
7513 stack_frame_head = fra.me.prev;
7514 return REGB0;
7515 }
7516 void lexer___Lexer___push_back(val_t p0, val_t p1){
7517 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
7518 val_t REGB0;
7519 val_t REGB1;
7520 val_t REGB2;
7521 val_t REGB3;
7522 val_t tmp;
7523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7524 fra.me.file = LOCATE_lexer;
7525 fra.me.line = 1688;
7526 fra.me.meth = LOCATE_lexer___Lexer___push_back;
7527 fra.me.has_broke = 0;
7528 fra.me.REG_size = 3;
7529 fra.me.REG[0] = NIT_NULL;
7530 fra.me.REG[1] = NIT_NULL;
7531 fra.me.REG[2] = NIT_NULL;
7532 fra.me.REG[0] = p0;
7533 REGB0 = p1;
7534 /* ./parser//lexer.nit:1692 */
7535 REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
7536 if (UNTAG_Bool(REGB1)) {
7537 } else {
7538 nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1692);
7539 }
7540 fra.me.REG[1] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
7541 /* ./../lib/standard//collection//array.nit:23 */
7542 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
7543 if (UNTAG_Bool(REGB1)) {
7544 } else {
7545 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
7546 }
7547 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
7548 /* ./parser//lexer.nit:1693 */
7549 REGB2 = TAG_Int(1);
7550 /* ./../lib/standard//kernel.nit:217 */
7551 REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
7552 /* ./parser//lexer.nit:1694 */
7553 while(1) {
7554 /* ./../lib/standard//kernel.nit:213 */
7555 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
7556 /* ./parser//lexer.nit:1694 */
7557 if (UNTAG_Bool(REGB1)) {
7558 /* ./parser//lexer.nit:1695 */
7559 REGB1 = TAG_Bool(false);
7560 ATTR_lexer___Lexer____eof(fra.me.REG[0]) = REGB1;
7561 /* ./parser//lexer.nit:1696 */
7562 REGB1 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
7563 if (UNTAG_Bool(REGB1)) {
7564 } else {
7565 nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1696);
7566 }
7567 REGB1 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
7568 REGB3 = TAG_Int(1);
7569 /* ./../lib/standard//kernel.nit:215 */
7570 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
7571 /* ./parser//lexer.nit:1696 */
7572 ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]) = REGB3;
7573 /* ./parser//lexer.nit:1697 */
7574 REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_buf(fra.me.REG[0])!=NIT_NULL);
7575 if (UNTAG_Bool(REGB3)) {
7576 } else {
7577 nit_abort("Uninitialized attribute %s", "_stream_buf", LOCATE_lexer, 1697);
7578 }
7579 fra.me.REG[1] = ATTR_lexer___Lexer____stream_buf(fra.me.REG[0]);
7580 REGB3 = TAG_Bool(ATTR_lexer___Lexer____stream_pos(fra.me.REG[0])!=NIT_NULL);
7581 if (UNTAG_Bool(REGB3)) {
7582 } else {
7583 nit_abort("Uninitialized attribute %s", "_stream_pos", LOCATE_lexer, 1697);
7584 }
7585 REGB3 = ATTR_lexer___Lexer____stream_pos(fra.me.REG[0]);
7586 REGB1 = TAG_Bool(ATTR_lexer___Lexer____text(fra.me.REG[0])!=NIT_NULL);
7587 if (UNTAG_Bool(REGB1)) {
7588 } else {
7589 nit_abort("Uninitialized attribute %s", "_text", LOCATE_lexer, 1697);
7590 }
7591 fra.me.REG[2] = ATTR_lexer___Lexer____text(fra.me.REG[0]);
7592 REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
7593 CALL_abstract_collection___Map_____braeq(fra.me.REG[1])(fra.me.REG[1], REGB3, REGB1);
7594 /* ./parser//lexer.nit:1698 */
7595 REGB1 = TAG_Int(1);
7596 /* ./../lib/standard//kernel.nit:217 */
7597 REGB1 = TAG_Int(UNTAG_Int(REGB2)-UNTAG_Int(REGB1));
7598 /* ./parser//lexer.nit:1698 */
7599 REGB2 = REGB1;
7600 } else {
7601 /* ./parser//lexer.nit:1694 */
7602 goto label1;
7603 }
7604 }
7605 label1: while(0);
7606 stack_frame_head = fra.me.prev;
7607 return;
7608 }