-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathparser.out
9356 lines (7798 loc) · 424 KB
/
parser.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Created by PLY version 3.11 (http://www.dabeaz.com/ply)
Unused terminals:
COMMENT
LIST
OBJECT
TOBJECT
Grammar
Rule 0 S' -> capi
Rule 1 capi -> capi_action1 global recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
Rule 2 capi -> capi_action1 recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
Rule 3 capi -> capi_action1 global MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
Rule 4 capi -> capi_action1 MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
Rule 5 capi_action1 -> <empty>
Rule 6 capi_action2 -> <empty>
Rule 7 global -> GLOBAL COLON LEFTKEY vars RIGHTKEY SEMICOLON
Rule 8 global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON
Rule 9 start -> VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
Rule 10 start_action1 -> <empty>
Rule 11 run -> VOID FUNC run_action1 RUN startscope_action LEFTPAR RIGHTPAR main_cont block
Rule 12 run_action1 -> <empty>
Rule 13 main_cont -> <empty>
Rule 14 vars -> VAR recids COLON type SEMICOLON vars
Rule 15 vars -> VAR recids COLON type SEMICOLON
Rule 16 recids -> ID
Rule 17 recids -> ID COMMA recids
Rule 18 block -> COLON LEFTKEY recstatement RIGHTKEY SEMICOLON
Rule 19 block -> COLON LEFTKEY RIGHTKEY SEMICOLON
Rule 20 recstatement -> statement recstatement
Rule 21 recstatement -> statement
Rule 22 statement -> assign SEMICOLON
Rule 23 statement -> condition
Rule 24 statement -> vars
Rule 25 statement -> loop
Rule 26 statement -> write SEMICOLON
Rule 27 statement -> return SEMICOLON
Rule 28 statement -> functioncall SEMICOLON
Rule 29 statement -> specialfunction SEMICOLON
Rule 30 specialfunction -> draw
Rule 31 specialfunction -> init
Rule 32 specialfunction -> size
Rule 33 specialfunction -> head
Rule 34 specialfunction -> find
Rule 35 specialfunction -> last
Rule 36 specialfunction -> set_fill
Rule 37 specialfunction -> set_title
Rule 38 specialfunction -> get_event
Rule 39 specialfunction -> update
Rule 40 specialfunction -> window_h
Rule 41 specialfunction -> window_w
Rule 42 specialfunction -> set_dimension
Rule 43 specialfunction -> create_text
Rule 44 specialfunction -> rand
Rule 45 specialfunction -> pow
Rule 46 specialfunction -> sqrt
Rule 47 specialfunction -> quit
Rule 48 quit -> QUIT LEFTPAR RIGHTPAR
Rule 49 pow -> POW pow_action1 LEFTPAR expression COMMA expression RIGHTPAR
Rule 50 pow_action1 -> <empty>
Rule 51 sqrt -> SQRT sqrt_action1 LEFTPAR expression RIGHTPAR
Rule 52 sqrt_action1 -> <empty>
Rule 53 draw -> CAPIGAME DOT DRAW LEFTPAR expression COMMA expression COMMA expression COMMA expression COMMA expression RIGHTPAR
Rule 54 init -> CAPIGAME DOT INIT LEFTPAR RIGHTPAR
Rule 55 size -> ID DOT SIZE LEFTPAR RIGHTPAR
Rule 56 head -> ID DOT HEAD LEFTPAR RIGHTPAR
Rule 57 window_h -> CAPIGAME DOT WINDOW_H LEFTPAR RIGHTPAR
Rule 58 window_w -> CAPIGAME DOT WINDOW_W LEFTPAR RIGHTPAR
Rule 59 rand -> CAPIGAME DOT RAND LEFTPAR expression COMMA expression RIGHTPAR
Rule 60 find -> ID DOT FIND LEFTPAR expression RIGHTPAR
Rule 61 last -> ID DOT LAST LEFTPAR RIGHTPAR
Rule 62 set_title -> CAPIGAME DOT SET_TITLE LEFTPAR expression RIGHTPAR
Rule 63 set_fill -> CAPIGAME DOT SET_FILL LEFTPAR expression COMMA expression COMMA expression RIGHTPAR
Rule 64 set_dimension -> CAPIGAME DOT SET_DIMENSION LEFTPAR expression COMMA expression RIGHTPAR
Rule 65 update -> CAPIGAME DOT UPDATE LEFTPAR RIGHTPAR
Rule 66 get_event -> CAPIGAME DOT GET_EVENT LEFTPAR RIGHTPAR
Rule 67 create_text -> CREATE_TEXT LEFTPAR expression COMMA expression COMMA expression COMMA expression RIGHTPAR
Rule 68 assign -> ID assign_action1 EQUAL assign_action2 expression
Rule 69 assign -> assign_list EQUAL assign_action2 expression
Rule 70 assign_action1 -> <empty>
Rule 71 assign_action2 -> <empty>
Rule 72 condition -> IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action2
Rule 73 condition -> IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action3 ELSE block condition_action2
Rule 74 condition_action1 -> <empty>
Rule 75 condition_action2 -> <empty>
Rule 76 condition_action3 -> <empty>
Rule 77 loop -> for
Rule 78 loop -> while
Rule 79 for -> FOR startscope_action LEFTPAR assign SEMICOLON for_action1 expression for_action2 SEMICOLON assign SEMICOLON RIGHTPAR block for_action3
Rule 80 for_action1 -> <empty>
Rule 81 for_action2 -> <empty>
Rule 82 for_action3 -> <empty>
Rule 83 while -> WHILE startscope_action while_action1 LEFTPAR expression while_action2 RIGHTPAR block while_action3
Rule 84 while_action1 -> <empty>
Rule 85 while_action2 -> <empty>
Rule 86 while_action3 -> <empty>
Rule 87 function -> type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
Rule 88 function -> type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
Rule 89 function -> VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
Rule 90 function -> VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
Rule 91 startscope_action -> <empty>
Rule 92 function_action1 -> <empty>
Rule 93 function_action2 -> <empty>
Rule 94 function_action3 -> <empty>
Rule 95 recparams -> ID COLON type
Rule 96 recparams -> ID COLON type COMMA recparams
Rule 97 recfunc -> function recfunc
Rule 98 recfunc -> function
Rule 99 write -> PRINT LEFTPAR recwrite RIGHTPAR
Rule 100 recwrite -> expression action_recwrite_exp COMMA recwrite
Rule 101 recwrite -> STRING action_recwrite_cte COMMA recwrite
Rule 102 recwrite -> expression action_recwrite_exp
Rule 103 recwrite -> STRING action_recwrite_cte
Rule 104 action_recwrite_exp -> <empty>
Rule 105 action_recwrite_cte -> <empty>
Rule 106 return -> RETURN expression
Rule 107 functioncall -> ID function_call_action1 LEFTPAR function_call_action2 recfuncexp RIGHTPAR
Rule 108 functioncall -> ID function_call_action1 LEFTPAR function_call_action2 RIGHTPAR
Rule 109 function_call_action1 -> <empty>
Rule 110 function_call_action2 -> <empty>
Rule 111 recfuncexp -> expression exp_action1 COMMA recfuncexp
Rule 112 recfuncexp -> expression exp_action1 recfunc_action1
Rule 113 exp_action1 -> <empty>
Rule 114 recfunc_action1 -> <empty>
Rule 115 expression -> exp RELOP relop_action1 exp relop_action2
Rule 116 expression -> exp LOGIC logic_action1 exp logic_action2
Rule 117 expression -> exp
Rule 118 relop_action1 -> <empty>
Rule 119 relop_action2 -> <empty>
Rule 120 logic_action1 -> <empty>
Rule 121 logic_action2 -> <empty>
Rule 122 exp -> term exp_action recexp
Rule 123 exp -> term exp_action
Rule 124 exp_action -> <empty>
Rule 125 recexp -> EX add_operator exp
Rule 126 term -> factor term_action recterm
Rule 127 term -> factor term_action
Rule 128 term_action -> <empty>
Rule 129 recterm -> TERMS add_operator term
Rule 130 add_operator -> <empty>
Rule 131 factor -> factor_action1 LEFTPAR expression RIGHTPAR factor_action2
Rule 132 factor -> EX cte
Rule 133 factor -> cte
Rule 134 factor_action1 -> <empty>
Rule 135 factor_action2 -> <empty>
Rule 136 type -> primitivetype
Rule 137 type -> TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
Rule 138 action_list1 -> <empty>
Rule 139 primitivetype -> TINT
Rule 140 primitivetype -> TFLOAT
Rule 141 primitivetype -> TSTRING
Rule 142 primitivetype -> TBOOL
Rule 143 assign_list -> ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET
Rule 144 listaccess -> ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET
Rule 145 list_action1 -> <empty>
Rule 146 list_action_3 -> <empty>
Rule 147 cte -> <empty>
Rule 148 cte -> id
Rule 149 cte -> int
Rule 150 cte -> float
Rule 151 cte -> bool
Rule 152 cte -> string
Rule 153 cte -> functioncall
Rule 154 cte -> listaccess
Rule 155 cte -> specialfunction
Rule 156 id -> ID
Rule 157 string -> STRING
Rule 158 int -> INT
Rule 159 float -> FLOAT
Rule 160 bool -> TRUE
Rule 161 bool -> FALSE
Terminals, with rules where they appear
BAR : 137 137
CAPIGAME : 53 54 57 58 59 62 63 64 65 66
COLON : 1 2 3 4 7 8 14 15 18 19 95 96
COMMA : 17 49 53 53 53 53 59 63 63 64 67 67 67 96 100 101 111
COMMENT :
CREATE_TEXT : 67
DOT : 53 54 55 56 57 58 59 60 61 62 63 64 65 66
DRAW : 53
ELSE : 73
EQUAL : 68 69
EX : 125 132
FALSE : 161
FIND : 60
FLOAT : 159
FOR : 79
FUNC : 9 11 87 88 89 90
GET_EVENT : 66
GLOBAL : 7 8
HEAD : 56
ID : 16 17 55 56 60 61 68 87 88 89 90 95 96 107 108 143 144 156
IF : 72 73
INIT : 54
INT : 158
LAST : 61
LEFTBRACKET : 137 143 144
LEFTKEY : 1 2 3 4 7 8 18 19
LEFTPAR : 9 11 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 72 73 79 83 87 88 89 90 99 107 108 131
LIST :
LOGIC : 116
MAIN : 1 2 3 4
OBJECT :
POW : 49
PRINT : 99
QUIT : 48
RAND : 59
RELOP : 115
RETURN : 106
RIGHTBRACKET : 137 143 144
RIGHTKEY : 1 2 3 4 7 8 18 19
RIGHTPAR : 9 11 48 49 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 72 73 79 83 87 88 89 90 99 107 108 131
RUN : 11
SEMICOLON : 1 2 3 4 7 8 14 15 18 19 22 26 27 28 29 79 79 79
SET_DIMENSION : 64
SET_FILL : 63
SET_TITLE : 62
SIZE : 55
SQRT : 51
START : 9
STRING : 101 103 157
TBOOL : 142
TERMS : 129
TFLOAT : 140
TINT : 139
TLIST : 137
TOBJECT :
TRUE : 160
TSTRING : 141
UPDATE : 65
VAR : 14 15
VOID : 9 11 89 90
WHILE : 83
WINDOW_H : 57
WINDOW_W : 58
error :
Nonterminals, with rules where they appear
action_list1 : 137
action_recwrite_cte : 101 103
action_recwrite_exp : 100 102
add_operator : 125 129
assign : 22 79 79
assign_action1 : 68
assign_action2 : 68 69
assign_list : 69
block : 9 11 72 73 73 79 83 87 88 89 90
bool : 151
capi : 0
capi_action1 : 1 2 3 4
capi_action2 : 1 2 3 4
condition : 23
condition_action1 : 72 73
condition_action2 : 72 73
condition_action3 : 73
create_text : 43
cte : 132 133 137
draw : 30
exp : 115 115 116 116 117 125
exp_action : 122 123
exp_action1 : 111 112
expression : 49 49 51 53 53 53 53 53 59 59 60 62 63 63 63 64 64 67 67 67 67 68 69 72 73 79 83 100 102 106 111 112 131 143 144
factor : 126 127
factor_action1 : 131
factor_action2 : 131
find : 34
float : 150
for : 77
for_action1 : 79
for_action2 : 79
for_action3 : 79
function : 97 98
function_action1 : 87 89
function_action2 : 87 89
function_action3 : 87 88 89 90
function_call_action1 : 107 108
function_call_action2 : 107 108
functioncall : 28 153
get_event : 38
global : 1 3
head : 33
id : 148
init : 31
int : 149
last : 35
list_action1 : 143 144
list_action_3 : 143 144
listaccess : 154
logic_action1 : 116
logic_action2 : 116
loop : 25
main_cont : 9 11
pow : 45
pow_action1 : 49
primitivetype : 136 137
quit : 47
rand : 44
recexp : 122
recfunc : 1 2 97
recfunc_action1 : 112
recfuncexp : 107 111
recids : 14 15 17
recparams : 87 89 96
recstatement : 18 20
recterm : 126
recwrite : 99 100 101
relop_action1 : 115
relop_action2 : 115
return : 27
run : 1 2 3 4
run_action1 : 11
set_dimension : 42
set_fill : 36
set_title : 37
size : 32
specialfunction : 29 155
sqrt : 46
sqrt_action1 : 51
start : 1 2 3 4
start_action1 : 9
startscope_action : 9 11 79 83 87 88 89 90
statement : 20 21
string : 152
term : 122 123 129
term_action : 126 127
type : 14 15 87 88 95 96
update : 39
vars : 7 14 24
while : 78
while_action1 : 83
while_action2 : 83
while_action3 : 83
window_h : 40
window_w : 41
write : 26
Parsing method: LALR
state 0
(0) S' -> . capi
(1) capi -> . capi_action1 global recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(2) capi -> . capi_action1 recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(3) capi -> . capi_action1 global MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(4) capi -> . capi_action1 MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(5) capi_action1 -> .
MAIN reduce using rule 5 (capi_action1 -> .)
GLOBAL reduce using rule 5 (capi_action1 -> .)
VOID reduce using rule 5 (capi_action1 -> .)
TLIST reduce using rule 5 (capi_action1 -> .)
TINT reduce using rule 5 (capi_action1 -> .)
TFLOAT reduce using rule 5 (capi_action1 -> .)
TSTRING reduce using rule 5 (capi_action1 -> .)
TBOOL reduce using rule 5 (capi_action1 -> .)
capi shift and go to state 1
capi_action1 shift and go to state 2
state 1
(0) S' -> capi .
state 2
(1) capi -> capi_action1 . global recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(2) capi -> capi_action1 . recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(3) capi -> capi_action1 . global MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(4) capi -> capi_action1 . MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(7) global -> . GLOBAL COLON LEFTKEY vars RIGHTKEY SEMICOLON
(8) global -> . GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON
(97) recfunc -> . function recfunc
(98) recfunc -> . function
(87) function -> . type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> . type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(89) function -> . VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> . VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(136) type -> . primitivetype
(137) type -> . TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
(139) primitivetype -> . TINT
(140) primitivetype -> . TFLOAT
(141) primitivetype -> . TSTRING
(142) primitivetype -> . TBOOL
MAIN shift and go to state 5
GLOBAL shift and go to state 6
VOID shift and go to state 9
TLIST shift and go to state 11
TINT shift and go to state 12
TFLOAT shift and go to state 13
TSTRING shift and go to state 14
TBOOL shift and go to state 15
global shift and go to state 3
recfunc shift and go to state 4
function shift and go to state 7
type shift and go to state 8
primitivetype shift and go to state 10
state 3
(1) capi -> capi_action1 global . recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(3) capi -> capi_action1 global . MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
(97) recfunc -> . function recfunc
(98) recfunc -> . function
(87) function -> . type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> . type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(89) function -> . VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> . VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(136) type -> . primitivetype
(137) type -> . TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
(139) primitivetype -> . TINT
(140) primitivetype -> . TFLOAT
(141) primitivetype -> . TSTRING
(142) primitivetype -> . TBOOL
MAIN shift and go to state 17
VOID shift and go to state 9
TLIST shift and go to state 11
TINT shift and go to state 12
TFLOAT shift and go to state 13
TSTRING shift and go to state 14
TBOOL shift and go to state 15
recfunc shift and go to state 16
function shift and go to state 7
type shift and go to state 8
primitivetype shift and go to state 10
state 4
(2) capi -> capi_action1 recfunc . MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
MAIN shift and go to state 18
state 5
(4) capi -> capi_action1 MAIN . COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
COLON shift and go to state 19
state 6
(7) global -> GLOBAL . COLON LEFTKEY vars RIGHTKEY SEMICOLON
(8) global -> GLOBAL . COLON LEFTKEY RIGHTKEY SEMICOLON
COLON shift and go to state 20
state 7
(97) recfunc -> function . recfunc
(98) recfunc -> function .
(97) recfunc -> . function recfunc
(98) recfunc -> . function
(87) function -> . type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> . type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(89) function -> . VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> . VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
(136) type -> . primitivetype
(137) type -> . TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
(139) primitivetype -> . TINT
(140) primitivetype -> . TFLOAT
(141) primitivetype -> . TSTRING
(142) primitivetype -> . TBOOL
MAIN reduce using rule 98 (recfunc -> function .)
VOID shift and go to state 9
TLIST shift and go to state 11
TINT shift and go to state 12
TFLOAT shift and go to state 13
TSTRING shift and go to state 14
TBOOL shift and go to state 15
function shift and go to state 7
recfunc shift and go to state 21
type shift and go to state 8
primitivetype shift and go to state 10
state 8
(87) function -> type . FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> type . FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
FUNC shift and go to state 22
state 9
(89) function -> VOID . FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> VOID . FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block
FUNC shift and go to state 23
state 10
(136) type -> primitivetype .
FUNC reduce using rule 136 (type -> primitivetype .)
SEMICOLON reduce using rule 136 (type -> primitivetype .)
COMMA reduce using rule 136 (type -> primitivetype .)
RIGHTPAR reduce using rule 136 (type -> primitivetype .)
state 11
(137) type -> TLIST . BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
BAR shift and go to state 24
state 12
(139) primitivetype -> TINT .
FUNC reduce using rule 139 (primitivetype -> TINT .)
BAR reduce using rule 139 (primitivetype -> TINT .)
SEMICOLON reduce using rule 139 (primitivetype -> TINT .)
COMMA reduce using rule 139 (primitivetype -> TINT .)
RIGHTPAR reduce using rule 139 (primitivetype -> TINT .)
state 13
(140) primitivetype -> TFLOAT .
FUNC reduce using rule 140 (primitivetype -> TFLOAT .)
BAR reduce using rule 140 (primitivetype -> TFLOAT .)
SEMICOLON reduce using rule 140 (primitivetype -> TFLOAT .)
COMMA reduce using rule 140 (primitivetype -> TFLOAT .)
RIGHTPAR reduce using rule 140 (primitivetype -> TFLOAT .)
state 14
(141) primitivetype -> TSTRING .
FUNC reduce using rule 141 (primitivetype -> TSTRING .)
BAR reduce using rule 141 (primitivetype -> TSTRING .)
SEMICOLON reduce using rule 141 (primitivetype -> TSTRING .)
COMMA reduce using rule 141 (primitivetype -> TSTRING .)
RIGHTPAR reduce using rule 141 (primitivetype -> TSTRING .)
state 15
(142) primitivetype -> TBOOL .
FUNC reduce using rule 142 (primitivetype -> TBOOL .)
BAR reduce using rule 142 (primitivetype -> TBOOL .)
SEMICOLON reduce using rule 142 (primitivetype -> TBOOL .)
COMMA reduce using rule 142 (primitivetype -> TBOOL .)
RIGHTPAR reduce using rule 142 (primitivetype -> TBOOL .)
state 16
(1) capi -> capi_action1 global recfunc . MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
MAIN shift and go to state 25
state 17
(3) capi -> capi_action1 global MAIN . COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
COLON shift and go to state 26
state 18
(2) capi -> capi_action1 recfunc MAIN . COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
COLON shift and go to state 27
state 19
(4) capi -> capi_action1 MAIN COLON . LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
LEFTKEY shift and go to state 28
state 20
(7) global -> GLOBAL COLON . LEFTKEY vars RIGHTKEY SEMICOLON
(8) global -> GLOBAL COLON . LEFTKEY RIGHTKEY SEMICOLON
LEFTKEY shift and go to state 29
state 21
(97) recfunc -> function recfunc .
MAIN reduce using rule 97 (recfunc -> function recfunc .)
state 22
(87) function -> type FUNC . ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> type FUNC . ID startscope_action LEFTPAR RIGHTPAR function_action3 block
ID shift and go to state 30
state 23
(89) function -> VOID FUNC . ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> VOID FUNC . ID startscope_action LEFTPAR RIGHTPAR function_action3 block
ID shift and go to state 31
state 24
(137) type -> TLIST BAR . primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1
(139) primitivetype -> . TINT
(140) primitivetype -> . TFLOAT
(141) primitivetype -> . TSTRING
(142) primitivetype -> . TBOOL
TINT shift and go to state 12
TFLOAT shift and go to state 13
TSTRING shift and go to state 14
TBOOL shift and go to state 15
primitivetype shift and go to state 32
state 25
(1) capi -> capi_action1 global recfunc MAIN . COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
COLON shift and go to state 33
state 26
(3) capi -> capi_action1 global MAIN COLON . LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
LEFTKEY shift and go to state 34
state 27
(2) capi -> capi_action1 recfunc MAIN COLON . LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
LEFTKEY shift and go to state 35
state 28
(4) capi -> capi_action1 MAIN COLON LEFTKEY . start capi_action2 run RIGHTKEY SEMICOLON
(9) start -> . VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
VOID shift and go to state 37
start shift and go to state 36
state 29
(7) global -> GLOBAL COLON LEFTKEY . vars RIGHTKEY SEMICOLON
(8) global -> GLOBAL COLON LEFTKEY . RIGHTKEY SEMICOLON
(14) vars -> . VAR recids COLON type SEMICOLON vars
(15) vars -> . VAR recids COLON type SEMICOLON
RIGHTKEY shift and go to state 39
VAR shift and go to state 40
vars shift and go to state 38
state 30
(87) function -> type FUNC ID . startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> type FUNC ID . startscope_action LEFTPAR RIGHTPAR function_action3 block
(91) startscope_action -> .
LEFTPAR reduce using rule 91 (startscope_action -> .)
startscope_action shift and go to state 41
state 31
(89) function -> VOID FUNC ID . startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> VOID FUNC ID . startscope_action LEFTPAR RIGHTPAR function_action3 block
(91) startscope_action -> .
LEFTPAR reduce using rule 91 (startscope_action -> .)
startscope_action shift and go to state 42
state 32
(137) type -> TLIST BAR primitivetype . BAR LEFTBRACKET cte RIGHTBRACKET action_list1
BAR shift and go to state 43
state 33
(1) capi -> capi_action1 global recfunc MAIN COLON . LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON
LEFTKEY shift and go to state 44
state 34
(3) capi -> capi_action1 global MAIN COLON LEFTKEY . start capi_action2 run RIGHTKEY SEMICOLON
(9) start -> . VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
VOID shift and go to state 37
start shift and go to state 45
state 35
(2) capi -> capi_action1 recfunc MAIN COLON LEFTKEY . start capi_action2 run RIGHTKEY SEMICOLON
(9) start -> . VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
VOID shift and go to state 37
start shift and go to state 46
state 36
(4) capi -> capi_action1 MAIN COLON LEFTKEY start . capi_action2 run RIGHTKEY SEMICOLON
(6) capi_action2 -> .
VOID reduce using rule 6 (capi_action2 -> .)
capi_action2 shift and go to state 47
state 37
(9) start -> VOID . FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
FUNC shift and go to state 48
state 38
(7) global -> GLOBAL COLON LEFTKEY vars . RIGHTKEY SEMICOLON
RIGHTKEY shift and go to state 49
state 39
(8) global -> GLOBAL COLON LEFTKEY RIGHTKEY . SEMICOLON
SEMICOLON shift and go to state 50
state 40
(14) vars -> VAR . recids COLON type SEMICOLON vars
(15) vars -> VAR . recids COLON type SEMICOLON
(16) recids -> . ID
(17) recids -> . ID COMMA recids
ID shift and go to state 52
recids shift and go to state 51
state 41
(87) function -> type FUNC ID startscope_action . LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> type FUNC ID startscope_action . LEFTPAR RIGHTPAR function_action3 block
LEFTPAR shift and go to state 53
state 42
(89) function -> VOID FUNC ID startscope_action . LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> VOID FUNC ID startscope_action . LEFTPAR RIGHTPAR function_action3 block
LEFTPAR shift and go to state 54
state 43
(137) type -> TLIST BAR primitivetype BAR . LEFTBRACKET cte RIGHTBRACKET action_list1
LEFTBRACKET shift and go to state 55
state 44
(1) capi -> capi_action1 global recfunc MAIN COLON LEFTKEY . start capi_action2 run RIGHTKEY SEMICOLON
(9) start -> . VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
VOID shift and go to state 37
start shift and go to state 56
state 45
(3) capi -> capi_action1 global MAIN COLON LEFTKEY start . capi_action2 run RIGHTKEY SEMICOLON
(6) capi_action2 -> .
VOID reduce using rule 6 (capi_action2 -> .)
capi_action2 shift and go to state 57
state 46
(2) capi -> capi_action1 recfunc MAIN COLON LEFTKEY start . capi_action2 run RIGHTKEY SEMICOLON
(6) capi_action2 -> .
VOID reduce using rule 6 (capi_action2 -> .)
capi_action2 shift and go to state 58
state 47
(4) capi -> capi_action1 MAIN COLON LEFTKEY start capi_action2 . run RIGHTKEY SEMICOLON
(11) run -> . VOID FUNC run_action1 RUN startscope_action LEFTPAR RIGHTPAR main_cont block
VOID shift and go to state 60
run shift and go to state 59
state 48
(9) start -> VOID FUNC . start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block
(10) start_action1 -> .
START reduce using rule 10 (start_action1 -> .)
start_action1 shift and go to state 61
state 49
(7) global -> GLOBAL COLON LEFTKEY vars RIGHTKEY . SEMICOLON
SEMICOLON shift and go to state 62
state 50
(8) global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .
MAIN reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
VOID reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
TLIST reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
TINT reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
TFLOAT reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
TSTRING reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
TBOOL reduce using rule 8 (global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON .)
state 51
(14) vars -> VAR recids . COLON type SEMICOLON vars
(15) vars -> VAR recids . COLON type SEMICOLON
COLON shift and go to state 63
state 52
(16) recids -> ID .
(17) recids -> ID . COMMA recids
COLON reduce using rule 16 (recids -> ID .)
COMMA shift and go to state 64
state 53
(87) function -> type FUNC ID startscope_action LEFTPAR . recparams function_action1 RIGHTPAR function_action2 function_action3 block
(88) function -> type FUNC ID startscope_action LEFTPAR . RIGHTPAR function_action3 block
(95) recparams -> . ID COLON type
(96) recparams -> . ID COLON type COMMA recparams
RIGHTPAR shift and go to state 67
ID shift and go to state 65
recparams shift and go to state 66
state 54
(89) function -> VOID FUNC ID startscope_action LEFTPAR . recparams function_action1 RIGHTPAR function_action2 function_action3 block
(90) function -> VOID FUNC ID startscope_action LEFTPAR . RIGHTPAR function_action3 block
(95) recparams -> . ID COLON type
(96) recparams -> . ID COLON type COMMA recparams
RIGHTPAR shift and go to state 69
ID shift and go to state 65
recparams shift and go to state 68
state 55
(137) type -> TLIST BAR primitivetype BAR LEFTBRACKET . cte RIGHTBRACKET action_list1
(147) cte -> .
(148) cte -> . id
(149) cte -> . int
(150) cte -> . float
(151) cte -> . bool
(152) cte -> . string
(153) cte -> . functioncall
(154) cte -> . listaccess
(155) cte -> . specialfunction
(156) id -> . ID
(158) int -> . INT
(159) float -> . FLOAT
(160) bool -> . TRUE
(161) bool -> . FALSE
(157) string -> . STRING
(107) functioncall -> . ID function_call_action1 LEFTPAR function_call_action2 recfuncexp RIGHTPAR
(108) functioncall -> . ID function_call_action1 LEFTPAR function_call_action2 RIGHTPAR
(144) listaccess -> . ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET
(30) specialfunction -> . draw
(31) specialfunction -> . init
(32) specialfunction -> . size
(33) specialfunction -> . head
(34) specialfunction -> . find
(35) specialfunction -> . last
(36) specialfunction -> . set_fill
(37) specialfunction -> . set_title
(38) specialfunction -> . get_event
(39) specialfunction -> . update
(40) specialfunction -> . window_h
(41) specialfunction -> . window_w
(42) specialfunction -> . set_dimension
(43) specialfunction -> . create_text
(44) specialfunction -> . rand
(45) specialfunction -> . pow
(46) specialfunction -> . sqrt
(47) specialfunction -> . quit
(53) draw -> . CAPIGAME DOT DRAW LEFTPAR expression COMMA expression COMMA expression COMMA expression COMMA expression RIGHTPAR
(54) init -> . CAPIGAME DOT INIT LEFTPAR RIGHTPAR
(55) size -> . ID DOT SIZE LEFTPAR RIGHTPAR
(56) head -> . ID DOT HEAD LEFTPAR RIGHTPAR
(60) find -> . ID DOT FIND LEFTPAR expression RIGHTPAR
(61) last -> . ID DOT LAST LEFTPAR RIGHTPAR
(63) set_fill -> . CAPIGAME DOT SET_FILL LEFTPAR expression COMMA expression COMMA expression RIGHTPAR
(62) set_title -> . CAPIGAME DOT SET_TITLE LEFTPAR expression RIGHTPAR
(66) get_event -> . CAPIGAME DOT GET_EVENT LEFTPAR RIGHTPAR
(65) update -> . CAPIGAME DOT UPDATE LEFTPAR RIGHTPAR
(57) window_h -> . CAPIGAME DOT WINDOW_H LEFTPAR RIGHTPAR
(58) window_w -> . CAPIGAME DOT WINDOW_W LEFTPAR RIGHTPAR
(64) set_dimension -> . CAPIGAME DOT SET_DIMENSION LEFTPAR expression COMMA expression RIGHTPAR
(67) create_text -> . CREATE_TEXT LEFTPAR expression COMMA expression COMMA expression COMMA expression RIGHTPAR
(59) rand -> . CAPIGAME DOT RAND LEFTPAR expression COMMA expression RIGHTPAR
(49) pow -> . POW pow_action1 LEFTPAR expression COMMA expression RIGHTPAR
(51) sqrt -> . SQRT sqrt_action1 LEFTPAR expression RIGHTPAR
(48) quit -> . QUIT LEFTPAR RIGHTPAR
RIGHTBRACKET reduce using rule 147 (cte -> .)
ID shift and go to state 79
INT shift and go to state 80
FLOAT shift and go to state 81
TRUE shift and go to state 82
FALSE shift and go to state 83
STRING shift and go to state 84
CAPIGAME shift and go to state 103
CREATE_TEXT shift and go to state 104
POW shift and go to state 105
SQRT shift and go to state 106
QUIT shift and go to state 107
cte shift and go to state 70
id shift and go to state 71
int shift and go to state 72
float shift and go to state 73
bool shift and go to state 74
string shift and go to state 75
functioncall shift and go to state 76
listaccess shift and go to state 77
specialfunction shift and go to state 78
draw shift and go to state 85
init shift and go to state 86
size shift and go to state 87
head shift and go to state 88
find shift and go to state 89
last shift and go to state 90
set_fill shift and go to state 91
set_title shift and go to state 92
get_event shift and go to state 93
update shift and go to state 94
window_h shift and go to state 95
window_w shift and go to state 96
set_dimension shift and go to state 97
create_text shift and go to state 98
rand shift and go to state 99
pow shift and go to state 100
sqrt shift and go to state 101