1 #include "parser.sep.0.h"
2 /* method parser#State#state for (self: State): Int */
3 long parser__State__state(val
* self
) {
6 var1
= self
->attrs
[COLOR_parser__State___state
].l
; /* _state on <self:State> */
11 /* method parser#State#state for (self: Object): Int */
12 long VIRTUAL_parser__State__state(val
* self
) {
14 long var1
/* : Int */;
15 var1
= parser__State__state(self
);
20 /* method parser#State#state= for (self: State, Int) */
21 void parser__State__state_61d(val
* self
, long p0
) {
22 self
->attrs
[COLOR_parser__State___state
].l
= p0
; /* _state on <self:State> */
25 /* method parser#State#state= for (self: Object, Int) */
26 void VIRTUAL_parser__State__state_61d(val
* self
, long p0
) {
27 parser__State__state_61d(self
, p0
);
30 /* method parser#State#nodes for (self: State): nullable Object */
31 val
* parser__State__nodes(val
* self
) {
32 val
* var
/* : nullable Object */;
33 val
* var1
/* : nullable Object */;
34 var1
= self
->attrs
[COLOR_parser__State___nodes
].val
; /* _nodes on <self:State> */
39 /* method parser#State#nodes for (self: Object): nullable Object */
40 val
* VIRTUAL_parser__State__nodes(val
* self
) {
41 val
* var
/* : nullable Object */;
42 val
* var1
/* : nullable Object */;
43 var1
= parser__State__nodes(self
);
48 /* method parser#State#nodes= for (self: State, nullable Object) */
49 void parser__State__nodes_61d(val
* self
, val
* p0
) {
50 self
->attrs
[COLOR_parser__State___nodes
].val
= p0
; /* _nodes on <self:State> */
53 /* method parser#State#nodes= for (self: Object, nullable Object) */
54 void VIRTUAL_parser__State__nodes_61d(val
* self
, val
* p0
) {
55 parser__State__nodes_61d(self
, p0
);
58 /* method parser#State#init for (self: State, Int, nullable Object) */
59 void parser__State__init(val
* self
, long p0
, val
* p1
) {
60 long var_state
/* var state: Int */;
61 val
* var_nodes
/* var nodes: nullable Object */;
64 self
->attrs
[COLOR_parser__State___state
].l
= var_state
; /* _state on <self:State> */
65 self
->attrs
[COLOR_parser__State___nodes
].val
= var_nodes
; /* _nodes on <self:State> */
68 /* method parser#State#init for (self: Object, Int, nullable Object) */
69 void VIRTUAL_parser__State__init(val
* self
, long p0
, val
* p1
) {
70 parser__State__init(self
, p0
, p1
);
73 /* method parser#Parser#init for (self: Parser, Lexer) */
74 void parser__Parser__init(val
* self
, val
* p0
) {
75 val
* var_lexer
/* var lexer: Lexer */;
76 val
* var
/* : Array[State] */;
77 long var1
/* : Int */;
78 long var2
/* : Int */;
79 long var4
/* : Int */;
81 self
->attrs
[COLOR_parser__Parser___lexer
].val
= var_lexer
; /* _lexer on <self:Parser> */
82 var
= NEW_array__Array(&type_array__Arrayparser__State
);
83 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[State]>*/;
84 self
->attrs
[COLOR_parser__Parser___stack
].val
= var
; /* _stack on <self:Parser> */
86 { /* Inline kernel#Int#unary - (var1) */
92 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var2
; /* _stack_pos on <self:Parser> */
93 ((void (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__build_reduce_table
]))(self
) /* build_reduce_table on <self:Parser>*/;
96 /* method parser#Parser#init for (self: Object, Lexer) */
97 void VIRTUAL_parser__Parser__init(val
* self
, val
* p0
) {
98 parser__Parser__init(self
, p0
);
101 /* method parser#Parser#go_to for (self: Parser, Int): Int */
102 long parser__Parser__go_to(val
* self
, long p0
) {
103 long var
/* : Int */;
104 long var_index
/* var index: Int */;
105 long var1
/* : Int */;
106 long var_state
/* var state: Int */;
107 long var2
/* : Int */;
108 long var_low
/* var low: Int */;
109 long var3
/* : Int */;
110 long var4
/* : Int */;
111 long var5
/* : Int */;
112 long var6
/* : Int */;
113 long var8
/* : Int */;
114 long var_high
/* var high: Int */;
115 short int var9
/* : Bool */;
116 short int var11
/* : Bool */;
119 const char* var_class_name
;
120 short int var12
/* : Bool */;
121 long var13
/* : Int */;
122 long var15
/* : Int */;
123 long var16
/* : Int */;
124 long var17
/* : Int */;
125 long var19
/* : Int */;
126 long var_middle
/* var middle: Int */;
127 long var20
/* : Int */;
128 long var21
/* : Int */;
129 long var23
/* : Int */;
130 long var24
/* : Int */;
131 long var25
/* : Int */;
132 long var27
/* : Int */;
133 long var_subindex
/* var subindex: Int */;
134 long var28
/* : Int */;
135 long var_goal
/* var goal: Int */;
136 short int var29
/* : Bool */;
137 short int var31
/* : Bool */;
140 const char* var_class_name34
;
141 short int var35
/* : Bool */;
142 long var36
/* : Int */;
143 long var37
/* : Int */;
144 long var39
/* : Int */;
145 short int var40
/* : Bool */;
146 short int var42
/* : Bool */;
149 const char* var_class_name45
;
150 short int var46
/* : Bool */;
151 long var47
/* : Int */;
152 long var48
/* : Int */;
153 long var50
/* : Int */;
154 long var51
/* : Int */;
155 long var52
/* : Int */;
156 long var54
/* : Int */;
157 long var55
/* : Int */;
158 long var56
/* : Int */;
159 long var57
/* : Int */;
161 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
166 var4
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var3
) /* parser_goto on <self:Parser>*/;
168 { /* Inline kernel#Int#- (var4,var5) */
176 { /* Inline kernel#Int#<= (var_low,var_high) */
177 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
178 /* <var_high:Int> isa OTHER */
179 var11
= 1; /* easy <var_high:Int> isa OTHER*/
181 var_class_name
= type_kernel__Int
.name
;
182 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
183 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
186 var12
= var_low
<= var_high
;
192 { /* Inline kernel#Int#+ (var_low,var_high) */
193 var15
= var_low
+ var_high
;
199 { /* Inline kernel#Int#/ (var13,var16) */
200 var19
= var13
/ var16
;
207 { /* Inline kernel#Int#* (var_middle,var20) */
208 var23
= var_middle
* var20
;
214 { /* Inline kernel#Int#+ (var21,var24) */
215 var27
= var21
+ var24
;
220 var_subindex
= var25
;
221 var28
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var_subindex
) /* parser_goto on <self:Parser>*/;
223 { /* Inline kernel#Int#< (var_state,var_goal) */
224 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
225 /* <var_goal:Int> isa OTHER */
226 var31
= 1; /* easy <var_goal:Int> isa OTHER*/
228 var_class_name34
= type_kernel__Int
.name
;
229 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
230 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
233 var35
= var_state
< var_goal
;
240 { /* Inline kernel#Int#- (var_middle,var36) */
241 var39
= var_middle
- var36
;
248 { /* Inline kernel#Int#> (var_state,var_goal) */
249 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
250 /* <var_goal:Int> isa OTHER */
251 var42
= 1; /* easy <var_goal:Int> isa OTHER*/
253 var_class_name45
= type_kernel__Int
.name
;
254 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45
);
255 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
258 var46
= var_state
> var_goal
;
265 { /* Inline kernel#Int#+ (var_middle,var47) */
266 var50
= var_middle
+ var47
;
274 { /* Inline kernel#Int#+ (var_subindex,var51) */
275 var54
= var_subindex
+ var51
;
280 var55
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var52
) /* parser_goto on <self:Parser>*/;
285 CONTINUE_label
: (void)0;
287 BREAK_label
: (void)0;
289 var57
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var56
) /* parser_goto on <self:Parser>*/;
295 /* method parser#Parser#go_to for (self: Object, Int): Int */
296 long VIRTUAL_parser__Parser__go_to(val
* self
, long p0
) {
297 long var
/* : Int */;
298 long var1
/* : Int */;
299 var1
= parser__Parser__go_to(self
, p0
);
304 /* method parser#Parser#push for (self: Parser, Int, nullable Object) */
305 void parser__Parser__push(val
* self
, long p0
, val
* p1
) {
306 long var_numstate
/* var numstate: Int */;
307 val
* var_list_node
/* var list_node: nullable Object */;
308 long var
/* : Int */;
309 long var1
/* : Int */;
310 long var2
/* : Int */;
311 long var4
/* : Int */;
312 long var_pos
/* var pos: Int */;
313 val
* var5
/* : Array[State] */;
314 long var6
/* : Int */;
315 short int var7
/* : Bool */;
316 short int var9
/* : Bool */;
319 const char* var_class_name
;
320 short int var10
/* : Bool */;
321 val
* var11
/* : Array[State] */;
322 val
* var12
/* : nullable Object */;
323 val
* var_state
/* var state: State */;
324 val
* var13
/* : Array[State] */;
325 val
* var14
/* : State */;
328 var
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
330 { /* Inline kernel#Int#+ (var,var1) */
337 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var_pos
; /* _stack_pos on <self:Parser> */
338 var5
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
340 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
341 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 72);
344 var6
= ((long (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var5
) /* length on <var5:Array[State]>*/;
345 { /* Inline kernel#Int#< (var_pos,var6) */
346 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
347 /* <var6:Int> isa OTHER */
348 var9
= 1; /* easy <var6:Int> isa OTHER*/
350 var_class_name
= type_kernel__Int
.name
;
351 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
352 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
355 var10
= var_pos
< var6
;
361 var11
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
363 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
364 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 73);
367 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_pos
) /* [] on <var11:Array[State]>*/;
369 ((void (*)(val
*, long))(var_state
->class->vft
[COLOR_parser__State__state_61d
]))(var_state
, var_numstate
) /* state= on <var_state:State>*/;
370 ((void (*)(val
*, val
*))(var_state
->class->vft
[COLOR_parser__State__nodes_61d
]))(var_state
, var_list_node
) /* nodes= on <var_state:State>*/;
372 var13
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
374 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
375 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 77);
378 var14
= NEW_parser__State(&type_parser__State
);
379 ((void (*)(val
*, long, val
*))(var14
->class->vft
[COLOR_parser__State__init
]))(var14
, var_numstate
, var_list_node
) /* init on <var14:State>*/;
380 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var13
, var14
) /* push on <var13:Array[State]>*/;
384 /* method parser#Parser#push for (self: Object, Int, nullable Object) */
385 void VIRTUAL_parser__Parser__push(val
* self
, long p0
, val
* p1
) {
386 parser__Parser__push(self
, p0
, p1
);
389 /* method parser#Parser#state for (self: Parser): Int */
390 long parser__Parser__state(val
* self
) {
391 long var
/* : Int */;
392 val
* var1
/* : Array[State] */;
393 long var2
/* : Int */;
394 val
* var3
/* : nullable Object */;
395 long var4
/* : Int */;
396 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
398 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
399 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 84);
402 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
403 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
404 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_parser__State__state
]))(var3
) /* state on <var3:nullable Object(State)>*/;
410 /* method parser#Parser#state for (self: Object): Int */
411 long VIRTUAL_parser__Parser__state(val
* self
) {
412 long var
/* : Int */;
413 long var1
/* : Int */;
414 var1
= parser__Parser__state(self
);
419 /* method parser#Parser#pop for (self: Parser): nullable Object */
420 val
* parser__Parser__pop(val
* self
) {
421 val
* var
/* : nullable Object */;
422 val
* var1
/* : Array[State] */;
423 long var2
/* : Int */;
424 val
* var3
/* : nullable Object */;
425 val
* var4
/* : nullable Object */;
426 val
* var_res
/* var res: nullable Object */;
427 long var5
/* : Int */;
428 long var6
/* : Int */;
429 long var7
/* : Int */;
430 long var9
/* : Int */;
431 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
433 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
434 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 90);
437 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
438 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
439 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser__State__nodes
]))(var3
) /* nodes on <var3:nullable Object(State)>*/;
441 var5
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
443 { /* Inline kernel#Int#- (var5,var6) */
449 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var7
; /* _stack_pos on <self:Parser> */
455 /* method parser#Parser#pop for (self: Object): nullable Object */
456 val
* VIRTUAL_parser__Parser__pop(val
* self
) {
457 val
* var
/* : nullable Object */;
458 val
* var1
/* : nullable Object */;
459 var1
= parser__Parser__pop(self
);
464 /* method parser#Parser#parse for (self: Parser): Start */
465 val
* parser__Parser__parse(val
* self
) {
466 val
* var
/* : Start */;
467 long var1
/* : Int */;
468 val
* var2
/* : null */;
469 val
* var3
/* : Lexer */;
470 val
* var_lexer
/* var lexer: Lexer */;
471 val
* var4
/* : Token */;
472 val
* var_token
/* var token: Token */;
473 short int var5
/* : Bool */;
476 val
* var6
/* : Start */;
477 val
* var7
/* : null */;
478 long var8
/* : Int */;
479 long var_state
/* var state: Int */;
480 long var9
/* : Int */;
481 long var_index
/* var index: Int */;
482 long var10
/* : Int */;
483 long var11
/* : Int */;
484 long var_action_type
/* var action_type: Int */;
485 long var12
/* : Int */;
486 long var13
/* : Int */;
487 long var_action_value
/* var action_value: Int */;
488 long var14
/* : Int */;
489 long var_low
/* var low: Int */;
490 long var15
/* : Int */;
491 long var16
/* : Int */;
492 long var17
/* : Int */;
493 long var18
/* : Int */;
494 long var20
/* : Int */;
495 long var_high
/* var high: Int */;
496 short int var21
/* : Bool */;
497 short int var23
/* : Bool */;
500 const char* var_class_name
;
501 short int var26
/* : Bool */;
502 long var27
/* : Int */;
503 long var29
/* : Int */;
504 long var30
/* : Int */;
505 long var31
/* : Int */;
506 long var33
/* : Int */;
507 long var_middle
/* var middle: Int */;
508 long var34
/* : Int */;
509 long var35
/* : Int */;
510 long var37
/* : Int */;
511 long var38
/* : Int */;
512 long var39
/* : Int */;
513 long var41
/* : Int */;
514 long var_subindex
/* var subindex: Int */;
515 long var42
/* : Int */;
516 long var_goal
/* var goal: Int */;
517 short int var43
/* : Bool */;
518 short int var45
/* : Bool */;
521 const char* var_class_name48
;
522 short int var49
/* : Bool */;
523 long var50
/* : Int */;
524 long var51
/* : Int */;
525 long var53
/* : Int */;
526 short int var54
/* : Bool */;
527 short int var56
/* : Bool */;
530 const char* var_class_name59
;
531 short int var60
/* : Bool */;
532 long var61
/* : Int */;
533 long var62
/* : Int */;
534 long var64
/* : Int */;
535 long var65
/* : Int */;
536 long var66
/* : Int */;
537 long var68
/* : Int */;
538 long var69
/* : Int */;
539 long var70
/* : Int */;
540 long var71
/* : Int */;
541 long var73
/* : Int */;
542 long var74
/* : Int */;
543 long var75
/* : Int */;
544 short int var76
/* : Bool */;
545 short int var78
/* : Bool */;
546 val
* var79
/* : Token */;
547 long var80
/* : Int */;
548 short int var81
/* : Bool */;
549 short int var83
/* : Bool */;
550 val
* var84
/* : Array[ReduceAction] */;
551 val
* var85
/* : nullable Object */;
552 long var86
/* : Int */;
553 short int var87
/* : Bool */;
554 short int var89
/* : Bool */;
555 val
* var90
/* : Token */;
556 val
* var_node2
/* var node2: Token */;
557 short int var91
/* : Bool */;
560 val
* var94
/* : nullable Object */;
561 val
* var_node1
/* var node1: nullable Object */;
562 short int var95
/* : Bool */;
565 val
* var98
/* : Start */;
566 val
* var_node
/* var node: Start */;
567 val
* var99
/* : ComputeProdLocationVisitor */;
568 long var100
/* : Int */;
569 short int var101
/* : Bool */;
570 short int var103
/* : Bool */;
571 val
* var104
/* : AParserError */;
572 val
* var105
/* : Array[Object] */;
573 long var106
/* : Int */;
574 val
* var_
/* var : Array[Object] */;
576 val
* var107
/* : String */;
577 char* var108
/* : NativeString */;
578 long var109
/* : Int */;
579 val
* var110
/* : String */;
580 static val
* varonce111
;
581 val
* var112
/* : String */;
582 char* var113
/* : NativeString */;
583 long var114
/* : Int */;
584 val
* var115
/* : String */;
585 val
* var116
/* : String */;
586 val
* var117
/* : Location */;
587 val
* var_node2118
/* var node2: AParserError */;
588 val
* var119
/* : Start */;
589 val
* var120
/* : null */;
590 val
* var_node121
/* var node: Start */;
593 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var1
, var2
) /* push on <self:Parser>*/;
594 var3
= self
->attrs
[COLOR_parser__Parser___lexer
].val
; /* _lexer on <self:Parser> */
596 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _lexer");
597 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 100);
602 var4
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__peek
]))(var_lexer
) /* peek on <var_lexer:Lexer>*/;
604 /* <var_token:Token> isa AError */
605 cltype
= type_parser_nodes__AError
.color
;
606 idtype
= type_parser_nodes__AError
.id
;
607 if(cltype
>= var_token
->type
->table_size
) {
610 var5
= var_token
->type
->type_table
[cltype
] == idtype
;
613 var6
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
615 ((void (*)(val
*, val
*, val
*))(var6
->class->vft
[COLOR_parser_nodes__Start__init
]))(var6
, var7
, var_token
) /* init on <var6:Start>*/;
620 var8
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
622 var9
= ((long (*)(val
*))(var_token
->class->vft
[COLOR_lexer__Token__parser_index
]))(var_token
) /* parser_index on <var_token:Token>*/;
625 var11
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var10
) /* parser_action on <self:Parser>*/;
626 var_action_type
= var11
;
628 var13
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var12
) /* parser_action on <self:Parser>*/;
629 var_action_value
= var13
;
633 var16
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var15
) /* parser_action on <self:Parser>*/;
635 { /* Inline kernel#Int#- (var16,var17) */
636 var20
= var16
- var17
;
643 { /* Inline kernel#Int#<= (var_low,var_high) */
644 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
645 /* <var_high:Int> isa OTHER */
646 var23
= 1; /* easy <var_high:Int> isa OTHER*/
648 var_class_name
= type_kernel__Int
.name
;
649 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
650 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
653 var26
= var_low
<= var_high
;
659 { /* Inline kernel#Int#+ (var_low,var_high) */
660 var29
= var_low
+ var_high
;
666 { /* Inline kernel#Int#/ (var27,var30) */
667 var33
= var27
/ var30
;
674 { /* Inline kernel#Int#* (var_middle,var34) */
675 var37
= var_middle
* var34
;
681 { /* Inline kernel#Int#+ (var35,var38) */
682 var41
= var35
+ var38
;
687 var_subindex
= var39
;
688 var42
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var_subindex
) /* parser_action on <self:Parser>*/;
690 { /* Inline kernel#Int#< (var_index,var_goal) */
691 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
692 /* <var_goal:Int> isa OTHER */
693 var45
= 1; /* easy <var_goal:Int> isa OTHER*/
695 var_class_name48
= type_kernel__Int
.name
;
696 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
697 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
700 var49
= var_index
< var_goal
;
707 { /* Inline kernel#Int#- (var_middle,var50) */
708 var53
= var_middle
- var50
;
715 { /* Inline kernel#Int#> (var_index,var_goal) */
716 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
717 /* <var_goal:Int> isa OTHER */
718 var56
= 1; /* easy <var_goal:Int> isa OTHER*/
720 var_class_name59
= type_kernel__Int
.name
;
721 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
722 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
725 var60
= var_index
> var_goal
;
732 { /* Inline kernel#Int#+ (var_middle,var61) */
733 var64
= var_middle
+ var61
;
741 { /* Inline kernel#Int#+ (var_subindex,var65) */
742 var68
= var_subindex
+ var65
;
747 var69
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var66
) /* parser_action on <self:Parser>*/;
748 var_action_type
= var69
;
750 { /* Inline kernel#Int#+ (var_subindex,var70) */
751 var73
= var_subindex
+ var70
;
756 var74
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var71
) /* parser_action on <self:Parser>*/;
757 var_action_value
= var74
;
761 CONTINUE_label
: (void)0;
763 BREAK_label
: (void)0;
765 { /* Inline kernel#Int#== (var_action_type,var75) */
766 var78
= var_action_type
== var75
;
772 var79
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
773 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var_action_value
, var79
) /* push on <self:Parser>*/;
776 { /* Inline kernel#Int#== (var_action_type,var80) */
777 var83
= var_action_type
== var80
;
783 var84
= self
->attrs
[COLOR_parser__Parser___reduce_table
].val
; /* _reduce_table on <self:Parser> */
785 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _reduce_table");
786 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 134);
789 var85
= ((val
* (*)(val
*, long))(var84
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var84
, var_action_value
) /* [] on <var84:Array[ReduceAction]>*/;
790 ((void (*)(val
*, val
*))(var85
->class->vft
[COLOR_parser__ReduceAction__action
]))(var85
, self
) /* action on <var85:nullable Object(ReduceAction)>*/;
793 { /* Inline kernel#Int#== (var_action_type,var86) */
794 var89
= var_action_type
== var86
;
800 var90
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
802 /* <var_node2:Token> isa EOF */
803 cltype92
= type_parser_nodes__EOF
.color
;
804 idtype93
= type_parser_nodes__EOF
.id
;
805 if(cltype92
>= var_node2
->type
->table_size
) {
808 var91
= var_node2
->type
->type_table
[cltype92
] == idtype93
;
811 fprintf(stderr
, "Runtime error: %s", "Assert failed");
812 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 137);
815 var94
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__pop
]))(self
) /* pop on <self:Parser>*/;
817 /* <var_node1:nullable Object> isa AModule */
818 cltype96
= type_parser_nodes__AModule
.color
;
819 idtype97
= type_parser_nodes__AModule
.id
;
820 if(var_node1
== NULL
) {
823 if(cltype96
>= var_node1
->type
->table_size
) {
826 var95
= var_node1
->type
->type_table
[cltype96
] == idtype97
;
830 fprintf(stderr
, "Runtime error: %s", "Assert failed");
831 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 139);
834 var98
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
835 ((void (*)(val
*, val
*, val
*))(var98
->class->vft
[COLOR_parser_nodes__Start__init
]))(var98
, var_node1
, var_node2
) /* init on <var98:Start>*/;
837 var99
= NEW_parser__ComputeProdLocationVisitor(&type_parser__ComputeProdLocationVisitor
);
838 ((void (*)(val
*))(var99
->class->vft
[COLOR_parser__ComputeProdLocationVisitor__init
]))(var99
) /* init on <var99:ComputeProdLocationVisitor>*/;
839 ((void (*)(val
*, val
*))(var99
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var99
, var_node
) /* enter_visit on <var99:ComputeProdLocationVisitor>*/;
844 { /* Inline kernel#Int#== (var_action_type,var100) */
845 var103
= var_action_type
== var100
;
848 RET_LABEL102
:(void)0;
851 var104
= NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError
);
852 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
854 ((void (*)(val
*, long))(var105
->class->vft
[COLOR_array__Array__with_capacity
]))(var105
, var106
) /* with_capacity on <var105:Array[Object]>*/;
859 var108
= "Syntax error: unexpected ";
861 var110
= string__NativeString__to_s_with_length(var108
, var109
);
865 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var107
) /* add on <var_:Array[Object]>*/;
866 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_token
) /* add on <var_:Array[Object]>*/;
872 var115
= string__NativeString__to_s_with_length(var113
, var114
);
876 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var112
) /* add on <var_:Array[Object]>*/;
877 var116
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
878 var117
= ((val
* (*)(val
*))(var_token
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_token
) /* location on <var_token:Token>*/;
879 ((void (*)(val
*, val
*, val
*, val
*))(var104
->class->vft
[COLOR_lexer__AParserError__init_parser_error
]))(var104
, var116
, var117
, var_token
) /* init_parser_error on <var104:AParserError>*/;
880 var_node2118
= var104
;
881 var119
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
883 ((void (*)(val
*, val
*, val
*))(var119
->class->vft
[COLOR_parser_nodes__Start__init
]))(var119
, var120
, var_node2118
) /* init on <var119:Start>*/;
884 var_node121
= var119
;
892 CONTINUE_label122
: (void)0;
894 BREAK_label122
: (void)0;
898 /* method parser#Parser#parse for (self: Object): Start */
899 val
* VIRTUAL_parser__Parser__parse(val
* self
) {
900 val
* var
/* : Start */;
901 val
* var1
/* : Start */;
902 var1
= parser__Parser__parse(self
);