-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathparsetab.py
191 lines (184 loc) · 51.8 KB
/
parsetab.py
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
# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'BAR CAPIGAME COLON COMMA COMMENT CREATE_TEXT DOT DRAW ELSE EQUAL EX FALSE FIND FLOAT FOR FUNC GET_EVENT GLOBAL HEAD ID IF INIT INT LAST LEFTBRACKET LEFTKEY LEFTPAR LIST LOGIC MAIN OBJECT POW PRINT QUIT RAND RELOP RETURN RIGHTBRACKET RIGHTKEY RIGHTPAR RUN SEMICOLON SET_DIMENSION SET_FILL SET_TITLE SIZE SQRT START STRING TBOOL TERMS TFLOAT TINT TLIST TOBJECT TRUE TSTRING UPDATE VAR VOID WHILE WINDOW_H WINDOW_W \n capi : capi_action1 global recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON\n | capi_action1 recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON\n | capi_action1 global MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON\n | capi_action1 MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON\n \n capi_action1 :\n \n capi_action2 :\n \n global : GLOBAL COLON LEFTKEY vars RIGHTKEY SEMICOLON\n | GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON\n \n start : VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block \n \n start_action1 :\n \n run : VOID FUNC run_action1 RUN startscope_action LEFTPAR RIGHTPAR main_cont block \n \n run_action1 :\n \n main_cont :\n \n vars : VAR recids COLON type SEMICOLON vars\n | VAR recids COLON type SEMICOLON\n \n recids : ID \n | ID COMMA recids \n \n block : COLON LEFTKEY recstatement RIGHTKEY SEMICOLON\n | COLON LEFTKEY RIGHTKEY SEMICOLON\n \n recstatement : statement recstatement \n | statement \n \n statement : assign SEMICOLON\n | condition\n | vars\n | loop\n | write SEMICOLON\n | return SEMICOLON\n | functioncall SEMICOLON\n | specialfunction SEMICOLON\n \n specialfunction : draw\n | init\n | size\n | head\n | find\n | last\n | set_fill\n | set_title\n | get_event\n | update\n | window_h\n | window_w\n | set_dimension\n | create_text\n | rand\n | pow\n | sqrt\n | quit\n \n quit : QUIT LEFTPAR RIGHTPAR\n \n pow : POW pow_action1 LEFTPAR expression COMMA expression RIGHTPAR\n \n pow_action1 :\n \n sqrt : SQRT sqrt_action1 LEFTPAR expression RIGHTPAR\n \n sqrt_action1 :\n \n draw : CAPIGAME DOT DRAW LEFTPAR expression COMMA expression COMMA expression COMMA expression COMMA expression RIGHTPAR\n \n init : CAPIGAME DOT INIT LEFTPAR RIGHTPAR\n \n size : ID DOT SIZE LEFTPAR RIGHTPAR\n \n head : ID DOT HEAD LEFTPAR RIGHTPAR\n \n window_h : CAPIGAME DOT WINDOW_H LEFTPAR RIGHTPAR\n \n window_w : CAPIGAME DOT WINDOW_W LEFTPAR RIGHTPAR\n \n rand : CAPIGAME DOT RAND LEFTPAR expression COMMA expression RIGHTPAR\n \n find : ID DOT FIND LEFTPAR expression RIGHTPAR\n \n last : ID DOT LAST LEFTPAR RIGHTPAR\n \n set_title : CAPIGAME DOT SET_TITLE LEFTPAR expression RIGHTPAR\n \n set_fill : CAPIGAME DOT SET_FILL LEFTPAR expression COMMA expression COMMA expression RIGHTPAR\n \n set_dimension : CAPIGAME DOT SET_DIMENSION LEFTPAR expression COMMA expression RIGHTPAR\n \n update : CAPIGAME DOT UPDATE LEFTPAR RIGHTPAR\n \n get_event : CAPIGAME DOT GET_EVENT LEFTPAR RIGHTPAR\n \n create_text : CREATE_TEXT LEFTPAR expression COMMA expression COMMA expression COMMA expression RIGHTPAR\n \n assign : ID assign_action1 EQUAL assign_action2 expression \n | assign_list EQUAL assign_action2 expression\n \n assign_action1 : \n \n assign_action2 : \n condition : IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action2\n | IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action3 ELSE block condition_action2\n \n condition_action1 :\n \n condition_action2 :\n \n condition_action3 :\n \n loop : for\n | while\n \n for : FOR startscope_action LEFTPAR assign SEMICOLON for_action1 expression for_action2 SEMICOLON assign SEMICOLON RIGHTPAR block for_action3\n \n for_action1 : \n \n for_action2 : \n \n for_action3 : \n \n while : WHILE startscope_action while_action1 LEFTPAR expression while_action2 RIGHTPAR block while_action3\n \n while_action1 :\n \n while_action2 :\n \n while_action3 :\n \n function : type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block\n | type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block\n | VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block\n | VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block\n \n startscope_action : \n \n function_action1 :\n \n function_action2 :\n \n function_action3 :\n \n recparams : ID COLON type\n | ID COLON type COMMA recparams\n \n recfunc : function recfunc\n | function\n \n write : PRINT LEFTPAR recwrite RIGHTPAR \n \n recwrite : expression action_recwrite_exp COMMA recwrite \n | STRING action_recwrite_cte COMMA recwrite \n | expression action_recwrite_exp \n | STRING action_recwrite_cte\n \n action_recwrite_exp :\n \n action_recwrite_cte : \n \n return : RETURN expression\n \n functioncall : ID function_call_action1 LEFTPAR function_call_action2 recfuncexp RIGHTPAR \n | ID function_call_action1 LEFTPAR function_call_action2 RIGHTPAR \n \n function_call_action1 : \n \n function_call_action2 : \n \n recfuncexp : expression exp_action1 COMMA recfuncexp\n | expression exp_action1 recfunc_action1\n \n exp_action1 :\n \n recfunc_action1 :\n \n expression : exp RELOP relop_action1 exp relop_action2\n | exp LOGIC logic_action1 exp logic_action2\n | exp\n \n relop_action1 : \n \n relop_action2 : \n \n logic_action1 : \n \n logic_action2 : \n \n exp : term exp_action recexp\n | term exp_action \n \n exp_action :\n \n recexp : EX add_operator exp \n \n term : factor term_action recterm \n | factor term_action \n \n term_action :\n \n recterm : TERMS add_operator term\n \n add_operator :\n factor : factor_action1 LEFTPAR expression RIGHTPAR factor_action2 \n | EX cte \n | cte \n \n factor_action1 :\n \n factor_action2 :\n \n type : primitivetype\n | TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1\n \n action_list1 :\n \n primitivetype : TINT\n | TFLOAT\n | TSTRING\n | TBOOL\n \n assign_list : ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET \n \n listaccess : ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET \n \n list_action1 :\n \n list_action_3 :\n \n cte : \n | id\n | int\n | float\n | bool\n | string\n | functioncall\n | listaccess\n | specialfunction\n \n id : ID\n \n string : STRING\n \n int : INT\n \n float : FLOAT\n \n bool : TRUE \n | FALSE\n '
_lr_action_items = {'MAIN':([0,2,3,4,7,16,21,50,62,139,142,261,263,278,297,],[-5,5,17,18,-98,25,-97,-8,-7,-88,-90,-87,-19,-89,-18,]),'GLOBAL':([0,2,],[-5,6,]),'VOID':([0,2,3,7,28,34,35,36,44,45,46,47,50,56,57,58,62,108,139,142,261,263,278,296,297,],[-5,9,9,9,37,37,37,-6,37,-6,-6,60,-8,-6,60,60,-7,60,-88,-90,-87,-19,-89,-9,-18,]),'TLIST':([0,2,3,7,50,62,63,116,139,142,261,263,278,297,],[-5,11,11,11,-8,-7,11,11,-88,-90,-87,-19,-89,-18,]),'TINT':([0,2,3,7,24,50,62,63,116,139,142,261,263,278,297,],[-5,12,12,12,12,-8,-7,12,12,-88,-90,-87,-19,-89,-18,]),'TFLOAT':([0,2,3,7,24,50,62,63,116,139,142,261,263,278,297,],[-5,13,13,13,13,-8,-7,13,13,-88,-90,-87,-19,-89,-18,]),'TSTRING':([0,2,3,7,24,50,62,63,116,139,142,261,263,278,297,],[-5,14,14,14,14,-8,-7,14,14,-88,-90,-87,-19,-89,-18,]),'TBOOL':([0,2,3,7,24,50,62,63,116,139,142,261,263,278,297,],[-5,15,15,15,15,-8,-7,15,15,-88,-90,-87,-19,-89,-18,]),'$end':([1,133,171,172,205,],[0,-4,-3,-2,-1,]),'COLON':([5,6,17,18,25,51,52,65,67,69,115,118,120,138,141,177,179,207,209,230,260,295,320,340,360,362,374,],[19,20,26,27,33,63,-16,116,-94,-94,-17,140,140,-93,-93,-94,-94,-13,140,140,140,-13,140,140,140,140,140,]),'FUNC':([8,9,10,12,13,14,15,37,60,121,143,],[22,23,-136,-139,-140,-141,-142,48,112,-138,-137,]),'SEMICOLON':([10,12,13,14,15,39,49,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,111,114,121,131,132,143,161,162,163,165,166,169,170,197,198,199,200,202,211,213,217,218,219,220,227,232,235,236,238,240,243,244,245,246,250,251,252,253,254,255,258,262,272,275,279,281,282,285,289,290,291,292,293,298,300,314,315,316,317,318,319,321,323,325,328,334,335,338,343,352,355,356,359,363,371,372,],[-136,-139,-140,-141,-142,50,62,-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,133,136,-138,171,172,-137,-117,-124,-128,-147,-133,-48,205,-118,-120,-123,-127,-132,263,265,266,267,268,269,-147,-108,-55,-56,-61,-54,-66,-65,-57,-58,-147,-147,-122,-130,-126,-130,-51,297,-71,-106,-107,-144,-60,-62,-119,-121,-147,-147,-135,-71,-147,-115,-116,-125,-129,-131,-49,-147,-69,-99,343,-64,-59,-68,-80,-147,-63,-67,-81,367,373,-53,]),'COMMA':([10,12,13,14,15,52,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,121,126,137,143,144,160,161,162,163,165,166,167,169,180,186,188,194,195,196,197,198,199,200,202,203,232,233,235,236,238,239,240,241,243,244,245,246,247,248,249,250,251,252,253,254,255,258,274,279,280,281,282,283,284,285,288,289,290,291,292,293,303,304,307,309,310,313,314,315,316,317,318,319,326,327,332,334,335,341,342,345,354,355,356,361,372,],[-136,-139,-140,-141,-142,64,-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-138,-147,176,-137,-110,196,-117,-124,-128,-147,-133,-147,-48,-147,-147,-147,-147,-147,-147,-118,-120,-123,-127,-132,257,-108,-113,-55,-56,-61,283,-54,284,-66,-65,-57,-58,286,287,288,-147,-147,-122,-130,-126,-130,-51,-147,-107,307,-144,-60,-147,-147,-62,-147,-119,-121,-147,-147,-135,-104,-105,-147,332,333,336,-115,-116,-125,-129,-131,-49,341,342,-147,-64,-59,-147,-147,354,-147,-63,-67,365,-53,]),'RIGHTPAR':([10,12,13,14,15,53,54,66,68,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,117,119,121,129,137,143,144,161,162,163,165,166,168,169,174,180,182,183,184,185,187,189,190,191,192,193,197,198,199,200,201,202,204,208,231,232,233,235,236,237,238,240,242,243,244,245,246,250,251,252,253,254,255,256,257,258,259,273,274,279,280,281,282,285,286,287,289,290,291,292,293,294,301,302,303,304,307,308,311,312,314,315,316,317,318,319,324,326,327,330,331,333,334,335,336,341,342,344,346,347,350,351,353,355,356,365,369,372,373,],[-136,-139,-140,-141,-142,67,69,-92,-92,-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,138,141,-138,169,-95,-137,-110,-117,-124,-128,-147,-133,-147,-48,207,232,235,236,-147,238,240,-147,243,244,245,246,-118,-120,-123,-127,-147,-132,258,-96,279,-108,-113,-55,-56,282,-61,-54,285,-66,-65,-57,-58,-147,-147,-122,-130,-126,-130,293,-147,-51,295,-147,-147,-107,-114,-144,-60,-62,-147,-147,-119,-121,-147,-147,-135,319,-74,325,-104,-105,-147,-112,334,335,-115,-116,-125,-129,-131,-49,340,-102,-103,-147,-111,-147,-64,-59,-147,-147,-147,-85,355,356,-100,-101,360,-63,-67,-147,372,-53,374,]),'BAR':([11,12,13,14,15,32,],[24,-139,-140,-141,-142,43,]),'LEFTKEY':([19,20,26,27,33,140,],[28,29,34,35,44,178,]),'ID':([22,23,40,53,54,55,64,126,136,144,145,165,167,168,175,176,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,305,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,367,368,370,375,376,],[30,31,52,65,65,79,52,79,-15,-110,79,79,79,79,-14,65,221,79,79,79,79,79,79,79,79,-118,-120,79,221,-23,-24,-25,-77,-78,79,79,79,-130,-130,79,-19,-22,-26,-27,-28,-29,-71,79,79,79,79,79,79,79,79,79,-18,-71,79,79,329,79,79,79,79,79,79,79,79,-80,-75,79,79,-72,-86,79,-75,329,-83,-73,-82,-79,]),'RIGHTKEY':([29,38,59,109,110,130,136,175,178,210,212,214,215,216,224,225,263,264,265,266,267,268,269,297,337,349,357,364,366,368,370,375,376,],[39,49,111,131,132,170,-15,-14,211,262,-21,-23,-24,-25,-77,-78,-19,-20,-22,-26,-27,-28,-29,-18,-11,-75,-72,-86,-75,-83,-73,-82,-79,]),'VAR':([29,136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[40,40,-14,40,40,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'LEFTPAR':([30,31,41,42,79,104,105,106,107,113,122,126,127,128,135,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,164,167,168,173,180,184,186,188,189,194,195,196,197,198,201,206,221,223,226,227,228,229,250,251,253,255,257,272,273,274,276,277,283,284,286,287,288,291,292,298,299,300,306,307,321,330,332,333,336,341,342,343,352,354,365,],[-91,-91,53,54,-109,126,-50,-52,129,-91,144,-134,167,168,174,-110,-134,182,183,184,185,186,187,188,189,190,191,192,193,194,195,201,-134,-134,-91,-134,-134,-134,-134,-134,-134,-134,-134,-118,-120,-134,259,-109,273,274,-134,-91,-91,-134,-134,-130,-130,-134,-71,-134,-134,305,-84,-134,-134,-134,-134,-134,-134,-134,-71,-134,-134,330,-134,-134,-134,-134,-134,-134,-134,-134,-80,-134,-134,-134,]),'LEFTBRACKET':([43,79,123,221,271,329,],[55,-145,145,-145,299,-145,]),'START':([48,61,],[-10,113,]),'RIGHTBRACKET':([55,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,145,161,162,163,165,166,169,181,197,198,199,200,202,232,234,235,236,238,240,243,244,245,246,250,251,252,253,254,255,258,279,281,282,285,289,290,291,292,293,299,314,315,316,317,318,319,322,334,335,339,355,356,372,],[-147,121,-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-147,-117,-124,-128,-147,-133,-48,-146,-118,-120,-123,-127,-132,-108,281,-55,-56,-61,-54,-66,-65,-57,-58,-147,-147,-122,-130,-126,-130,-51,-107,-144,-60,-62,-119,-121,-147,-147,-135,-147,-115,-116,-125,-129,-131,-49,-146,-64,-59,348,-63,-67,-53,]),'INT':([55,126,144,145,165,167,168,180,184,186,188,189,194,195,196,197,198,201,227,250,251,253,255,257,272,273,274,283,284,286,287,288,291,292,298,299,300,307,321,330,332,333,336,341,342,343,352,354,365,],[80,80,-110,80,80,80,80,80,80,80,80,80,80,80,80,-118,-120,80,80,80,80,-130,-130,80,-71,80,80,80,80,80,80,80,80,80,-71,80,80,80,80,80,80,80,80,80,80,-80,80,80,80,]),'FLOAT':([55,126,144,145,165,167,168,180,184,186,188,189,194,195,196,197,198,201,227,250,251,253,255,257,272,273,274,283,284,286,287,288,291,292,298,299,300,307,321,330,332,333,336,341,342,343,352,354,365,],[81,81,-110,81,81,81,81,81,81,81,81,81,81,81,81,-118,-120,81,81,81,81,-130,-130,81,-71,81,81,81,81,81,81,81,81,81,-71,81,81,81,81,81,81,81,81,81,81,-80,81,81,81,]),'TRUE':([55,126,144,145,165,167,168,180,184,186,188,189,194,195,196,197,198,201,227,250,251,253,255,257,272,273,274,283,284,286,287,288,291,292,298,299,300,307,321,330,332,333,336,341,342,343,352,354,365,],[82,82,-110,82,82,82,82,82,82,82,82,82,82,82,82,-118,-120,82,82,82,82,-130,-130,82,-71,82,82,82,82,82,82,82,82,82,-71,82,82,82,82,82,82,82,82,82,82,-80,82,82,82,]),'FALSE':([55,126,144,145,165,167,168,180,184,186,188,189,194,195,196,197,198,201,227,250,251,253,255,257,272,273,274,283,284,286,287,288,291,292,298,299,300,307,321,330,332,333,336,341,342,343,352,354,365,],[83,83,-110,83,83,83,83,83,83,83,83,83,83,83,83,-118,-120,83,83,83,83,-130,-130,83,-71,83,83,83,83,83,83,83,83,83,-71,83,83,83,83,83,83,83,83,83,83,-80,83,83,83,]),'STRING':([55,126,144,145,165,167,168,180,184,186,188,189,194,195,196,197,198,201,227,250,251,253,255,257,272,273,274,283,284,286,287,288,291,292,298,299,300,307,321,330,332,333,336,341,342,343,352,354,365,],[84,84,-110,84,84,84,84,84,84,84,84,84,84,84,84,-118,-120,84,84,84,84,-130,-130,84,-71,84,304,84,84,84,84,84,84,84,-71,84,84,84,84,84,84,84,84,304,304,-80,84,84,84,]),'CAPIGAME':([55,126,136,144,145,165,167,168,175,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,368,370,375,376,],[103,103,-15,-110,103,103,103,103,-14,103,103,103,103,103,103,103,103,103,-118,-120,103,103,-23,-24,-25,-77,-78,103,103,103,-130,-130,103,-19,-22,-26,-27,-28,-29,-71,103,103,103,103,103,103,103,103,103,-18,-71,103,103,103,103,103,103,103,103,103,103,-80,-75,103,103,-72,-86,103,-75,-83,-73,-82,-79,]),'CREATE_TEXT':([55,126,136,144,145,165,167,168,175,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,368,370,375,376,],[104,104,-15,-110,104,104,104,104,-14,104,104,104,104,104,104,104,104,104,-118,-120,104,104,-23,-24,-25,-77,-78,104,104,104,-130,-130,104,-19,-22,-26,-27,-28,-29,-71,104,104,104,104,104,104,104,104,104,-18,-71,104,104,104,104,104,104,104,104,104,104,-80,-75,104,104,-72,-86,104,-75,-83,-73,-82,-79,]),'POW':([55,126,136,144,145,165,167,168,175,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,368,370,375,376,],[105,105,-15,-110,105,105,105,105,-14,105,105,105,105,105,105,105,105,105,-118,-120,105,105,-23,-24,-25,-77,-78,105,105,105,-130,-130,105,-19,-22,-26,-27,-28,-29,-71,105,105,105,105,105,105,105,105,105,-18,-71,105,105,105,105,105,105,105,105,105,105,-80,-75,105,105,-72,-86,105,-75,-83,-73,-82,-79,]),'SQRT':([55,126,136,144,145,165,167,168,175,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,368,370,375,376,],[106,106,-15,-110,106,106,106,106,-14,106,106,106,106,106,106,106,106,106,-118,-120,106,106,-23,-24,-25,-77,-78,106,106,106,-130,-130,106,-19,-22,-26,-27,-28,-29,-71,106,106,106,106,106,106,106,106,106,-18,-71,106,106,106,106,106,106,106,106,106,106,-80,-75,106,106,-72,-86,106,-75,-83,-73,-82,-79,]),'QUIT':([55,126,136,144,145,165,167,168,175,178,180,184,186,188,189,194,195,196,197,198,201,212,214,215,216,224,225,227,250,251,253,255,257,263,265,266,267,268,269,272,273,274,283,284,286,287,288,291,292,297,298,299,300,307,321,330,332,333,336,341,342,343,349,352,354,357,364,365,366,368,370,375,376,],[107,107,-15,-110,107,107,107,107,-14,107,107,107,107,107,107,107,107,107,-118,-120,107,107,-23,-24,-25,-77,-78,107,107,107,-130,-130,107,-19,-22,-26,-27,-28,-29,-71,107,107,107,107,107,107,107,107,107,-18,-71,107,107,107,107,107,107,107,107,107,107,-80,-75,107,107,-72,-86,107,-75,-83,-73,-82,-79,]),'TERMS':([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,126,144,145,163,165,166,167,168,169,180,184,186,188,189,194,195,196,197,198,200,201,202,227,232,235,236,238,240,243,244,245,246,250,251,253,255,257,258,272,273,274,279,281,282,283,284,285,286,287,288,291,292,293,298,299,300,304,307,318,319,321,330,332,333,334,335,336,341,342,343,352,354,355,356,365,372,],[-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-147,-110,-147,-128,-147,-133,-147,-147,-48,-147,-147,-147,-147,-147,-147,-147,-147,-118,-120,255,-147,-132,-147,-108,-55,-56,-61,-54,-66,-65,-57,-58,-147,-147,-130,-130,-147,-51,-71,-147,-147,-107,-144,-60,-147,-147,-62,-147,-147,-147,-147,-147,-135,-71,-147,-147,-157,-147,-131,-49,-147,-147,-147,-147,-64,-59,-147,-147,-147,-80,-147,-147,-63,-67,-147,-53,]),'EX':([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,126,144,145,162,163,165,166,167,168,169,180,184,186,188,189,194,195,196,197,198,199,200,201,202,227,232,235,236,238,240,243,244,245,246,250,251,253,254,255,257,258,272,273,274,279,281,282,283,284,285,286,287,288,291,292,293,298,299,300,304,307,317,318,319,321,330,332,333,334,335,336,341,342,343,352,354,355,356,365,372,],[-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,165,-110,165,-124,-128,-147,-133,165,165,-48,165,165,165,165,165,165,165,165,-118,-120,253,-127,165,-132,165,-108,-55,-56,-61,-54,-66,-65,-57,-58,165,165,-130,-126,-130,165,-51,-71,165,165,-107,-144,-60,165,165,-62,165,165,165,165,165,-135,-71,165,165,-157,165,-129,-131,-49,165,165,165,165,-64,-59,165,165,165,-80,165,165,-63,-67,165,-53,]),'RELOP':([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,126,144,145,161,162,163,165,166,167,168,169,180,184,186,188,189,194,195,196,199,200,201,202,227,232,235,236,238,240,243,244,245,246,252,253,254,255,257,258,272,273,274,279,281,282,283,284,285,286,287,288,291,292,293,298,299,300,304,307,316,317,318,319,321,330,332,333,334,335,336,341,342,343,352,354,355,356,365,372,],[-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-147,-110,-147,197,-124,-128,-147,-133,-147,-147,-48,-147,-147,-147,-147,-147,-147,-147,-147,-123,-127,-147,-132,-147,-108,-55,-56,-61,-54,-66,-65,-57,-58,-122,-130,-126,-130,-147,-51,-71,-147,-147,-107,-144,-60,-147,-147,-62,-147,-147,-147,-147,-147,-135,-71,-147,-147,-157,-147,-125,-129,-131,-49,-147,-147,-147,-147,-64,-59,-147,-147,-147,-80,-147,-147,-63,-67,-147,-53,]),'LOGIC':([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,126,144,145,161,162,163,165,166,167,168,169,180,184,186,188,189,194,195,196,199,200,201,202,227,232,235,236,238,240,243,244,245,246,252,253,254,255,257,258,272,273,274,279,281,282,283,284,285,286,287,288,291,292,293,298,299,300,304,307,316,317,318,319,321,330,332,333,334,335,336,341,342,343,352,354,355,356,365,372,],[-148,-149,-150,-151,-152,-153,-154,-155,-156,-158,-159,-160,-161,-157,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-147,-110,-147,198,-124,-128,-147,-133,-147,-147,-48,-147,-147,-147,-147,-147,-147,-147,-147,-123,-127,-147,-132,-147,-108,-55,-56,-61,-54,-66,-65,-57,-58,-122,-130,-126,-130,-147,-51,-71,-147,-147,-107,-144,-60,-147,-147,-62,-147,-147,-147,-147,-147,-135,-71,-147,-147,-157,-147,-125,-129,-131,-49,-147,-147,-147,-147,-64,-59,-147,-147,-147,-80,-147,-147,-63,-67,-147,-53,]),'DOT':([79,103,221,],[124,125,124,]),'RUN':([112,134,],[-12,173,]),'SIZE':([124,],[146,]),'HEAD':([124,],[147,]),'FIND':([124,],[148,]),'LAST':([124,],[149,]),'DRAW':([125,],[150,]),'INIT':([125,],[151,]),'SET_FILL':([125,],[152,]),'SET_TITLE':([125,],[153,]),'GET_EVENT':([125,],[154,]),'UPDATE':([125,],[155,]),'WINDOW_H':([125,],[156,]),'WINDOW_W':([125,],[157,]),'SET_DIMENSION':([125,],[158,]),'RAND':([125,],[159,]),'IF':([136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[-15,-14,223,223,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'PRINT':([136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[-15,-14,226,226,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'RETURN':([136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[-15,-14,227,227,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'FOR':([136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[-15,-14,228,228,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'WHILE':([136,175,178,212,214,215,216,224,225,263,265,266,267,268,269,297,349,357,364,366,368,370,375,376,],[-15,-14,229,229,-23,-24,-25,-77,-78,-19,-22,-26,-27,-28,-29,-18,-75,-72,-86,-75,-83,-73,-82,-79,]),'EQUAL':([221,222,270,329,348,],[-70,272,298,-70,-143,]),'ELSE':([263,297,349,358,],[-19,-18,-76,362,]),}
_lr_action = {}
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = {}
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'capi':([0,],[1,]),'capi_action1':([0,],[2,]),'global':([2,],[3,]),'recfunc':([2,3,7,],[4,16,21,]),'function':([2,3,7,],[7,7,7,]),'type':([2,3,7,63,116,],[8,8,8,114,137,]),'primitivetype':([2,3,7,24,63,116,],[10,10,10,32,10,10,]),'start':([28,34,35,44,],[36,45,46,56,]),'vars':([29,136,178,212,],[38,175,215,215,]),'startscope_action':([30,31,113,173,228,229,],[41,42,135,206,276,277,]),'capi_action2':([36,45,46,56,],[47,57,58,108,]),'recids':([40,64,],[51,115,]),'run':([47,57,58,108,],[59,109,110,130,]),'start_action1':([48,],[61,]),'recparams':([53,54,176,],[66,68,208,]),'cte':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[70,166,166,202,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,]),'id':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,]),'int':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,]),'float':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,]),'bool':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,]),'string':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,]),'functioncall':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[76,76,76,76,76,76,219,76,76,76,76,76,76,76,76,76,219,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,]),'listaccess':([55,126,145,165,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,]),'specialfunction':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[78,78,78,78,78,78,220,78,78,78,78,78,78,78,78,78,220,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,]),'draw':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,]),'init':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,]),'size':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,]),'head':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,]),'find':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,]),'last':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,]),'set_fill':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,]),'set_title':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,]),'get_event':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,]),'update':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,]),'window_h':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,]),'window_w':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,]),'set_dimension':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,]),'create_text':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,]),'rand':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,]),'pow':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,]),'sqrt':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,]),'quit':([55,126,145,165,167,168,178,180,184,186,188,189,194,195,196,201,212,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,]),'function_action1':([66,68,],[117,119,]),'function_action3':([67,69,177,179,],[118,120,209,230,]),'function_call_action1':([79,221,],[122,122,]),'list_action1':([79,221,329,],[123,271,271,]),'pow_action1':([105,],[127,]),'sqrt_action1':([106,],[128,]),'run_action1':([112,],[134,]),'block':([118,120,209,230,260,320,340,360,362,374,],[139,142,261,278,296,337,349,364,366,375,]),'action_list1':([121,],[143,]),'expression':([126,145,167,168,180,184,186,188,189,194,195,196,201,227,257,273,274,283,284,286,287,288,299,300,307,321,330,332,333,336,341,342,352,354,365,],[160,181,203,204,233,237,239,241,242,247,248,249,256,275,294,301,303,309,310,311,312,313,322,323,233,338,344,345,346,347,303,303,359,361,369,]),'exp':([126,145,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,299,300,307,321,330,332,333,336,341,342,352,354,365,],[161,161,161,161,161,161,161,161,161,161,161,161,161,161,289,290,161,161,161,161,161,161,161,161,316,161,161,161,161,161,161,161,161,161,161,161,161,161,]),'term':([126,145,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,317,162,162,162,162,162,162,162,162,162,162,162,162,162,]),'factor':([126,145,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,]),'factor_action1':([126,145,167,168,180,184,186,188,189,194,195,196,201,227,250,251,257,273,274,283,284,286,287,288,291,292,299,300,307,321,330,332,333,336,341,342,352,354,365,],[164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,]),'function_action2':([138,141,],[177,179,]),'function_call_action2':([144,],[180,]),'exp_action':([162,],[199,]),'term_action':([163,],[200,]),'recstatement':([178,212,],[210,264,]),'statement':([178,212,],[212,212,]),'assign':([178,212,305,367,],[213,213,328,371,]),'condition':([178,212,],[214,214,]),'loop':([178,212,],[216,216,]),'write':([178,212,],[217,217,]),'return':([178,212,],[218,218,]),'assign_list':([178,212,305,367,],[222,222,222,222,]),'for':([178,212,],[224,224,]),'while':([178,212,],[225,225,]),'recfuncexp':([180,307,],[231,331,]),'list_action_3':([181,322,],[234,339,]),'relop_action1':([197,],[250,]),'logic_action1':([198,],[251,]),'recexp':([199,],[252,]),'recterm':([200,],[254,]),'main_cont':([207,295,],[260,320,]),'assign_action1':([221,329,],[270,270,]),'exp_action1':([233,],[280,]),'add_operator':([253,255,],[291,292,]),'assign_action2':([272,298,],[300,321,]),'recwrite':([274,341,342,],[302,350,351,]),'while_action1':([277,],[306,]),'recfunc_action1':([280,],[308,]),'relop_action2':([289,],[314,]),'logic_action2':([290,],[315,]),'factor_action2':([293,],[318,]),'condition_action1':([301,],[324,]),'action_recwrite_exp':([303,],[326,]),'action_recwrite_cte':([304,],[327,]),'for_action1':([343,],[352,]),'while_action2':([344,],[353,]),'condition_action2':([349,366,],[357,370,]),'condition_action3':([349,],[358,]),'for_action2':([359,],[363,]),'while_action3':([364,],[368,]),'for_action3':([375,],[376,]),}
_lr_goto = {}
for _k, _v in _lr_goto_items.items():
for _x, _y in zip(_v[0], _v[1]):
if not _x in _lr_goto: _lr_goto[_x] = {}
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> capi","S'",1,None,None,None),
('capi -> capi_action1 global recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON','capi',11,'p_capi','capi.py',271),
('capi -> capi_action1 recfunc MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON','capi',10,'p_capi','capi.py',272),
('capi -> capi_action1 global MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON','capi',10,'p_capi','capi.py',273),
('capi -> capi_action1 MAIN COLON LEFTKEY start capi_action2 run RIGHTKEY SEMICOLON','capi',9,'p_capi','capi.py',274),
('capi_action1 -> <empty>','capi_action1',0,'p_capi_action1','capi.py',278),
('capi_action2 -> <empty>','capi_action2',0,'p_capi_action2','capi.py',286),
('global -> GLOBAL COLON LEFTKEY vars RIGHTKEY SEMICOLON','global',6,'p_global','capi.py',292),
('global -> GLOBAL COLON LEFTKEY RIGHTKEY SEMICOLON','global',5,'p_global','capi.py',293),
('start -> VOID FUNC start_action1 START startscope_action LEFTPAR RIGHTPAR main_cont block','start',9,'p_start','capi.py',302),
('start_action1 -> <empty>','start_action1',0,'p_start_action1','capi.py',319),
('run -> VOID FUNC run_action1 RUN startscope_action LEFTPAR RIGHTPAR main_cont block','run',9,'p_run','capi.py',326),
('run_action1 -> <empty>','run_action1',0,'p_run_action1','capi.py',342),
('main_cont -> <empty>','main_cont',0,'p_main_cont','capi.py',350),
('vars -> VAR recids COLON type SEMICOLON vars','vars',6,'p_vars','capi.py',356),
('vars -> VAR recids COLON type SEMICOLON','vars',5,'p_vars','capi.py',357),
('recids -> ID','recids',1,'p_recids','capi.py',391),
('recids -> ID COMMA recids','recids',3,'p_recids','capi.py',392),
('block -> COLON LEFTKEY recstatement RIGHTKEY SEMICOLON','block',5,'p_block','capi.py',402),
('block -> COLON LEFTKEY RIGHTKEY SEMICOLON','block',4,'p_block','capi.py',403),
('recstatement -> statement recstatement','recstatement',2,'p_recstatement','capi.py',408),
('recstatement -> statement','recstatement',1,'p_recstatement','capi.py',409),
('statement -> assign SEMICOLON','statement',2,'p_statement','capi.py',415),
('statement -> condition','statement',1,'p_statement','capi.py',416),
('statement -> vars','statement',1,'p_statement','capi.py',417),
('statement -> loop','statement',1,'p_statement','capi.py',418),
('statement -> write SEMICOLON','statement',2,'p_statement','capi.py',419),
('statement -> return SEMICOLON','statement',2,'p_statement','capi.py',420),
('statement -> functioncall SEMICOLON','statement',2,'p_statement','capi.py',421),
('statement -> specialfunction SEMICOLON','statement',2,'p_statement','capi.py',422),
('specialfunction -> draw','specialfunction',1,'p_specialfunction','capi.py',429),
('specialfunction -> init','specialfunction',1,'p_specialfunction','capi.py',430),
('specialfunction -> size','specialfunction',1,'p_specialfunction','capi.py',431),
('specialfunction -> head','specialfunction',1,'p_specialfunction','capi.py',432),
('specialfunction -> find','specialfunction',1,'p_specialfunction','capi.py',433),
('specialfunction -> last','specialfunction',1,'p_specialfunction','capi.py',434),
('specialfunction -> set_fill','specialfunction',1,'p_specialfunction','capi.py',435),
('specialfunction -> set_title','specialfunction',1,'p_specialfunction','capi.py',436),
('specialfunction -> get_event','specialfunction',1,'p_specialfunction','capi.py',437),
('specialfunction -> update','specialfunction',1,'p_specialfunction','capi.py',438),
('specialfunction -> window_h','specialfunction',1,'p_specialfunction','capi.py',439),
('specialfunction -> window_w','specialfunction',1,'p_specialfunction','capi.py',440),
('specialfunction -> set_dimension','specialfunction',1,'p_specialfunction','capi.py',441),
('specialfunction -> create_text','specialfunction',1,'p_specialfunction','capi.py',442),
('specialfunction -> rand','specialfunction',1,'p_specialfunction','capi.py',443),
('specialfunction -> pow','specialfunction',1,'p_specialfunction','capi.py',444),
('specialfunction -> sqrt','specialfunction',1,'p_specialfunction','capi.py',445),
('specialfunction -> quit','specialfunction',1,'p_specialfunction','capi.py',446),
('quit -> QUIT LEFTPAR RIGHTPAR','quit',3,'p_quit','capi.py',452),
('pow -> POW pow_action1 LEFTPAR expression COMMA expression RIGHTPAR','pow',7,'p_pow','capi.py',458),
('pow_action1 -> <empty>','pow_action1',0,'p_pow_action1','capi.py',471),
('sqrt -> SQRT sqrt_action1 LEFTPAR expression RIGHTPAR','sqrt',5,'p_sqrt','capi.py',477),
('sqrt_action1 -> <empty>','sqrt_action1',0,'p_sqrt_action1','capi.py',488),
('draw -> CAPIGAME DOT DRAW LEFTPAR expression COMMA expression COMMA expression COMMA expression COMMA expression RIGHTPAR','draw',14,'p_draw','capi.py',496),
('init -> CAPIGAME DOT INIT LEFTPAR RIGHTPAR','init',5,'p_init','capi.py',514),
('size -> ID DOT SIZE LEFTPAR RIGHTPAR','size',5,'p_size','capi.py',520),
('head -> ID DOT HEAD LEFTPAR RIGHTPAR','head',5,'p_head','capi.py',548),
('window_h -> CAPIGAME DOT WINDOW_H LEFTPAR RIGHTPAR','window_h',5,'p_window_h','capi.py',578),
('window_w -> CAPIGAME DOT WINDOW_W LEFTPAR RIGHTPAR','window_w',5,'p_window_w','capi.py',587),
('rand -> CAPIGAME DOT RAND LEFTPAR expression COMMA expression RIGHTPAR','rand',8,'p_rand','capi.py',595),
('find -> ID DOT FIND LEFTPAR expression RIGHTPAR','find',6,'p_find','capi.py',607),
('last -> ID DOT LAST LEFTPAR RIGHTPAR','last',5,'p_last','capi.py',640),
('set_title -> CAPIGAME DOT SET_TITLE LEFTPAR expression RIGHTPAR','set_title',6,'p_set_title','capi.py',672),
('set_fill -> CAPIGAME DOT SET_FILL LEFTPAR expression COMMA expression COMMA expression RIGHTPAR','set_fill',10,'p_set_fill','capi.py',684),
('set_dimension -> CAPIGAME DOT SET_DIMENSION LEFTPAR expression COMMA expression RIGHTPAR','set_dimension',8,'p_set_dimension','capi.py',695),
('update -> CAPIGAME DOT UPDATE LEFTPAR RIGHTPAR','update',5,'p_update','capi.py',706),
('get_event -> CAPIGAME DOT GET_EVENT LEFTPAR RIGHTPAR','get_event',5,'p_get_event','capi.py',712),
('create_text -> CREATE_TEXT LEFTPAR expression COMMA expression COMMA expression COMMA expression RIGHTPAR','create_text',10,'p_create_text','capi.py',721),
('assign -> ID assign_action1 EQUAL assign_action2 expression','assign',5,'p_assign','capi.py',738),
('assign -> assign_list EQUAL assign_action2 expression','assign',4,'p_assign','capi.py',739),
('assign_action1 -> <empty>','assign_action1',0,'p_assign_action1','capi.py',804),
('assign_action2 -> <empty>','assign_action2',0,'p_assign_action2','capi.py',813),
('condition -> IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action2','condition',7,'p_condition','capi.py',819),
('condition -> IF LEFTPAR expression condition_action1 RIGHTPAR block condition_action3 ELSE block condition_action2','condition',10,'p_condition','capi.py',820),
('condition_action1 -> <empty>','condition_action1',0,'p_condition_action1','capi.py',825),
('condition_action2 -> <empty>','condition_action2',0,'p_condition_action2','capi.py',838),
('condition_action3 -> <empty>','condition_action3',0,'p_condition_action3','capi.py',845),
('loop -> for','loop',1,'p_loop','capi.py',855),
('loop -> while','loop',1,'p_loop','capi.py',856),
('for -> FOR startscope_action LEFTPAR assign SEMICOLON for_action1 expression for_action2 SEMICOLON assign SEMICOLON RIGHTPAR block for_action3','for',14,'p_for','capi.py',861),
('for_action1 -> <empty>','for_action1',0,'p_for_action1','capi.py',869),
('for_action2 -> <empty>','for_action2',0,'p_for_action2','capi.py',877),
('for_action3 -> <empty>','for_action3',0,'p_for_action3','capi.py',891),
('while -> WHILE startscope_action while_action1 LEFTPAR expression while_action2 RIGHTPAR block while_action3','while',9,'p_while','capi.py',905),
('while_action1 -> <empty>','while_action1',0,'p_while_action1','capi.py',914),
('while_action2 -> <empty>','while_action2',0,'p_while_action2','capi.py',920),
('while_action3 -> <empty>','while_action3',0,'p_while_action3','capi.py',934),
('function -> type FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block','function',11,'p_function','capi.py',944),
('function -> type FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block','function',8,'p_function','capi.py',945),
('function -> VOID FUNC ID startscope_action LEFTPAR recparams function_action1 RIGHTPAR function_action2 function_action3 block','function',11,'p_function','capi.py',946),
('function -> VOID FUNC ID startscope_action LEFTPAR RIGHTPAR function_action3 block','function',8,'p_function','capi.py',947),
('startscope_action -> <empty>','startscope_action',0,'p_startscope_action','capi.py',977),
('function_action1 -> <empty>','function_action1',0,'p_function_action1','capi.py',996),
('function_action2 -> <empty>','function_action2',0,'p_function_action2','capi.py',1002),
('function_action3 -> <empty>','function_action3',0,'p_function_action3','capi.py',1013),
('recparams -> ID COLON type','recparams',3,'p_recparams','capi.py',1022),
('recparams -> ID COLON type COMMA recparams','recparams',5,'p_recparams','capi.py',1023),
('recfunc -> function recfunc','recfunc',2,'p_recfunc','capi.py',1036),
('recfunc -> function','recfunc',1,'p_recfunc','capi.py',1037),
('write -> PRINT LEFTPAR recwrite RIGHTPAR','write',4,'p_write','capi.py',1042),
('recwrite -> expression action_recwrite_exp COMMA recwrite','recwrite',4,'p_recwrite','capi.py',1047),
('recwrite -> STRING action_recwrite_cte COMMA recwrite','recwrite',4,'p_recwrite','capi.py',1048),
('recwrite -> expression action_recwrite_exp','recwrite',2,'p_recwrite','capi.py',1049),
('recwrite -> STRING action_recwrite_cte','recwrite',2,'p_recwrite','capi.py',1050),
('action_recwrite_exp -> <empty>','action_recwrite_exp',0,'p_action_recwrite_exp','capi.py',1054),
('action_recwrite_cte -> <empty>','action_recwrite_cte',0,'p_action_recwrite_cte','capi.py',1063),
('return -> RETURN expression','return',2,'p_return','capi.py',1070),
('functioncall -> ID function_call_action1 LEFTPAR function_call_action2 recfuncexp RIGHTPAR','functioncall',6,'p_functioncall','capi.py',1098),
('functioncall -> ID function_call_action1 LEFTPAR function_call_action2 RIGHTPAR','functioncall',5,'p_functioncall','capi.py',1099),
('function_call_action1 -> <empty>','function_call_action1',0,'p_function_call_action1','capi.py',1141),
('function_call_action2 -> <empty>','function_call_action2',0,'p_function_call_action2','capi.py',1153),
('recfuncexp -> expression exp_action1 COMMA recfuncexp','recfuncexp',4,'p_recfuncexp','capi.py',1162),
('recfuncexp -> expression exp_action1 recfunc_action1','recfuncexp',3,'p_recfuncexp','capi.py',1163),
('exp_action1 -> <empty>','exp_action1',0,'p_exp_action1','capi.py',1173),
('recfunc_action1 -> <empty>','recfunc_action1',0,'p_recfunc_action1','capi.py',1180),
('expression -> exp RELOP relop_action1 exp relop_action2','expression',5,'p_expression','capi.py',1225),
('expression -> exp LOGIC logic_action1 exp logic_action2','expression',5,'p_expression','capi.py',1226),
('expression -> exp','expression',1,'p_expression','capi.py',1227),
('relop_action1 -> <empty>','relop_action1',0,'p_relop_action1','capi.py',1232),
('relop_action2 -> <empty>','relop_action2',0,'p_relop_action2','capi.py',1238),
('logic_action1 -> <empty>','logic_action1',0,'p_logic_action1','capi.py',1261),
('logic_action2 -> <empty>','logic_action2',0,'p_logic_action2','capi.py',1267),
('exp -> term exp_action recexp','exp',3,'p_exp','capi.py',1290),
('exp -> term exp_action','exp',2,'p_exp','capi.py',1291),
('exp_action -> <empty>','exp_action',0,'p_exp_action','capi.py',1296),
('recexp -> EX add_operator exp','recexp',3,'p_recexp','capi.py',1320),
('term -> factor term_action recterm','term',3,'p_term','capi.py',1325),
('term -> factor term_action','term',2,'p_term','capi.py',1326),
('term_action -> <empty>','term_action',0,'p_term_action','capi.py',1331),
('recterm -> TERMS add_operator term','recterm',3,'p_recterm','capi.py',1354),
('add_operator -> <empty>','add_operator',0,'p_add_operator','capi.py',1359),
('factor -> factor_action1 LEFTPAR expression RIGHTPAR factor_action2','factor',5,'p_factor','capi.py',1365),
('factor -> EX cte','factor',2,'p_factor','capi.py',1366),
('factor -> cte','factor',1,'p_factor','capi.py',1367),
('factor_action1 -> <empty>','factor_action1',0,'p_factor_action1','capi.py',1381),
('factor_action2 -> <empty>','factor_action2',0,'p_factor_action2','capi.py',1387),
('type -> primitivetype','type',1,'p_type','capi.py',1393),
('type -> TLIST BAR primitivetype BAR LEFTBRACKET cte RIGHTBRACKET action_list1','type',8,'p_type','capi.py',1394),
('action_list1 -> <empty>','action_list1',0,'p_action_list1','capi.py',1403),
('primitivetype -> TINT','primitivetype',1,'p_primitivetype','capi.py',1412),
('primitivetype -> TFLOAT','primitivetype',1,'p_primitivetype','capi.py',1413),
('primitivetype -> TSTRING','primitivetype',1,'p_primitivetype','capi.py',1414),
('primitivetype -> TBOOL','primitivetype',1,'p_primitivetype','capi.py',1415),
('assign_list -> ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET','assign_list',6,'p_assign_list','capi.py',1422),
('listaccess -> ID list_action1 LEFTBRACKET expression list_action_3 RIGHTBRACKET','listaccess',6,'p_listaccess','capi.py',1434),
('list_action1 -> <empty>','list_action1',0,'p_list_action1','capi.py',1447),
('list_action_3 -> <empty>','list_action_3',0,'p_list_action_3','capi.py',1456),
('cte -> <empty>','cte',0,'p_cte','capi.py',1478),
('cte -> id','cte',1,'p_cte','capi.py',1479),
('cte -> int','cte',1,'p_cte','capi.py',1480),
('cte -> float','cte',1,'p_cte','capi.py',1481),
('cte -> bool','cte',1,'p_cte','capi.py',1482),
('cte -> string','cte',1,'p_cte','capi.py',1483),
('cte -> functioncall','cte',1,'p_cte','capi.py',1484),
('cte -> listaccess','cte',1,'p_cte','capi.py',1485),
('cte -> specialfunction','cte',1,'p_cte','capi.py',1486),
('id -> ID','id',1,'p_id','capi.py',1492),
('string -> STRING','string',1,'p_string','capi.py',1514),
('int -> INT','int',1,'p_int','capi.py',1521),
('float -> FLOAT','float',1,'p_float','capi.py',1528),
('bool -> TRUE','bool',1,'p_bool','capi.py',1535),
('bool -> FALSE','bool',1,'p_bool','capi.py',1536),
]