1 #include "nit__parser_work.sep.0.h"
2 /* method parser_work#State#state= for (self: State, Int) */
3 void nit__parser_work___nit__parser_work__State___state_61d(val
* self
, long p0
) {
4 self
->attrs
[COLOR_nit__parser_work__State___state
].l
= p0
; /* _state on <self:State> */
7 /* method parser_work#State#nodes= for (self: State, nullable Object) */
8 void nit__parser_work___nit__parser_work__State___nodes_61d(val
* self
, val
* p0
) {
9 self
->attrs
[COLOR_nit__parser_work__State___nodes
].val
= p0
; /* _nodes on <self:State> */
12 /* method parser_work#State#init for (self: State) */
13 void nit__parser_work___nit__parser_work__State___standard__kernel__Object__init(val
* self
) {
15 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__parser_work___nit__parser_work__State___standard__kernel__Object__init
]))(self
); /* init on <self:State>*/
19 /* method parser_work#Parser#lexer= for (self: Parser, Lexer) */
20 void nit___nit__Parser___lexer_61d(val
* self
, val
* p0
) {
21 self
->attrs
[COLOR_nit__parser_work__Parser___lexer
].val
= p0
; /* _lexer on <self:Parser> */
24 /* method parser_work#Parser#init for (self: Parser) */
25 void nit___nit__Parser___standard__kernel__Object__init(val
* self
) {
27 nit__parser___Parser___build_reduce_table(self
); /* Direct call parser#Parser#build_reduce_table on <self:Parser>*/
31 /* method parser_work#Parser#go_to for (self: Parser, Int): Int */
32 long nit___nit__Parser___go_to(val
* self
, long p0
) {
34 long var_index
/* var index: Int */;
35 long var1
/* : Int */;
36 long var_state
/* var state: Int */;
37 long var_low
/* var low: Int */;
38 long var2
/* : Int */;
39 long var4
/* : Int for extern */;
40 long var5
/* : Int */;
41 short int var7
/* : Bool */;
44 const char* var_class_name
;
45 long var8
/* : Int */;
46 long var_high
/* var high: Int */;
47 short int var9
/* : Bool */;
48 short int var11
/* : Bool */;
51 const char* var_class_name14
;
52 short int var15
/* : Bool */;
53 long var16
/* : Int */;
54 short int var18
/* : Bool */;
57 const char* var_class_name21
;
58 long var22
/* : Int */;
59 long var23
/* : Int */;
60 short int var25
/* : Bool */;
63 const char* var_class_name28
;
64 long var29
/* : Int */;
65 long var_middle
/* var middle: Int */;
66 long var30
/* : Int */;
67 short int var32
/* : Bool */;
70 const char* var_class_name35
;
71 long var36
/* : Int */;
72 long var37
/* : Int */;
73 short int var39
/* : Bool */;
76 const char* var_class_name42
;
77 long var43
/* : Int */;
78 long var_subindex
/* var subindex: Int */;
79 long var44
/* : Int */;
80 long var46
/* : Int for extern */;
81 long var_goal
/* var goal: Int */;
82 short int var47
/* : Bool */;
83 short int var49
/* : Bool */;
86 const char* var_class_name52
;
87 short int var53
/* : Bool */;
88 long var54
/* : Int */;
89 short int var56
/* : Bool */;
92 const char* var_class_name59
;
93 long var60
/* : Int */;
94 short int var61
/* : Bool */;
95 short int var63
/* : Bool */;
98 const char* var_class_name66
;
99 short int var67
/* : Bool */;
100 long var68
/* : Int */;
101 short int var70
/* : Bool */;
104 const char* var_class_name73
;
105 long var74
/* : Int */;
106 long var75
/* : Int */;
107 short int var77
/* : Bool */;
110 const char* var_class_name80
;
111 long var81
/* : Int */;
112 long var82
/* : Int */;
113 long var84
/* : Int for extern */;
114 long var85
/* : Int */;
115 long var87
/* : Int for extern */;
118 var1
= nit___nit__Parser___state(self
);
123 { /* Inline tables#TablesCapable#parser_goto (self,var_index,0l) on <self:Parser> */
124 var4
= parser_goto(self
, var_index
, 0l);
131 { /* Inline kernel#Int#- (var2,1l) on <var2:Int> */
132 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
133 /* <1l:Int> isa OTHER */
134 var7
= 1; /* easy <1l:Int> isa OTHER*/
135 if (unlikely(!var7
)) {
136 var_class_name
= type_standard__Int
.name
;
137 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
138 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
150 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
151 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
152 /* <var_high:Int> isa OTHER */
153 var11
= 1; /* easy <var_high:Int> isa OTHER*/
154 if (unlikely(!var11
)) {
155 var_class_name14
= type_standard__Int
.name
;
156 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
157 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 533);
160 var15
= var_low
<= var_high
;
168 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
169 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
170 /* <var_high:Int> isa OTHER */
171 var18
= 1; /* easy <var_high:Int> isa OTHER*/
172 if (unlikely(!var18
)) {
173 var_class_name21
= type_standard__Int
.name
;
174 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
175 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
178 var22
= var_low
+ var_high
;
185 { /* Inline kernel#Int#/ (var16,2l) on <var16:Int> */
186 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
187 /* <2l:Int> isa OTHER */
188 var25
= 1; /* easy <2l:Int> isa OTHER*/
189 if (unlikely(!var25
)) {
190 var_class_name28
= type_standard__Int
.name
;
191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
192 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 542);
203 { /* Inline kernel#Int#* (var_middle,2l) on <var_middle:Int> */
204 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
205 /* <2l:Int> isa OTHER */
206 var32
= 1; /* easy <2l:Int> isa OTHER*/
207 if (unlikely(!var32
)) {
208 var_class_name35
= type_standard__Int
.name
;
209 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
210 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 541);
213 var36
= var_middle
* 2l;
220 { /* Inline kernel#Int#+ (var30,1l) on <var30:Int> */
221 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
222 /* <1l:Int> isa OTHER */
223 var39
= 1; /* easy <1l:Int> isa OTHER*/
224 if (unlikely(!var39
)) {
225 var_class_name42
= type_standard__Int
.name
;
226 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
227 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
236 var_subindex
= var37
;
238 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var_subindex) on <self:Parser> */
239 var46
= parser_goto(self
, var_index
, var_subindex
);
247 { /* Inline kernel#Int#< (var_state,var_goal) on <var_state:Int> */
248 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
249 /* <var_goal:Int> isa OTHER */
250 var49
= 1; /* easy <var_goal:Int> isa OTHER*/
251 if (unlikely(!var49
)) {
252 var_class_name52
= type_standard__Int
.name
;
253 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
254 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
257 var53
= var_state
< var_goal
;
265 { /* Inline kernel#Int#- (var_middle,1l) on <var_middle:Int> */
266 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
267 /* <1l:Int> isa OTHER */
268 var56
= 1; /* easy <1l:Int> isa OTHER*/
269 if (unlikely(!var56
)) {
270 var_class_name59
= type_standard__Int
.name
;
271 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
272 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
275 var60
= var_middle
- 1l;
284 { /* Inline kernel#Int#> (var_state,var_goal) on <var_state:Int> */
285 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
286 /* <var_goal:Int> isa OTHER */
287 var63
= 1; /* easy <var_goal:Int> isa OTHER*/
288 if (unlikely(!var63
)) {
289 var_class_name66
= type_standard__Int
.name
;
290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
291 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
294 var67
= var_state
> var_goal
;
302 { /* Inline kernel#Int#+ (var_middle,1l) on <var_middle:Int> */
303 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
304 /* <1l:Int> isa OTHER */
305 var70
= 1; /* easy <1l:Int> isa OTHER*/
306 if (unlikely(!var70
)) {
307 var_class_name73
= type_standard__Int
.name
;
308 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73
);
309 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
312 var74
= var_middle
+ 1l;
321 { /* Inline kernel#Int#+ (var_subindex,1l) on <var_subindex:Int> */
322 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
323 /* <1l:Int> isa OTHER */
324 var77
= 1; /* easy <1l:Int> isa OTHER*/
325 if (unlikely(!var77
)) {
326 var_class_name80
= type_standard__Int
.name
;
327 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80
);
328 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
331 var81
= var_subindex
+ 1l;
338 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var75) on <self:Parser> */
339 var84
= parser_goto(self
, var_index
, var75
);
353 BREAK_label
: (void)0;
355 { /* Inline tables#TablesCapable#parser_goto (self,var_index,2l) on <self:Parser> */
356 var87
= parser_goto(self
, var_index
, 2l);
367 /* method parser_work#Parser#push for (self: Parser, Int, nullable Object) */
368 void nit___nit__Parser___push(val
* self
, long p0
, val
* p1
) {
369 long var_numstate
/* var numstate: Int */;
370 val
* var_list_node
/* var list_node: nullable Object */;
371 long var
/* : Int */;
372 long var1
/* : Int */;
373 short int var3
/* : Bool */;
376 const char* var_class_name
;
377 long var4
/* : Int */;
378 long var_pos
/* var pos: Int */;
379 val
* var5
/* : Array[State] */;
380 long var6
/* : Int */;
381 long var8
/* : Int */;
382 short int var9
/* : Bool */;
383 short int var11
/* : Bool */;
386 const char* var_class_name14
;
387 short int var15
/* : Bool */;
388 val
* var16
/* : Array[State] */;
389 val
* var17
/* : nullable Object */;
390 val
* var_state
/* var state: State */;
391 val
* var18
/* : Array[State] */;
392 val
* var19
/* : State */;
395 var
= self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
397 { /* Inline kernel#Int#+ (var,1l) on <var:Int> */
398 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
399 /* <1l:Int> isa OTHER */
400 var3
= 1; /* easy <1l:Int> isa OTHER*/
401 if (unlikely(!var3
)) {
402 var_class_name
= type_standard__Int
.name
;
403 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
404 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
414 self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
= var_pos
; /* _stack_pos on <self:Parser> */
415 var5
= self
->attrs
[COLOR_nit__parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
416 if (unlikely(var5
== NULL
)) {
417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 75);
422 { /* Inline array#AbstractArrayRead#length (var5) on <var5:Array[State]> */
423 var8
= var5
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var5:Array[State]> */
429 { /* Inline kernel#Int#< (var_pos,var6) on <var_pos:Int> */
430 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
431 /* <var6:Int> isa OTHER */
432 var11
= 1; /* easy <var6:Int> isa OTHER*/
433 if (unlikely(!var11
)) {
434 var_class_name14
= type_standard__Int
.name
;
435 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
436 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
439 var15
= var_pos
< var6
;
446 var16
= self
->attrs
[COLOR_nit__parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
447 if (unlikely(var16
== NULL
)) {
448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 76);
453 var17
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var16
, var_pos
);
456 var_state
->attrs
[COLOR_nit__parser_work__State___state
].l
= var_numstate
; /* _state on <var_state:State> */
457 var_state
->attrs
[COLOR_nit__parser_work__State___nodes
].val
= var_list_node
; /* _nodes on <var_state:State> */
459 var18
= self
->attrs
[COLOR_nit__parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
460 if (unlikely(var18
== NULL
)) {
461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 80);
465 var19
= NEW_nit__parser_work__State(&type_nit__parser_work__State
);
467 ((void(*)(val
* self
, long p0
))(var19
->class->vft
[COLOR_nit__parser_work__State__state_61d
]))(var19
, var_numstate
); /* state= on <var19:State>*/
470 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__parser_work__State__nodes_61d
]))(var19
, var_list_node
); /* nodes= on <var19:State>*/
473 ((void(*)(val
* self
))(var19
->class->vft
[COLOR_standard__kernel__Object__init
]))(var19
); /* init on <var19:State>*/
476 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var18
, var19
); /* Direct call array#AbstractArray#push on <var18:Array[State]>*/
481 /* method parser_work#Parser#state for (self: Parser): Int */
482 long nit___nit__Parser___state(val
* self
) {
483 long var
/* : Int */;
484 val
* var1
/* : Array[State] */;
485 long var2
/* : Int */;
486 val
* var3
/* : nullable Object */;
487 long var4
/* : Int */;
488 var1
= self
->attrs
[COLOR_nit__parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
489 if (unlikely(var1
== NULL
)) {
490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 87);
494 var2
= self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
496 var3
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1
, var2
);
498 var4
= var3
->attrs
[COLOR_nit__parser_work__State___state
].l
; /* _state on <var3:nullable Object(State)> */
504 /* method parser_work#Parser#pop for (self: Parser): nullable Object */
505 val
* nit___nit__Parser___pop(val
* self
) {
506 val
* var
/* : nullable Object */;
507 val
* var1
/* : Array[State] */;
508 long var2
/* : Int */;
509 val
* var3
/* : nullable Object */;
510 val
* var4
/* : nullable Object */;
511 val
* var_res
/* var res: nullable Object */;
512 long var5
/* : Int */;
513 long var6
/* : Int */;
514 short int var8
/* : Bool */;
517 const char* var_class_name
;
518 long var9
/* : Int */;
519 var1
= self
->attrs
[COLOR_nit__parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
520 if (unlikely(var1
== NULL
)) {
521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 93);
525 var2
= self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
527 var3
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1
, var2
);
529 var4
= var3
->attrs
[COLOR_nit__parser_work__State___nodes
].val
; /* _nodes on <var3:nullable Object(State)> */
531 var5
= self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
533 { /* Inline kernel#Int#- (var5,1l) on <var5:Int> */
534 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
535 /* <1l:Int> isa OTHER */
536 var8
= 1; /* easy <1l:Int> isa OTHER*/
537 if (unlikely(!var8
)) {
538 var_class_name
= type_standard__Int
.name
;
539 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
540 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
549 self
->attrs
[COLOR_nit__parser_work__Parser___stack_pos
].l
= var6
; /* _stack_pos on <self:Parser> */
555 /* method parser_work#Parser#parse for (self: Parser): Start */
556 val
* nit___nit__Parser___parse(val
* self
) {
557 val
* var
/* : Start */;
558 val
* var1
/* : Lexer */;
559 val
* var_lexer
/* var lexer: Lexer */;
560 val
* var2
/* : Token */;
561 val
* var_token
/* var token: Token */;
562 short int var3
/* : Bool */;
565 val
* var4
/* : Start */;
566 long var5
/* : Int */;
567 long var_state
/* var state: Int */;
568 long var6
/* : Int */;
569 long var_index
/* var index: Int */;
570 long var7
/* : Int */;
571 long var9
/* : Int for extern */;
572 long var_action_type
/* var action_type: Int */;
573 long var10
/* : Int */;
574 long var12
/* : Int for extern */;
575 long var_action_value
/* var action_value: Int */;
576 long var_low
/* var low: Int */;
577 long var13
/* : Int */;
578 long var15
/* : Int for extern */;
579 long var16
/* : Int */;
580 short int var18
/* : Bool */;
583 const char* var_class_name
;
584 long var21
/* : Int */;
585 long var_high
/* var high: Int */;
586 short int var22
/* : Bool */;
587 short int var24
/* : Bool */;
590 const char* var_class_name27
;
591 short int var28
/* : Bool */;
592 long var29
/* : Int */;
593 short int var31
/* : Bool */;
596 const char* var_class_name34
;
597 long var35
/* : Int */;
598 long var36
/* : Int */;
599 short int var38
/* : Bool */;
602 const char* var_class_name41
;
603 long var42
/* : Int */;
604 long var_middle
/* var middle: Int */;
605 long var43
/* : Int */;
606 short int var45
/* : Bool */;
609 const char* var_class_name48
;
610 long var49
/* : Int */;
611 long var50
/* : Int */;
612 short int var52
/* : Bool */;
615 const char* var_class_name55
;
616 long var56
/* : Int */;
617 long var_subindex
/* var subindex: Int */;
618 long var57
/* : Int */;
619 long var59
/* : Int for extern */;
620 long var_goal
/* var goal: Int */;
621 short int var60
/* : Bool */;
622 short int var62
/* : Bool */;
625 const char* var_class_name65
;
626 short int var66
/* : Bool */;
627 long var67
/* : Int */;
628 short int var69
/* : Bool */;
631 const char* var_class_name72
;
632 long var73
/* : Int */;
633 short int var74
/* : Bool */;
634 short int var76
/* : Bool */;
637 const char* var_class_name79
;
638 short int var80
/* : Bool */;
639 long var81
/* : Int */;
640 short int var83
/* : Bool */;
643 const char* var_class_name86
;
644 long var87
/* : Int */;
645 long var88
/* : Int */;
646 short int var90
/* : Bool */;
649 const char* var_class_name93
;
650 long var94
/* : Int */;
651 long var95
/* : Int */;
652 long var97
/* : Int for extern */;
653 long var98
/* : Int */;
654 short int var100
/* : Bool */;
657 const char* var_class_name103
;
658 long var104
/* : Int */;
659 long var105
/* : Int */;
660 long var107
/* : Int for extern */;
661 short int var108
/* : Bool */;
662 short int var110
/* : Bool */;
663 val
* var111
/* : Token */;
664 short int var112
/* : Bool */;
665 short int var114
/* : Bool */;
666 val
* var115
/* : Array[ReduceAction] */;
667 val
* var116
/* : nullable Object */;
668 short int var117
/* : Bool */;
669 short int var119
/* : Bool */;
670 val
* var120
/* : Token */;
671 val
* var_node2
/* var node2: Token */;
672 short int var121
/* : Bool */;
675 val
* var124
/* : nullable Object */;
676 val
* var_node1
/* var node1: nullable Object */;
677 short int var125
/* : Bool */;
680 val
* var128
/* : Start */;
681 val
* var_node
/* var node: Start */;
682 val
* var130
/* : ComputeProdLocationVisitor */;
683 val
* var131
/* : SourceFile */;
684 val
* var133
/* : SourceFile */;
685 val
* var134
/* : nullable Token */;
686 val
* var136
/* : nullable Token */;
687 short int var137
/* : Bool */;
688 short int var139
/* : Bool */;
689 short int var140
/* : Bool */;
690 short int var141
/* : Bool */;
691 val
* var142
/* : Token */;
692 val
* var144
/* : AParserError */;
693 val
* var145
/* : NativeArray[String] */;
695 static val
* varonce146
;
696 val
* var147
/* : String */;
697 char* var148
/* : NativeString */;
698 val
* var149
/* : FlatString */;
699 static val
* varonce150
;
700 val
* var151
/* : String */;
701 char* var152
/* : NativeString */;
702 val
* var153
/* : FlatString */;
703 val
* var154
/* : String */;
704 val
* var155
/* : String */;
705 val
* var156
/* : Location */;
706 val
* var158
/* : Location */;
707 val
* var_node2159
/* var node2: AParserError */;
708 val
* var160
/* : Start */;
709 val
* var_node161
/* var node: Start */;
711 nit___nit__Parser___push(self
, 0l, ((val
*)NULL
)); /* Direct call parser_work#Parser#push on <self:Parser>*/
713 var1
= self
->attrs
[COLOR_nit__parser_work__Parser___lexer
].val
; /* _lexer on <self:Parser> */
714 if (unlikely(var1
== NULL
)) {
715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lexer");
716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 103);
722 var2
= nit___nit__Lexer___peek(var_lexer
);
725 /* <var_token:Token> isa AError */
726 cltype
= type_nit__AError
.color
;
727 idtype
= type_nit__AError
.id
;
728 if(cltype
>= var_token
->type
->table_size
) {
731 var3
= var_token
->type
->type_table
[cltype
] == idtype
;
734 var4
= NEW_nit__Start(&type_nit__Start
);
736 ((void(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__parser_nodes__Start__n_base_61d
]))(var4
, ((val
*)NULL
)); /* n_base= on <var4:Start>*/
739 ((void(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_nit__parser_nodes__Start__n_eof_61d
]))(var4
, var_token
); /* n_eof= on <var4:Start>*/
742 ((void(*)(val
* self
))(var4
->class->vft
[COLOR_standard__kernel__Object__init
]))(var4
); /* init on <var4:Start>*/
749 var5
= nit___nit__Parser___state(self
);
753 var6
= ((long(*)(val
* self
))(var_token
->class->vft
[COLOR_nit__lexer_work__Token__parser_index
]))(var_token
); /* parser_index on <var_token:Token>*/
757 { /* Inline tables#TablesCapable#parser_action (self,var_state,2l) on <self:Parser> */
758 var9
= parser_action(self
, var_state
, 2l);
764 var_action_type
= var7
;
766 { /* Inline tables#TablesCapable#parser_action (self,var_state,3l) on <self:Parser> */
767 var12
= parser_action(self
, var_state
, 3l);
773 var_action_value
= var10
;
776 { /* Inline tables#TablesCapable#parser_action (self,var_state,0l) on <self:Parser> */
777 var15
= parser_action(self
, var_state
, 0l);
784 { /* Inline kernel#Int#- (var13,1l) on <var13:Int> */
785 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
786 /* <1l:Int> isa OTHER */
787 var18
= 1; /* easy <1l:Int> isa OTHER*/
788 if (unlikely(!var18
)) {
789 var_class_name
= type_standard__Int
.name
;
790 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
791 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
803 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
804 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
805 /* <var_high:Int> isa OTHER */
806 var24
= 1; /* easy <var_high:Int> isa OTHER*/
807 if (unlikely(!var24
)) {
808 var_class_name27
= type_standard__Int
.name
;
809 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
810 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 533);
813 var28
= var_low
<= var_high
;
821 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
822 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
823 /* <var_high:Int> isa OTHER */
824 var31
= 1; /* easy <var_high:Int> isa OTHER*/
825 if (unlikely(!var31
)) {
826 var_class_name34
= type_standard__Int
.name
;
827 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
828 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
831 var35
= var_low
+ var_high
;
838 { /* Inline kernel#Int#/ (var29,2l) on <var29:Int> */
839 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
840 /* <2l:Int> isa OTHER */
841 var38
= 1; /* easy <2l:Int> isa OTHER*/
842 if (unlikely(!var38
)) {
843 var_class_name41
= type_standard__Int
.name
;
844 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
845 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 542);
856 { /* Inline kernel#Int#* (var_middle,3l) on <var_middle:Int> */
857 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
858 /* <3l:Int> isa OTHER */
859 var45
= 1; /* easy <3l:Int> isa OTHER*/
860 if (unlikely(!var45
)) {
861 var_class_name48
= type_standard__Int
.name
;
862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
863 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 541);
866 var49
= var_middle
* 3l;
873 { /* Inline kernel#Int#+ (var43,1l) on <var43:Int> */
874 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
875 /* <1l:Int> isa OTHER */
876 var52
= 1; /* easy <1l:Int> isa OTHER*/
877 if (unlikely(!var52
)) {
878 var_class_name55
= type_standard__Int
.name
;
879 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
880 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
889 var_subindex
= var50
;
891 { /* Inline tables#TablesCapable#parser_action (self,var_state,var_subindex) on <self:Parser> */
892 var59
= parser_action(self
, var_state
, var_subindex
);
900 { /* Inline kernel#Int#< (var_index,var_goal) on <var_index:Int> */
901 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
902 /* <var_goal:Int> isa OTHER */
903 var62
= 1; /* easy <var_goal:Int> isa OTHER*/
904 if (unlikely(!var62
)) {
905 var_class_name65
= type_standard__Int
.name
;
906 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65
);
907 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
910 var66
= var_index
< var_goal
;
918 { /* Inline kernel#Int#- (var_middle,1l) on <var_middle:Int> */
919 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
920 /* <1l:Int> isa OTHER */
921 var69
= 1; /* easy <1l:Int> isa OTHER*/
922 if (unlikely(!var69
)) {
923 var_class_name72
= type_standard__Int
.name
;
924 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72
);
925 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
928 var73
= var_middle
- 1l;
937 { /* Inline kernel#Int#> (var_index,var_goal) on <var_index:Int> */
938 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
939 /* <var_goal:Int> isa OTHER */
940 var76
= 1; /* easy <var_goal:Int> isa OTHER*/
941 if (unlikely(!var76
)) {
942 var_class_name79
= type_standard__Int
.name
;
943 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79
);
944 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
947 var80
= var_index
> var_goal
;
955 { /* Inline kernel#Int#+ (var_middle,1l) on <var_middle:Int> */
956 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
957 /* <1l:Int> isa OTHER */
958 var83
= 1; /* easy <1l:Int> isa OTHER*/
959 if (unlikely(!var83
)) {
960 var_class_name86
= type_standard__Int
.name
;
961 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
962 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
965 var87
= var_middle
+ 1l;
974 { /* Inline kernel#Int#+ (var_subindex,1l) on <var_subindex:Int> */
975 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
976 /* <1l:Int> isa OTHER */
977 var90
= 1; /* easy <1l:Int> isa OTHER*/
978 if (unlikely(!var90
)) {
979 var_class_name93
= type_standard__Int
.name
;
980 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93
);
981 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
984 var94
= var_subindex
+ 1l;
991 { /* Inline tables#TablesCapable#parser_action (self,var_state,var88) on <self:Parser> */
992 var97
= parser_action(self
, var_state
, var88
);
998 var_action_type
= var95
;
1000 { /* Inline kernel#Int#+ (var_subindex,2l) on <var_subindex:Int> */
1001 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1002 /* <2l:Int> isa OTHER */
1003 var100
= 1; /* easy <2l:Int> isa OTHER*/
1004 if (unlikely(!var100
)) {
1005 var_class_name103
= type_standard__Int
.name
;
1006 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103
);
1007 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
1010 var104
= var_subindex
+ 2l;
1013 RET_LABEL99
:(void)0;
1017 { /* Inline tables#TablesCapable#parser_action (self,var_state,var98) on <self:Parser> */
1018 var107
= parser_action(self
, var_state
, var98
);
1021 RET_LABEL106
:(void)0;
1024 var_action_value
= var105
;
1032 BREAK_label
: (void)0;
1034 { /* Inline kernel#Int#== (var_action_type,0l) on <var_action_type:Int> */
1035 var110
= var_action_type
== 0l;
1038 RET_LABEL109
:(void)0;
1043 var111
= nit___nit__Lexer___next(var_lexer
);
1046 nit___nit__Parser___push(self
, var_action_value
, var111
); /* Direct call parser_work#Parser#push on <self:Parser>*/
1050 { /* Inline kernel#Int#== (var_action_type,1l) on <var_action_type:Int> */
1051 var114
= var_action_type
== 1l;
1054 RET_LABEL113
:(void)0;
1058 var115
= self
->attrs
[COLOR_nit__parser_work__Parser___reduce_table
].val
; /* _reduce_table on <self:Parser> */
1059 if (unlikely(var115
== NULL
)) {
1060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _reduce_table");
1061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 137);
1065 var116
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var115
, var_action_value
);
1068 ((void(*)(val
* self
, val
* p0
))(var116
->class->vft
[COLOR_nit__parser_work__ReduceAction__action
]))(var116
, self
); /* action on <var116:nullable Object(ReduceAction)>*/
1072 { /* Inline kernel#Int#== (var_action_type,2l) on <var_action_type:Int> */
1073 var119
= var_action_type
== 2l;
1076 RET_LABEL118
:(void)0;
1081 var120
= nit___nit__Lexer___next(var_lexer
);
1084 /* <var_node2:Token> isa EOF */
1085 cltype122
= type_nit__EOF
.color
;
1086 idtype123
= type_nit__EOF
.id
;
1087 if(cltype122
>= var_node2
->type
->table_size
) {
1090 var121
= var_node2
->type
->type_table
[cltype122
] == idtype123
;
1092 if (unlikely(!var121
)) {
1093 PRINT_ERROR("Runtime error: %s", "Assert failed");
1094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 140);
1098 var124
= nit___nit__Parser___pop(self
);
1101 /* <var_node1:nullable Object> isa AModule */
1102 cltype126
= type_nit__AModule
.color
;
1103 idtype127
= type_nit__AModule
.id
;
1104 if(var_node1
== NULL
) {
1107 if(cltype126
>= (((long)var_node1
&3)?type_info
[((long)var_node1
&3)]:var_node1
->type
)->table_size
) {
1110 var125
= (((long)var_node1
&3)?type_info
[((long)var_node1
&3)]:var_node1
->type
)->type_table
[cltype126
] == idtype127
;
1113 if (unlikely(!var125
)) {
1114 PRINT_ERROR("Runtime error: %s", "Assert failed");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 142);
1118 var128
= NEW_nit__Start(&type_nit__Start
);
1120 ((void(*)(val
* self
, val
* p0
))(var128
->class->vft
[COLOR_nit__parser_nodes__Start__n_base_61d
]))(var128
, var_node1
); /* n_base= on <var128:Start>*/
1123 ((void(*)(val
* self
, val
* p0
))(var128
->class->vft
[COLOR_nit__parser_nodes__Start__n_eof_61d
]))(var128
, var_node2
); /* n_eof= on <var128:Start>*/
1126 ((void(*)(val
* self
))(var128
->class->vft
[COLOR_standard__kernel__Object__init
]))(var128
); /* init on <var128:Start>*/
1130 { /* Inline parser_nodes#ANode#parent= (var_node2,var_node) on <var_node2:Token(EOF)> */
1131 var_node2
->attrs
[COLOR_nit__parser_nodes__ANode___parent
].val
= var_node
; /* _parent on <var_node2:Token(EOF)> */
1132 RET_LABEL129
:(void)0;
1135 var130
= NEW_nit__parser_work__ComputeProdLocationVisitor(&type_nit__parser_work__ComputeProdLocationVisitor
);
1137 { /* Inline lexer_work#Lexer#file (var_lexer) on <var_lexer:Lexer> */
1138 var133
= var_lexer
->attrs
[COLOR_nit__lexer_work__Lexer___file
].val
; /* _file on <var_lexer:Lexer> */
1139 if (unlikely(var133
== NULL
)) {
1140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
1141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work
, 90);
1145 RET_LABEL132
:(void)0;
1149 { /* Inline parser_nodes#SourceFile#first_token (var131) on <var131:SourceFile> */
1150 var136
= var131
->attrs
[COLOR_nit__parser_nodes__SourceFile___first_token
].val
; /* _first_token on <var131:SourceFile> */
1152 RET_LABEL135
:(void)0;
1156 ((void(*)(val
* self
, val
* p0
))(var130
->class->vft
[COLOR_nit__parser_work__ComputeProdLocationVisitor__token_61d
]))(var130
, var134
); /* token= on <var130:ComputeProdLocationVisitor>*/
1159 ((void(*)(val
* self
))(var130
->class->vft
[COLOR_standard__kernel__Object__init
]))(var130
); /* init on <var130:ComputeProdLocationVisitor>*/
1162 nit___nit__Visitor___enter_visit(var130
, var_node
); /* Direct call parser_nodes#Visitor#enter_visit on <var130:ComputeProdLocationVisitor>*/
1168 { /* Inline kernel#Int#== (var_action_type,3l) on <var_action_type:Int> */
1169 var139
= var_action_type
== 3l;
1172 RET_LABEL138
:(void)0;
1177 var140
= var_token
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
!= NULL
; /* _location on <var_token:Token> */
1181 var142
= nit___nit__Lexer___next(var_lexer
);
1185 goto BREAK_label143
;
1188 BREAK_label143
: (void)0;
1189 var144
= NEW_nit__AParserError(&type_nit__AParserError
);
1190 if (unlikely(varonce
==NULL
)) {
1191 var145
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1192 if (likely(varonce146
!=NULL
)) {
1193 var147
= varonce146
;
1195 var148
= "Syntax Error: unexpected ";
1196 var149
= standard___standard__NativeString___to_s_with_length(var148
, 25l);
1198 varonce146
= var147
;
1200 ((struct instance_standard__NativeArray
*)var145
)->values
[0]=var147
;
1201 if (likely(varonce150
!=NULL
)) {
1202 var151
= varonce150
;
1205 var153
= standard___standard__NativeString___to_s_with_length(var152
, 1l);
1207 varonce150
= var151
;
1209 ((struct instance_standard__NativeArray
*)var145
)->values
[2]=var151
;
1215 var154
= ((val
*(*)(val
* self
))(var_token
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_token
); /* to_s on <var_token:Token>*/
1217 ((struct instance_standard__NativeArray
*)var145
)->values
[1]=var154
;
1219 var155
= ((val
*(*)(val
* self
))(var145
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var145
); /* native_to_s on <var145:NativeArray[String]>*/
1223 { /* Inline parser_nodes#ANode#location (var_token) on <var_token:Token> */
1224 var158
= var_token
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_token:Token> */
1225 if (unlikely(var158
== NULL
)) {
1226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1227 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
1231 RET_LABEL157
:(void)0;
1235 nit__lexer_work___AParserError___init_parser_error(var144
, var155
, var156
, var_token
); /* Direct call lexer_work#AParserError#init_parser_error on <var144:AParserError>*/
1237 var_node2159
= var144
;
1238 var160
= NEW_nit__Start(&type_nit__Start
);
1240 ((void(*)(val
* self
, val
* p0
))(var160
->class->vft
[COLOR_nit__parser_nodes__Start__n_base_61d
]))(var160
, ((val
*)NULL
)); /* n_base= on <var160:Start>*/
1243 ((void(*)(val
* self
, val
* p0
))(var160
->class->vft
[COLOR_nit__parser_nodes__Start__n_eof_61d
]))(var160
, var_node2159
); /* n_eof= on <var160:Start>*/
1246 ((void(*)(val
* self
))(var160
->class->vft
[COLOR_standard__kernel__Object__init
]))(var160
); /* init on <var160:Start>*/
1248 var_node161
= var160
;
1260 /* method parser_work#Parser#reduce_table= for (self: Parser, Array[ReduceAction]) */
1261 void nit___nit__Parser___reduce_table_61d(val
* self
, val
* p0
) {
1262 self
->attrs
[COLOR_nit__parser_work__Parser___reduce_table
].val
= p0
; /* _reduce_table on <self:Parser> */
1265 /* method parser_work#Prod#collect_text for (self: Prod): String */
1266 val
* nit__parser_work___Prod___collect_text(val
* self
) {
1267 val
* var
/* : String */;
1268 val
* var1
/* : TextCollectorVisitor */;
1269 val
* var_v
/* var v: TextCollectorVisitor */;
1270 val
* var3
/* : String */;
1271 val
* var5
/* : String */;
1272 static val
* varonce
;
1273 val
* var6
/* : String */;
1274 char* var7
/* : NativeString */;
1275 val
* var8
/* : FlatString */;
1276 short int var9
/* : Bool */;
1277 val
* var_other
/* var other: nullable Object */;
1278 short int var11
/* : Bool */;
1279 short int var12
/* : Bool */;
1280 val
* var13
/* : String */;
1281 val
* var15
/* : String */;
1282 var1
= NEW_nit__parser_work__TextCollectorVisitor(&type_nit__parser_work__TextCollectorVisitor
);
1284 { /* Inline kernel#Object#init (var1) on <var1:TextCollectorVisitor> */
1290 nit___nit__Visitor___enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
1293 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
1294 var5
= var_v
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
1295 if (unlikely(var5
== NULL
)) {
1296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 281);
1304 if (likely(varonce
!=NULL
)) {
1308 var8
= standard___standard__NativeString___to_s_with_length(var7
, 0l);
1313 { /* Inline kernel#Object#!= (var3,var6) on <var3:String> */
1316 var11
= ((short int(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var3
, var_other
); /* == on <var3:String>*/
1321 RET_LABEL10
:(void)0;
1324 if (unlikely(!var9
)) {
1325 PRINT_ERROR("Runtime error: %s", "Assert failed");
1326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 171);
1330 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
1331 var15
= var_v
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
1332 if (unlikely(var15
== NULL
)) {
1333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 281);
1338 RET_LABEL14
:(void)0;
1346 /* method parser_work#ComputeProdLocationVisitor#token for (self: ComputeProdLocationVisitor): nullable Token */
1347 val
* nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___token(val
* self
) {
1348 val
* var
/* : nullable Token */;
1349 val
* var1
/* : nullable Token */;
1350 var1
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___token
].val
; /* _token on <self:ComputeProdLocationVisitor> */
1355 /* method parser_work#ComputeProdLocationVisitor#token= for (self: ComputeProdLocationVisitor, nullable Token) */
1356 void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___token_61d(val
* self
, val
* p0
) {
1357 self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___token
].val
= p0
; /* _token on <self:ComputeProdLocationVisitor> */
1360 /* method parser_work#ComputeProdLocationVisitor#last_token for (self: ComputeProdLocationVisitor): nullable Token */
1361 val
* nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___last_token(val
* self
) {
1362 val
* var
/* : nullable Token */;
1363 val
* var1
/* : nullable Token */;
1364 var1
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token
].val
; /* _last_token on <self:ComputeProdLocationVisitor> */
1369 /* method parser_work#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */
1370 void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___nit__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
1371 val
* var_n
/* var n: ANode */;
1372 short int var
/* : Bool */;
1375 short int var1
/* : Bool */;
1376 short int var2
/* : Bool */;
1377 val
* var3
/* : nullable Token */;
1378 val
* var5
/* : nullable Token */;
1379 val
* var_cursor
/* var cursor: nullable Token */;
1380 short int var6
/* : Bool */;
1381 val
* var_other
/* var other: nullable Object */;
1382 short int var8
/* : Bool */;
1383 short int var9
/* : Bool */;
1384 val
* var10
/* : nullable Token */;
1385 val
* var12
/* : nullable Token */;
1386 val
* var_lt
/* var lt: nullable Token */;
1387 short int var13
/* : Bool */;
1388 short int var14
/* : Bool */;
1389 short int var16
/* : Bool */;
1390 short int var17
/* : Bool */;
1391 val
* var18
/* : Location */;
1392 val
* var20
/* : Location */;
1393 long var21
/* : Int */;
1394 long var23
/* : Int */;
1395 long var_ltl
/* var ltl: Int */;
1396 short int var24
/* : Bool */;
1397 short int var25
/* : Bool */;
1398 short int var26
/* : Bool */;
1399 short int var27
/* : Bool */;
1400 short int var29
/* : Bool */;
1401 short int var30
/* : Bool */;
1402 short int var_
/* var : Bool */;
1403 short int var31
/* : Bool */;
1404 short int var33
/* : Bool */;
1405 short int var34
/* : Bool */;
1406 short int var_35
/* var : Bool */;
1407 val
* var36
/* : Location */;
1408 val
* var38
/* : Location */;
1409 long var39
/* : Int */;
1410 long var41
/* : Int */;
1411 short int var42
/* : Bool */;
1412 short int var44
/* : Bool */;
1413 val
* var46
/* : Array[Token] */;
1414 val
* var47
/* : nullable Token */;
1415 val
* var49
/* : nullable Token */;
1416 short int var50
/* : Bool */;
1417 short int var51
/* : Bool */;
1418 short int var52
/* : Bool */;
1419 short int var54
/* : Bool */;
1420 short int var55
/* : Bool */;
1421 short int var_56
/* var : Bool */;
1422 short int var57
/* : Bool */;
1423 short int var59
/* : Bool */;
1424 short int var60
/* : Bool */;
1425 val
* var62
/* : Array[Token] */;
1426 val
* var63
/* : nullable Token */;
1427 val
* var65
/* : nullable Token */;
1428 val
* var67
/* : nullable Token */;
1429 val
* var69
/* : nullable Token */;
1430 val
* var71
/* : Location */;
1431 val
* var_loc
/* var loc: Location */;
1432 val
* var72
/* : Array[Prod] */;
1433 short int var73
/* : Bool */;
1434 short int var74
/* : Bool */;
1435 val
* var75
/* : Array[Prod] */;
1436 val
* var_76
/* var : Array[Prod] */;
1437 val
* var77
/* : ArrayIterator[nullable Object] */;
1438 val
* var_78
/* var : ArrayIterator[Prod] */;
1439 short int var79
/* : Bool */;
1440 val
* var80
/* : nullable Object */;
1441 val
* var_no
/* var no: Prod */;
1442 val
* var82
/* : Array[Prod] */;
1443 val
* var83
/* : Array[Prod] */;
1444 short int var84
/* : Bool */;
1445 short int var85
/* : Bool */;
1446 val
* var86
/* : Location */;
1447 val
* var87
/* : nullable SourceFile */;
1448 val
* var89
/* : nullable SourceFile */;
1449 long var90
/* : Int */;
1450 long var92
/* : Int */;
1451 long var93
/* : Int */;
1452 long var95
/* : Int */;
1453 long var96
/* : Int */;
1454 long var98
/* : Int */;
1455 long var99
/* : Int */;
1456 long var101
/* : Int */;
1457 val
* var_loco
/* var loco: Location */;
1458 val
* var102
/* : Array[Prod] */;
1459 val
* var_103
/* var : Array[Prod] */;
1460 val
* var104
/* : ArrayIterator[nullable Object] */;
1461 val
* var_105
/* var : ArrayIterator[Prod] */;
1462 short int var106
/* : Bool */;
1463 val
* var107
/* : nullable Object */;
1464 val
* var_no108
/* var no: Prod */;
1465 val
* var111
/* : Array[Prod] */;
1466 short int var112
/* : Bool */;
1469 val
* var115
/* : Array[Prod] */;
1470 val
* var116
/* : nullable Location */;
1471 val
* var_startl
/* var startl: nullable Location */;
1472 short int var117
/* : Bool */;
1473 short int var118
/* : Bool */;
1474 short int var120
/* : Bool */;
1475 short int var121
/* : Bool */;
1476 val
* var122
/* : nullable Token */;
1477 val
* var123
/* : Location */;
1478 val
* var125
/* : Location */;
1479 val
* var_endl
/* var endl: Location */;
1480 short int var126
/* : Bool */;
1481 val
* var128
/* : Location */;
1482 val
* var129
/* : nullable SourceFile */;
1483 val
* var131
/* : nullable SourceFile */;
1484 long var132
/* : Int */;
1485 long var134
/* : Int */;
1486 long var135
/* : Int */;
1487 long var137
/* : Int */;
1488 long var138
/* : Int */;
1489 long var140
/* : Int */;
1490 long var141
/* : Int */;
1491 long var143
/* : Int */;
1492 val
* var145
/* : Array[Prod] */;
1493 short int var146
/* : Bool */;
1494 short int var147
/* : Bool */;
1495 val
* var148
/* : Location */;
1496 val
* var149
/* : nullable SourceFile */;
1497 val
* var151
/* : nullable SourceFile */;
1498 long var152
/* : Int */;
1499 long var154
/* : Int */;
1500 long var155
/* : Int */;
1501 long var157
/* : Int */;
1502 long var158
/* : Int */;
1503 long var160
/* : Int */;
1504 long var161
/* : Int */;
1505 long var163
/* : Int */;
1506 val
* var_loc164
/* var loc: Location */;
1507 val
* var165
/* : Array[Prod] */;
1508 val
* var_166
/* var : Array[Prod] */;
1509 val
* var167
/* : ArrayIterator[nullable Object] */;
1510 val
* var_168
/* var : ArrayIterator[Prod] */;
1511 short int var169
/* : Bool */;
1512 val
* var170
/* : nullable Object */;
1513 val
* var_no171
/* var no: Prod */;
1514 val
* var174
/* : Array[Prod] */;
1515 val
* var175
/* : Array[Prod] */;
1517 /* <var_n:ANode> isa Token */
1518 cltype
= type_nit__Token
.color
;
1519 idtype
= type_nit__Token
.id
;
1520 if(cltype
>= var_n
->type
->table_size
) {
1523 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1526 var1
= var_n
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
!= NULL
; /* _location on <var_n:ANode(Token)> */
1533 { /* Inline parser_work#ComputeProdLocationVisitor#token (self) on <self:ComputeProdLocationVisitor> */
1534 var5
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___token
].val
; /* _token on <self:ComputeProdLocationVisitor> */
1541 { /* Inline kernel#Object#!= (var_n,var_cursor) on <var_n:ANode(Token)> */
1542 var_other
= var_cursor
;
1544 var8
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:ANode(Token)>*/
1554 { /* Inline parser_work#ComputeProdLocationVisitor#last_token (self) on <self:ComputeProdLocationVisitor> */
1555 var12
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token
].val
; /* _last_token on <self:ComputeProdLocationVisitor> */
1557 RET_LABEL11
:(void)0;
1561 if (var_lt
== NULL
) {
1562 var13
= 0; /* is null */
1564 var13
= 1; /* arg is null and recv is not */
1567 { /* Inline kernel#Object#!= (var_lt,((val*)NULL)) on <var_lt:nullable Token> */
1568 var_other
= ((val
*)NULL
);
1570 var16
= ((short int(*)(val
* self
, val
* p0
))(var_lt
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_lt
, var_other
); /* == on <var_lt:nullable Token(Token)>*/
1575 RET_LABEL15
:(void)0;
1581 { /* Inline parser_nodes#ANode#location (var_lt) on <var_lt:nullable Token(Token)> */
1582 var20
= var_lt
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_lt:nullable Token(Token)> */
1583 if (unlikely(var20
== NULL
)) {
1584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1585 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
1589 RET_LABEL19
:(void)0;
1593 { /* Inline location#Location#line_end (var18) on <var18:Location> */
1594 var23
= var18
->attrs
[COLOR_nit__location__Location___line_end
].l
; /* _line_end on <var18:Location> */
1596 RET_LABEL22
:(void)0;
1601 if (var_cursor
== NULL
) {
1602 var26
= 0; /* is null */
1604 var26
= 1; /* arg is null and recv is not */
1607 { /* Inline kernel#Object#!= (var_cursor,((val*)NULL)) on <var_cursor:nullable Token> */
1608 var_other
= ((val
*)NULL
);
1610 var29
= ((short int(*)(val
* self
, val
* p0
))(var_cursor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cursor
, var_other
); /* == on <var_cursor:nullable Token(Token)>*/
1615 RET_LABEL28
:(void)0;
1622 { /* Inline kernel#Object#!= (var_cursor,var_n) on <var_cursor:nullable Token(Token)> */
1625 var33
= ((short int(*)(val
* self
, val
* p0
))(var_cursor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cursor
, var_other
); /* == on <var_cursor:nullable Token(Token)>*/
1630 RET_LABEL32
:(void)0;
1640 { /* Inline parser_nodes#ANode#location (var_cursor) on <var_cursor:nullable Token(Token)> */
1641 var38
= var_cursor
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_cursor:nullable Token(Token)> */
1642 if (unlikely(var38
== NULL
)) {
1643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
1648 RET_LABEL37
:(void)0;
1652 { /* Inline location#Location#line_start (var36) on <var36:Location> */
1653 var41
= var36
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var36:Location> */
1655 RET_LABEL40
:(void)0;
1659 { /* Inline kernel#Int#== (var_ltl,var39) on <var_ltl:Int> */
1660 var44
= var_ltl
== var39
;
1663 RET_LABEL43
:(void)0;
1672 { /* Inline parser_nodes#Token#is_loose= (var_cursor,1) on <var_cursor:nullable Token(Token)> */
1673 var_cursor
->attrs
[COLOR_nit__parser_nodes__Token___is_loose
].s
= 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
1674 RET_LABEL45
:(void)0;
1678 var46
= nit___nit__Token___next_looses(var_lt
);
1681 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var46
, var_cursor
); /* Direct call array#Array#add on <var46:Array[Token]>*/
1684 { /* Inline parser_nodes#Token#next_token (var_cursor) on <var_cursor:nullable Token(Token)> */
1685 var49
= var_cursor
->attrs
[COLOR_nit__parser_nodes__Token___next_token
].val
; /* _next_token on <var_cursor:nullable Token(Token)> */
1687 RET_LABEL48
:(void)0;
1695 BREAK_label
: (void)0;
1699 if (var_cursor
== NULL
) {
1700 var51
= 0; /* is null */
1702 var51
= 1; /* arg is null and recv is not */
1705 { /* Inline kernel#Object#!= (var_cursor,((val*)NULL)) on <var_cursor:nullable Token> */
1706 var_other
= ((val
*)NULL
);
1708 var54
= ((short int(*)(val
* self
, val
* p0
))(var_cursor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cursor
, var_other
); /* == on <var_cursor:nullable Token(Token)>*/
1713 RET_LABEL53
:(void)0;
1720 { /* Inline kernel#Object#!= (var_cursor,var_n) on <var_cursor:nullable Token(Token)> */
1723 var59
= ((short int(*)(val
* self
, val
* p0
))(var_cursor
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cursor
, var_other
); /* == on <var_cursor:nullable Token(Token)>*/
1728 RET_LABEL58
:(void)0;
1737 { /* Inline parser_nodes#Token#is_loose= (var_cursor,1) on <var_cursor:nullable Token(Token)> */
1738 var_cursor
->attrs
[COLOR_nit__parser_nodes__Token___is_loose
].s
= 1; /* _is_loose on <var_cursor:nullable Token(Token)> */
1739 RET_LABEL61
:(void)0;
1743 var62
= nit___nit__Token___prev_looses(var_n
);
1746 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var62
, var_cursor
); /* Direct call array#Array#add on <var62:Array[Token]>*/
1749 { /* Inline parser_nodes#Token#next_token (var_cursor) on <var_cursor:nullable Token(Token)> */
1750 var65
= var_cursor
->attrs
[COLOR_nit__parser_nodes__Token___next_token
].val
; /* _next_token on <var_cursor:nullable Token(Token)> */
1752 RET_LABEL64
:(void)0;
1760 BREAK_label66
: (void)0;
1764 { /* Inline parser_nodes#Token#next_token (var_n) on <var_n:ANode(Token)> */
1765 var69
= var_n
->attrs
[COLOR_nit__parser_nodes__Token___next_token
].val
; /* _next_token on <var_n:ANode(Token)> */
1767 RET_LABEL68
:(void)0;
1771 { /* Inline parser_work#ComputeProdLocationVisitor#token= (self,var67) on <self:ComputeProdLocationVisitor> */
1772 self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___token
].val
= var67
; /* _token on <self:ComputeProdLocationVisitor> */
1773 RET_LABEL70
:(void)0;
1776 var71
= var_n
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_n:ANode(Token)> */
1777 if (unlikely(var71
== NULL
)) {
1778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 227);
1783 self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token
].val
= var_n
; /* _last_token on <self:ComputeProdLocationVisitor> */
1784 var72
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1785 if (unlikely(var72
== NULL
)) {
1786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 231);
1791 var73
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var72
);
1795 var75
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1796 if (unlikely(var75
== NULL
)) {
1797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1798 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 232);
1803 var77
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_76
);
1808 var79
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_78
);
1812 var80
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_78
);
1815 var_no
->attrs
[COLOR_nit__parser_work__Prod___first_location
].val
= var_loc
; /* _first_location on <var_no:Prod> */
1817 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_78
); /* Direct call array#ArrayIterator#next on <var_78:ArrayIterator[Prod]>*/
1823 BREAK_label81
: (void)0;
1825 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_78
); /* Direct call array#ArrayIterator#finish on <var_78:ArrayIterator[Prod]>*/
1827 var82
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1828 if (unlikely(var82
== NULL
)) {
1829 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 235);
1834 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var82
); /* Direct call array#AbstractArray#clear on <var82:Array[Prod]>*/
1838 var83
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1839 if (unlikely(var83
== NULL
)) {
1840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 239);
1845 var84
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var83
);
1849 var86
= NEW_nit__Location(&type_nit__Location
);
1851 { /* Inline location#Location#file (var_loc) on <var_loc:Location> */
1852 var89
= var_loc
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var_loc:Location> */
1854 RET_LABEL88
:(void)0;
1858 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
1859 var92
= var_loc
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var_loc:Location> */
1861 RET_LABEL91
:(void)0;
1865 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
1866 var95
= var_loc
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var_loc:Location> */
1868 RET_LABEL94
:(void)0;
1872 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
1873 var98
= var_loc
->attrs
[COLOR_nit__location__Location___column_start
].l
; /* _column_start on <var_loc:Location> */
1875 RET_LABEL97
:(void)0;
1879 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
1880 var101
= var_loc
->attrs
[COLOR_nit__location__Location___column_start
].l
; /* _column_start on <var_loc:Location> */
1882 RET_LABEL100
:(void)0;
1886 ((void(*)(val
* self
, val
* p0
))(var86
->class->vft
[COLOR_nit__location__Location__file_61d
]))(var86
, var87
); /* file= on <var86:Location>*/
1889 ((void(*)(val
* self
, long p0
))(var86
->class->vft
[COLOR_nit__location__Location__line_start_61d
]))(var86
, var90
); /* line_start= on <var86:Location>*/
1892 ((void(*)(val
* self
, long p0
))(var86
->class->vft
[COLOR_nit__location__Location__line_end_61d
]))(var86
, var93
); /* line_end= on <var86:Location>*/
1895 ((void(*)(val
* self
, long p0
))(var86
->class->vft
[COLOR_nit__location__Location__column_start_61d
]))(var86
, var96
); /* column_start= on <var86:Location>*/
1898 ((void(*)(val
* self
, long p0
))(var86
->class->vft
[COLOR_nit__location__Location__column_end_61d
]))(var86
, var99
); /* column_end= on <var86:Location>*/
1901 ((void(*)(val
* self
))(var86
->class->vft
[COLOR_standard__kernel__Object__init
]))(var86
); /* init on <var86:Location>*/
1904 var102
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1905 if (unlikely(var102
== NULL
)) {
1906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1907 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 241);
1912 var104
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_103
);
1917 var106
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_105
);
1921 var107
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_105
);
1925 { /* Inline parser_nodes#ANode#location= (var_no108,var_loco) on <var_no108:Prod> */
1926 var_no108
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
= var_loco
; /* _location on <var_no108:Prod> */
1927 RET_LABEL109
:(void)0;
1931 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_105
); /* Direct call array#ArrayIterator#next on <var_105:ArrayIterator[Prod]>*/
1934 goto BREAK_label110
;
1937 BREAK_label110
: (void)0;
1939 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_105
); /* Direct call array#ArrayIterator#finish on <var_105:ArrayIterator[Prod]>*/
1941 var111
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1942 if (unlikely(var111
== NULL
)) {
1943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1944 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 244);
1948 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var111
); /* Direct call array#AbstractArray#clear on <var111:Array[Prod]>*/
1953 /* <var_n:ANode> isa Prod */
1954 cltype113
= type_nit__Prod
.color
;
1955 idtype114
= type_nit__Prod
.id
;
1956 if(cltype113
>= var_n
->type
->table_size
) {
1959 var112
= var_n
->type
->type_table
[cltype113
] == idtype114
;
1961 if (unlikely(!var112
)) {
1962 PRINT_ERROR("Runtime error: %s", "Assert failed");
1963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 247);
1966 var115
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1967 if (unlikely(var115
== NULL
)) {
1968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1969 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 248);
1973 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var115
, var_n
); /* Direct call array#Array#add on <var115:Array[Prod]>*/
1976 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode(Prod)>*/
1978 var116
= var_n
->attrs
[COLOR_nit__parser_work__Prod___first_location
].val
; /* _first_location on <var_n:ANode(Prod)> */
1979 var_startl
= var116
;
1980 if (var_startl
== NULL
) {
1981 var117
= 0; /* is null */
1983 var117
= 1; /* arg is null and recv is not */
1986 { /* Inline kernel#Object#!= (var_startl,((val*)NULL)) on <var_startl:nullable Location> */
1987 var_other
= ((val
*)NULL
);
1989 var120
= ((short int(*)(val
* self
, val
* p0
))(var_startl
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_startl
, var_other
); /* == on <var_startl:nullable Location(Location)>*/
1994 RET_LABEL119
:(void)0;
1999 var122
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___last_token
].val
; /* _last_token on <self:ComputeProdLocationVisitor> */
2000 if (var122
== NULL
) {
2001 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 255);
2005 { /* Inline parser_nodes#ANode#location (var122) on <var122:nullable Token> */
2006 if (unlikely(var122
== NULL
)) {
2007 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
2011 var125
= var122
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var122:nullable Token> */
2012 if (unlikely(var125
== NULL
)) {
2013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
2014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 24);
2018 RET_LABEL124
:(void)0;
2023 var126
= nit___nit__Location___standard__kernel__Object___61d_61d(var_startl
, var_endl
);
2027 { /* Inline parser_nodes#ANode#location= (var_n,var_startl) on <var_n:ANode(Prod)> */
2028 var_n
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
= var_startl
; /* _location on <var_n:ANode(Prod)> */
2029 RET_LABEL127
:(void)0;
2033 var128
= NEW_nit__Location(&type_nit__Location
);
2035 { /* Inline location#Location#file (var_startl) on <var_startl:nullable Location(Location)> */
2036 var131
= var_startl
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var_startl:nullable Location(Location)> */
2038 RET_LABEL130
:(void)0;
2042 { /* Inline location#Location#line_start (var_startl) on <var_startl:nullable Location(Location)> */
2043 var134
= var_startl
->attrs
[COLOR_nit__location__Location___line_start
].l
; /* _line_start on <var_startl:nullable Location(Location)> */
2045 RET_LABEL133
:(void)0;
2049 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
2050 var137
= var_endl
->attrs
[COLOR_nit__location__Location___line_end
].l
; /* _line_end on <var_endl:Location> */
2052 RET_LABEL136
:(void)0;
2056 { /* Inline location#Location#column_start (var_startl) on <var_startl:nullable Location(Location)> */
2057 var140
= var_startl
->attrs
[COLOR_nit__location__Location___column_start
].l
; /* _column_start on <var_startl:nullable Location(Location)> */
2059 RET_LABEL139
:(void)0;
2063 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
2064 var143
= var_endl
->attrs
[COLOR_nit__location__Location___column_end
].l
; /* _column_end on <var_endl:Location> */
2066 RET_LABEL142
:(void)0;
2070 ((void(*)(val
* self
, val
* p0
))(var128
->class->vft
[COLOR_nit__location__Location__file_61d
]))(var128
, var129
); /* file= on <var128:Location>*/
2073 ((void(*)(val
* self
, long p0
))(var128
->class->vft
[COLOR_nit__location__Location__line_start_61d
]))(var128
, var132
); /* line_start= on <var128:Location>*/
2076 ((void(*)(val
* self
, long p0
))(var128
->class->vft
[COLOR_nit__location__Location__line_end_61d
]))(var128
, var135
); /* line_end= on <var128:Location>*/
2079 ((void(*)(val
* self
, long p0
))(var128
->class->vft
[COLOR_nit__location__Location__column_start_61d
]))(var128
, var138
); /* column_start= on <var128:Location>*/
2082 ((void(*)(val
* self
, long p0
))(var128
->class->vft
[COLOR_nit__location__Location__column_end_61d
]))(var128
, var141
); /* column_end= on <var128:Location>*/
2085 ((void(*)(val
* self
))(var128
->class->vft
[COLOR_standard__kernel__Object__init
]))(var128
); /* init on <var128:Location>*/
2088 { /* Inline parser_nodes#ANode#location= (var_n,var128) on <var_n:ANode(Prod)> */
2089 var_n
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
= var128
; /* _location on <var_n:ANode(Prod)> */
2090 RET_LABEL144
:(void)0;
2094 var145
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
2095 if (unlikely(var145
== NULL
)) {
2096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
2097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 263);
2101 var146
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var145
);
2105 var148
= NEW_nit__Location(&type_nit__Location
);
2107 { /* Inline location#Location#file (var_endl) on <var_endl:Location> */
2108 var151
= var_endl
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var_endl:Location> */
2110 RET_LABEL150
:(void)0;
2114 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
2115 var154
= var_endl
->attrs
[COLOR_nit__location__Location___line_end
].l
; /* _line_end on <var_endl:Location> */
2117 RET_LABEL153
:(void)0;
2121 { /* Inline location#Location#line_end (var_endl) on <var_endl:Location> */
2122 var157
= var_endl
->attrs
[COLOR_nit__location__Location___line_end
].l
; /* _line_end on <var_endl:Location> */
2124 RET_LABEL156
:(void)0;
2128 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
2129 var160
= var_endl
->attrs
[COLOR_nit__location__Location___column_end
].l
; /* _column_end on <var_endl:Location> */
2131 RET_LABEL159
:(void)0;
2135 { /* Inline location#Location#column_end (var_endl) on <var_endl:Location> */
2136 var163
= var_endl
->attrs
[COLOR_nit__location__Location___column_end
].l
; /* _column_end on <var_endl:Location> */
2138 RET_LABEL162
:(void)0;
2142 ((void(*)(val
* self
, val
* p0
))(var148
->class->vft
[COLOR_nit__location__Location__file_61d
]))(var148
, var149
); /* file= on <var148:Location>*/
2145 ((void(*)(val
* self
, long p0
))(var148
->class->vft
[COLOR_nit__location__Location__line_start_61d
]))(var148
, var152
); /* line_start= on <var148:Location>*/
2148 ((void(*)(val
* self
, long p0
))(var148
->class->vft
[COLOR_nit__location__Location__line_end_61d
]))(var148
, var155
); /* line_end= on <var148:Location>*/
2151 ((void(*)(val
* self
, long p0
))(var148
->class->vft
[COLOR_nit__location__Location__column_start_61d
]))(var148
, var158
); /* column_start= on <var148:Location>*/
2154 ((void(*)(val
* self
, long p0
))(var148
->class->vft
[COLOR_nit__location__Location__column_end_61d
]))(var148
, var161
); /* column_end= on <var148:Location>*/
2157 ((void(*)(val
* self
))(var148
->class->vft
[COLOR_standard__kernel__Object__init
]))(var148
); /* init on <var148:Location>*/
2159 var_loc164
= var148
;
2160 var165
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
2161 if (unlikely(var165
== NULL
)) {
2162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
2163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 265);
2168 var167
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_166
);
2173 var169
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_168
);
2177 var170
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_168
);
2181 { /* Inline parser_nodes#ANode#location= (var_no171,var_loc164) on <var_no171:Prod> */
2182 var_no171
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
= var_loc164
; /* _location on <var_no171:Prod> */
2183 RET_LABEL172
:(void)0;
2187 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_168
); /* Direct call array#ArrayIterator#next on <var_168:ArrayIterator[Prod]>*/
2190 goto BREAK_label173
;
2193 BREAK_label173
: (void)0;
2195 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_168
); /* Direct call array#ArrayIterator#finish on <var_168:ArrayIterator[Prod]>*/
2197 var174
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
2198 if (unlikely(var174
== NULL
)) {
2199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
2200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 269);
2204 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var174
); /* Direct call array#AbstractArray#clear on <var174:Array[Prod]>*/
2209 var175
= self
->attrs
[COLOR_nit__parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
2210 if (unlikely(var175
== NULL
)) {
2211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
2212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 273);
2216 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var175
, var_n
); /* Direct call array#Array#add on <var175:Array[Prod]>*/
2222 /* method parser_work#ComputeProdLocationVisitor#init for (self: ComputeProdLocationVisitor) */
2223 void nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___standard__kernel__Object__init(val
* self
) {
2225 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__parser_work___nit__parser_work__ComputeProdLocationVisitor___standard__kernel__Object__init
]))(self
); /* init on <self:ComputeProdLocationVisitor>*/
2229 /* method parser_work#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
2230 val
* nit__parser_work___nit__parser_work__TextCollectorVisitor___text(val
* self
) {
2231 val
* var
/* : String */;
2232 val
* var1
/* : String */;
2233 var1
= self
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
; /* _text on <self:TextCollectorVisitor> */
2234 if (unlikely(var1
== NULL
)) {
2235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
2236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 281);
2243 /* method parser_work#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
2244 void nit__parser_work___nit__parser_work__TextCollectorVisitor___text_61d(val
* self
, val
* p0
) {
2245 self
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
= p0
; /* _text on <self:TextCollectorVisitor> */
2248 /* method parser_work#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
2249 void nit__parser_work___nit__parser_work__TextCollectorVisitor___nit__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
2250 val
* var_n
/* var n: ANode */;
2251 short int var
/* : Bool */;
2254 val
* var_
/* var : TextCollectorVisitor */;
2255 val
* var1
/* : String */;
2256 val
* var3
/* : String */;
2257 val
* var4
/* : String */;
2258 val
* var5
/* : String */;
2260 /* <var_n:ANode> isa Token */
2261 cltype
= type_nit__Token
.color
;
2262 idtype
= type_nit__Token
.id
;
2263 if(cltype
>= var_n
->type
->table_size
) {
2266 var
= var_n
->type
->type_table
[cltype
] == idtype
;
2271 { /* Inline parser_work#TextCollectorVisitor#text (var_) on <var_:TextCollectorVisitor> */
2272 var3
= var_
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_:TextCollectorVisitor> */
2273 if (unlikely(var3
== NULL
)) {
2274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
2275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_work
, 281);
2283 var4
= nit__lexer_work___Token___text(var_n
);
2286 var5
= ((val
*(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_standard__string__String___43d
]))(var1
, var4
); /* + on <var1:String>*/
2289 { /* Inline parser_work#TextCollectorVisitor#text= (var_,var5) on <var_:TextCollectorVisitor> */
2290 var_
->attrs
[COLOR_nit__parser_work__TextCollectorVisitor___text
].val
= var5
; /* _text on <var_:TextCollectorVisitor> */
2297 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nit__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode>*/
2301 /* method parser_work#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
2302 val
* nit__parser_work___nit__parser_work__ReduceAction___concat(val
* self
, val
* p0
, val
* p1
) {
2303 val
* var
/* : Array[Object] */;
2304 val
* var_l1
/* var l1: Array[Object] */;
2305 val
* var_l2
/* var l2: Array[Object] */;
2306 short int var1
/* : Bool */;
2310 var1
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_l1
);
2318 standard___standard__Sequence___append(var_l1
, var_l2
); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
2325 /* method parser_work#ReduceAction#goto= for (self: ReduceAction, Int) */
2326 void nit__parser_work___nit__parser_work__ReduceAction___goto_61d(val
* self
, long p0
) {
2327 self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
= p0
; /* _goto on <self:ReduceAction> */
2330 /* method parser_work#ReduceAction#init for (self: ReduceAction) */
2331 void nit__parser_work___nit__parser_work__ReduceAction___standard__kernel__Object__init(val
* self
) {
2333 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__parser_work___nit__parser_work__ReduceAction___standard__kernel__Object__init
]))(self
); /* init on <self:ReduceAction>*/