README: document nit_env.sh
[nit.git] / c_src / nit__lexer_work.sep.1.c
1 #include "nit__lexer_work.sep.0.h"
2 /* method lexer_work#Token#text for (self: Token): String */
3 val* nit__lexer_work___Token___text(val* self) {
4 val* var /* : String */;
5 val* var1 /* : nullable String */;
6 val* var_res /* var res: nullable String */;
7 short int var2 /* : Bool */;
8 short int var3 /* : Bool */;
9 val* var_other /* var other: nullable Object */;
10 short int var5 /* : Bool */;
11 short int var6 /* : Bool */;
12 val* var7 /* : Location */;
13 val* var9 /* : Location */;
14 val* var10 /* : String */;
15 var1 = self->attrs[COLOR_nit__lexer_work__Token___cached_text].val; /* _cached_text on <self:Token> */
16 var_res = var1;
17 if (var_res == NULL) {
18 var2 = 0; /* is null */
19 } else {
20 var2 = 1; /* arg is null and recv is not */
21 }
22 if (0) {
23 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable String> */
24 var_other = ((val*)NULL);
25 {
26 var5 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable String(String)>*/
27 }
28 var6 = !var5;
29 var3 = var6;
30 goto RET_LABEL4;
31 RET_LABEL4:(void)0;
32 }
33 var2 = var3;
34 }
35 if (var2){
36 var = var_res;
37 goto RET_LABEL;
38 } else {
39 }
40 {
41 { /* Inline parser_nodes#ANode#location (self) on <self:Token> */
42 var9 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on <self:Token> */
43 if (unlikely(var9 == NULL)) {
44 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
45 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24);
46 fatal_exit(1);
47 }
48 var7 = var9;
49 RET_LABEL8:(void)0;
50 }
51 }
52 {
53 var10 = nit___nit__Location___text(var7);
54 }
55 var_res = var10;
56 self->attrs[COLOR_nit__lexer_work__Token___cached_text].val = var_res; /* _cached_text on <self:Token> */
57 var = var_res;
58 goto RET_LABEL;
59 RET_LABEL:;
60 return var;
61 }
62 /* method lexer_work#EOF#init_tk for (self: EOF, Location) */
63 void nit__lexer_work___EOF___init_tk(val* self, val* p0) {
64 val* var_loc /* var loc: Location */;
65 static val* varonce;
66 val* var /* : String */;
67 char* var2 /* : NativeString */;
68 val* var3 /* : FlatString */;
69 {
70 { /* Inline kernel#Object#init (self) on <self:EOF> */
71 RET_LABEL1:(void)0;
72 }
73 }
74 var_loc = p0;
75 if (likely(varonce!=NULL)) {
76 var = varonce;
77 } else {
78 var2 = "";
79 var3 = standard___standard__NativeString___to_s_with_length(var2, 0l);
80 var = var3;
81 varonce = var;
82 }
83 self->attrs[COLOR_nit__lexer_work__Token___cached_text].val = var; /* _cached_text on <self:EOF> */
84 self->attrs[COLOR_nit__parser_nodes__ANode___location].val = var_loc; /* _location on <self:EOF> */
85 RET_LABEL:;
86 }
87 /* method lexer_work#AError#message for (self: AError): String */
88 val* nit__lexer_work___AError___message(val* self) {
89 val* var /* : String */;
90 val* var1 /* : String */;
91 var1 = self->attrs[COLOR_nit__lexer_work__AError___message].val; /* _message on <self:AError> */
92 if (unlikely(var1 == NULL)) {
93 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message");
94 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 50);
95 fatal_exit(1);
96 }
97 var = var1;
98 RET_LABEL:;
99 return var;
100 }
101 /* method lexer_work#AError#message= for (self: AError, String) */
102 void nit__lexer_work___AError___message_61d(val* self, val* p0) {
103 self->attrs[COLOR_nit__lexer_work__AError___message].val = p0; /* _message on <self:AError> */
104 RET_LABEL:;
105 }
106 /* method lexer_work#AError#init_error for (self: AError, String, Location) */
107 void nit__lexer_work___AError___init_error(val* self, val* p0, val* p1) {
108 val* var_message /* var message: String */;
109 val* var_loc /* var loc: Location */;
110 var_message = p0;
111 var_loc = p1;
112 {
113 nit__lexer_work___EOF___init_tk(self, var_loc); /* Direct call lexer_work#EOF#init_tk on <self:AError>*/
114 }
115 {
116 { /* Inline lexer_work#AError#message= (self,var_message) on <self:AError> */
117 self->attrs[COLOR_nit__lexer_work__AError___message].val = var_message; /* _message on <self:AError> */
118 RET_LABEL1:(void)0;
119 }
120 }
121 RET_LABEL:;
122 }
123 /* method lexer_work#ALexerError#string= for (self: ALexerError, String) */
124 void nit__lexer_work___ALexerError___string_61d(val* self, val* p0) {
125 self->attrs[COLOR_nit__lexer_work__ALexerError___string].val = p0; /* _string on <self:ALexerError> */
126 RET_LABEL:;
127 }
128 /* method lexer_work#ALexerError#init_lexer_error for (self: ALexerError, String, Location, String) */
129 void nit__lexer_work___ALexerError___init_lexer_error(val* self, val* p0, val* p1, val* p2) {
130 val* var_message /* var message: String */;
131 val* var_loc /* var loc: Location */;
132 val* var_string /* var string: String */;
133 var_message = p0;
134 var_loc = p1;
135 var_string = p2;
136 {
137 nit__lexer_work___AError___init_error(self, var_message, var_loc); /* Direct call lexer_work#AError#init_error on <self:ALexerError>*/
138 }
139 {
140 { /* Inline lexer_work#ALexerError#string= (self,var_string) on <self:ALexerError> */
141 self->attrs[COLOR_nit__lexer_work__ALexerError___string].val = var_string; /* _string on <self:ALexerError> */
142 RET_LABEL1:(void)0;
143 }
144 }
145 RET_LABEL:;
146 }
147 /* method lexer_work#AParserError#token= for (self: AParserError, Token) */
148 void nit__lexer_work___AParserError___token_61d(val* self, val* p0) {
149 self->attrs[COLOR_nit__lexer_work__AParserError___token].val = p0; /* _token on <self:AParserError> */
150 RET_LABEL:;
151 }
152 /* method lexer_work#AParserError#init_parser_error for (self: AParserError, String, Location, Token) */
153 void nit__lexer_work___AParserError___init_parser_error(val* self, val* p0, val* p1, val* p2) {
154 val* var_message /* var message: String */;
155 val* var_loc /* var loc: Location */;
156 val* var_token /* var token: Token */;
157 var_message = p0;
158 var_loc = p1;
159 var_token = p2;
160 {
161 nit__lexer_work___AError___init_error(self, var_message, var_loc); /* Direct call lexer_work#AError#init_error on <self:AParserError>*/
162 }
163 {
164 { /* Inline lexer_work#AParserError#token= (self,var_token) on <self:AParserError> */
165 self->attrs[COLOR_nit__lexer_work__AParserError___token].val = var_token; /* _token on <self:AParserError> */
166 RET_LABEL1:(void)0;
167 }
168 }
169 RET_LABEL:;
170 }
171 /* method lexer_work#Lexer#file for (self: Lexer): SourceFile */
172 val* nit___nit__Lexer___file(val* self) {
173 val* var /* : SourceFile */;
174 val* var1 /* : SourceFile */;
175 var1 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
176 if (unlikely(var1 == NULL)) {
177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
179 fatal_exit(1);
180 }
181 var = var1;
182 RET_LABEL:;
183 return var;
184 }
185 /* method lexer_work#Lexer#file= for (self: Lexer, SourceFile) */
186 void nit___nit__Lexer___file_61d(val* self, val* p0) {
187 self->attrs[COLOR_nit__lexer_work__Lexer___file].val = p0; /* _file on <self:Lexer> */
188 RET_LABEL:;
189 }
190 /* method lexer_work#Lexer#last_token for (self: Lexer): nullable Token */
191 val* nit___nit__Lexer___last_token(val* self) {
192 val* var /* : nullable Token */;
193 val* var1 /* : nullable Token */;
194 var1 = self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val; /* _last_token on <self:Lexer> */
195 var = var1;
196 RET_LABEL:;
197 return var;
198 }
199 /* method lexer_work#Lexer#last_token= for (self: Lexer, nullable Token) */
200 void nit___nit__Lexer___last_token_61d(val* self, val* p0) {
201 self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val = p0; /* _last_token on <self:Lexer> */
202 RET_LABEL:;
203 }
204 /* method lexer_work#Lexer#peek for (self: Lexer): Token */
205 val* nit___nit__Lexer___peek(val* self) {
206 val* var /* : Token */;
207 val* var1 /* : nullable Token */;
208 val* var_t /* var t: nullable Token */;
209 short int var2 /* : Bool */;
210 short int var3 /* : Bool */;
211 val* var_other /* var other: nullable Object */;
212 short int var5 /* : Bool */;
213 short int var6 /* : Bool */;
214 val* var7 /* : nullable Token */;
215 short int var8 /* : Bool */;
216 short int var9 /* : Bool */;
217 val* var_other11 /* var other: nullable Object */;
218 short int var12 /* : Bool */;
219 short int var14 /* : Bool */;
220 val* var15 /* : nullable Token */;
221 short int var16 /* : Bool */;
222 val* var17 /* : nullable Token */;
223 val* var19 /* : nullable Token */;
224 val* var_l /* var l: nullable Token */;
225 short int var20 /* : Bool */;
226 short int var21 /* : Bool */;
227 short int var23 /* : Bool */;
228 short int var24 /* : Bool */;
229 val* var27 /* : SourceFile */;
230 val* var29 /* : SourceFile */;
231 var1 = self->attrs[COLOR_nit__lexer_work__Lexer___token].val; /* _token on <self:Lexer> */
232 var_t = var1;
233 if (var_t == NULL) {
234 var2 = 0; /* is null */
235 } else {
236 var2 = 1; /* arg is null and recv is not */
237 }
238 if (0) {
239 { /* Inline kernel#Object#!= (var_t,((val*)NULL)) on <var_t:nullable Token> */
240 var_other = ((val*)NULL);
241 {
242 var5 = ((short int(*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_t, var_other); /* == on <var_t:nullable Token(Token)>*/
243 }
244 var6 = !var5;
245 var3 = var6;
246 goto RET_LABEL4;
247 RET_LABEL4:(void)0;
248 }
249 var2 = var3;
250 }
251 if (var2){
252 var = var_t;
253 goto RET_LABEL;
254 } else {
255 }
256 {
257 var7 = nit___nit__Lexer___get_token(self);
258 }
259 var_t = var7;
260 for(;;) {
261 if (var_t == NULL) {
262 var8 = 1; /* is null */
263 } else {
264 var8 = 0; /* arg is null but recv is not */
265 }
266 if (0) {
267 { /* Inline kernel#Object#== (var_t,((val*)NULL)) on <var_t:nullable Token> */
268 var_other11 = ((val*)NULL);
269 {
270 { /* Inline kernel#Object#is_same_instance (var_t,var_other11) on <var_t:nullable Token(Token)> */
271 var14 = var_t == var_other11;
272 var12 = var14;
273 goto RET_LABEL13;
274 RET_LABEL13:(void)0;
275 }
276 }
277 var9 = var12;
278 goto RET_LABEL10;
279 RET_LABEL10:(void)0;
280 }
281 var8 = var9;
282 }
283 if (var8){
284 {
285 var15 = nit___nit__Lexer___get_token(self);
286 }
287 var_t = var15;
288 } else {
289 goto BREAK_label;
290 }
291 }
292 BREAK_label: (void)0;
293 var16 = var_t->attrs[COLOR_nit__parser_nodes__ANode___location].val != NULL; /* _location on <var_t:nullable Token(Token)> */
294 if (var16){
295 {
296 { /* Inline lexer_work#Lexer#last_token (self) on <self:Lexer> */
297 var19 = self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val; /* _last_token on <self:Lexer> */
298 var17 = var19;
299 RET_LABEL18:(void)0;
300 }
301 }
302 var_l = var17;
303 if (var_l == NULL) {
304 var20 = 0; /* is null */
305 } else {
306 var20 = 1; /* arg is null and recv is not */
307 }
308 if (0) {
309 { /* Inline kernel#Object#!= (var_l,((val*)NULL)) on <var_l:nullable Token> */
310 var_other = ((val*)NULL);
311 {
312 var23 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on <var_l:nullable Token(Token)>*/
313 }
314 var24 = !var23;
315 var21 = var24;
316 goto RET_LABEL22;
317 RET_LABEL22:(void)0;
318 }
319 var20 = var21;
320 }
321 if (var20){
322 {
323 { /* Inline parser_nodes#Token#next_token= (var_l,var_t) on <var_l:nullable Token(Token)> */
324 var_l->attrs[COLOR_nit__parser_nodes__Token___next_token].val = var_t; /* _next_token on <var_l:nullable Token(Token)> */
325 RET_LABEL25:(void)0;
326 }
327 }
328 {
329 { /* Inline parser_nodes#Token#prev_token= (var_t,var_l) on <var_t:nullable Token(Token)> */
330 var_t->attrs[COLOR_nit__parser_nodes__Token___prev_token].val = var_l; /* _prev_token on <var_t:nullable Token(Token)> */
331 RET_LABEL26:(void)0;
332 }
333 }
334 } else {
335 {
336 { /* Inline lexer_work#Lexer#file (self) on <self:Lexer> */
337 var29 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
338 if (unlikely(var29 == NULL)) {
339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
340 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
341 fatal_exit(1);
342 }
343 var27 = var29;
344 RET_LABEL28:(void)0;
345 }
346 }
347 {
348 { /* Inline parser_nodes#SourceFile#first_token= (var27,var_t) on <var27:SourceFile> */
349 var27->attrs[COLOR_nit__parser_nodes__SourceFile___first_token].val = var_t; /* _first_token on <var27:SourceFile> */
350 RET_LABEL30:(void)0;
351 }
352 }
353 }
354 {
355 { /* Inline lexer_work#Lexer#last_token= (self,var_t) on <self:Lexer> */
356 self->attrs[COLOR_nit__lexer_work__Lexer___last_token].val = var_t; /* _last_token on <self:Lexer> */
357 RET_LABEL31:(void)0;
358 }
359 }
360 } else {
361 }
362 self->attrs[COLOR_nit__lexer_work__Lexer___token].val = var_t; /* _token on <self:Lexer> */
363 var = var_t;
364 goto RET_LABEL;
365 RET_LABEL:;
366 return var;
367 }
368 /* method lexer_work#Lexer#next for (self: Lexer): Token */
369 val* nit___nit__Lexer___next(val* self) {
370 val* var /* : Token */;
371 val* var1 /* : Token */;
372 val* var_result /* var result: Token */;
373 {
374 var1 = nit___nit__Lexer___peek(self);
375 }
376 var_result = var1;
377 self->attrs[COLOR_nit__lexer_work__Lexer___token].val = ((val*)NULL); /* _token on <self:Lexer> */
378 var = var_result;
379 goto RET_LABEL;
380 RET_LABEL:;
381 return var;
382 }
383 /* method lexer_work#Lexer#get_token for (self: Lexer): nullable Token */
384 val* nit___nit__Lexer___get_token(val* self) {
385 val* var /* : nullable Token */;
386 long var_dfa_state /* var dfa_state: Int */;
387 long var1 /* : Int */;
388 long var_sp /* var sp: Int */;
389 long var_start_stream_pos /* var start_stream_pos: Int */;
390 long var2 /* : Int */;
391 long var_start_pos /* var start_pos: Int */;
392 long var3 /* : Int */;
393 long var_start_line /* var start_line: Int */;
394 val* var4 /* : SourceFile */;
395 val* var6 /* : SourceFile */;
396 val* var_file /* var file: SourceFile */;
397 val* var7 /* : String */;
398 val* var9 /* : String */;
399 val* var_string /* var string: String */;
400 long var10 /* : Int */;
401 long var_string_len /* var string_len: Int */;
402 long var11 /* : Int */;
403 long var13 /* : Int */;
404 long var_accept_state /* var accept_state: Int */;
405 long var14 /* : Int */;
406 long var16 /* : Int */;
407 long var_accept_token /* var accept_token: Int */;
408 long var17 /* : Int */;
409 long var19 /* : Int */;
410 long var_accept_length /* var accept_length: Int */;
411 long var20 /* : Int */;
412 long var22 /* : Int */;
413 long var_accept_pos /* var accept_pos: Int */;
414 long var23 /* : Int */;
415 long var25 /* : Int */;
416 long var_accept_line /* var accept_line: Int */;
417 short int var26 /* : Bool */;
418 short int var28 /* : Bool */;
419 int cltype;
420 int idtype;
421 const char* var_class_name;
422 short int var29 /* : Bool */;
423 long var30 /* : Int */;
424 long var32 /* : Int */;
425 uint32_t var33 /* : Char */;
426 long var34 /* : Int */;
427 long var36 /* : Int */;
428 long var_c /* var c: Int */;
429 long var37 /* : Int */;
430 short int var39 /* : Bool */;
431 int cltype40;
432 int idtype41;
433 const char* var_class_name42;
434 long var43 /* : Int */;
435 short int var44 /* : Bool */;
436 short int var_cr /* var cr: Bool */;
437 long var45 /* : Int */;
438 long var_line /* var line: Int */;
439 long var46 /* : Int */;
440 long var_pos /* var pos: Int */;
441 short int var47 /* : Bool */;
442 short int var49 /* : Bool */;
443 val* var50 /* : Array[Int] */;
444 val* var52 /* : Array[Int] */;
445 val* var53 /* : nullable Object */;
446 long var54 /* : Int */;
447 short int var56 /* : Bool */;
448 int cltype57;
449 int idtype58;
450 const char* var_class_name59;
451 long var60 /* : Int */;
452 val* var61 /* : Array[Int] */;
453 val* var63 /* : Array[Int] */;
454 val* var64 /* : nullable Object */;
455 short int var65 /* : Bool */;
456 short int var67 /* : Bool */;
457 long var68 /* : Int */;
458 short int var70 /* : Bool */;
459 int cltype71;
460 int idtype72;
461 const char* var_class_name73;
462 long var74 /* : Int */;
463 val* var75 /* : Array[Int] */;
464 val* var77 /* : Array[Int] */;
465 val* var78 /* : nullable Object */;
466 long var79 /* : Int */;
467 short int var81 /* : Bool */;
468 int cltype82;
469 int idtype83;
470 const char* var_class_name84;
471 long var85 /* : Int */;
472 long var_old_state /* var old_state: Int */;
473 long var86 /* : Int */;
474 long var88 /* : Int */;
475 short int var89 /* : Bool */;
476 short int var91 /* : Bool */;
477 int cltype92;
478 int idtype93;
479 const char* var_class_name94;
480 short int var95 /* : Bool */;
481 long var96 /* : Int */;
482 long var98 /* : Int */;
483 long var99 /* : Int */;
484 short int var101 /* : Bool */;
485 int cltype102;
486 int idtype103;
487 const char* var_class_name104;
488 long var105 /* : Int */;
489 long var106 /* : Int */;
490 long var108 /* : Int */;
491 long var_low /* var low: Int */;
492 long var109 /* : Int */;
493 long var111 /* : Int for extern */;
494 long var112 /* : Int */;
495 short int var114 /* : Bool */;
496 int cltype115;
497 int idtype116;
498 const char* var_class_name117;
499 long var118 /* : Int */;
500 long var_high /* var high: Int */;
501 short int var119 /* : Bool */;
502 short int var121 /* : Bool */;
503 int cltype122;
504 int idtype123;
505 const char* var_class_name124;
506 short int var125 /* : Bool */;
507 short int var126 /* : Bool */;
508 short int var128 /* : Bool */;
509 int cltype129;
510 int idtype130;
511 const char* var_class_name131;
512 short int var132 /* : Bool */;
513 long var133 /* : Int */;
514 short int var135 /* : Bool */;
515 int cltype136;
516 int idtype137;
517 const char* var_class_name138;
518 long var139 /* : Int */;
519 long var140 /* : Int */;
520 short int var142 /* : Bool */;
521 int cltype143;
522 int idtype144;
523 const char* var_class_name145;
524 long var146 /* : Int */;
525 long var_middle /* var middle: Int */;
526 long var147 /* : Int */;
527 short int var149 /* : Bool */;
528 int cltype150;
529 int idtype151;
530 const char* var_class_name152;
531 long var153 /* : Int */;
532 long var154 /* : Int */;
533 short int var156 /* : Bool */;
534 int cltype157;
535 int idtype158;
536 const char* var_class_name159;
537 long var160 /* : Int */;
538 long var_offset /* var offset: Int */;
539 long var161 /* : Int */;
540 long var163 /* : Int for extern */;
541 short int var164 /* : Bool */;
542 short int var166 /* : Bool */;
543 int cltype167;
544 int idtype168;
545 const char* var_class_name169;
546 short int var170 /* : Bool */;
547 long var171 /* : Int */;
548 short int var173 /* : Bool */;
549 int cltype174;
550 int idtype175;
551 const char* var_class_name176;
552 long var177 /* : Int */;
553 long var178 /* : Int */;
554 short int var180 /* : Bool */;
555 int cltype181;
556 int idtype182;
557 const char* var_class_name183;
558 long var184 /* : Int */;
559 long var185 /* : Int */;
560 long var187 /* : Int for extern */;
561 short int var188 /* : Bool */;
562 short int var190 /* : Bool */;
563 int cltype191;
564 int idtype192;
565 const char* var_class_name193;
566 short int var194 /* : Bool */;
567 long var195 /* : Int */;
568 short int var197 /* : Bool */;
569 int cltype198;
570 int idtype199;
571 const char* var_class_name200;
572 long var201 /* : Int */;
573 long var202 /* : Int */;
574 short int var204 /* : Bool */;
575 int cltype205;
576 int idtype206;
577 const char* var_class_name207;
578 long var208 /* : Int */;
579 long var209 /* : Int */;
580 long var211 /* : Int for extern */;
581 long var212 /* : Int */;
582 long var214 /* : Int */;
583 short int var215 /* : Bool */;
584 short int var217 /* : Bool */;
585 int cltype218;
586 int idtype219;
587 const char* var_class_name220;
588 short int var221 /* : Bool */;
589 short int var223 /* : Bool */;
590 short int var225 /* : Bool */;
591 int cltype226;
592 int idtype227;
593 const char* var_class_name228;
594 short int var229 /* : Bool */;
595 long var230 /* : Int */;
596 long var232 /* : Int for extern */;
597 long var_tok /* var tok: Int */;
598 long var233 /* : Int */;
599 long var235 /* : Int */;
600 short int var236 /* : Bool */;
601 short int var238 /* : Bool */;
602 short int var239 /* : Bool */;
603 long var240 /* : Int */;
604 short int var242 /* : Bool */;
605 int cltype243;
606 int idtype244;
607 const char* var_class_name245;
608 long var246 /* : Int */;
609 long var247 /* : Int */;
610 long var248 /* : Int */;
611 long var249 /* : Int */;
612 long var251 /* : Int */;
613 short int var252 /* : Bool */;
614 short int var254 /* : Bool */;
615 short int var255 /* : Bool */;
616 long var256 /* : Int */;
617 short int var258 /* : Bool */;
618 int cltype259;
619 int idtype260;
620 const char* var_class_name261;
621 long var262 /* : Int */;
622 short int var263 /* : Bool */;
623 short int var265 /* : Bool */;
624 val* var266 /* : Location */;
625 long var267 /* : Int */;
626 short int var269 /* : Bool */;
627 int cltype270;
628 int idtype271;
629 const char* var_class_name272;
630 long var273 /* : Int */;
631 long var274 /* : Int */;
632 short int var276 /* : Bool */;
633 int cltype277;
634 int idtype278;
635 const char* var_class_name279;
636 long var280 /* : Int */;
637 long var281 /* : Int */;
638 short int var283 /* : Bool */;
639 int cltype284;
640 int idtype285;
641 const char* var_class_name286;
642 long var287 /* : Int */;
643 val* var_location /* var location: Location */;
644 val* var288 /* : Token */;
645 val* var289 /* : Location */;
646 long var290 /* : Int */;
647 short int var292 /* : Bool */;
648 int cltype293;
649 int idtype294;
650 const char* var_class_name295;
651 long var296 /* : Int */;
652 long var297 /* : Int */;
653 short int var299 /* : Bool */;
654 int cltype300;
655 int idtype301;
656 const char* var_class_name302;
657 long var303 /* : Int */;
658 long var304 /* : Int */;
659 short int var306 /* : Bool */;
660 int cltype307;
661 int idtype308;
662 const char* var_class_name309;
663 long var310 /* : Int */;
664 long var311 /* : Int */;
665 short int var313 /* : Bool */;
666 int cltype314;
667 int idtype315;
668 const char* var_class_name316;
669 long var317 /* : Int */;
670 val* var_location318 /* var location: Location */;
671 short int var319 /* : Bool */;
672 short int var321 /* : Bool */;
673 int cltype322;
674 int idtype323;
675 const char* var_class_name324;
676 short int var325 /* : Bool */;
677 long var326 /* : Int */;
678 short int var328 /* : Bool */;
679 int cltype329;
680 int idtype330;
681 const char* var_class_name331;
682 long var332 /* : Int */;
683 val* var333 /* : Text */;
684 val* var_text /* var text: String */;
685 val* var334 /* : ALexerError */;
686 val* var335 /* : NativeArray[String] */;
687 static val* varonce;
688 static val* varonce336;
689 val* var337 /* : String */;
690 char* var338 /* : NativeString */;
691 val* var339 /* : FlatString */;
692 static val* varonce340;
693 val* var341 /* : String */;
694 char* var342 /* : NativeString */;
695 val* var343 /* : FlatString */;
696 val* var344 /* : String */;
697 val* var_token /* var token: ALexerError */;
698 val* var346 /* : EOF */;
699 val* var_token347 /* var token: EOF */;
700 var_dfa_state = 0l;
701 var1 = self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l; /* _stream_pos on <self:Lexer> */
702 var_sp = var1;
703 var_start_stream_pos = var_sp;
704 var2 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
705 var_start_pos = var2;
706 var3 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
707 var_start_line = var3;
708 {
709 { /* Inline lexer_work#Lexer#file (self) on <self:Lexer> */
710 var6 = self->attrs[COLOR_nit__lexer_work__Lexer___file].val; /* _file on <self:Lexer> */
711 if (unlikely(var6 == NULL)) {
712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 90);
714 fatal_exit(1);
715 }
716 var4 = var6;
717 RET_LABEL5:(void)0;
718 }
719 }
720 var_file = var4;
721 {
722 { /* Inline location#SourceFile#string (var_file) on <var_file:SourceFile> */
723 var9 = var_file->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <var_file:SourceFile> */
724 if (unlikely(var9 == NULL)) {
725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
727 fatal_exit(1);
728 }
729 var7 = var9;
730 RET_LABEL8:(void)0;
731 }
732 }
733 var_string = var7;
734 {
735 var10 = ((long(*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string); /* length on <var_string:String>*/
736 }
737 var_string_len = var10;
738 {
739 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
740 var13 = -1l;
741 var11 = var13;
742 goto RET_LABEL12;
743 RET_LABEL12:(void)0;
744 }
745 }
746 var_accept_state = var11;
747 {
748 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
749 var16 = -1l;
750 var14 = var16;
751 goto RET_LABEL15;
752 RET_LABEL15:(void)0;
753 }
754 }
755 var_accept_token = var14;
756 {
757 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
758 var19 = -1l;
759 var17 = var19;
760 goto RET_LABEL18;
761 RET_LABEL18:(void)0;
762 }
763 }
764 var_accept_length = var17;
765 {
766 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
767 var22 = -1l;
768 var20 = var22;
769 goto RET_LABEL21;
770 RET_LABEL21:(void)0;
771 }
772 }
773 var_accept_pos = var20;
774 {
775 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
776 var25 = -1l;
777 var23 = var25;
778 goto RET_LABEL24;
779 RET_LABEL24:(void)0;
780 }
781 }
782 var_accept_line = var23;
783 for(;;) {
784 {
785 { /* Inline kernel#Int#>= (var_sp,var_string_len) on <var_sp:Int> */
786 /* Covariant cast for argument 0 (i) <var_string_len:Int> isa OTHER */
787 /* <var_string_len:Int> isa OTHER */
788 var28 = 1; /* easy <var_string_len:Int> isa OTHER*/
789 if (unlikely(!var28)) {
790 var_class_name = type_standard__Int.name;
791 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
792 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
793 fatal_exit(1);
794 }
795 var29 = var_sp >= var_string_len;
796 var26 = var29;
797 goto RET_LABEL27;
798 RET_LABEL27:(void)0;
799 }
800 }
801 if (var26){
802 {
803 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
804 var32 = -1l;
805 var30 = var32;
806 goto RET_LABEL31;
807 RET_LABEL31:(void)0;
808 }
809 }
810 var_dfa_state = var30;
811 } else {
812 {
813 var33 = ((uint32_t(*)(val* self, long p0))(var_string->class->vft[COLOR_standard__string__Text___91d_93d]))(var_string, var_sp); /* [] on <var_string:String>*/
814 }
815 {
816 { /* Inline kernel#Char#ascii (var33) on <var33:Char> */
817 var36 = (long)var33;
818 var34 = var36;
819 goto RET_LABEL35;
820 RET_LABEL35:(void)0;
821 }
822 }
823 var_c = var34;
824 {
825 { /* Inline kernel#Int#+ (var_sp,1l) on <var_sp:Int> */
826 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
827 /* <1l:Int> isa OTHER */
828 var39 = 1; /* easy <1l:Int> isa OTHER*/
829 if (unlikely(!var39)) {
830 var_class_name42 = type_standard__Int.name;
831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
832 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
833 fatal_exit(1);
834 }
835 var43 = var_sp + 1l;
836 var37 = var43;
837 goto RET_LABEL38;
838 RET_LABEL38:(void)0;
839 }
840 }
841 var_sp = var37;
842 var44 = self->attrs[COLOR_nit__lexer_work__Lexer___cr].s; /* _cr on <self:Lexer> */
843 var_cr = var44;
844 var45 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
845 var_line = var45;
846 var46 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
847 var_pos = var46;
848 {
849 { /* Inline kernel#Int#== (var_c,10l) on <var_c:Int> */
850 var49 = var_c == 10l;
851 var47 = var49;
852 goto RET_LABEL48;
853 RET_LABEL48:(void)0;
854 }
855 }
856 if (var47){
857 if (var_cr){
858 var_cr = 0;
859 {
860 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
861 var52 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
862 if (unlikely(var52 == NULL)) {
863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
865 fatal_exit(1);
866 }
867 var50 = var52;
868 RET_LABEL51:(void)0;
869 }
870 }
871 {
872 var53 = (val*)(var_sp<<2|1);
873 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var50, var_line, var53); /* Direct call array#Array#[]= on <var50:Array[Int]>*/
874 }
875 } else {
876 {
877 { /* Inline kernel#Int#+ (var_line,1l) on <var_line:Int> */
878 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
879 /* <1l:Int> isa OTHER */
880 var56 = 1; /* easy <1l:Int> isa OTHER*/
881 if (unlikely(!var56)) {
882 var_class_name59 = type_standard__Int.name;
883 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
884 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
885 fatal_exit(1);
886 }
887 var60 = var_line + 1l;
888 var54 = var60;
889 goto RET_LABEL55;
890 RET_LABEL55:(void)0;
891 }
892 }
893 var_line = var54;
894 var_pos = 0l;
895 {
896 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
897 var63 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
898 if (unlikely(var63 == NULL)) {
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
901 fatal_exit(1);
902 }
903 var61 = var63;
904 RET_LABEL62:(void)0;
905 }
906 }
907 {
908 var64 = (val*)(var_sp<<2|1);
909 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var61, var_line, var64); /* Direct call array#Array#[]= on <var61:Array[Int]>*/
910 }
911 }
912 } else {
913 {
914 { /* Inline kernel#Int#== (var_c,13l) on <var_c:Int> */
915 var67 = var_c == 13l;
916 var65 = var67;
917 goto RET_LABEL66;
918 RET_LABEL66:(void)0;
919 }
920 }
921 if (var65){
922 {
923 { /* Inline kernel#Int#+ (var_line,1l) on <var_line:Int> */
924 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
925 /* <1l:Int> isa OTHER */
926 var70 = 1; /* easy <1l:Int> isa OTHER*/
927 if (unlikely(!var70)) {
928 var_class_name73 = type_standard__Int.name;
929 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
930 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
931 fatal_exit(1);
932 }
933 var74 = var_line + 1l;
934 var68 = var74;
935 goto RET_LABEL69;
936 RET_LABEL69:(void)0;
937 }
938 }
939 var_line = var68;
940 var_pos = 0l;
941 var_cr = 1;
942 {
943 { /* Inline location#SourceFile#line_starts (var_file) on <var_file:SourceFile> */
944 var77 = var_file->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var_file:SourceFile> */
945 if (unlikely(var77 == NULL)) {
946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
948 fatal_exit(1);
949 }
950 var75 = var77;
951 RET_LABEL76:(void)0;
952 }
953 }
954 {
955 var78 = (val*)(var_sp<<2|1);
956 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var75, var_line, var78); /* Direct call array#Array#[]= on <var75:Array[Int]>*/
957 }
958 } else {
959 {
960 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
961 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
962 /* <1l:Int> isa OTHER */
963 var81 = 1; /* easy <1l:Int> isa OTHER*/
964 if (unlikely(!var81)) {
965 var_class_name84 = type_standard__Int.name;
966 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84);
967 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
968 fatal_exit(1);
969 }
970 var85 = var_pos + 1l;
971 var79 = var85;
972 goto RET_LABEL80;
973 RET_LABEL80:(void)0;
974 }
975 }
976 var_pos = var79;
977 var_cr = 0;
978 }
979 }
980 for(;;) {
981 var_old_state = var_dfa_state;
982 {
983 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
984 var88 = -1l;
985 var86 = var88;
986 goto RET_LABEL87;
987 RET_LABEL87:(void)0;
988 }
989 }
990 {
991 { /* Inline kernel#Int#< (var_dfa_state,var86) on <var_dfa_state:Int> */
992 /* Covariant cast for argument 0 (i) <var86:Int> isa OTHER */
993 /* <var86:Int> isa OTHER */
994 var91 = 1; /* easy <var86:Int> isa OTHER*/
995 if (unlikely(!var91)) {
996 var_class_name94 = type_standard__Int.name;
997 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94);
998 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
999 fatal_exit(1);
1000 }
1001 var95 = var_dfa_state < var86;
1002 var89 = var95;
1003 goto RET_LABEL90;
1004 RET_LABEL90:(void)0;
1005 }
1006 }
1007 if (var89){
1008 {
1009 { /* Inline kernel#Int#unary - (2l) on <2l:Int> */
1010 var98 = -2l;
1011 var96 = var98;
1012 goto RET_LABEL97;
1013 RET_LABEL97:(void)0;
1014 }
1015 }
1016 {
1017 { /* Inline kernel#Int#- (var96,var_dfa_state) on <var96:Int> */
1018 /* Covariant cast for argument 0 (i) <var_dfa_state:Int> isa OTHER */
1019 /* <var_dfa_state:Int> isa OTHER */
1020 var101 = 1; /* easy <var_dfa_state:Int> isa OTHER*/
1021 if (unlikely(!var101)) {
1022 var_class_name104 = type_standard__Int.name;
1023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104);
1024 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
1025 fatal_exit(1);
1026 }
1027 var105 = var96 - var_dfa_state;
1028 var99 = var105;
1029 goto RET_LABEL100;
1030 RET_LABEL100:(void)0;
1031 }
1032 }
1033 var_old_state = var99;
1034 } else {
1035 }
1036 {
1037 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1038 var108 = -1l;
1039 var106 = var108;
1040 goto RET_LABEL107;
1041 RET_LABEL107:(void)0;
1042 }
1043 }
1044 var_dfa_state = var106;
1045 var_low = 0l;
1046 {
1047 { /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,0l) on <self:Lexer> */
1048 var111 = lexer_goto(self, var_old_state, 0l);
1049 var109 = var111;
1050 goto RET_LABEL110;
1051 RET_LABEL110:(void)0;
1052 }
1053 }
1054 {
1055 { /* Inline kernel#Int#- (var109,1l) on <var109:Int> */
1056 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1057 /* <1l:Int> isa OTHER */
1058 var114 = 1; /* easy <1l:Int> isa OTHER*/
1059 if (unlikely(!var114)) {
1060 var_class_name117 = type_standard__Int.name;
1061 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117);
1062 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
1063 fatal_exit(1);
1064 }
1065 var118 = var109 - 1l;
1066 var112 = var118;
1067 goto RET_LABEL113;
1068 RET_LABEL113:(void)0;
1069 }
1070 }
1071 var_high = var112;
1072 {
1073 { /* Inline kernel#Int#>= (var_high,0l) on <var_high:Int> */
1074 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1075 /* <0l:Int> isa OTHER */
1076 var121 = 1; /* easy <0l:Int> isa OTHER*/
1077 if (unlikely(!var121)) {
1078 var_class_name124 = type_standard__Int.name;
1079 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124);
1080 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
1081 fatal_exit(1);
1082 }
1083 var125 = var_high >= 0l;
1084 var119 = var125;
1085 goto RET_LABEL120;
1086 RET_LABEL120:(void)0;
1087 }
1088 }
1089 if (var119){
1090 for(;;) {
1091 {
1092 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
1093 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
1094 /* <var_high:Int> isa OTHER */
1095 var128 = 1; /* easy <var_high:Int> isa OTHER*/
1096 if (unlikely(!var128)) {
1097 var_class_name131 = type_standard__Int.name;
1098 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name131);
1099 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
1100 fatal_exit(1);
1101 }
1102 var132 = var_low <= var_high;
1103 var126 = var132;
1104 goto RET_LABEL127;
1105 RET_LABEL127:(void)0;
1106 }
1107 }
1108 if (var126){
1109 {
1110 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
1111 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
1112 /* <var_high:Int> isa OTHER */
1113 var135 = 1; /* easy <var_high:Int> isa OTHER*/
1114 if (unlikely(!var135)) {
1115 var_class_name138 = type_standard__Int.name;
1116 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name138);
1117 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1118 fatal_exit(1);
1119 }
1120 var139 = var_low + var_high;
1121 var133 = var139;
1122 goto RET_LABEL134;
1123 RET_LABEL134:(void)0;
1124 }
1125 }
1126 {
1127 { /* Inline kernel#Int#/ (var133,2l) on <var133:Int> */
1128 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1129 /* <2l:Int> isa OTHER */
1130 var142 = 1; /* easy <2l:Int> isa OTHER*/
1131 if (unlikely(!var142)) {
1132 var_class_name145 = type_standard__Int.name;
1133 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145);
1134 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542);
1135 fatal_exit(1);
1136 }
1137 var146 = var133 / 2l;
1138 var140 = var146;
1139 goto RET_LABEL141;
1140 RET_LABEL141:(void)0;
1141 }
1142 }
1143 var_middle = var140;
1144 {
1145 { /* Inline kernel#Int#* (var_middle,3l) on <var_middle:Int> */
1146 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
1147 /* <3l:Int> isa OTHER */
1148 var149 = 1; /* easy <3l:Int> isa OTHER*/
1149 if (unlikely(!var149)) {
1150 var_class_name152 = type_standard__Int.name;
1151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name152);
1152 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541);
1153 fatal_exit(1);
1154 }
1155 var153 = var_middle * 3l;
1156 var147 = var153;
1157 goto RET_LABEL148;
1158 RET_LABEL148:(void)0;
1159 }
1160 }
1161 {
1162 { /* Inline kernel#Int#+ (var147,1l) on <var147:Int> */
1163 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1164 /* <1l:Int> isa OTHER */
1165 var156 = 1; /* easy <1l:Int> isa OTHER*/
1166 if (unlikely(!var156)) {
1167 var_class_name159 = type_standard__Int.name;
1168 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name159);
1169 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1170 fatal_exit(1);
1171 }
1172 var160 = var147 + 1l;
1173 var154 = var160;
1174 goto RET_LABEL155;
1175 RET_LABEL155:(void)0;
1176 }
1177 }
1178 var_offset = var154;
1179 {
1180 { /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var_offset) on <self:Lexer> */
1181 var163 = lexer_goto(self, var_old_state, var_offset);
1182 var161 = var163;
1183 goto RET_LABEL162;
1184 RET_LABEL162:(void)0;
1185 }
1186 }
1187 {
1188 { /* Inline kernel#Int#< (var_c,var161) on <var_c:Int> */
1189 /* Covariant cast for argument 0 (i) <var161:Int> isa OTHER */
1190 /* <var161:Int> isa OTHER */
1191 var166 = 1; /* easy <var161:Int> isa OTHER*/
1192 if (unlikely(!var166)) {
1193 var_class_name169 = type_standard__Int.name;
1194 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name169);
1195 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
1196 fatal_exit(1);
1197 }
1198 var170 = var_c < var161;
1199 var164 = var170;
1200 goto RET_LABEL165;
1201 RET_LABEL165:(void)0;
1202 }
1203 }
1204 if (var164){
1205 {
1206 { /* Inline kernel#Int#- (var_middle,1l) on <var_middle:Int> */
1207 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1208 /* <1l:Int> isa OTHER */
1209 var173 = 1; /* easy <1l:Int> isa OTHER*/
1210 if (unlikely(!var173)) {
1211 var_class_name176 = type_standard__Int.name;
1212 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name176);
1213 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
1214 fatal_exit(1);
1215 }
1216 var177 = var_middle - 1l;
1217 var171 = var177;
1218 goto RET_LABEL172;
1219 RET_LABEL172:(void)0;
1220 }
1221 }
1222 var_high = var171;
1223 } else {
1224 {
1225 { /* Inline kernel#Int#+ (var_offset,1l) on <var_offset:Int> */
1226 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1227 /* <1l:Int> isa OTHER */
1228 var180 = 1; /* easy <1l:Int> isa OTHER*/
1229 if (unlikely(!var180)) {
1230 var_class_name183 = type_standard__Int.name;
1231 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183);
1232 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1233 fatal_exit(1);
1234 }
1235 var184 = var_offset + 1l;
1236 var178 = var184;
1237 goto RET_LABEL179;
1238 RET_LABEL179:(void)0;
1239 }
1240 }
1241 {
1242 { /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var178) on <self:Lexer> */
1243 var187 = lexer_goto(self, var_old_state, var178);
1244 var185 = var187;
1245 goto RET_LABEL186;
1246 RET_LABEL186:(void)0;
1247 }
1248 }
1249 {
1250 { /* Inline kernel#Int#> (var_c,var185) on <var_c:Int> */
1251 /* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
1252 /* <var185:Int> isa OTHER */
1253 var190 = 1; /* easy <var185:Int> isa OTHER*/
1254 if (unlikely(!var190)) {
1255 var_class_name193 = type_standard__Int.name;
1256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name193);
1257 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
1258 fatal_exit(1);
1259 }
1260 var194 = var_c > var185;
1261 var188 = var194;
1262 goto RET_LABEL189;
1263 RET_LABEL189:(void)0;
1264 }
1265 }
1266 if (var188){
1267 {
1268 { /* Inline kernel#Int#+ (var_middle,1l) on <var_middle:Int> */
1269 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1270 /* <1l:Int> isa OTHER */
1271 var197 = 1; /* easy <1l:Int> isa OTHER*/
1272 if (unlikely(!var197)) {
1273 var_class_name200 = type_standard__Int.name;
1274 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name200);
1275 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1276 fatal_exit(1);
1277 }
1278 var201 = var_middle + 1l;
1279 var195 = var201;
1280 goto RET_LABEL196;
1281 RET_LABEL196:(void)0;
1282 }
1283 }
1284 var_low = var195;
1285 } else {
1286 {
1287 { /* Inline kernel#Int#+ (var_offset,2l) on <var_offset:Int> */
1288 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1289 /* <2l:Int> isa OTHER */
1290 var204 = 1; /* easy <2l:Int> isa OTHER*/
1291 if (unlikely(!var204)) {
1292 var_class_name207 = type_standard__Int.name;
1293 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name207);
1294 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1295 fatal_exit(1);
1296 }
1297 var208 = var_offset + 2l;
1298 var202 = var208;
1299 goto RET_LABEL203;
1300 RET_LABEL203:(void)0;
1301 }
1302 }
1303 {
1304 { /* Inline tables#TablesCapable#lexer_goto (self,var_old_state,var202) on <self:Lexer> */
1305 var211 = lexer_goto(self, var_old_state, var202);
1306 var209 = var211;
1307 goto RET_LABEL210;
1308 RET_LABEL210:(void)0;
1309 }
1310 }
1311 var_dfa_state = var209;
1312 goto BREAK_label;
1313 }
1314 }
1315 } else {
1316 goto BREAK_label;
1317 }
1318 }
1319 BREAK_label: (void)0;
1320 } else {
1321 }
1322 {
1323 { /* Inline kernel#Int#unary - (2l) on <2l:Int> */
1324 var214 = -2l;
1325 var212 = var214;
1326 goto RET_LABEL213;
1327 RET_LABEL213:(void)0;
1328 }
1329 }
1330 {
1331 { /* Inline kernel#Int#> (var_dfa_state,var212) on <var_dfa_state:Int> */
1332 /* Covariant cast for argument 0 (i) <var212:Int> isa OTHER */
1333 /* <var212:Int> isa OTHER */
1334 var217 = 1; /* easy <var212:Int> isa OTHER*/
1335 if (unlikely(!var217)) {
1336 var_class_name220 = type_standard__Int.name;
1337 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name220);
1338 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
1339 fatal_exit(1);
1340 }
1341 var221 = var_dfa_state > var212;
1342 var215 = var221;
1343 goto RET_LABEL216;
1344 RET_LABEL216:(void)0;
1345 }
1346 }
1347 if (var215){
1348 goto BREAK_label222;
1349 } else {
1350 }
1351 }
1352 BREAK_label222: (void)0;
1353 self->attrs[COLOR_nit__lexer_work__Lexer___cr].s = var_cr; /* _cr on <self:Lexer> */
1354 self->attrs[COLOR_nit__lexer_work__Lexer___line].l = var_line; /* _line on <self:Lexer> */
1355 self->attrs[COLOR_nit__lexer_work__Lexer___pos].l = var_pos; /* _pos on <self:Lexer> */
1356 }
1357 {
1358 { /* Inline kernel#Int#>= (var_dfa_state,0l) on <var_dfa_state:Int> */
1359 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1360 /* <0l:Int> isa OTHER */
1361 var225 = 1; /* easy <0l:Int> isa OTHER*/
1362 if (unlikely(!var225)) {
1363 var_class_name228 = type_standard__Int.name;
1364 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name228);
1365 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
1366 fatal_exit(1);
1367 }
1368 var229 = var_dfa_state >= 0l;
1369 var223 = var229;
1370 goto RET_LABEL224;
1371 RET_LABEL224:(void)0;
1372 }
1373 }
1374 if (var223){
1375 {
1376 { /* Inline tables#TablesCapable#lexer_accept (self,var_dfa_state) on <self:Lexer> */
1377 var232 = lexer_accept(self, var_dfa_state);
1378 var230 = var232;
1379 goto RET_LABEL231;
1380 RET_LABEL231:(void)0;
1381 }
1382 }
1383 var_tok = var230;
1384 {
1385 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1386 var235 = -1l;
1387 var233 = var235;
1388 goto RET_LABEL234;
1389 RET_LABEL234:(void)0;
1390 }
1391 }
1392 {
1393 { /* Inline kernel#Int#!= (var_tok,var233) on <var_tok:Int> */
1394 var238 = var_tok == var233;
1395 var239 = !var238;
1396 var236 = var239;
1397 goto RET_LABEL237;
1398 RET_LABEL237:(void)0;
1399 }
1400 }
1401 if (var236){
1402 var_accept_state = var_dfa_state;
1403 var_accept_token = var_tok;
1404 {
1405 { /* Inline kernel#Int#- (var_sp,var_start_stream_pos) on <var_sp:Int> */
1406 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
1407 /* <var_start_stream_pos:Int> isa OTHER */
1408 var242 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
1409 if (unlikely(!var242)) {
1410 var_class_name245 = type_standard__Int.name;
1411 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name245);
1412 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
1413 fatal_exit(1);
1414 }
1415 var246 = var_sp - var_start_stream_pos;
1416 var240 = var246;
1417 goto RET_LABEL241;
1418 RET_LABEL241:(void)0;
1419 }
1420 }
1421 var_accept_length = var240;
1422 var247 = self->attrs[COLOR_nit__lexer_work__Lexer___pos].l; /* _pos on <self:Lexer> */
1423 var_accept_pos = var247;
1424 var248 = self->attrs[COLOR_nit__lexer_work__Lexer___line].l; /* _line on <self:Lexer> */
1425 var_accept_line = var248;
1426 } else {
1427 }
1428 } else {
1429 {
1430 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1431 var251 = -1l;
1432 var249 = var251;
1433 goto RET_LABEL250;
1434 RET_LABEL250:(void)0;
1435 }
1436 }
1437 {
1438 { /* Inline kernel#Int#!= (var_accept_state,var249) on <var_accept_state:Int> */
1439 var254 = var_accept_state == var249;
1440 var255 = !var254;
1441 var252 = var255;
1442 goto RET_LABEL253;
1443 RET_LABEL253:(void)0;
1444 }
1445 }
1446 if (var252){
1447 self->attrs[COLOR_nit__lexer_work__Lexer___pos].l = var_accept_pos; /* _pos on <self:Lexer> */
1448 self->attrs[COLOR_nit__lexer_work__Lexer___line].l = var_accept_line; /* _line on <self:Lexer> */
1449 {
1450 { /* Inline kernel#Int#+ (var_start_stream_pos,var_accept_length) on <var_start_stream_pos:Int> */
1451 /* Covariant cast for argument 0 (i) <var_accept_length:Int> isa OTHER */
1452 /* <var_accept_length:Int> isa OTHER */
1453 var258 = 1; /* easy <var_accept_length:Int> isa OTHER*/
1454 if (unlikely(!var258)) {
1455 var_class_name261 = type_standard__Int.name;
1456 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name261);
1457 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1458 fatal_exit(1);
1459 }
1460 var262 = var_start_stream_pos + var_accept_length;
1461 var256 = var262;
1462 goto RET_LABEL257;
1463 RET_LABEL257:(void)0;
1464 }
1465 }
1466 self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l = var256; /* _stream_pos on <self:Lexer> */
1467 {
1468 { /* Inline kernel#Int#== (var_accept_token,0l) on <var_accept_token:Int> */
1469 var265 = var_accept_token == 0l;
1470 var263 = var265;
1471 goto RET_LABEL264;
1472 RET_LABEL264:(void)0;
1473 }
1474 }
1475 if (var263){
1476 var = ((val*)NULL);
1477 goto RET_LABEL;
1478 } else {
1479 }
1480 var266 = NEW_nit__Location(&type_nit__Location);
1481 {
1482 { /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
1483 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1484 /* <1l:Int> isa OTHER */
1485 var269 = 1; /* easy <1l:Int> isa OTHER*/
1486 if (unlikely(!var269)) {
1487 var_class_name272 = type_standard__Int.name;
1488 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name272);
1489 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1490 fatal_exit(1);
1491 }
1492 var273 = var_start_line + 1l;
1493 var267 = var273;
1494 goto RET_LABEL268;
1495 RET_LABEL268:(void)0;
1496 }
1497 }
1498 {
1499 { /* Inline kernel#Int#+ (var_accept_line,1l) on <var_accept_line:Int> */
1500 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1501 /* <1l:Int> isa OTHER */
1502 var276 = 1; /* easy <1l:Int> isa OTHER*/
1503 if (unlikely(!var276)) {
1504 var_class_name279 = type_standard__Int.name;
1505 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name279);
1506 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1507 fatal_exit(1);
1508 }
1509 var280 = var_accept_line + 1l;
1510 var274 = var280;
1511 goto RET_LABEL275;
1512 RET_LABEL275:(void)0;
1513 }
1514 }
1515 {
1516 { /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
1517 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1518 /* <1l:Int> isa OTHER */
1519 var283 = 1; /* easy <1l:Int> isa OTHER*/
1520 if (unlikely(!var283)) {
1521 var_class_name286 = type_standard__Int.name;
1522 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name286);
1523 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1524 fatal_exit(1);
1525 }
1526 var287 = var_start_pos + 1l;
1527 var281 = var287;
1528 goto RET_LABEL282;
1529 RET_LABEL282:(void)0;
1530 }
1531 }
1532 {
1533 ((void(*)(val* self, val* p0))(var266->class->vft[COLOR_nit__location__Location__file_61d]))(var266, var_file); /* file= on <var266:Location>*/
1534 }
1535 {
1536 ((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__line_start_61d]))(var266, var267); /* line_start= on <var266:Location>*/
1537 }
1538 {
1539 ((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__line_end_61d]))(var266, var274); /* line_end= on <var266:Location>*/
1540 }
1541 {
1542 ((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__column_start_61d]))(var266, var281); /* column_start= on <var266:Location>*/
1543 }
1544 {
1545 ((void(*)(val* self, long p0))(var266->class->vft[COLOR_nit__location__Location__column_end_61d]))(var266, var_accept_pos); /* column_end= on <var266:Location>*/
1546 }
1547 {
1548 ((void(*)(val* self))(var266->class->vft[COLOR_standard__kernel__Object__init]))(var266); /* init on <var266:Location>*/
1549 }
1550 var_location = var266;
1551 {
1552 var288 = nit__lexer___Lexer___make_token(self, var_accept_token, var_location);
1553 }
1554 var = var288;
1555 goto RET_LABEL;
1556 } else {
1557 self->attrs[COLOR_nit__lexer_work__Lexer___stream_pos].l = var_sp; /* _stream_pos on <self:Lexer> */
1558 var289 = NEW_nit__Location(&type_nit__Location);
1559 {
1560 { /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
1561 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1562 /* <1l:Int> isa OTHER */
1563 var292 = 1; /* easy <1l:Int> isa OTHER*/
1564 if (unlikely(!var292)) {
1565 var_class_name295 = type_standard__Int.name;
1566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name295);
1567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1568 fatal_exit(1);
1569 }
1570 var296 = var_start_line + 1l;
1571 var290 = var296;
1572 goto RET_LABEL291;
1573 RET_LABEL291:(void)0;
1574 }
1575 }
1576 {
1577 { /* Inline kernel#Int#+ (var_start_line,1l) on <var_start_line:Int> */
1578 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1579 /* <1l:Int> isa OTHER */
1580 var299 = 1; /* easy <1l:Int> isa OTHER*/
1581 if (unlikely(!var299)) {
1582 var_class_name302 = type_standard__Int.name;
1583 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name302);
1584 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1585 fatal_exit(1);
1586 }
1587 var303 = var_start_line + 1l;
1588 var297 = var303;
1589 goto RET_LABEL298;
1590 RET_LABEL298:(void)0;
1591 }
1592 }
1593 {
1594 { /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
1595 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1596 /* <1l:Int> isa OTHER */
1597 var306 = 1; /* easy <1l:Int> isa OTHER*/
1598 if (unlikely(!var306)) {
1599 var_class_name309 = type_standard__Int.name;
1600 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name309);
1601 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1602 fatal_exit(1);
1603 }
1604 var310 = var_start_pos + 1l;
1605 var304 = var310;
1606 goto RET_LABEL305;
1607 RET_LABEL305:(void)0;
1608 }
1609 }
1610 {
1611 { /* Inline kernel#Int#+ (var_start_pos,1l) on <var_start_pos:Int> */
1612 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1613 /* <1l:Int> isa OTHER */
1614 var313 = 1; /* easy <1l:Int> isa OTHER*/
1615 if (unlikely(!var313)) {
1616 var_class_name316 = type_standard__Int.name;
1617 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name316);
1618 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1619 fatal_exit(1);
1620 }
1621 var317 = var_start_pos + 1l;
1622 var311 = var317;
1623 goto RET_LABEL312;
1624 RET_LABEL312:(void)0;
1625 }
1626 }
1627 {
1628 ((void(*)(val* self, val* p0))(var289->class->vft[COLOR_nit__location__Location__file_61d]))(var289, var_file); /* file= on <var289:Location>*/
1629 }
1630 {
1631 ((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__line_start_61d]))(var289, var290); /* line_start= on <var289:Location>*/
1632 }
1633 {
1634 ((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__line_end_61d]))(var289, var297); /* line_end= on <var289:Location>*/
1635 }
1636 {
1637 ((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__column_start_61d]))(var289, var304); /* column_start= on <var289:Location>*/
1638 }
1639 {
1640 ((void(*)(val* self, long p0))(var289->class->vft[COLOR_nit__location__Location__column_end_61d]))(var289, var311); /* column_end= on <var289:Location>*/
1641 }
1642 {
1643 ((void(*)(val* self))(var289->class->vft[COLOR_standard__kernel__Object__init]))(var289); /* init on <var289:Location>*/
1644 }
1645 var_location318 = var289;
1646 {
1647 { /* Inline kernel#Int#> (var_sp,var_start_stream_pos) on <var_sp:Int> */
1648 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
1649 /* <var_start_stream_pos:Int> isa OTHER */
1650 var321 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
1651 if (unlikely(!var321)) {
1652 var_class_name324 = type_standard__Int.name;
1653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name324);
1654 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
1655 fatal_exit(1);
1656 }
1657 var325 = var_sp > var_start_stream_pos;
1658 var319 = var325;
1659 goto RET_LABEL320;
1660 RET_LABEL320:(void)0;
1661 }
1662 }
1663 if (var319){
1664 {
1665 { /* Inline kernel#Int#- (var_sp,var_start_stream_pos) on <var_sp:Int> */
1666 /* Covariant cast for argument 0 (i) <var_start_stream_pos:Int> isa OTHER */
1667 /* <var_start_stream_pos:Int> isa OTHER */
1668 var328 = 1; /* easy <var_start_stream_pos:Int> isa OTHER*/
1669 if (unlikely(!var328)) {
1670 var_class_name331 = type_standard__Int.name;
1671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name331);
1672 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
1673 fatal_exit(1);
1674 }
1675 var332 = var_sp - var_start_stream_pos;
1676 var326 = var332;
1677 goto RET_LABEL327;
1678 RET_LABEL327:(void)0;
1679 }
1680 }
1681 {
1682 var333 = ((val*(*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var_start_stream_pos, var326); /* substring on <var_string:String>*/
1683 }
1684 var_text = var333;
1685 var334 = NEW_nit__ALexerError(&type_nit__ALexerError);
1686 if (unlikely(varonce==NULL)) {
1687 var335 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
1688 if (likely(varonce336!=NULL)) {
1689 var337 = varonce336;
1690 } else {
1691 var338 = "Syntax Error: unknown token `";
1692 var339 = standard___standard__NativeString___to_s_with_length(var338, 29l);
1693 var337 = var339;
1694 varonce336 = var337;
1695 }
1696 ((struct instance_standard__NativeArray*)var335)->values[0]=var337;
1697 if (likely(varonce340!=NULL)) {
1698 var341 = varonce340;
1699 } else {
1700 var342 = "`.";
1701 var343 = standard___standard__NativeString___to_s_with_length(var342, 2l);
1702 var341 = var343;
1703 varonce340 = var341;
1704 }
1705 ((struct instance_standard__NativeArray*)var335)->values[2]=var341;
1706 } else {
1707 var335 = varonce;
1708 varonce = NULL;
1709 }
1710 ((struct instance_standard__NativeArray*)var335)->values[1]=var_text;
1711 {
1712 var344 = ((val*(*)(val* self))(var335->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var335); /* native_to_s on <var335:NativeArray[String]>*/
1713 }
1714 varonce = var335;
1715 {
1716 nit__lexer_work___ALexerError___init_lexer_error(var334, var344, var_location318, var_text); /* Direct call lexer_work#ALexerError#init_lexer_error on <var334:ALexerError>*/
1717 }
1718 var_token = var334;
1719 {
1720 { /* Inline parser_nodes#SourceFile#last_token= (var_file,var_token) on <var_file:SourceFile> */
1721 var_file->attrs[COLOR_nit__parser_nodes__SourceFile___last_token].val = var_token; /* _last_token on <var_file:SourceFile> */
1722 RET_LABEL345:(void)0;
1723 }
1724 }
1725 var = var_token;
1726 goto RET_LABEL;
1727 } else {
1728 var346 = NEW_nit__EOF(&type_nit__EOF);
1729 {
1730 nit__lexer_work___EOF___init_tk(var346, var_location318); /* Direct call lexer_work#EOF#init_tk on <var346:EOF>*/
1731 }
1732 var_token347 = var346;
1733 {
1734 { /* Inline parser_nodes#SourceFile#last_token= (var_file,var_token347) on <var_file:SourceFile> */
1735 var_file->attrs[COLOR_nit__parser_nodes__SourceFile___last_token].val = var_token347; /* _last_token on <var_file:SourceFile> */
1736 RET_LABEL348:(void)0;
1737 }
1738 }
1739 var = var_token347;
1740 goto RET_LABEL;
1741 }
1742 }
1743 }
1744 }
1745 RET_LABEL:;
1746 return var;
1747 }
1748 /* method lexer_work#Lexer#init for (self: Lexer) */
1749 void nit___nit__Lexer___standard__kernel__Object__init(val* self) {
1750 {
1751 ((void(*)(val* self))(self->class->vft[COLOR_nit___nit__Lexer___standard__kernel__Object__init]))(self); /* init on <self:Lexer>*/
1752 }
1753 RET_LABEL:;
1754 }