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 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 short int var34
/* : Bool */;
141 long var35
/* : Int */;
142 long var36
/* : Int */;
143 long var38
/* : Int */;
144 short int var39
/* : Bool */;
145 short int var41
/* : Bool */;
148 short int var44
/* : Bool */;
149 long var45
/* : Int */;
150 long var46
/* : Int */;
151 long var48
/* : Int */;
152 long var49
/* : Int */;
153 long var50
/* : Int */;
154 long var52
/* : Int */;
155 long var53
/* : Int */;
156 long var54
/* : Int */;
157 long var55
/* : Int */;
159 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
164 var4
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var3
) /* parser_goto on <self:Parser>*/;
166 { /* Inline kernel#Int#- (var4,var5) */
174 { /* Inline kernel#Int#<= (var_low,var_high) */
175 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
176 /* <var_high:Int> isa OTHER */
177 var11
= 1; /* easy <var_high:Int> isa OTHER*/
179 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
182 var12
= var_low
<= var_high
;
188 { /* Inline kernel#Int#+ (var_low,var_high) */
189 var15
= var_low
+ var_high
;
195 { /* Inline kernel#Int#/ (var13,var16) */
196 var19
= var13
/ var16
;
203 { /* Inline kernel#Int#* (var_middle,var20) */
204 var23
= var_middle
* var20
;
210 { /* Inline kernel#Int#+ (var21,var24) */
211 var27
= var21
+ var24
;
216 var_subindex
= var25
;
217 var28
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var_subindex
) /* parser_goto on <self:Parser>*/;
219 { /* Inline kernel#Int#< (var_state,var_goal) */
220 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
221 /* <var_goal:Int> isa OTHER */
222 var31
= 1; /* easy <var_goal:Int> isa OTHER*/
224 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
227 var34
= var_state
< var_goal
;
234 { /* Inline kernel#Int#- (var_middle,var35) */
235 var38
= var_middle
- var35
;
242 { /* Inline kernel#Int#> (var_state,var_goal) */
243 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
244 /* <var_goal:Int> isa OTHER */
245 var41
= 1; /* easy <var_goal:Int> isa OTHER*/
247 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
250 var44
= var_state
> var_goal
;
257 { /* Inline kernel#Int#+ (var_middle,var45) */
258 var48
= var_middle
+ var45
;
266 { /* Inline kernel#Int#+ (var_subindex,var49) */
267 var52
= var_subindex
+ var49
;
272 var53
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var50
) /* parser_goto on <self:Parser>*/;
277 CONTINUE_label
: (void)0;
279 BREAK_label
: (void)0;
281 var55
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_goto
]))(self
, var_index
, var54
) /* parser_goto on <self:Parser>*/;
287 /* method parser#Parser#go_to for (self: Object, Int): Int */
288 long VIRTUAL_parser__Parser__go_to(val
* self
, long p0
) {
289 long var
/* : Int */;
290 long var1
/* : Int */;
291 var1
= parser__Parser__go_to(self
, p0
);
296 /* method parser#Parser#push for (self: Parser, Int, nullable Object) */
297 void parser__Parser__push(val
* self
, long p0
, val
* p1
) {
298 long var_numstate
/* var numstate: Int */;
299 val
* var_list_node
/* var list_node: nullable Object */;
300 long var
/* : Int */;
301 long var1
/* : Int */;
302 long var2
/* : Int */;
303 long var4
/* : Int */;
304 long var_pos
/* var pos: Int */;
305 val
* var5
/* : Array[State] */;
306 long var6
/* : Int */;
307 short int var7
/* : Bool */;
308 short int var9
/* : Bool */;
311 short int var10
/* : Bool */;
312 val
* var11
/* : Array[State] */;
313 val
* var12
/* : nullable Object */;
314 val
* var_state
/* var state: State */;
315 val
* var13
/* : Array[State] */;
316 val
* var14
/* : State */;
319 var
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
321 { /* Inline kernel#Int#+ (var,var1) */
328 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var_pos
; /* _stack_pos on <self:Parser> */
329 var5
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
331 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _stack", "src/parser/parser.nit", 72);
334 var6
= ((long (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var5
) /* length on <var5:Array[State]>*/;
335 { /* Inline kernel#Int#< (var_pos,var6) */
336 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
337 /* <var6:Int> isa OTHER */
338 var9
= 1; /* easy <var6:Int> isa OTHER*/
340 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
343 var10
= var_pos
< var6
;
349 var11
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
351 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _stack", "src/parser/parser.nit", 73);
354 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_pos
) /* [] on <var11:Array[State]>*/;
356 ((void (*)(val
*, long))(var_state
->class->vft
[COLOR_parser__State__state_61d
]))(var_state
, var_numstate
) /* state= on <var_state:State>*/;
357 ((void (*)(val
*, val
*))(var_state
->class->vft
[COLOR_parser__State__nodes_61d
]))(var_state
, var_list_node
) /* nodes= on <var_state:State>*/;
359 var13
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
361 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _stack", "src/parser/parser.nit", 77);
364 var14
= NEW_parser__State(&type_parser__State
);
365 ((void (*)(val
*, long, val
*))(var14
->class->vft
[COLOR_parser__State__init
]))(var14
, var_numstate
, var_list_node
) /* init on <var14:State>*/;
366 CHECK_NEW_parser__State(var14
);
367 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var13
, var14
) /* push on <var13:Array[State]>*/;
371 /* method parser#Parser#push for (self: Object, Int, nullable Object) */
372 void VIRTUAL_parser__Parser__push(val
* self
, long p0
, val
* p1
) {
373 parser__Parser__push(self
, p0
, p1
);
376 /* method parser#Parser#state for (self: Parser): Int */
377 long parser__Parser__state(val
* self
) {
378 long var
/* : Int */;
379 val
* var1
/* : Array[State] */;
380 long var2
/* : Int */;
381 val
* var3
/* : nullable Object */;
382 long var4
/* : Int */;
383 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
385 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _stack", "src/parser/parser.nit", 84);
388 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
389 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
390 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_parser__State__state
]))(var3
) /* state on <var3:nullable Object(State)>*/;
396 /* method parser#Parser#state for (self: Object): Int */
397 long VIRTUAL_parser__Parser__state(val
* self
) {
398 long var
/* : Int */;
399 long var1
/* : Int */;
400 var1
= parser__Parser__state(self
);
405 /* method parser#Parser#pop for (self: Parser): nullable Object */
406 val
* parser__Parser__pop(val
* self
) {
407 val
* var
/* : nullable Object */;
408 val
* var1
/* : Array[State] */;
409 long var2
/* : Int */;
410 val
* var3
/* : nullable Object */;
411 val
* var4
/* : nullable Object */;
412 val
* var_res
/* var res: nullable Object */;
413 long var5
/* : Int */;
414 long var6
/* : Int */;
415 long var7
/* : Int */;
416 long var9
/* : Int */;
417 var1
= self
->attrs
[COLOR_parser__Parser___stack
].val
; /* _stack on <self:Parser> */
419 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _stack", "src/parser/parser.nit", 90);
422 var2
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
423 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:Array[State]>*/;
424 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser__State__nodes
]))(var3
) /* nodes on <var3:nullable Object(State)>*/;
426 var5
= self
->attrs
[COLOR_parser__Parser___stack_pos
].l
; /* _stack_pos on <self:Parser> */
428 { /* Inline kernel#Int#- (var5,var6) */
434 self
->attrs
[COLOR_parser__Parser___stack_pos
].l
= var7
; /* _stack_pos on <self:Parser> */
440 /* method parser#Parser#pop for (self: Object): nullable Object */
441 val
* VIRTUAL_parser__Parser__pop(val
* self
) {
442 val
* var
/* : nullable Object */;
443 val
* var1
/* : nullable Object */;
444 var1
= parser__Parser__pop(self
);
449 /* method parser#Parser#parse for (self: Parser): Start */
450 val
* parser__Parser__parse(val
* self
) {
451 val
* var
/* : Start */;
452 long var1
/* : Int */;
453 val
* var2
/* : null */;
454 val
* var3
/* : Lexer */;
455 val
* var_lexer
/* var lexer: Lexer */;
456 val
* var4
/* : Token */;
457 val
* var_token
/* var token: Token */;
458 short int var5
/* : Bool */;
461 val
* var6
/* : Start */;
462 val
* var7
/* : null */;
463 long var8
/* : Int */;
464 long var_state
/* var state: Int */;
465 long var9
/* : Int */;
466 long var_index
/* var index: Int */;
467 long var10
/* : Int */;
468 long var11
/* : Int */;
469 long var_action_type
/* var action_type: Int */;
470 long var12
/* : Int */;
471 long var13
/* : Int */;
472 long var_action_value
/* var action_value: Int */;
473 long var14
/* : Int */;
474 long var_low
/* var low: Int */;
475 long var15
/* : Int */;
476 long var16
/* : Int */;
477 long var17
/* : Int */;
478 long var18
/* : Int */;
479 long var20
/* : Int */;
480 long var_high
/* var high: Int */;
481 short int var21
/* : Bool */;
482 short int var23
/* : Bool */;
485 short int var26
/* : Bool */;
486 long var27
/* : Int */;
487 long var29
/* : Int */;
488 long var30
/* : Int */;
489 long var31
/* : Int */;
490 long var33
/* : Int */;
491 long var_middle
/* var middle: Int */;
492 long var34
/* : Int */;
493 long var35
/* : Int */;
494 long var37
/* : Int */;
495 long var38
/* : Int */;
496 long var39
/* : Int */;
497 long var41
/* : Int */;
498 long var_subindex
/* var subindex: Int */;
499 long var42
/* : Int */;
500 long var_goal
/* var goal: Int */;
501 short int var43
/* : Bool */;
502 short int var45
/* : Bool */;
505 short int var48
/* : Bool */;
506 long var49
/* : Int */;
507 long var50
/* : Int */;
508 long var52
/* : Int */;
509 short int var53
/* : Bool */;
510 short int var55
/* : Bool */;
513 short int var58
/* : Bool */;
514 long var59
/* : Int */;
515 long var60
/* : Int */;
516 long var62
/* : Int */;
517 long var63
/* : Int */;
518 long var64
/* : Int */;
519 long var66
/* : Int */;
520 long var67
/* : Int */;
521 long var68
/* : Int */;
522 long var69
/* : Int */;
523 long var71
/* : Int */;
524 long var72
/* : Int */;
525 long var73
/* : Int */;
526 short int var74
/* : Bool */;
527 short int var76
/* : Bool */;
528 val
* var77
/* : Token */;
529 long var78
/* : Int */;
530 short int var79
/* : Bool */;
531 short int var81
/* : Bool */;
532 val
* var82
/* : Array[ReduceAction] */;
533 val
* var83
/* : nullable Object */;
534 long var84
/* : Int */;
535 short int var85
/* : Bool */;
536 short int var87
/* : Bool */;
537 val
* var88
/* : Token */;
538 val
* var_node2
/* var node2: Token */;
539 short int var89
/* : Bool */;
542 val
* var92
/* : nullable Object */;
543 val
* var_node1
/* var node1: nullable Object */;
544 short int var93
/* : Bool */;
547 val
* var96
/* : Start */;
548 val
* var_node
/* var node: Start */;
549 val
* var97
/* : ComputeProdLocationVisitor */;
550 long var98
/* : Int */;
551 short int var99
/* : Bool */;
552 short int var101
/* : Bool */;
553 val
* var102
/* : AParserError */;
554 val
* var103
/* : Array[Object] */;
555 long var104
/* : Int */;
556 val
* var_
/* var : Array[Object] */;
558 val
* var105
/* : String */;
559 char* var106
/* : NativeString */;
560 long var107
/* : Int */;
561 val
* var108
/* : String */;
562 static val
* varonce109
;
563 val
* var110
/* : String */;
564 char* var111
/* : NativeString */;
565 long var112
/* : Int */;
566 val
* var113
/* : String */;
567 val
* var114
/* : String */;
568 val
* var115
/* : Location */;
569 val
* var_node2116
/* var node2: AParserError */;
570 val
* var117
/* : Start */;
571 val
* var118
/* : null */;
572 val
* var_node119
/* var node: Start */;
575 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var1
, var2
) /* push on <self:Parser>*/;
576 var3
= self
->attrs
[COLOR_parser__Parser___lexer
].val
; /* _lexer on <self:Parser> */
578 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _lexer", "src/parser/parser.nit", 100);
583 var4
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__peek
]))(var_lexer
) /* peek on <var_lexer:Lexer>*/;
585 /* <var_token:Token> isa AError */
586 cltype
= type_parser_nodes__AError
.color
;
587 idtype
= type_parser_nodes__AError
.id
;
588 if(cltype
>= var_token
->type
->table_size
) {
591 var5
= var_token
->type
->type_table
[cltype
] == idtype
;
594 var6
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
596 ((void (*)(val
*, val
*, val
*))(var6
->class->vft
[COLOR_parser_nodes__Start__init
]))(var6
, var7
, var_token
) /* init on <var6:Start>*/;
597 CHECK_NEW_parser_nodes__Start(var6
);
602 var8
= ((long (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__state
]))(self
) /* state on <self:Parser>*/;
604 var9
= ((long (*)(val
*))(var_token
->class->vft
[COLOR_lexer__Token__parser_index
]))(var_token
) /* parser_index on <var_token:Token>*/;
607 var11
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var10
) /* parser_action on <self:Parser>*/;
608 var_action_type
= var11
;
610 var13
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var12
) /* parser_action on <self:Parser>*/;
611 var_action_value
= var13
;
615 var16
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var15
) /* parser_action on <self:Parser>*/;
617 { /* Inline kernel#Int#- (var16,var17) */
618 var20
= var16
- var17
;
625 { /* Inline kernel#Int#<= (var_low,var_high) */
626 /* Covariant cast for argument 0 (i) <var_high:Int> isa OTHER */
627 /* <var_high:Int> isa OTHER */
628 var23
= 1; /* easy <var_high:Int> isa OTHER*/
630 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
633 var26
= var_low
<= var_high
;
639 { /* Inline kernel#Int#+ (var_low,var_high) */
640 var29
= var_low
+ var_high
;
646 { /* Inline kernel#Int#/ (var27,var30) */
647 var33
= var27
/ var30
;
654 { /* Inline kernel#Int#* (var_middle,var34) */
655 var37
= var_middle
* var34
;
661 { /* Inline kernel#Int#+ (var35,var38) */
662 var41
= var35
+ var38
;
667 var_subindex
= var39
;
668 var42
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var_subindex
) /* parser_action on <self:Parser>*/;
670 { /* Inline kernel#Int#< (var_index,var_goal) */
671 /* Covariant cast for argument 0 (i) <var_goal:Int> isa OTHER */
672 /* <var_goal:Int> isa OTHER */
673 var45
= 1; /* easy <var_goal:Int> isa OTHER*/
675 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
678 var48
= var_index
< var_goal
;
685 { /* Inline kernel#Int#- (var_middle,var49) */
686 var52
= var_middle
- var49
;
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 var55
= 1; /* easy <var_goal:Int> isa OTHER*/
698 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
701 var58
= var_index
> var_goal
;
708 { /* Inline kernel#Int#+ (var_middle,var59) */
709 var62
= var_middle
+ var59
;
717 { /* Inline kernel#Int#+ (var_subindex,var63) */
718 var66
= var_subindex
+ var63
;
723 var67
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var64
) /* parser_action on <self:Parser>*/;
724 var_action_type
= var67
;
726 { /* Inline kernel#Int#+ (var_subindex,var68) */
727 var71
= var_subindex
+ var68
;
732 var72
= ((long (*)(val
*, long, long))(self
->class->vft
[COLOR_tables__TablesCapable__parser_action
]))(self
, var_state
, var69
) /* parser_action on <self:Parser>*/;
733 var_action_value
= var72
;
737 CONTINUE_label
: (void)0;
739 BREAK_label
: (void)0;
741 { /* Inline kernel#Int#== (var_action_type,var73) */
742 var76
= var_action_type
== var73
;
748 var77
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
749 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_parser__Parser__push
]))(self
, var_action_value
, var77
) /* push on <self:Parser>*/;
752 { /* Inline kernel#Int#== (var_action_type,var78) */
753 var81
= var_action_type
== var78
;
759 var82
= self
->attrs
[COLOR_parser__Parser___reduce_table
].val
; /* _reduce_table on <self:Parser> */
761 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _reduce_table", "src/parser/parser.nit", 134);
764 var83
= ((val
* (*)(val
*, long))(var82
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var82
, var_action_value
) /* [] on <var82:Array[ReduceAction]>*/;
765 ((void (*)(val
*, val
*))(var83
->class->vft
[COLOR_parser__ReduceAction__action
]))(var83
, self
) /* action on <var83:nullable Object(ReduceAction)>*/;
768 { /* Inline kernel#Int#== (var_action_type,var84) */
769 var87
= var_action_type
== var84
;
775 var88
= ((val
* (*)(val
*))(var_lexer
->class->vft
[COLOR_lexer__Lexer__next
]))(var_lexer
) /* next on <var_lexer:Lexer>*/;
777 /* <var_node2:Token> isa EOF */
778 cltype90
= type_parser_nodes__EOF
.color
;
779 idtype91
= type_parser_nodes__EOF
.id
;
780 if(cltype90
>= var_node2
->type
->table_size
) {
783 var89
= var_node2
->type
->type_table
[cltype90
] == idtype91
;
786 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 137);
789 var92
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser__Parser__pop
]))(self
) /* pop on <self:Parser>*/;
791 /* <var_node1:nullable Object> isa AModule */
792 cltype94
= type_parser_nodes__AModule
.color
;
793 idtype95
= type_parser_nodes__AModule
.id
;
794 if(var_node1
== NULL
) {
797 if(cltype94
>= var_node1
->type
->table_size
) {
800 var93
= var_node1
->type
->type_table
[cltype94
] == idtype95
;
804 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 139);
807 var96
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
808 ((void (*)(val
*, val
*, val
*))(var96
->class->vft
[COLOR_parser_nodes__Start__init
]))(var96
, var_node1
, var_node2
) /* init on <var96:Start>*/;
809 CHECK_NEW_parser_nodes__Start(var96
);
811 var97
= NEW_parser__ComputeProdLocationVisitor(&type_parser__ComputeProdLocationVisitor
);
812 ((void (*)(val
*))(var97
->class->vft
[COLOR_parser__ComputeProdLocationVisitor__init
]))(var97
) /* init on <var97:ComputeProdLocationVisitor>*/;
813 CHECK_NEW_parser__ComputeProdLocationVisitor(var97
);
814 ((void (*)(val
*, val
*))(var97
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var97
, var_node
) /* enter_visit on <var97:ComputeProdLocationVisitor>*/;
819 { /* Inline kernel#Int#== (var_action_type,var98) */
820 var101
= var_action_type
== var98
;
823 RET_LABEL100
:(void)0;
826 var102
= NEW_parser_nodes__AParserError(&type_parser_nodes__AParserError
);
827 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
829 ((void (*)(val
*, long))(var103
->class->vft
[COLOR_array__Array__with_capacity
]))(var103
, var104
) /* with_capacity on <var103:Array[Object]>*/;
830 CHECK_NEW_array__Array(var103
);
835 var106
= "Syntax error: unexpected ";
837 var108
= string__NativeString__to_s_with_length(var106
, var107
);
841 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var105
) /* add on <var_:Array[Object]>*/;
842 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_token
) /* add on <var_:Array[Object]>*/;
848 var113
= string__NativeString__to_s_with_length(var111
, var112
);
852 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var110
) /* add on <var_:Array[Object]>*/;
853 var114
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
854 var115
= ((val
* (*)(val
*))(var_token
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_token
) /* location on <var_token:Token>*/;
855 ((void (*)(val
*, val
*, val
*, val
*))(var102
->class->vft
[COLOR_lexer__AParserError__init_parser_error
]))(var102
, var114
, var115
, var_token
) /* init_parser_error on <var102:AParserError>*/;
856 CHECK_NEW_parser_nodes__AParserError(var102
);
857 var_node2116
= var102
;
858 var117
= NEW_parser_nodes__Start(&type_parser_nodes__Start
);
860 ((void (*)(val
*, val
*, val
*))(var117
->class->vft
[COLOR_parser_nodes__Start__init
]))(var117
, var118
, var_node2116
) /* init on <var117:Start>*/;
861 CHECK_NEW_parser_nodes__Start(var117
);
862 var_node119
= var117
;
870 CONTINUE_label120
: (void)0;
872 BREAK_label120
: (void)0;
876 /* method parser#Parser#parse for (self: Object): Start */
877 val
* VIRTUAL_parser__Parser__parse(val
* self
) {
878 val
* var
/* : Start */;
879 val
* var1
/* : Start */;
880 var1
= parser__Parser__parse(self
);