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 CHECK_NEW_array__Array(var
);
85 self
->attrs
[COLOR_parser__Parser___stack
].val
= var
; /* _stack on <self:Parser> */
87 { /* Inline kernel#Int#unary - (var1) */
93 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var2
; /* _stack_pos on <self:Parser> */
94 ((void (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__build_reduce_table
]))(self
) /* build_reduce_table on <self:Parser>*/;
97 /* method parser#Parser#init for (self: Object, Lexer) */
98 void VIRTUAL_parser__Parser__init(val
* self
, val
* p0
) {
99 parser__Parser__init(self
, p0
);
102 /* method parser#Parser#go_to for (self: Parser, Int): Int */
103 long parser__Parser__go_to(val
* self
, long p0
) {
104 long var
/* : Int */;
105 long var_index
/* var index: Int */;
106 long var1
/* : Int */;
107 long var_state
/* var state: Int */;
108 long var2
/* : Int */;
109 long var_low
/* var low: Int */;
110 long var3
/* : Int */;
111 long var4
/* : Int */;
112 long var5
/* : Int */;
113 long var6
/* : Int */;
114 long var8
/* : Int */;
115 long var_high
/* var high: Int */;
116 short int var9
/* : Bool */;
117 short int var11
/* : Bool */;
120 const char* var_class_name
;
121 short int var12
/* : Bool */;
122 long var13
/* : Int */;
123 long var15
/* : Int */;
124 long var16
/* : Int */;
125 long var17
/* : Int */;
126 long var19
/* : Int */;
127 long var_middle
/* var middle: Int */;
128 long var20
/* : Int */;
129 long var21
/* : Int */;
130 long var23
/* : Int */;
131 long var24
/* : Int */;
132 long var25
/* : Int */;
133 long var27
/* : Int */;
134 long var_subindex
/* var subindex: Int */;
135 long var28
/* : Int */;
136 long var_goal
/* var goal: Int */;
137 short int var29
/* : Bool */;
138 short int var31
/* : Bool */;
141 const char* var_class_name34
;
142 short int var35
/* : Bool */;
143 long var36
/* : Int */;
144 long var37
/* : Int */;
145 long var39
/* : Int */;
146 short int var40
/* : Bool */;
147 short int var42
/* : Bool */;
150 const char* var_class_name45
;
151 short int var46
/* : Bool */;
152 long var47
/* : Int */;
153 long var48
/* : Int */;
154 long var50
/* : Int */;
155 long var51
/* : Int */;
156 long var52
/* : Int */;
157 long var54
/* : Int */;
158 long var55
/* : Int */;
159 long var56
/* : Int */;
160 long var57
/* : Int */;
162 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
167 var4
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var3
) /* parser_goto on <self:Parser>*/;
169 { /* Inline kernel#Int#- (var4,var5) */
177 { /* Inline kernel#Int#<= (var_low,var_high) */
178 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
179 /* <var_high:Int> isa OTHER */
180 var11
= 1; /* easy <var_high:Int> isa OTHER*/
182 var_class_name
= type_kernel__Int
.name
;
183 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
184 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
187 var12
= var_low
<= var_high
;
193 { /* Inline kernel#Int#+ (var_low,var_high) */
194 var15
= var_low
+ var_high
;
200 { /* Inline kernel#Int#/ (var13,var16) */
201 var19
= var13
/ var16
;
208 { /* Inline kernel#Int#* (var_middle,var20) */
209 var23
= var_middle
* var20
;
215 { /* Inline kernel#Int#+ (var21,var24) */
216 var27
= var21
+ var24
;
221 var_subindex
= var25
;
222 var28
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var_subindex
) /* parser_goto on <self:Parser>*/;
224 { /* Inline kernel#Int#< (var_state,var_goal) */
225 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
226 /* <var_goal:Int> isa OTHER */
227 var31
= 1; /* easy <var_goal:Int> isa OTHER*/
229 var_class_name34
= type_kernel__Int
.name
;
230 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
231 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
234 var35
= var_state
< var_goal
;
241 { /* Inline kernel#Int#- (var_middle,var36) */
242 var39
= var_middle
- var36
;
249 { /* Inline kernel#Int#> (var_state,var_goal) */
250 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
251 /* <var_goal:Int> isa OTHER */
252 var42
= 1; /* easy <var_goal:Int> isa OTHER*/
254 var_class_name45
= type_kernel__Int
.name
;
255 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45
);
256 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
259 var46
= var_state
> var_goal
;
266 { /* Inline kernel#Int#+ (var_middle,var47) */
267 var50
= var_middle
+ var47
;
275 { /* Inline kernel#Int#+ (var_subindex,var51) */
276 var54
= var_subindex
+ var51
;
281 var55
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var52
) /* parser_goto on <self:Parser>*/;
286 CONTINUE_label
: (void)0;
288 BREAK_label
: (void)0;
290 var57
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var56
) /* parser_goto on <self:Parser>*/;
296 /* method parser#Parser#go_to for (self: Object, Int): Int */
297 long VIRTUAL_parser__Parser__go_to(val
* self
, long p0
) {
298 long var
/* : Int */;
299 long var1
/* : Int */;
300 var1
= parser__Parser__go_to(self
, p0
);
305 /* method parser#Parser#push for (self: Parser, Int, nullable Object) */
306 void parser__Parser__push(val
* self
, long p0
, val
* p1
) {
307 long var_numstate
/* var numstate: Int */;
308 val
* var_list_node
/* var list_node: nullable Object */;
309 long var
/* : Int */;
310 long var1
/* : Int */;
311 long var2
/* : Int */;
312 long var4
/* : Int */;
313 long var_pos
/* var pos: Int */;
314 val
* var5
/* : Array[State] */;
315 long var6
/* : Int */;
316 short int var7
/* : Bool */;
317 short int var9
/* : Bool */;
320 const char* var_class_name
;
321 short int var10
/* : Bool */;
322 val
* var11
/* : Array[State] */;
323 val
* var12
/* : nullable Object */;
324 val
* var_state
/* var state: State */;
325 val
* var13
/* : Array[State] */;
326 val
* var14
/* : State */;
329 var
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
331 { /* Inline kernel#Int#+ (var,var1) */
338 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var_pos
; /* _stack_pos on <self:Parser> */
339 var5
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
341 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
342 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 72);
345 var6
= ((long (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var5
) /* length on <var5:Array[State]>*/;
346 { /* Inline kernel#Int#< (var_pos,var6) */
347 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
348 /* <var6:Int> isa OTHER */
349 var9
= 1; /* easy <var6:Int> isa OTHER*/
351 var_class_name
= type_kernel__Int
.name
;
352 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
353 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
356 var10
= var_pos
< var6
;
362 var11
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
364 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
365 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 73);
368 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_pos
) /* [] on <var11:Array[State]>*/;
370 ((void (*)(val
*, long))(var_state
->class->vft
[COLOR_parser__State__state_61d
]))(var_state
, var_numstate
) /* state= on <var_state:State>*/;
371 ((void (*)(val
*, val
*))(var_state
->class->vft
[COLOR_parser__State__nodes_61d
]))(var_state
, var_list_node
) /* nodes= on <var_state:State>*/;
373 var13
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
375 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
376 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 77);
379 var14
= NEW_parser__State(&type_parser__State
);
380 ((void (*)(val
*, long, val
*))(var14
->class->vft
[COLOR_parser__State__init
]))(var14
, var_numstate
, var_list_node
) /* init on <var14:State>*/;
381 CHECK_NEW_parser__State(var14
);
382 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var13
, var14
) /* push on <var13:Array[State]>*/;
386 /* method parser#Parser#push for (self: Object, Int, nullable Object) */
387 void VIRTUAL_parser__Parser__push(val
* self
, long p0
, val
* p1
) {
388 parser__Parser__push(self
, p0
, p1
);
391 /* method parser#Parser#state for (self: Parser): Int */
392 long parser__Parser__state(val
* self
) {
393 long var
/* : Int */;
394 val
* var1
/* : Array[State] */;
395 long var2
/* : Int */;
396 val
* var3
/* : nullable Object */;
397 long var4
/* : Int */;
398 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
400 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
401 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 84);
404 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
405 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
406 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_parser__State__state
]))(var3
) /* state on <var3:nullable Object(State)>*/;
412 /* method parser#Parser#state for (self: Object): Int */
413 long VIRTUAL_parser__Parser__state(val
* self
) {
414 long var
/* : Int */;
415 long var1
/* : Int */;
416 var1
= parser__Parser__state(self
);
421 /* method parser#Parser#pop for (self: Parser): nullable Object */
422 val
* parser__Parser__pop(val
* self
) {
423 val
* var
/* : nullable Object */;
424 val
* var1
/* : Array[State] */;
425 long var2
/* : Int */;
426 val
* var3
/* : nullable Object */;
427 val
* var4
/* : nullable Object */;
428 val
* var_res
/* var res: nullable Object */;
429 long var5
/* : Int */;
430 long var6
/* : Int */;
431 long var7
/* : Int */;
432 long var9
/* : Int */;
433 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
435 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _stack");
436 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 90);
439 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
440 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
441 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser__State__nodes
]))(var3
) /* nodes on <var3:nullable Object(State)>*/;
443 var5
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
445 { /* Inline kernel#Int#- (var5,var6) */
451 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var7
; /* _stack_pos on <self:Parser> */
457 /* method parser#Parser#pop for (self: Object): nullable Object */
458 val
* VIRTUAL_parser__Parser__pop(val
* self
) {
459 val
* var
/* : nullable Object */;
460 val
* var1
/* : nullable Object */;
461 var1
= parser__Parser__pop(self
);
466 /* method parser#Parser#parse for (self: Parser): Start */
467 val
* parser__Parser__parse(val
* self
) {
468 val
* var
/* : Start */;
469 long var1
/* : Int */;
470 val
* var2
/* : null */;
471 val
* var3
/* : Lexer */;
472 val
* var_lexer
/* var lexer: Lexer */;
473 val
* var4
/* : Token */;
474 val
* var_token
/* var token: Token */;
475 short int var5
/* : Bool */;
478 val
* var6
/* : Start */;
479 val
* var7
/* : null */;
480 long var8
/* : Int */;
481 long var_state
/* var state: Int */;
482 long var9
/* : Int */;
483 long var_index
/* var index: Int */;
484 long var10
/* : Int */;
485 long var11
/* : Int */;
486 long var_action_type
/* var action_type: Int */;
487 long var12
/* : Int */;
488 long var13
/* : Int */;
489 long var_action_value
/* var action_value: Int */;
490 long var14
/* : Int */;
491 long var_low
/* var low: Int */;
492 long var15
/* : Int */;
493 long var16
/* : Int */;
494 long var17
/* : Int */;
495 long var18
/* : Int */;
496 long var20
/* : Int */;
497 long var_high
/* var high: Int */;
498 short int var21
/* : Bool */;
499 short int var23
/* : Bool */;
502 const char* var_class_name
;
503 short int var26
/* : Bool */;
504 long var27
/* : Int */;
505 long var29
/* : Int */;
506 long var30
/* : Int */;
507 long var31
/* : Int */;
508 long var33
/* : Int */;
509 long var_middle
/* var middle: Int */;
510 long var34
/* : Int */;
511 long var35
/* : Int */;
512 long var37
/* : Int */;
513 long var38
/* : Int */;
514 long var39
/* : Int */;
515 long var41
/* : Int */;
516 long var_subindex
/* var subindex: Int */;
517 long var42
/* : Int */;
518 long var_goal
/* var goal: Int */;
519 short int var43
/* : Bool */;
520 short int var45
/* : Bool */;
523 const char* var_class_name48
;
524 short int var49
/* : Bool */;
525 long var50
/* : Int */;
526 long var51
/* : Int */;
527 long var53
/* : Int */;
528 short int var54
/* : Bool */;
529 short int var56
/* : Bool */;
532 const char* var_class_name59
;
533 short int var60
/* : Bool */;
534 long var61
/* : Int */;
535 long var62
/* : Int */;
536 long var64
/* : Int */;
537 long var65
/* : Int */;
538 long var66
/* : Int */;
539 long var68
/* : Int */;
540 long var69
/* : Int */;
541 long var70
/* : Int */;
542 long var71
/* : Int */;
543 long var73
/* : Int */;
544 long var74
/* : Int */;
545 long var75
/* : Int */;
546 short int var76
/* : Bool */;
547 short int var78
/* : Bool */;
548 val
* var79
/* : Token */;
549 long var80
/* : Int */;
550 short int var81
/* : Bool */;
551 short int var83
/* : Bool */;
552 val
* var84
/* : Array[ReduceAction] */;
553 val
* var85
/* : nullable Object */;
554 long var86
/* : Int */;
555 short int var87
/* : Bool */;
556 short int var89
/* : Bool */;
557 val
* var90
/* : Token */;
558 val
* var_node2
/* var node2: Token */;
559 short int var91
/* : Bool */;
562 val
* var94
/* : nullable Object */;
563 val
* var_node1
/* var node1: nullable Object */;
564 short int var95
/* : Bool */;
567 val
* var98
/* : Start */;
568 val
* var_node
/* var node: Start */;
569 val
* var99
/* : ComputeProdLocationVisitor */;
570 long var100
/* : Int */;
571 short int var101
/* : Bool */;
572 short int var103
/* : Bool */;
573 val
* var104
/* : AParserError */;
574 val
* var105
/* : Array[Object] */;
575 long var106
/* : Int */;
576 val
* var_
/* var : Array[Object] */;
578 val
* var107
/* : String */;
579 char* var108
/* : NativeString */;
580 long var109
/* : Int */;
581 val
* var110
/* : String */;
582 static val
* varonce111
;
583 val
* var112
/* : String */;
584 char* var113
/* : NativeString */;
585 long var114
/* : Int */;
586 val
* var115
/* : String */;
587 val
* var116
/* : String */;
588 val
* var117
/* : Location */;
589 val
* var_node2118
/* var node2: AParserError */;
590 val
* var119
/* : Start */;
591 val
* var120
/* : null */;
592 val
* var_node121
/* var node: Start */;
595 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var1
, var2
) /* push on <self:Parser>*/;
596 var3
= self
->attrs
[COLOR_parser__Parser___lexer
].val
; /* _lexer on <self:Parser> */
598 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _lexer");
599 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 100);
604 var4
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__peek
]))(var_lexer
) /* peek on <var_lexer:Lexer>*/;
606 /* <var_token:Token> isa AError */
607 cltype
= type_parser_nodes__AError
.color
;
608 idtype
= type_parser_nodes__AError
.id
;
609 if(cltype
>= var_token
->type
->table_size
) {
612 var5
= var_token
->type
->type_table
[cltype
] == idtype
;
615 var6
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
617 ((void (*)(val
*, val
*, val
*))(var6
->class->vft
[COLOR_parser_nodes__Start__init
]))(var6
, var7
, var_token
) /* init on <var6:Start>*/;
618 CHECK_NEW_parser_nodes__Start(var6
);
623 var8
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
625 var9
= ((long (*)(val
*))(var_token
->class->vft
[COLOR_lexer__Token__parser_index
]))(var_token
) /* parser_index on <var_token:Token>*/;
628 var11
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var10
) /* parser_action on <self:Parser>*/;
629 var_action_type
= var11
;
631 var13
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var12
) /* parser_action on <self:Parser>*/;
632 var_action_value
= var13
;
636 var16
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var15
) /* parser_action on <self:Parser>*/;
638 { /* Inline kernel#Int#- (var16,var17) */
639 var20
= var16
- var17
;
646 { /* Inline kernel#Int#<= (var_low,var_high) */
647 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
648 /* <var_high:Int> isa OTHER */
649 var23
= 1; /* easy <var_high:Int> isa OTHER*/
651 var_class_name
= type_kernel__Int
.name
;
652 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
653 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
656 var26
= var_low
<= var_high
;
662 { /* Inline kernel#Int#+ (var_low,var_high) */
663 var29
= var_low
+ var_high
;
669 { /* Inline kernel#Int#/ (var27,var30) */
670 var33
= var27
/ var30
;
677 { /* Inline kernel#Int#* (var_middle,var34) */
678 var37
= var_middle
* var34
;
684 { /* Inline kernel#Int#+ (var35,var38) */
685 var41
= var35
+ var38
;
690 var_subindex
= var39
;
691 var42
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var_subindex
) /* parser_action on <self:Parser>*/;
693 { /* Inline kernel#Int#< (var_index,var_goal) */
694 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
695 /* <var_goal:Int> isa OTHER */
696 var45
= 1; /* easy <var_goal:Int> isa OTHER*/
698 var_class_name48
= type_kernel__Int
.name
;
699 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
700 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
703 var49
= var_index
< var_goal
;
710 { /* Inline kernel#Int#- (var_middle,var50) */
711 var53
= var_middle
- var50
;
718 { /* Inline kernel#Int#> (var_index,var_goal) */
719 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
720 /* <var_goal:Int> isa OTHER */
721 var56
= 1; /* easy <var_goal:Int> isa OTHER*/
723 var_class_name59
= type_kernel__Int
.name
;
724 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
725 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
728 var60
= var_index
> var_goal
;
735 { /* Inline kernel#Int#+ (var_middle,var61) */
736 var64
= var_middle
+ var61
;
744 { /* Inline kernel#Int#+ (var_subindex,var65) */
745 var68
= var_subindex
+ var65
;
750 var69
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var66
) /* parser_action on <self:Parser>*/;
751 var_action_type
= var69
;
753 { /* Inline kernel#Int#+ (var_subindex,var70) */
754 var73
= var_subindex
+ var70
;
759 var74
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var71
) /* parser_action on <self:Parser>*/;
760 var_action_value
= var74
;
764 CONTINUE_label
: (void)0;
766 BREAK_label
: (void)0;
768 { /* Inline kernel#Int#== (var_action_type,var75) */
769 var78
= var_action_type
== var75
;
775 var79
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
776 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var_action_value
, var79
) /* push on <self:Parser>*/;
779 { /* Inline kernel#Int#== (var_action_type,var80) */
780 var83
= var_action_type
== var80
;
786 var84
= self
->attrs
[COLOR_parser__Parser___reduce_table
].val
; /* _reduce_table on <self:Parser> */
788 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _reduce_table");
789 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 134);
792 var85
= ((val
* (*)(val
*, long))(var84
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var84
, var_action_value
) /* [] on <var84:Array[ReduceAction]>*/;
793 ((void (*)(val
*, val
*))(var85
->class->vft
[COLOR_parser__ReduceAction__action
]))(var85
, self
) /* action on <var85:nullable Object(ReduceAction)>*/;
796 { /* Inline kernel#Int#== (var_action_type,var86) */
797 var89
= var_action_type
== var86
;
803 var90
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
805 /* <var_node2:Token> isa EOF */
806 cltype92
= type_parser_nodes__EOF
.color
;
807 idtype93
= type_parser_nodes__EOF
.id
;
808 if(cltype92
>= var_node2
->type
->table_size
) {
811 var91
= var_node2
->type
->type_table
[cltype92
] == idtype93
;
814 fprintf(stderr
, "Runtime error: %s", "Assert failed");
815 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 137);
818 var94
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__pop
]))(self
) /* pop on <self:Parser>*/;
820 /* <var_node1:nullable Object> isa AModule */
821 cltype96
= type_parser_nodes__AModule
.color
;
822 idtype97
= type_parser_nodes__AModule
.id
;
823 if(var_node1
== NULL
) {
826 if(cltype96
>= var_node1
->type
->table_size
) {
829 var95
= var_node1
->type
->type_table
[cltype96
] == idtype97
;
833 fprintf(stderr
, "Runtime error: %s", "Assert failed");
834 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 139);
837 var98
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
838 ((void (*)(val
*, val
*, val
*))(var98
->class->vft
[COLOR_parser_nodes__Start__init
]))(var98
, var_node1
, var_node2
) /* init on <var98:Start>*/;
839 CHECK_NEW_parser_nodes__Start(var98
);
841 var99
= NEW_parser__ComputeProdLocationVisitor(&type_parser__ComputeProdLocationVisitor
);
842 ((void (*)(val
*))(var99
->class->vft
[COLOR_parser__ComputeProdLocationVisitor__init
]))(var99
) /* init on <var99:ComputeProdLocationVisitor>*/;
843 CHECK_NEW_parser__ComputeProdLocationVisitor(var99
);
844 ((void (*)(val
*, val
*))(var99
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var99
, var_node
) /* enter_visit on <var99:ComputeProdLocationVisitor>*/;
849 { /* Inline kernel#Int#== (var_action_type,var100) */
850 var103
= var_action_type
== var100
;
853 RET_LABEL102
:(void)0;
856 var104
= NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError
);
857 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
859 ((void (*)(val
*, long))(var105
->class->vft
[COLOR_array__Array__with_capacity
]))(var105
, var106
) /* with_capacity on <var105:Array[Object]>*/;
860 CHECK_NEW_array__Array(var105
);
865 var108
= "Syntax error: unexpected ";
867 var110
= string__NativeString__to_s_with_length(var108
, var109
);
871 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var107
) /* add on <var_:Array[Object]>*/;
872 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_token
) /* add on <var_:Array[Object]>*/;
878 var115
= string__NativeString__to_s_with_length(var113
, var114
);
882 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var112
) /* add on <var_:Array[Object]>*/;
883 var116
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
884 var117
= ((val
* (*)(val
*))(var_token
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_token
) /* location on <var_token:Token>*/;
885 ((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>*/;
886 CHECK_NEW_parser_nodes__AParserError(var104
);
887 var_node2118
= var104
;
888 var119
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
890 ((void (*)(val
*, val
*, val
*))(var119
->class->vft
[COLOR_parser_nodes__Start__init
]))(var119
, var120
, var_node2118
) /* init on <var119:Start>*/;
891 CHECK_NEW_parser_nodes__Start(var119
);
892 var_node121
= var119
;
900 CONTINUE_label122
: (void)0;
902 BREAK_label122
: (void)0;
906 /* method parser#Parser#parse for (self: Object): Start */
907 val
* VIRTUAL_parser__Parser__parse(val
* self
) {
908 val
* var
/* : Start */;
909 val
* var1
/* : Start */;
910 var1
= parser__Parser__parse(self
);