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