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