1 #include "parser_work.sep.0.h"
2 /* method parser_work#State#init for (self: State, Int, nullable Object) */
3 void parser_work__State__init(val
* self
, long p0
, val
* p1
) {
4 long var_state
/* var state: Int */;
5 val
* var_nodes
/* var nodes: nullable Object */;
8 self
->attrs
[COLOR_parser_work__State___state
].l
= var_state
; /* _state on <self:State> */
9 self
->attrs
[COLOR_parser_work__State___nodes
].val
= var_nodes
; /* _nodes on <self:State> */
12 /* method parser_work#State#init for (self: Object, Int, nullable Object) */
13 void VIRTUAL_parser_work__State__init(val
* self
, long p0
, val
* p1
) {
14 parser_work__State__init(self
, p0
, p1
); /* Direct call parser_work#State#init on <self:Object(State)>*/
17 /* method parser_work#Parser#init for (self: Parser, Lexer) */
18 void parser_work__Parser__init(val
* self
, val
* p0
) {
19 val
* var_lexer
/* var lexer: Lexer */;
20 val
* var
/* : Array[State] */;
21 long var1
/* : Int */;
22 long var2
/* : Int */;
23 long var4
/* : Int */;
25 self
->attrs
[COLOR_parser_work__Parser___lexer
].val
= var_lexer
; /* _lexer on <self:Parser> */
26 var
= NEW_array__Array(&type_array__Arrayparser_work__State
);
28 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:Array[State]>*/;
30 self
->attrs
[COLOR_parser_work__Parser___stack
].val
= var
; /* _stack on <self:Parser> */
33 { /* Inline kernel#Int#unary - (var1) on <var1:Int> */
40 self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
= var2
; /* _stack_pos on <self:Parser> */
42 parser__Parser__build_reduce_table(self
); /* Direct call parser#Parser#build_reduce_table on <self:Parser>*/
46 /* method parser_work#Parser#init for (self: Object, Lexer) */
47 void VIRTUAL_parser_work__Parser__init(val
* self
, val
* p0
) {
48 parser_work__Parser__init(self
, p0
); /* Direct call parser_work#Parser#init on <self:Object(Parser)>*/
51 /* method parser_work#Parser#go_to for (self: Parser, Int): Int */
52 long parser_work__Parser__go_to(val
* self
, long p0
) {
54 long var_index
/* var index: Int */;
55 long var1
/* : Int */;
56 long var_state
/* var state: Int */;
57 long var2
/* : Int */;
58 long var_low
/* var low: Int */;
59 long var3
/* : Int */;
60 long var4
/* : Int */;
61 long var6
/* : Int for extern */;
62 long var7
/* : Int */;
63 long var8
/* : Int */;
64 short int var10
/* : Bool */;
67 const char* var_class_name
;
68 long var11
/* : Int */;
69 long var_high
/* var high: Int */;
70 short int var12
/* : Bool */;
71 short int var14
/* : Bool */;
74 const char* var_class_name17
;
75 short int var18
/* : Bool */;
76 long var19
/* : Int */;
77 short int var21
/* : Bool */;
80 const char* var_class_name24
;
81 long var25
/* : Int */;
82 long var26
/* : Int */;
83 long var27
/* : Int */;
84 short int var29
/* : Bool */;
87 const char* var_class_name32
;
88 long var33
/* : Int */;
89 long var_middle
/* var middle: Int */;
90 long var34
/* : Int */;
91 long var35
/* : Int */;
92 short int var37
/* : Bool */;
95 const char* var_class_name40
;
96 long var41
/* : Int */;
97 long var42
/* : Int */;
98 long var43
/* : Int */;
99 short int var45
/* : Bool */;
102 const char* var_class_name48
;
103 long var49
/* : Int */;
104 long var_subindex
/* var subindex: Int */;
105 long var50
/* : Int */;
106 long var52
/* : Int for extern */;
107 long var_goal
/* var goal: Int */;
108 short int var53
/* : Bool */;
109 short int var55
/* : Bool */;
112 const char* var_class_name58
;
113 short int var59
/* : Bool */;
114 long var60
/* : Int */;
115 long var61
/* : Int */;
116 short int var63
/* : Bool */;
119 const char* var_class_name66
;
120 long var67
/* : Int */;
121 short int var68
/* : Bool */;
122 short int var70
/* : Bool */;
125 const char* var_class_name73
;
126 short int var74
/* : Bool */;
127 long var75
/* : Int */;
128 long var76
/* : Int */;
129 short int var78
/* : Bool */;
132 const char* var_class_name81
;
133 long var82
/* : Int */;
134 long var83
/* : Int */;
135 long var84
/* : Int */;
136 short int var86
/* : Bool */;
139 const char* var_class_name89
;
140 long var90
/* : Int */;
141 long var91
/* : Int */;
142 long var93
/* : Int for extern */;
143 long var94
/* : Int */;
144 long var95
/* : Int */;
145 long var97
/* : Int for extern */;
148 var1
= parser_work__Parser__state(self
);
155 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var3) on <self:Parser> */
156 var6
= parser_goto(self
, var_index
, var3
);
164 { /* Inline kernel#Int#- (var4,var7) on <var4:Int> */
165 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
166 /* <var7:Int> isa OTHER */
167 var10
= 1; /* easy <var7:Int> isa OTHER*/
168 if (unlikely(!var10
)) {
169 var_class_name
= type_kernel__Int
.name
;
170 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
171 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
183 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
184 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
185 /* <var_high:Int> isa OTHER */
186 var14
= 1; /* easy <var_high:Int> isa OTHER*/
187 if (unlikely(!var14
)) {
188 var_class_name17
= type_kernel__Int
.name
;
189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
190 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
193 var18
= var_low
<= var_high
;
201 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
202 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
203 /* <var_high:Int> isa OTHER */
204 var21
= 1; /* easy <var_high:Int> isa OTHER*/
205 if (unlikely(!var21
)) {
206 var_class_name24
= type_kernel__Int
.name
;
207 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
208 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
211 var25
= var_low
+ var_high
;
219 { /* Inline kernel#Int#/ (var19,var26) on <var19:Int> */
220 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
221 /* <var26:Int> isa OTHER */
222 var29
= 1; /* easy <var26:Int> isa OTHER*/
223 if (unlikely(!var29
)) {
224 var_class_name32
= type_kernel__Int
.name
;
225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
226 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
229 var33
= var19
/ var26
;
238 { /* Inline kernel#Int#* (var_middle,var34) on <var_middle:Int> */
239 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
240 /* <var34:Int> isa OTHER */
241 var37
= 1; /* easy <var34:Int> isa OTHER*/
242 if (unlikely(!var37
)) {
243 var_class_name40
= type_kernel__Int
.name
;
244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
245 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
248 var41
= var_middle
* var34
;
256 { /* Inline kernel#Int#+ (var35,var42) on <var35:Int> */
257 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
258 /* <var42:Int> isa OTHER */
259 var45
= 1; /* easy <var42:Int> isa OTHER*/
260 if (unlikely(!var45
)) {
261 var_class_name48
= type_kernel__Int
.name
;
262 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
263 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
266 var49
= var35
+ var42
;
272 var_subindex
= var43
;
274 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var_subindex) on <self:Parser> */
275 var52
= parser_goto(self
, var_index
, var_subindex
);
283 { /* Inline kernel#Int#< (var_state,var_goal) on <var_state:Int> */
284 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
285 /* <var_goal:Int> isa OTHER */
286 var55
= 1; /* easy <var_goal:Int> isa OTHER*/
287 if (unlikely(!var55
)) {
288 var_class_name58
= type_kernel__Int
.name
;
289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
290 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
293 var59
= var_state
< var_goal
;
302 { /* Inline kernel#Int#- (var_middle,var60) on <var_middle:Int> */
303 /* Covariant cast for argument 0 (i) <var60:Int> isa OTHER */
304 /* <var60:Int> isa OTHER */
305 var63
= 1; /* easy <var60:Int> isa OTHER*/
306 if (unlikely(!var63
)) {
307 var_class_name66
= type_kernel__Int
.name
;
308 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
309 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
312 var67
= var_middle
- var60
;
321 { /* Inline kernel#Int#> (var_state,var_goal) on <var_state:Int> */
322 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
323 /* <var_goal:Int> isa OTHER */
324 var70
= 1; /* easy <var_goal:Int> isa OTHER*/
325 if (unlikely(!var70
)) {
326 var_class_name73
= type_kernel__Int
.name
;
327 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73
);
328 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
331 var74
= var_state
> var_goal
;
340 { /* Inline kernel#Int#+ (var_middle,var75) on <var_middle:Int> */
341 /* Covariant cast for argument 0 (i) <var75:Int> isa OTHER */
342 /* <var75:Int> isa OTHER */
343 var78
= 1; /* easy <var75:Int> isa OTHER*/
344 if (unlikely(!var78
)) {
345 var_class_name81
= type_kernel__Int
.name
;
346 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
347 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
350 var82
= var_middle
+ var75
;
360 { /* Inline kernel#Int#+ (var_subindex,var83) on <var_subindex:Int> */
361 /* Covariant cast for argument 0 (i) <var83:Int> isa OTHER */
362 /* <var83:Int> isa OTHER */
363 var86
= 1; /* easy <var83:Int> isa OTHER*/
364 if (unlikely(!var86
)) {
365 var_class_name89
= type_kernel__Int
.name
;
366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
367 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
370 var90
= var_subindex
+ var83
;
377 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var84) on <self:Parser> */
378 var93
= parser_goto(self
, var_index
, var84
);
392 BREAK_label
: (void)0;
395 { /* Inline tables#TablesCapable#parser_goto (self,var_index,var94) on <self:Parser> */
396 var97
= parser_goto(self
, var_index
, var94
);
407 /* method parser_work#Parser#go_to for (self: Object, Int): Int */
408 long VIRTUAL_parser_work__Parser__go_to(val
* self
, long p0
) {
409 long var
/* : Int */;
410 long var1
/* : Int */;
411 var1
= parser_work__Parser__go_to(self
, p0
);
416 /* method parser_work#Parser#push for (self: Parser, Int, nullable Object) */
417 void parser_work__Parser__push(val
* self
, long p0
, val
* p1
) {
418 long var_numstate
/* var numstate: Int */;
419 val
* var_list_node
/* var list_node: nullable Object */;
420 long var
/* : Int */;
421 long var1
/* : Int */;
422 long var2
/* : Int */;
423 short int var4
/* : Bool */;
426 const char* var_class_name
;
427 long var5
/* : Int */;
428 long var_pos
/* var pos: Int */;
429 val
* var6
/* : Array[State] */;
430 long var7
/* : Int */;
431 long var9
/* : Int */;
432 short int var10
/* : Bool */;
433 short int var12
/* : Bool */;
436 const char* var_class_name15
;
437 short int var16
/* : Bool */;
438 val
* var17
/* : Array[State] */;
439 val
* var18
/* : nullable Object */;
440 val
* var_state
/* var state: State */;
441 val
* var19
/* : Array[State] */;
442 val
* var20
/* : State */;
445 var
= self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
448 { /* Inline kernel#Int#+ (var,var1) on <var:Int> */
449 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
450 /* <var1:Int> isa OTHER */
451 var4
= 1; /* easy <var1:Int> isa OTHER*/
452 if (unlikely(!var4
)) {
453 var_class_name
= type_kernel__Int
.name
;
454 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
455 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
465 self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
= var_pos
; /* _stack_pos on <self:Parser> */
466 var6
= self
->attrs
[COLOR_parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
467 if (unlikely(var6
== NULL
)) {
468 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
469 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 85);
473 { /* Inline array#AbstractArrayRead#length (var6) on <var6:Array[State]> */
474 var9
= var6
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var6:Array[State]> */
480 { /* Inline kernel#Int#< (var_pos,var7) on <var_pos:Int> */
481 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
482 /* <var7:Int> isa OTHER */
483 var12
= 1; /* easy <var7:Int> isa OTHER*/
484 if (unlikely(!var12
)) {
485 var_class_name15
= type_kernel__Int
.name
;
486 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
487 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
490 var16
= var_pos
< var7
;
497 var17
= self
->attrs
[COLOR_parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
498 if (unlikely(var17
== NULL
)) {
499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
500 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 86);
504 var18
= array__Array___91d_93d(var17
, var_pos
);
507 var_state
->attrs
[COLOR_parser_work__State___state
].l
= var_numstate
; /* _state on <var_state:State> */
508 var_state
->attrs
[COLOR_parser_work__State___nodes
].val
= var_list_node
; /* _nodes on <var_state:State> */
510 var19
= self
->attrs
[COLOR_parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
511 if (unlikely(var19
== NULL
)) {
512 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
513 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 90);
516 var20
= NEW_parser_work__State(&type_parser_work__State
);
518 parser_work__State__init(var20
, var_numstate
, var_list_node
); /* Direct call parser_work#State#init on <var20:State>*/
521 array__AbstractArray__push(var19
, var20
); /* Direct call array#AbstractArray#push on <var19:Array[State]>*/
526 /* method parser_work#Parser#push for (self: Object, Int, nullable Object) */
527 void VIRTUAL_parser_work__Parser__push(val
* self
, long p0
, val
* p1
) {
528 parser_work__Parser__push(self
, p0
, p1
); /* Direct call parser_work#Parser#push on <self:Object(Parser)>*/
531 /* method parser_work#Parser#state for (self: Parser): Int */
532 long parser_work__Parser__state(val
* self
) {
533 long var
/* : Int */;
534 val
* var1
/* : Array[State] */;
535 long var2
/* : Int */;
536 val
* var3
/* : nullable Object */;
537 long var4
/* : Int */;
538 var1
= self
->attrs
[COLOR_parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
539 if (unlikely(var1
== NULL
)) {
540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
541 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 97);
544 var2
= self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
546 var3
= array__Array___91d_93d(var1
, var2
);
548 var4
= var3
->attrs
[COLOR_parser_work__State___state
].l
; /* _state on <var3:nullable Object(State)> */
554 /* method parser_work#Parser#state for (self: Object): Int */
555 long VIRTUAL_parser_work__Parser__state(val
* self
) {
556 long var
/* : Int */;
557 long var1
/* : Int */;
558 var1
= parser_work__Parser__state(self
);
563 /* method parser_work#Parser#pop for (self: Parser): nullable Object */
564 val
* parser_work__Parser__pop(val
* self
) {
565 val
* var
/* : nullable Object */;
566 val
* var1
/* : Array[State] */;
567 long var2
/* : Int */;
568 val
* var3
/* : nullable Object */;
569 val
* var4
/* : nullable Object */;
570 val
* var_res
/* var res: nullable Object */;
571 long var5
/* : Int */;
572 long var6
/* : Int */;
573 long var7
/* : Int */;
574 short int var9
/* : Bool */;
577 const char* var_class_name
;
578 long var10
/* : Int */;
579 var1
= self
->attrs
[COLOR_parser_work__Parser___stack
].val
; /* _stack on <self:Parser> */
580 if (unlikely(var1
== NULL
)) {
581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stack");
582 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 103);
585 var2
= self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
587 var3
= array__Array___91d_93d(var1
, var2
);
589 var4
= var3
->attrs
[COLOR_parser_work__State___nodes
].val
; /* _nodes on <var3:nullable Object(State)> */
591 var5
= self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
594 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
595 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
596 /* <var6:Int> isa OTHER */
597 var9
= 1; /* easy <var6:Int> isa OTHER*/
598 if (unlikely(!var9
)) {
599 var_class_name
= type_kernel__Int
.name
;
600 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
601 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
610 self
->attrs
[COLOR_parser_work__Parser___stack_pos
].l
= var7
; /* _stack_pos on <self:Parser> */
616 /* method parser_work#Parser#pop for (self: Object): nullable Object */
617 val
* VIRTUAL_parser_work__Parser__pop(val
* self
) {
618 val
* var
/* : nullable Object */;
619 val
* var1
/* : nullable Object */;
620 var1
= parser_work__Parser__pop(self
);
625 /* method parser_work#Parser#parse for (self: Parser): Start */
626 val
* parser_work__Parser__parse(val
* self
) {
627 val
* var
/* : Start */;
628 long var1
/* : Int */;
629 val
* var2
/* : null */;
630 val
* var3
/* : Lexer */;
631 val
* var_lexer
/* var lexer: Lexer */;
632 val
* var4
/* : Token */;
633 val
* var_token
/* var token: Token */;
634 short int var5
/* : Bool */;
637 val
* var6
/* : Start */;
638 val
* var7
/* : null */;
639 long var8
/* : Int */;
640 long var_state
/* var state: Int */;
641 long var9
/* : Int */;
642 long var_index
/* var index: Int */;
643 long var10
/* : Int */;
644 long var11
/* : Int */;
645 long var13
/* : Int for extern */;
646 long var_action_type
/* var action_type: Int */;
647 long var14
/* : Int */;
648 long var15
/* : Int */;
649 long var17
/* : Int for extern */;
650 long var_action_value
/* var action_value: Int */;
651 long var18
/* : Int */;
652 long var_low
/* var low: Int */;
653 long var19
/* : Int */;
654 long var20
/* : Int */;
655 long var22
/* : Int for extern */;
656 long var23
/* : Int */;
657 long var24
/* : Int */;
658 short int var26
/* : Bool */;
661 const char* var_class_name
;
662 long var29
/* : Int */;
663 long var_high
/* var high: Int */;
664 short int var30
/* : Bool */;
665 short int var32
/* : Bool */;
668 const char* var_class_name35
;
669 short int var36
/* : Bool */;
670 long var37
/* : Int */;
671 short int var39
/* : Bool */;
674 const char* var_class_name42
;
675 long var43
/* : Int */;
676 long var44
/* : Int */;
677 long var45
/* : Int */;
678 short int var47
/* : Bool */;
681 const char* var_class_name50
;
682 long var51
/* : Int */;
683 long var_middle
/* var middle: Int */;
684 long var52
/* : Int */;
685 long var53
/* : Int */;
686 short int var55
/* : Bool */;
689 const char* var_class_name58
;
690 long var59
/* : Int */;
691 long var60
/* : Int */;
692 long var61
/* : Int */;
693 short int var63
/* : Bool */;
696 const char* var_class_name66
;
697 long var67
/* : Int */;
698 long var_subindex
/* var subindex: Int */;
699 long var68
/* : Int */;
700 long var70
/* : Int for extern */;
701 long var_goal
/* var goal: Int */;
702 short int var71
/* : Bool */;
703 short int var73
/* : Bool */;
706 const char* var_class_name76
;
707 short int var77
/* : Bool */;
708 long var78
/* : Int */;
709 long var79
/* : Int */;
710 short int var81
/* : Bool */;
713 const char* var_class_name84
;
714 long var85
/* : Int */;
715 short int var86
/* : Bool */;
716 short int var88
/* : Bool */;
719 const char* var_class_name91
;
720 short int var92
/* : Bool */;
721 long var93
/* : Int */;
722 long var94
/* : Int */;
723 short int var96
/* : Bool */;
726 const char* var_class_name99
;
727 long var100
/* : Int */;
728 long var101
/* : Int */;
729 long var102
/* : Int */;
730 short int var104
/* : Bool */;
733 const char* var_class_name107
;
734 long var108
/* : Int */;
735 long var109
/* : Int */;
736 long var111
/* : Int for extern */;
737 long var112
/* : Int */;
738 long var113
/* : Int */;
739 short int var115
/* : Bool */;
742 const char* var_class_name118
;
743 long var119
/* : Int */;
744 long var120
/* : Int */;
745 long var122
/* : Int for extern */;
746 long var123
/* : Int */;
747 short int var124
/* : Bool */;
748 short int var125
/* : Bool */;
749 short int var127
/* : Bool */;
750 val
* var128
/* : Token */;
751 long var129
/* : Int */;
752 short int var130
/* : Bool */;
753 short int var131
/* : Bool */;
754 short int var133
/* : Bool */;
755 val
* var134
/* : Array[ReduceAction] */;
756 val
* var135
/* : nullable Object */;
757 long var136
/* : Int */;
758 short int var137
/* : Bool */;
759 short int var138
/* : Bool */;
760 short int var140
/* : Bool */;
761 val
* var141
/* : Token */;
762 val
* var_node2
/* var node2: Token */;
763 short int var142
/* : Bool */;
766 val
* var145
/* : nullable Object */;
767 val
* var_node1
/* var node1: nullable Object */;
768 short int var146
/* : Bool */;
771 val
* var149
/* : Start */;
772 val
* var_node
/* var node: Start */;
773 val
* var150
/* : ComputeProdLocationVisitor */;
774 long var151
/* : Int */;
775 short int var152
/* : Bool */;
776 short int var153
/* : Bool */;
777 short int var155
/* : Bool */;
778 short int var156
/* : Bool */;
779 short int var157
/* : Bool */;
780 val
* var158
/* : Token */;
781 val
* var160
/* : AParserError */;
783 val
* var161
/* : String */;
784 char* var162
/* : NativeString */;
785 long var163
/* : Int */;
786 val
* var164
/* : FlatString */;
787 static val
* varonce165
;
788 val
* var166
/* : String */;
789 char* var167
/* : NativeString */;
790 long var168
/* : Int */;
791 val
* var169
/* : FlatString */;
792 val
* var170
/* : Array[Object] */;
793 long var171
/* : Int */;
794 val
* var172
/* : NativeArray[Object] */;
795 val
* var173
/* : String */;
796 val
* var174
/* : Location */;
797 val
* var176
/* : Location */;
798 val
* var_node2177
/* var node2: AParserError */;
799 val
* var178
/* : Start */;
800 val
* var179
/* : null */;
801 val
* var_node180
/* var node: Start */;
805 parser_work__Parser__push(self
, var1
, var2
); /* Direct call parser_work#Parser#push on <self:Parser>*/
807 var3
= self
->attrs
[COLOR_parser_work__Parser___lexer
].val
; /* _lexer on <self:Parser> */
808 if (unlikely(var3
== NULL
)) {
809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lexer");
810 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 113);
816 var4
= lexer_work__Lexer__peek(var_lexer
);
819 /* <var_token:Token> isa AError */
820 cltype
= type_parser_nodes__AError
.color
;
821 idtype
= type_parser_nodes__AError
.id
;
822 if(cltype
>= var_token
->type
->table_size
) {
825 var5
= var_token
->type
->type_table
[cltype
] == idtype
;
828 var6
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
831 parser_nodes__Start__init(var6
, var7
, var_token
); /* Direct call parser_nodes#Start#init on <var6:Start>*/
838 var8
= parser_work__Parser__state(self
);
842 var9
= ((long (*)(val
*))(var_token
->class->vft
[COLOR_lexer_work__Token__parser_index
]))(var_token
) /* parser_index on <var_token:Token>*/;
847 { /* Inline tables#TablesCapable#parser_action (self,var_state,var10) on <self:Parser> */
848 var13
= parser_action(self
, var_state
, var10
);
854 var_action_type
= var11
;
857 { /* Inline tables#TablesCapable#parser_action (self,var_state,var14) on <self:Parser> */
858 var17
= parser_action(self
, var_state
, var14
);
864 var_action_value
= var15
;
869 { /* Inline tables#TablesCapable#parser_action (self,var_state,var19) on <self:Parser> */
870 var22
= parser_action(self
, var_state
, var19
);
878 { /* Inline kernel#Int#- (var20,var23) on <var20:Int> */
879 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
880 /* <var23:Int> isa OTHER */
881 var26
= 1; /* easy <var23:Int> isa OTHER*/
882 if (unlikely(!var26
)) {
883 var_class_name
= type_kernel__Int
.name
;
884 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
885 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
888 var29
= var20
- var23
;
897 { /* Inline kernel#Int#<= (var_low,var_high) on <var_low:Int> */
898 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
899 /* <var_high:Int> isa OTHER */
900 var32
= 1; /* easy <var_high:Int> isa OTHER*/
901 if (unlikely(!var32
)) {
902 var_class_name35
= type_kernel__Int
.name
;
903 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
904 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
907 var36
= var_low
<= var_high
;
915 { /* Inline kernel#Int#+ (var_low,var_high) on <var_low:Int> */
916 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
917 /* <var_high:Int> isa OTHER */
918 var39
= 1; /* easy <var_high:Int> isa OTHER*/
919 if (unlikely(!var39
)) {
920 var_class_name42
= type_kernel__Int
.name
;
921 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
922 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
925 var43
= var_low
+ var_high
;
933 { /* Inline kernel#Int#/ (var37,var44) on <var37:Int> */
934 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
935 /* <var44:Int> isa OTHER */
936 var47
= 1; /* easy <var44:Int> isa OTHER*/
937 if (unlikely(!var47
)) {
938 var_class_name50
= type_kernel__Int
.name
;
939 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50
);
940 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
943 var51
= var37
/ var44
;
952 { /* Inline kernel#Int#* (var_middle,var52) on <var_middle:Int> */
953 /* Covariant cast for argument 0 (i) <var52:Int> isa OTHER */
954 /* <var52:Int> isa OTHER */
955 var55
= 1; /* easy <var52:Int> isa OTHER*/
956 if (unlikely(!var55
)) {
957 var_class_name58
= type_kernel__Int
.name
;
958 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
959 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
962 var59
= var_middle
* var52
;
970 { /* Inline kernel#Int#+ (var53,var60) on <var53:Int> */
971 /* Covariant cast for argument 0 (i) <var60:Int> isa OTHER */
972 /* <var60:Int> isa OTHER */
973 var63
= 1; /* easy <var60:Int> isa OTHER*/
974 if (unlikely(!var63
)) {
975 var_class_name66
= type_kernel__Int
.name
;
976 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
977 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
980 var67
= var53
+ var60
;
986 var_subindex
= var61
;
988 { /* Inline tables#TablesCapable#parser_action (self,var_state,var_subindex) on <self:Parser> */
989 var70
= parser_action(self
, var_state
, var_subindex
);
997 { /* Inline kernel#Int#< (var_index,var_goal) on <var_index:Int> */
998 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
999 /* <var_goal:Int> isa OTHER */
1000 var73
= 1; /* easy <var_goal:Int> isa OTHER*/
1001 if (unlikely(!var73
)) {
1002 var_class_name76
= type_kernel__Int
.name
;
1003 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
1004 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1007 var77
= var_index
< var_goal
;
1010 RET_LABEL72
:(void)0;
1016 { /* Inline kernel#Int#- (var_middle,var78) on <var_middle:Int> */
1017 /* Covariant cast for argument 0 (i) <var78:Int> isa OTHER */
1018 /* <var78:Int> isa OTHER */
1019 var81
= 1; /* easy <var78:Int> isa OTHER*/
1020 if (unlikely(!var81
)) {
1021 var_class_name84
= type_kernel__Int
.name
;
1022 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84
);
1023 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1026 var85
= var_middle
- var78
;
1029 RET_LABEL80
:(void)0;
1035 { /* Inline kernel#Int#> (var_index,var_goal) on <var_index:Int> */
1036 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
1037 /* <var_goal:Int> isa OTHER */
1038 var88
= 1; /* easy <var_goal:Int> isa OTHER*/
1039 if (unlikely(!var88
)) {
1040 var_class_name91
= type_kernel__Int
.name
;
1041 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
1042 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
1045 var92
= var_index
> var_goal
;
1048 RET_LABEL87
:(void)0;
1054 { /* Inline kernel#Int#+ (var_middle,var93) on <var_middle:Int> */
1055 /* Covariant cast for argument 0 (i) <var93:Int> isa OTHER */
1056 /* <var93:Int> isa OTHER */
1057 var96
= 1; /* easy <var93:Int> isa OTHER*/
1058 if (unlikely(!var96
)) {
1059 var_class_name99
= type_kernel__Int
.name
;
1060 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99
);
1061 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1064 var100
= var_middle
+ var93
;
1067 RET_LABEL95
:(void)0;
1074 { /* Inline kernel#Int#+ (var_subindex,var101) on <var_subindex:Int> */
1075 /* Covariant cast for argument 0 (i) <var101:Int> isa OTHER */
1076 /* <var101:Int> isa OTHER */
1077 var104
= 1; /* easy <var101:Int> isa OTHER*/
1078 if (unlikely(!var104
)) {
1079 var_class_name107
= type_kernel__Int
.name
;
1080 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name107
);
1081 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1084 var108
= var_subindex
+ var101
;
1087 RET_LABEL103
:(void)0;
1091 { /* Inline tables#TablesCapable#parser_action (self,var_state,var102) on <self:Parser> */
1092 var111
= parser_action(self
, var_state
, var102
);
1095 RET_LABEL110
:(void)0;
1098 var_action_type
= var109
;
1101 { /* Inline kernel#Int#+ (var_subindex,var112) on <var_subindex:Int> */
1102 /* Covariant cast for argument 0 (i) <var112:Int> isa OTHER */
1103 /* <var112:Int> isa OTHER */
1104 var115
= 1; /* easy <var112:Int> isa OTHER*/
1105 if (unlikely(!var115
)) {
1106 var_class_name118
= type_kernel__Int
.name
;
1107 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name118
);
1108 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1111 var119
= var_subindex
+ var112
;
1114 RET_LABEL114
:(void)0;
1118 { /* Inline tables#TablesCapable#parser_action (self,var_state,var113) on <self:Parser> */
1119 var122
= parser_action(self
, var_state
, var113
);
1122 RET_LABEL121
:(void)0;
1125 var_action_value
= var120
;
1133 BREAK_label
: (void)0;
1136 { /* Inline kernel#Int#== (var_action_type,var123) on <var_action_type:Int> */
1137 var127
= var_action_type
== var123
;
1140 RET_LABEL126
:(void)0;
1146 var128
= lexer_work__Lexer__next(var_lexer
);
1149 parser_work__Parser__push(self
, var_action_value
, var128
); /* Direct call parser_work#Parser#push on <self:Parser>*/
1154 { /* Inline kernel#Int#== (var_action_type,var129) on <var_action_type:Int> */
1155 var133
= var_action_type
== var129
;
1158 RET_LABEL132
:(void)0;
1163 var134
= self
->attrs
[COLOR_parser_work__Parser___reduce_table
].val
; /* _reduce_table on <self:Parser> */
1164 if (unlikely(var134
== NULL
)) {
1165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _reduce_table");
1166 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 147);
1170 var135
= array__Array___91d_93d(var134
, var_action_value
);
1173 ((void (*)(val
*, val
*))(var135
->class->vft
[COLOR_parser_work__ReduceAction__action
]))(var135
, self
) /* action on <var135:nullable Object(ReduceAction)>*/;
1178 { /* Inline kernel#Int#== (var_action_type,var136) on <var_action_type:Int> */
1179 var140
= var_action_type
== var136
;
1182 RET_LABEL139
:(void)0;
1188 var141
= lexer_work__Lexer__next(var_lexer
);
1191 /* <var_node2:Token> isa EOF */
1192 cltype143
= type_parser_nodes__EOF
.color
;
1193 idtype144
= type_parser_nodes__EOF
.id
;
1194 if(cltype143
>= var_node2
->type
->table_size
) {
1197 var142
= var_node2
->type
->type_table
[cltype143
] == idtype144
;
1199 if (unlikely(!var142
)) {
1200 PRINT_ERROR("Runtime error: %s", "Assert failed");
1201 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 150);
1205 var145
= parser_work__Parser__pop(self
);
1208 /* <var_node1:nullable Object> isa AModule */
1209 cltype147
= type_parser_nodes__AModule
.color
;
1210 idtype148
= type_parser_nodes__AModule
.id
;
1211 if(var_node1
== NULL
) {
1214 if(cltype147
>= var_node1
->type
->table_size
) {
1217 var146
= var_node1
->type
->type_table
[cltype147
] == idtype148
;
1220 if (unlikely(!var146
)) {
1221 PRINT_ERROR("Runtime error: %s", "Assert failed");
1222 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 152);
1225 var149
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
1227 parser_nodes__Start__init(var149
, var_node1
, var_node2
); /* Direct call parser_nodes#Start#init on <var149:Start>*/
1230 var150
= NEW_parser_work__ComputeProdLocationVisitor(&type_parser_work__ComputeProdLocationVisitor
);
1232 ((void (*)(val
*))(var150
->class->vft
[COLOR_kernel__Object__init
]))(var150
) /* init on <var150:ComputeProdLocationVisitor>*/;
1235 parser_nodes__Visitor__enter_visit(var150
, var_node
); /* Direct call parser_nodes#Visitor#enter_visit on <var150:ComputeProdLocationVisitor>*/
1242 { /* Inline kernel#Int#== (var_action_type,var151) on <var_action_type:Int> */
1243 var155
= var_action_type
== var151
;
1246 RET_LABEL154
:(void)0;
1252 var156
= var_token
->attrs
[COLOR_parser_nodes__ANode___location
].val
!= NULL
; /* _location on <var_token:Token> */
1256 var158
= lexer_work__Lexer__next(var_lexer
);
1260 goto BREAK_label159
;
1263 BREAK_label159
: (void)0;
1264 var160
= NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError
);
1268 var162
= "Syntax error: unexpected ";
1270 var164
= string__NativeString__to_s_with_length(var162
, var163
);
1275 var166
= varonce165
;
1279 var169
= string__NativeString__to_s_with_length(var167
, var168
);
1281 varonce165
= var166
;
1283 var170
= NEW_array__Array(&type_array__Arraykernel__Object
);
1284 { /* var170 = array_instance Array[Object] */
1286 var172
= NEW_array__NativeArray(var171
, &type_array__NativeArraykernel__Object
);
1287 ((struct instance_array__NativeArray
*)var172
)->values
[0] = (val
*) var161
;
1288 ((struct instance_array__NativeArray
*)var172
)->values
[1] = (val
*) var_token
;
1289 ((struct instance_array__NativeArray
*)var172
)->values
[2] = (val
*) var166
;
1291 ((void (*)(val
*, val
*, long))(var170
->class->vft
[COLOR_array__Array__with_native
]))(var170
, var172
, var171
) /* with_native on <var170:Array[Object]>*/;
1295 var173
= ((val
* (*)(val
*))(var170
->class->vft
[COLOR_string__Object__to_s
]))(var170
) /* to_s on <var170:Array[Object]>*/;
1298 { /* Inline parser_nodes#ANode#location (var_token) on <var_token:Token> */
1299 var176
= var_token
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_token:Token> */
1300 if (unlikely(var176
== NULL
)) {
1301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1302 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1306 RET_LABEL175
:(void)0;
1310 lexer_work__AParserError__init_parser_error(var160
, var173
, var174
, var_token
); /* Direct call lexer_work#AParserError#init_parser_error on <var160:AParserError>*/
1312 var_node2177
= var160
;
1313 var178
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
1316 parser_nodes__Start__init(var178
, var179
, var_node2177
); /* Direct call parser_nodes#Start#init on <var178:Start>*/
1318 var_node180
= var178
;
1330 /* method parser_work#Parser#parse for (self: Object): Start */
1331 val
* VIRTUAL_parser_work__Parser__parse(val
* self
) {
1332 val
* var
/* : Start */;
1333 val
* var1
/* : Start */;
1334 var1
= parser_work__Parser__parse(self
);
1339 /* method parser_work#Prod#collect_text for (self: Prod): String */
1340 val
* parser_work__Prod__collect_text(val
* self
) {
1341 val
* var
/* : String */;
1342 val
* var1
/* : TextCollectorVisitor */;
1343 val
* var_v
/* var v: TextCollectorVisitor */;
1344 val
* var2
/* : String */;
1345 val
* var4
/* : String */;
1346 static val
* varonce
;
1347 val
* var5
/* : String */;
1348 char* var6
/* : NativeString */;
1349 long var7
/* : Int */;
1350 val
* var8
/* : FlatString */;
1351 short int var9
/* : Bool */;
1352 short int var10
/* : Bool */;
1353 val
* var_other
/* var other: nullable Object */;
1354 short int var12
/* : Bool */;
1355 short int var13
/* : Bool */;
1356 short int var14
/* : Bool */;
1357 val
* var15
/* : String */;
1358 val
* var17
/* : String */;
1359 var1
= NEW_parser_work__TextCollectorVisitor(&type_parser_work__TextCollectorVisitor
);
1361 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:TextCollectorVisitor>*/;
1365 parser_nodes__Visitor__enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:TextCollectorVisitor>*/
1368 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
1369 var4
= var_v
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
1370 if (unlikely(var4
== NULL
)) {
1371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1372 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
1384 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1389 { /* Inline kernel#Object#!= (var2,var5) on <var2:String> */
1392 var13
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var2
, var_other
) /* == on <var2:String>*/;
1398 RET_LABEL11
:(void)0;
1402 if (unlikely(!var9
)) {
1403 PRINT_ERROR("Runtime error: %s", "Assert failed");
1404 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 180);
1408 { /* Inline parser_work#TextCollectorVisitor#text (var_v) on <var_v:TextCollectorVisitor> */
1409 var17
= var_v
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_v:TextCollectorVisitor> */
1410 if (unlikely(var17
== NULL
)) {
1411 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1412 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
1416 RET_LABEL16
:(void)0;
1424 /* method parser_work#Prod#collect_text for (self: Object): String */
1425 val
* VIRTUAL_parser_work__Prod__collect_text(val
* self
) {
1426 val
* var
/* : String */;
1427 val
* var1
/* : String */;
1428 var1
= parser_work__Prod__collect_text(self
);
1433 /* method parser_work#ComputeProdLocationVisitor#visit for (self: ComputeProdLocationVisitor, ANode) */
1434 void parser_work__ComputeProdLocationVisitor__visit(val
* self
, val
* p0
) {
1435 val
* var_n
/* var n: ANode */;
1436 short int var
/* : Bool */;
1439 short int var1
/* : Bool */;
1440 short int var2
/* : Bool */;
1441 val
* var3
/* : Location */;
1442 val
* var_loc
/* var loc: Location */;
1443 val
* var4
/* : Array[Prod] */;
1444 short int var5
/* : Bool */;
1445 short int var6
/* : Bool */;
1446 val
* var7
/* : Array[Prod] */;
1447 val
* var_
/* var : Array[Prod] */;
1448 val
* var8
/* : ArrayIterator[nullable Object] */;
1449 val
* var_9
/* var : ArrayIterator[Prod] */;
1450 short int var10
/* : Bool */;
1451 val
* var11
/* : nullable Object */;
1452 val
* var_no
/* var no: Prod */;
1453 val
* var13
/* : Array[Prod] */;
1454 val
* var14
/* : Array[Prod] */;
1455 short int var15
/* : Bool */;
1456 short int var16
/* : Bool */;
1457 val
* var17
/* : Location */;
1458 val
* var18
/* : nullable SourceFile */;
1459 val
* var20
/* : nullable SourceFile */;
1460 long var21
/* : Int */;
1461 long var23
/* : Int */;
1462 long var24
/* : Int */;
1463 long var26
/* : Int */;
1464 long var27
/* : Int */;
1465 long var29
/* : Int */;
1466 long var30
/* : Int */;
1467 long var32
/* : Int */;
1468 val
* var_loco
/* var loco: Location */;
1469 val
* var33
/* : Array[Prod] */;
1470 val
* var_34
/* var : Array[Prod] */;
1471 val
* var35
/* : ArrayIterator[nullable Object] */;
1472 val
* var_36
/* var : ArrayIterator[Prod] */;
1473 short int var37
/* : Bool */;
1474 val
* var38
/* : nullable Object */;
1475 val
* var_no39
/* var no: Prod */;
1476 val
* var43
/* : Array[Prod] */;
1477 short int var44
/* : Bool */;
1480 val
* var47
/* : Array[Prod] */;
1481 val
* var48
/* : nullable Location */;
1482 val
* var_startl
/* var startl: nullable Location */;
1483 val
* var49
/* : null */;
1484 short int var50
/* : Bool */;
1485 short int var51
/* : Bool */;
1486 val
* var_other
/* var other: nullable Object */;
1487 short int var53
/* : Bool */;
1488 short int var54
/* : Bool */;
1489 short int var55
/* : Bool */;
1490 val
* var56
/* : nullable Location */;
1491 val
* var_endl
/* var endl: nullable Location */;
1492 val
* var57
/* : null */;
1493 short int var58
/* : Bool */;
1494 short int var59
/* : Bool */;
1495 short int var61
/* : Bool */;
1496 short int var62
/* : Bool */;
1497 short int var63
/* : Bool */;
1498 val
* var64
/* : Location */;
1499 val
* var65
/* : nullable SourceFile */;
1500 val
* var67
/* : nullable SourceFile */;
1501 long var68
/* : Int */;
1502 long var70
/* : Int */;
1503 long var71
/* : Int */;
1504 long var73
/* : Int */;
1505 long var74
/* : Int */;
1506 long var76
/* : Int */;
1507 long var77
/* : Int */;
1508 long var79
/* : Int */;
1509 val
* var81
/* : Array[Prod] */;
1510 short int var82
/* : Bool */;
1511 short int var83
/* : Bool */;
1512 val
* var84
/* : Location */;
1513 val
* var85
/* : nullable SourceFile */;
1514 val
* var87
/* : nullable SourceFile */;
1515 long var88
/* : Int */;
1516 long var90
/* : Int */;
1517 long var91
/* : Int */;
1518 long var93
/* : Int */;
1519 long var94
/* : Int */;
1520 long var96
/* : Int */;
1521 long var97
/* : Int */;
1522 long var99
/* : Int */;
1523 val
* var_loc100
/* var loc: Location */;
1524 val
* var101
/* : Array[Prod] */;
1525 val
* var_102
/* var : Array[Prod] */;
1526 val
* var103
/* : ArrayIterator[nullable Object] */;
1527 val
* var_104
/* var : ArrayIterator[Prod] */;
1528 short int var105
/* : Bool */;
1529 val
* var106
/* : nullable Object */;
1530 val
* var_no107
/* var no: Prod */;
1531 val
* var111
/* : Array[Prod] */;
1532 val
* var112
/* : Array[Prod] */;
1534 /* <var_n:ANode> isa Token */
1535 cltype
= type_parser_nodes__Token
.color
;
1536 idtype
= type_parser_nodes__Token
.id
;
1537 if(cltype
>= var_n
->type
->table_size
) {
1540 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1543 var1
= var_n
->attrs
[COLOR_parser_nodes__ANode___location
].val
!= NULL
; /* _location on <var_n:ANode(Token)> */
1549 var3
= var_n
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_n:ANode(Token)> */
1550 if (unlikely(var3
== NULL
)) {
1551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1552 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 202);
1556 self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___last_location
].val
= var_loc
; /* _last_location on <self:ComputeProdLocationVisitor> */
1557 var4
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1558 if (unlikely(var4
== NULL
)) {
1559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1560 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 206);
1564 var5
= array__AbstractArrayRead__is_empty(var4
);
1568 var7
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1569 if (unlikely(var7
== NULL
)) {
1570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1571 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 207);
1576 var8
= array__AbstractArrayRead__iterator(var_
);
1581 var10
= array__ArrayIterator__is_ok(var_9
);
1585 var11
= array__ArrayIterator__item(var_9
);
1588 var_no
->attrs
[COLOR_parser_work__Prod___first_location
].val
= var_loc
; /* _first_location on <var_no:Prod> */
1590 array__ArrayIterator__next(var_9
); /* Direct call array#ArrayIterator#next on <var_9:ArrayIterator[Prod]>*/
1596 BREAK_label
: (void)0;
1598 { /* Inline abstract_collection#Iterator#finish (var_9) on <var_9:ArrayIterator[Prod]> */
1599 RET_LABEL12
:(void)0;
1602 var13
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1603 if (unlikely(var13
== NULL
)) {
1604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1605 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 210);
1609 array__AbstractArray__clear(var13
); /* Direct call array#AbstractArray#clear on <var13:Array[Prod]>*/
1613 var14
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1614 if (unlikely(var14
== NULL
)) {
1615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1616 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 214);
1620 var15
= array__AbstractArrayRead__is_empty(var14
);
1624 var17
= NEW_location__Location(&type_location__Location
);
1626 { /* Inline location#Location#file (var_loc) on <var_loc:Location> */
1627 var20
= var_loc
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var_loc:Location> */
1629 RET_LABEL19
:(void)0;
1633 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
1634 var23
= var_loc
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var_loc:Location> */
1636 RET_LABEL22
:(void)0;
1640 { /* Inline location#Location#line_start (var_loc) on <var_loc:Location> */
1641 var26
= var_loc
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var_loc:Location> */
1643 RET_LABEL25
:(void)0;
1647 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
1648 var29
= var_loc
->attrs
[COLOR_location__Location___column_start
].l
; /* _column_start on <var_loc:Location> */
1650 RET_LABEL28
:(void)0;
1654 { /* Inline location#Location#column_start (var_loc) on <var_loc:Location> */
1655 var32
= var_loc
->attrs
[COLOR_location__Location___column_start
].l
; /* _column_start on <var_loc:Location> */
1657 RET_LABEL31
:(void)0;
1661 location__Location__init(var17
, var18
, var21
, var24
, var27
, var30
); /* Direct call location#Location#init on <var17:Location>*/
1664 var33
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1665 if (unlikely(var33
== NULL
)) {
1666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1667 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 216);
1672 var35
= array__AbstractArrayRead__iterator(var_34
);
1677 var37
= array__ArrayIterator__is_ok(var_36
);
1681 var38
= array__ArrayIterator__item(var_36
);
1685 { /* Inline parser_nodes#ANode#location= (var_no39,var_loco) on <var_no39:Prod> */
1686 var_no39
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var_loco
; /* _location on <var_no39:Prod> */
1687 RET_LABEL40
:(void)0;
1691 array__ArrayIterator__next(var_36
); /* Direct call array#ArrayIterator#next on <var_36:ArrayIterator[Prod]>*/
1697 BREAK_label41
: (void)0;
1699 { /* Inline abstract_collection#Iterator#finish (var_36) on <var_36:ArrayIterator[Prod]> */
1700 RET_LABEL42
:(void)0;
1703 var43
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1704 if (unlikely(var43
== NULL
)) {
1705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1706 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 219);
1710 array__AbstractArray__clear(var43
); /* Direct call array#AbstractArray#clear on <var43:Array[Prod]>*/
1715 /* <var_n:ANode> isa Prod */
1716 cltype45
= type_parser_nodes__Prod
.color
;
1717 idtype46
= type_parser_nodes__Prod
.id
;
1718 if(cltype45
>= var_n
->type
->table_size
) {
1721 var44
= var_n
->type
->type_table
[cltype45
] == idtype46
;
1723 if (unlikely(!var44
)) {
1724 PRINT_ERROR("Runtime error: %s", "Assert failed");
1725 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 222);
1728 var47
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_first_prods
].val
; /* _need_first_prods on <self:ComputeProdLocationVisitor> */
1729 if (unlikely(var47
== NULL
)) {
1730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_first_prods");
1731 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 223);
1735 array__Array__add(var47
, var_n
); /* Direct call array#Array#add on <var47:Array[Prod]>*/
1738 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode(Prod)>*/;
1740 var48
= var_n
->attrs
[COLOR_parser_work__Prod___first_location
].val
; /* _first_location on <var_n:ANode(Prod)> */
1743 if (var_startl
== NULL
) {
1744 var50
= 0; /* is null */
1746 var50
= 1; /* arg is null and recv is not */
1749 { /* Inline kernel#Object#!= (var_startl,var49) on <var_startl:nullable Location> */
1752 var54
= ((short int (*)(val
*, val
*))(var_startl
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_startl
, var_other
) /* == on <var_startl:nullable Location(Location)>*/;
1758 RET_LABEL52
:(void)0;
1763 var56
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___last_location
].val
; /* _last_location on <self:ComputeProdLocationVisitor> */
1766 if (var_endl
== NULL
) {
1767 var58
= 0; /* is null */
1769 var58
= 1; /* arg is null and recv is not */
1772 { /* Inline kernel#Object#!= (var_endl,var57) on <var_endl:nullable Location> */
1775 var62
= ((short int (*)(val
*, val
*))(var_endl
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_endl
, var_other
) /* == on <var_endl:nullable Location(Location)>*/;
1781 RET_LABEL60
:(void)0;
1785 if (unlikely(!var58
)) {
1786 PRINT_ERROR("Runtime error: %s", "Assert failed");
1787 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 231);
1790 var64
= NEW_location__Location(&type_location__Location
);
1792 { /* Inline location#Location#file (var_startl) on <var_startl:nullable Location(Location)> */
1793 var67
= var_startl
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var_startl:nullable Location(Location)> */
1795 RET_LABEL66
:(void)0;
1799 { /* Inline location#Location#line_start (var_startl) on <var_startl:nullable Location(Location)> */
1800 var70
= var_startl
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var_startl:nullable Location(Location)> */
1802 RET_LABEL69
:(void)0;
1806 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
1807 var73
= var_endl
->attrs
[COLOR_location__Location___line_end
].l
; /* _line_end on <var_endl:nullable Location(Location)> */
1809 RET_LABEL72
:(void)0;
1813 { /* Inline location#Location#column_start (var_startl) on <var_startl:nullable Location(Location)> */
1814 var76
= var_startl
->attrs
[COLOR_location__Location___column_start
].l
; /* _column_start on <var_startl:nullable Location(Location)> */
1816 RET_LABEL75
:(void)0;
1820 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
1821 var79
= var_endl
->attrs
[COLOR_location__Location___column_end
].l
; /* _column_end on <var_endl:nullable Location(Location)> */
1823 RET_LABEL78
:(void)0;
1827 location__Location__init(var64
, var65
, var68
, var71
, var74
, var77
); /* Direct call location#Location#init on <var64:Location>*/
1830 { /* Inline parser_nodes#ANode#location= (var_n,var64) on <var_n:ANode(Prod)> */
1831 var_n
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var64
; /* _location on <var_n:ANode(Prod)> */
1832 RET_LABEL80
:(void)0;
1835 var81
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1836 if (unlikely(var81
== NULL
)) {
1837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1838 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 235);
1842 var82
= array__AbstractArrayRead__is_empty(var81
);
1846 var84
= NEW_location__Location(&type_location__Location
);
1848 { /* Inline location#Location#file (var_endl) on <var_endl:nullable Location(Location)> */
1849 var87
= var_endl
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var_endl:nullable Location(Location)> */
1851 RET_LABEL86
:(void)0;
1855 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
1856 var90
= var_endl
->attrs
[COLOR_location__Location___line_end
].l
; /* _line_end on <var_endl:nullable Location(Location)> */
1858 RET_LABEL89
:(void)0;
1862 { /* Inline location#Location#line_end (var_endl) on <var_endl:nullable Location(Location)> */
1863 var93
= var_endl
->attrs
[COLOR_location__Location___line_end
].l
; /* _line_end on <var_endl:nullable Location(Location)> */
1865 RET_LABEL92
:(void)0;
1869 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
1870 var96
= var_endl
->attrs
[COLOR_location__Location___column_end
].l
; /* _column_end on <var_endl:nullable Location(Location)> */
1872 RET_LABEL95
:(void)0;
1876 { /* Inline location#Location#column_end (var_endl) on <var_endl:nullable Location(Location)> */
1877 var99
= var_endl
->attrs
[COLOR_location__Location___column_end
].l
; /* _column_end on <var_endl:nullable Location(Location)> */
1879 RET_LABEL98
:(void)0;
1883 location__Location__init(var84
, var85
, var88
, var91
, var94
, var97
); /* Direct call location#Location#init on <var84:Location>*/
1886 var101
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1887 if (unlikely(var101
== NULL
)) {
1888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1889 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 237);
1894 var103
= array__AbstractArrayRead__iterator(var_102
);
1899 var105
= array__ArrayIterator__is_ok(var_104
);
1903 var106
= array__ArrayIterator__item(var_104
);
1907 { /* Inline parser_nodes#ANode#location= (var_no107,var_loc100) on <var_no107:Prod> */
1908 var_no107
->attrs
[COLOR_parser_nodes__ANode___location
].val
= var_loc100
; /* _location on <var_no107:Prod> */
1909 RET_LABEL108
:(void)0;
1913 array__ArrayIterator__next(var_104
); /* Direct call array#ArrayIterator#next on <var_104:ArrayIterator[Prod]>*/
1916 goto BREAK_label109
;
1919 BREAK_label109
: (void)0;
1921 { /* Inline abstract_collection#Iterator#finish (var_104) on <var_104:ArrayIterator[Prod]> */
1922 RET_LABEL110
:(void)0;
1925 var111
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1926 if (unlikely(var111
== NULL
)) {
1927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1928 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 241);
1932 array__AbstractArray__clear(var111
); /* Direct call array#AbstractArray#clear on <var111:Array[Prod]>*/
1937 var112
= self
->attrs
[COLOR_parser_work__ComputeProdLocationVisitor___need_after_epsilons
].val
; /* _need_after_epsilons on <self:ComputeProdLocationVisitor> */
1938 if (unlikely(var112
== NULL
)) {
1939 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _need_after_epsilons");
1940 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 245);
1944 array__Array__add(var112
, var_n
); /* Direct call array#Array#add on <var112:Array[Prod]>*/
1950 /* method parser_work#ComputeProdLocationVisitor#visit for (self: Object, ANode) */
1951 void VIRTUAL_parser_work__ComputeProdLocationVisitor__visit(val
* self
, val
* p0
) {
1952 parser_work__ComputeProdLocationVisitor__visit(self
, p0
); /* Direct call parser_work#ComputeProdLocationVisitor#visit on <self:Object(ComputeProdLocationVisitor)>*/
1955 /* method parser_work#TextCollectorVisitor#text for (self: TextCollectorVisitor): String */
1956 val
* parser_work__TextCollectorVisitor__text(val
* self
) {
1957 val
* var
/* : String */;
1958 val
* var1
/* : String */;
1959 var1
= self
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
; /* _text on <self:TextCollectorVisitor> */
1960 if (unlikely(var1
== NULL
)) {
1961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1962 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
1969 /* method parser_work#TextCollectorVisitor#text for (self: Object): String */
1970 val
* VIRTUAL_parser_work__TextCollectorVisitor__text(val
* self
) {
1971 val
* var
/* : String */;
1972 val
* var1
/* : String */;
1973 val
* var3
/* : String */;
1974 { /* Inline parser_work#TextCollectorVisitor#text (self) on <self:Object(TextCollectorVisitor)> */
1975 var3
= self
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
; /* _text on <self:Object(TextCollectorVisitor)> */
1976 if (unlikely(var3
== NULL
)) {
1977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
1978 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
1988 /* method parser_work#TextCollectorVisitor#text= for (self: TextCollectorVisitor, String) */
1989 void parser_work__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1990 self
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
= p0
; /* _text on <self:TextCollectorVisitor> */
1993 /* method parser_work#TextCollectorVisitor#text= for (self: Object, String) */
1994 void VIRTUAL_parser_work__TextCollectorVisitor__text_61d(val
* self
, val
* p0
) {
1995 { /* Inline parser_work#TextCollectorVisitor#text= (self,p0) on <self:Object(TextCollectorVisitor)> */
1996 self
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
= p0
; /* _text on <self:Object(TextCollectorVisitor)> */
2001 /* method parser_work#TextCollectorVisitor#visit for (self: TextCollectorVisitor, ANode) */
2002 void parser_work__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
2003 val
* var_n
/* var n: ANode */;
2004 short int var
/* : Bool */;
2007 val
* var_
/* var : TextCollectorVisitor */;
2008 val
* var1
/* : String */;
2009 val
* var3
/* : String */;
2010 val
* var4
/* : String */;
2011 val
* var5
/* : String */;
2013 /* <var_n:ANode> isa Token */
2014 cltype
= type_parser_nodes__Token
.color
;
2015 idtype
= type_parser_nodes__Token
.id
;
2016 if(cltype
>= var_n
->type
->table_size
) {
2019 var
= var_n
->type
->type_table
[cltype
] == idtype
;
2024 { /* Inline parser_work#TextCollectorVisitor#text (var_) on <var_:TextCollectorVisitor> */
2025 var3
= var_
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
; /* _text on <var_:TextCollectorVisitor> */
2026 if (unlikely(var3
== NULL
)) {
2027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text");
2028 PRINT_ERROR(" (%s:%d)\n", "parser/parser_work.nit", 253);
2036 var4
= lexer_work__Token__text(var_n
);
2039 var5
= string__FlatString___43d(var1
, var4
);
2042 { /* Inline parser_work#TextCollectorVisitor#text= (var_,var5) on <var_:TextCollectorVisitor> */
2043 var_
->attrs
[COLOR_parser_work__TextCollectorVisitor___text
].val
= var5
; /* _text on <var_:TextCollectorVisitor> */
2050 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
2054 /* method parser_work#TextCollectorVisitor#visit for (self: Object, ANode) */
2055 void VIRTUAL_parser_work__TextCollectorVisitor__visit(val
* self
, val
* p0
) {
2056 parser_work__TextCollectorVisitor__visit(self
, p0
); /* Direct call parser_work#TextCollectorVisitor#visit on <self:Object(TextCollectorVisitor)>*/
2059 /* method parser_work#ReduceAction#concat for (self: ReduceAction, Array[Object], Array[Object]): Array[Object] */
2060 val
* parser_work__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
2061 val
* var
/* : Array[Object] */;
2062 val
* var_l1
/* var l1: Array[Object] */;
2063 val
* var_l2
/* var l2: Array[Object] */;
2064 short int var1
/* : Bool */;
2068 var1
= array__AbstractArrayRead__is_empty(var_l1
);
2076 abstract_collection__Sequence__append(var_l1
, var_l2
); /* Direct call abstract_collection#Sequence#append on <var_l1:Array[Object]>*/
2083 /* method parser_work#ReduceAction#concat for (self: Object, Array[Object], Array[Object]): Array[Object] */
2084 val
* VIRTUAL_parser_work__ReduceAction__concat(val
* self
, val
* p0
, val
* p1
) {
2085 val
* var
/* : Array[Object] */;
2086 val
* var1
/* : Array[Object] */;
2087 var1
= parser_work__ReduceAction__concat(self
, p0
, p1
);
2092 /* method parser_work#ReduceAction#init for (self: ReduceAction, Int) */
2093 void parser_work__ReduceAction__init(val
* self
, long p0
) {
2094 long var_g
/* var g: Int */;
2096 self
->attrs
[COLOR_parser_work__ReduceAction___goto
].l
= var_g
; /* _goto on <self:ReduceAction> */
2099 /* method parser_work#ReduceAction#init for (self: Object, Int) */
2100 void VIRTUAL_parser_work__ReduceAction__init(val
* self
, long p0
) {
2101 parser_work__ReduceAction__init(self
, p0
); /* Direct call parser_work#ReduceAction#init on <self:Object(ReduceAction)>*/