-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparsetab.py
151 lines (144 loc) · 25.4 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
# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.8'
_lr_method = 'LALR'
_lr_signature = 'C69353E18BC5FF23015E4A1C009A9343'
_lr_action_items = {'VAR':([5,7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[6,-84,6,-83,6,6,-84,-68,-65,-70,-67,-71,-64,-63,-66,6,-69,-9,-122,-21,-122,-73,-8,6,6,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,6,-10,]),'WHILE':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,104,104,-84,-68,-65,-70,-67,-71,-64,-63,-66,104,-69,-9,-122,-21,-122,-73,-8,104,104,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,104,-10,]),'RANDOM':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[41,-28,41,-60,-56,-55,-59,41,-57,-58,41,-45,-46,41,41,41,-50,-51,41,-40,41,-41,41,41,41,41,41,41,41,41,41,41,-20,41,]),'MINUS':([38,39,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,134,135,136,157,161,192,],[-111,-118,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,99,-53,-49,-29,-23,-52,-31,-74,-72,]),'RBRACKET':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,123,145,149,152,179,183,184,186,194,198,199,200,202,203,205,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,-122,-122,-82,-68,-65,-70,-67,-71,-64,-63,-66,152,-81,-69,-9,196,-122,-21,-122,-99,-73,-8,-122,-122,-15,-98,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,-122,-10,]),'LSQBRACKET':([20,46,47,110,116,],[28,-32,87,-32,148,]),'MORETHANEQUAL':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,76,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'TIMES':([38,39,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,134,135,157,161,192,],[-111,-118,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,90,-120,-29,-23,-31,-74,-72,]),'LBRACKET':([32,33,100,164,183,186,199,200,202,211,215,217,],[67,-4,138,138,-122,-122,-8,67,67,-122,-12,67,]),'CTEFLOAT':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[45,-28,45,-60,-56,-55,-59,45,-57,-58,45,-45,-46,45,45,45,-50,-51,45,-40,45,-41,45,45,45,45,45,45,45,45,45,45,-20,45,]),'ID':([2,3,7,9,10,11,12,13,14,15,26,27,29,31,35,48,53,67,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,101,107,108,111,112,113,114,115,118,120,122,138,144,146,147,148,149,150,151,152,153,156,160,178,183,184,186,189,191,198,199,200,201,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[4,-2,-84,-109,-106,-110,-108,-107,20,-105,20,-122,46,65,-83,-28,46,110,-60,-56,-55,-59,46,-57,-58,46,-45,-46,46,46,46,-50,-51,46,-40,46,-41,140,110,-84,-68,-65,-70,-67,-71,-64,-63,-66,110,166,46,46,46,-69,46,46,-9,46,46,46,46,-122,-21,-122,46,-20,-73,-8,110,46,110,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,110,-10,]),'LESSTHANEQUAL':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,72,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'LPAREN':([29,30,41,46,48,50,53,65,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,104,105,106,109,110,119,121,146,147,148,150,151,153,156,160,178,189,191,201,],[48,64,81,-75,-28,88,48,-100,-60,-56,-55,-59,48,-57,-58,48,-45,-46,48,48,48,-50,-51,48,-40,48,-41,-14,144,-16,146,-75,150,151,48,48,48,48,48,48,48,48,48,48,-20,48,]),'SEMICOLON':([4,18,19,20,24,25,34,38,39,40,42,43,44,45,46,49,51,52,54,55,56,57,58,59,60,61,62,63,68,74,80,83,86,92,93,96,97,117,125,127,134,135,136,137,157,161,168,178,182,187,192,195,209,],[5,-122,27,-88,-93,-85,-92,-111,-118,-122,-122,-27,-114,-117,-30,-112,-116,-86,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-87,-62,-54,-48,-44,-53,-49,-37,-39,149,-61,-47,-29,-23,-52,-38,-31,-74,184,194,198,203,-72,205,214,]),'CTEINT':([28,29,48,53,69,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[37,51,-28,51,37,-60,-56,-55,-59,51,-57,-58,51,-45,-46,51,51,51,-50,-51,51,-40,51,-41,51,51,51,51,51,51,51,51,51,51,-20,51,]),'DIVIDE':([38,39,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,134,135,157,161,192,],[-111,-118,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,91,-120,-29,-23,-31,-74,-72,]),'FLOAT':([6,21,64,143,],[10,10,10,10,]),'CHAR':([6,21,64,143,],[13,13,13,13,]),'RPAREN':([38,39,40,42,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,64,74,80,83,86,88,89,92,93,96,97,102,103,125,127,131,132,133,134,135,136,137,140,141,142,143,157,158,159,161,165,166,167,170,171,172,173,175,176,177,181,188,190,192,193,204,],[-111,-118,-122,-122,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,100,-62,-54,-48,-44,-122,134,-53,-49,-37,-39,-122,-102,-61,-47,-77,-122,161,-29,-23,-52,-38,-101,164,-104,-122,-31,-122,-79,-74,-122,182,183,186,187,-122,192,-76,-80,-122,-103,-17,-19,-72,-78,-18,]),'EQUALS':([20,110,185,],[29,147,201,]),'READ':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,105,105,-84,-68,-65,-70,-67,-71,-64,-63,-66,105,-69,-9,-122,-21,-122,-73,-8,105,105,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,105,-10,]),'STRING':([6,21,64,143,],[9,9,9,9,]),'CTESTRING':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[56,-28,56,-60,-56,-55,-59,56,-57,-58,56,-45,-46,56,56,56,-50,-51,56,-40,56,-41,56,56,56,56,56,56,56,56,56,56,-20,56,]),'$end':([1,66,152,],[0,-1,-9,]),'OR':([38,39,40,42,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,74,80,92,93,96,97,125,134,135,136,137,157,161,192,],[-111,-118,-122,84,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-62,-54,-53,-49,-37,-39,-61,-29,-23,-52,-38,-31,-74,-72,]),'ELSE':([7,27,35,111,112,113,114,115,118,120,122,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,-68,-65,-70,-67,-71,-64,-63,-66,-69,-9,-122,-21,-122,-73,-8,-122,-122,-15,-6,211,-7,-122,-122,-11,-5,-22,-12,-13,-122,-10,]),'INT':([6,21,64,143,],[15,15,15,15,]),'PROGRAM':([0,],[3,]),'CTECHAR':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[39,-28,39,-60,-56,-55,-59,39,-57,-58,39,-45,-46,39,39,39,-50,-51,39,-40,39,-41,39,39,39,39,39,39,39,39,39,39,-20,39,]),'RETURN':([7,27,35,107,108,111,112,113,114,115,118,120,122,138,145,149,152,162,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,-122,-82,-68,-65,-70,-67,-71,-64,-63,-66,-122,-81,-69,-9,178,-122,-21,-122,-73,-8,-122,-122,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,-122,-10,]),'LESSTHAN':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,73,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'MAIN':([5,7,8,16,17,22,23,27,35,139,163,180,196,197,],[-122,-84,-122,-122,-3,-96,33,-122,-83,-122,-95,-122,-97,-94,]),'PRINT':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,106,106,-84,-68,-65,-70,-67,-71,-64,-63,-66,106,-69,-9,-122,-21,-122,-73,-8,106,106,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,106,-10,]),'IF':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,109,109,-84,-68,-65,-70,-67,-71,-64,-63,-66,109,-69,-9,-122,-21,-122,-73,-8,109,109,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,109,-10,]),'NOTEQUAL':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,78,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'ISEQUALTO':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,79,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'VOID':([6,21,64,143,],[11,11,11,11,]),'RSQBRACKET':([36,37,38,39,40,42,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,70,71,74,80,83,86,92,93,96,97,124,125,127,128,129,130,134,135,136,137,154,155,157,161,169,174,192,],[68,-122,-111,-118,-122,-122,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-91,-89,-62,-54,-48,-44,-53,-49,-37,-39,-90,-61,-47,-34,-122,157,-29,-23,-52,-38,-33,-36,-31,-74,185,-35,-72,]),'COMMA':([18,20,37,38,39,40,42,43,44,45,46,49,51,52,54,55,56,57,58,59,60,61,62,63,64,68,74,80,83,86,92,93,96,97,102,103,125,126,127,128,129,132,134,135,136,137,140,143,157,161,165,172,177,192,],[26,-88,69,-111,-118,-122,-122,-27,-114,-117,-30,-112,-116,-86,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-122,-87,-62,-54,-48,-44,-53,-49,-37,-39,143,-102,-61,153,-47,-34,156,160,-29,-23,-52,-38,-101,-122,-31,-74,143,191,160,-72,]),'PLUS':([38,39,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,134,135,136,157,161,192,],[-111,-118,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,95,-53,-49,-29,-23,-52,-31,-74,-72,]),'FUNCTION':([5,7,8,16,17,27,35,139,180,196,],[-122,-84,-122,21,-3,-122,-83,21,21,-97,]),'AND':([38,39,40,42,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,74,80,92,93,96,97,125,134,135,136,137,157,161,192,],[-111,-118,-122,82,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-62,-54,-53,-49,-37,-39,-61,-29,-23,-52,-38,-31,-74,-72,]),'COMMENT':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,113,113,-84,-68,-65,-70,-67,-71,-64,-63,-66,113,-69,-9,-122,-21,-122,-73,-8,113,113,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,113,-10,]),'BOOL':([6,21,64,143,],[12,12,12,12,]),'MORETHAN':([38,39,40,43,44,45,46,49,51,54,55,56,57,58,59,60,61,62,63,92,93,96,97,134,135,136,137,157,161,192,],[-111,-118,75,-27,-114,-117,-30,-112,-116,-115,-25,-119,-113,-24,-26,-121,-122,-120,-122,-53,-49,-37,-39,-29,-23,-52,-38,-31,-74,-72,]),'CPPCOMMENT':([7,27,35,67,107,108,111,112,113,114,115,118,120,122,138,149,152,183,184,186,198,199,200,202,203,206,207,208,210,211,212,213,214,215,216,217,218,],[-84,-122,-83,115,115,-84,-68,-65,-70,-67,-71,-64,-63,-66,115,-69,-9,-122,-21,-122,-73,-8,115,115,-15,-6,-122,-7,-122,-122,-11,-5,-22,-12,-13,115,-10,]),'FALSE':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[60,-28,60,-60,-56,-55,-59,60,-57,-58,60,-45,-46,60,60,60,-50,-51,60,-40,60,-41,60,60,60,60,60,60,60,60,60,60,-20,60,]),'TRUE':([29,48,53,72,73,75,76,77,78,79,81,82,84,85,87,88,90,91,94,95,98,99,146,147,148,150,151,153,156,160,178,189,191,201,],[62,-28,62,-60,-56,-55,-59,62,-57,-58,62,-45,-46,62,62,62,-50,-51,62,-40,62,-41,62,62,62,62,62,62,62,62,62,62,-20,62,]),}
_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 = {'masprint':([172,],[188,]),'rightparen':([89,],[135,]),'initvar':([14,26,],[18,18,]),'exp':([29,53,77,81,85,87,88,98,146,147,148,150,151,153,156,160,178,189,201,],[40,40,40,40,40,40,40,137,40,40,40,40,40,40,40,40,40,40,40,]),'masterminos':([61,],[93,]),'bloquefunc':([100,164,],[139,180,]),'gotoF':([183,186,],[200,202,]),'tipo':([6,21,64,143,],[14,31,101,101,]),'listaprint':([151,189,],[171,204,]),'prog':([0,],[2,]),'idarray':([29,53,67,77,81,85,87,88,94,98,107,138,146,147,148,150,151,153,156,160,178,189,200,201,202,217,],[47,47,116,47,47,47,47,47,47,47,116,116,47,47,47,47,47,47,47,47,47,47,116,47,116,116,]),'masexpresion':([42,],[86,]),'vars':([5,27,67,107,138,200,202,217,],[8,35,111,111,111,111,111,111,]),'print':([67,107,138,200,202,217,],[121,121,121,121,121,121,]),'dimsvar':([87,148,156,],[130,169,174,]),'goto':([210,211,],[216,217,]),'funcs':([16,139,180,],[23,163,197,]),'ctebool':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,]),'addQTD':([61,],[94,]),'masbloque':([207,],[213,]),'eramain':([8,],[16,]),'varcte':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,]),'llamafunc':([29,53,67,77,81,85,87,88,94,98,107,138,146,147,148,150,151,153,156,160,178,189,200,201,202,217,],[59,59,117,59,59,59,59,59,59,59,117,117,59,59,59,59,59,59,59,59,59,59,117,59,117,117,]),'args':([64,143,],[102,165,]),'estatutobloque':([200,202,217,],[207,210,218,]),'masexp':([63,],[96,]),'addQPComp':([40,],[77,]),'termino':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[63,63,63,63,63,63,63,136,63,63,63,63,63,63,63,63,63,63,63,63,]),'expcompcontinuo':([40,],[80,]),'cteint':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,]),'programa':([0,],[1,]),'expcomp':([29,53,77,81,85,87,88,146,147,148,150,151,153,156,160,178,189,201,],[42,42,125,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,]),'idfunc':([29,53,67,77,81,85,87,88,94,98,107,138,146,147,148,150,151,153,156,160,178,189,200,201,202,217,],[50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,]),'addQPP':([172,],[189,]),'addQPPM':([63,],[98,]),'ctechar':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,]),'listaid':([14,26,],[19,34,]),'checarparams':([158,],[175,]),'addQPAO':([42,],[85,]),'retorno':([162,],[179,]),'expresion':([29,53,81,85,87,88,146,147,148,150,151,153,156,160,178,189,201,],[52,89,126,127,128,132,167,168,128,170,172,173,128,177,195,172,209,]),'dims':([28,69,],[36,124,]),'main':([23,],[32,]),'masargs':([102,165,],[141,181,]),'while':([67,107,138,200,202,217,],[119,119,119,119,119,119,]),'masid':([18,],[25,]),'empty':([5,8,16,18,27,37,40,42,61,63,64,67,88,102,107,129,132,138,139,143,158,165,172,177,180,183,186,200,202,207,210,211,217,],[7,17,22,24,7,70,74,83,92,97,103,108,131,142,108,155,159,108,22,103,176,142,190,159,22,199,199,7,7,212,215,215,7,]),'masdims':([37,],[71,]),'escritura':([67,107,138,200,202,217,],[122,122,122,122,122,122,]),'random':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'listafuncargs':([132,177,],[158,193,]),'ciclo':([67,107,138,200,202,217,],[112,112,112,112,112,112,]),'ctefloat':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,]),'funcaux':([21,],[30,]),'expdimvar':([87,148,156,],[129,129,129,]),'funcargs':([88,],[133,]),'lectura':([67,107,138,200,202,217,],[114,114,114,114,114,114,]),'masdimsvar':([129,],[154,]),'estatuto':([67,107,138,200,202,217,],[107,107,107,206,206,206,]),'varid':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,]),'leftparen':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,]),'condicion':([67,107,138,200,202,217,],[118,118,118,118,118,118,]),'factor':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,]),'bloque':([32,200,202,217,],[66,208,208,208,]),'asignacion':([67,107,138,200,202,217,],[120,120,120,120,120,120,]),'masestatuto':([67,107,138,],[123,145,162,]),'ctestring':([29,53,77,81,85,87,88,94,98,146,147,148,150,151,153,156,160,178,189,201,],[44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,]),}
_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' -> programa","S'",1,None,None,None),
('programa -> prog ID SEMICOLON vars eramain funcs main bloque','programa',8,'p_programa','OpenRoonie.py',198),
('prog -> PROGRAM','prog',1,'p_prog','OpenRoonie.py',204),
('eramain -> empty','eramain',1,'p_eramain','OpenRoonie.py',209),
('main -> MAIN','main',1,'p_main','OpenRoonie.py',221),
('condicion -> IF LPAREN expresion RPAREN gotoF estatutobloque masbloque','condicion',7,'p_condicion','OpenRoonie.py',227),
('estatutobloque -> estatuto','estatutobloque',1,'p_estatutobloque','OpenRoonie.py',231),
('estatutobloque -> bloque','estatutobloque',1,'p_estatutobloque','OpenRoonie.py',232),
('gotoF -> empty','gotoF',1,'p_gotoF','OpenRoonie.py',235),
('bloque -> LBRACKET masestatuto RBRACKET','bloque',3,'p_bloque','OpenRoonie.py',241),
('masbloque -> ELSE goto estatutobloque','masbloque',3,'p_masbloque','OpenRoonie.py',244),
('masbloque -> empty','masbloque',1,'p_masbloque','OpenRoonie.py',245),
('goto -> empty','goto',1,'p_goto','OpenRoonie.py',248),
('ciclo -> while LPAREN expresion RPAREN gotoF estatutobloque goto','ciclo',7,'p_ciclo','OpenRoonie.py',255),
('while -> WHILE','while',1,'p_while','OpenRoonie.py',260),
('escritura -> print LPAREN listaprint RPAREN SEMICOLON','escritura',5,'p_escritura','OpenRoonie.py',264),
('print -> PRINT','print',1,'p_print','OpenRoonie.py',267),
('listaprint -> expresion masprint','listaprint',2,'p_listaprint','OpenRoonie.py',271),
('masprint -> addQPP listaprint','masprint',2,'p_masprint','OpenRoonie.py',275),
('masprint -> empty','masprint',1,'p_masprint','OpenRoonie.py',276),
('addQPP -> COMMA','addQPP',1,'p_addQPP','OpenRoonie.py',279),
('asignacion -> ID EQUALS expresion SEMICOLON','asignacion',4,'p_asignacion','OpenRoonie.py',284),
('asignacion -> idarray LSQBRACKET dimsvar RSQBRACKET EQUALS expresion SEMICOLON','asignacion',7,'p_asignacion','OpenRoonie.py',285),
('factor -> leftparen expresion rightparen','factor',3,'p_factor','OpenRoonie.py',306),
('factor -> varcte','factor',1,'p_factor','OpenRoonie.py',307),
('factor -> varid','factor',1,'p_factor','OpenRoonie.py',308),
('factor -> llamafunc','factor',1,'p_factor','OpenRoonie.py',309),
('factor -> random','factor',1,'p_factor','OpenRoonie.py',310),
('leftparen -> LPAREN','leftparen',1,'p_leftparen','OpenRoonie.py',313),
('rightparen -> RPAREN','rightparen',1,'p_rightparen','OpenRoonie.py',317),
('varid -> ID','varid',1,'p_varid','OpenRoonie.py',321),
('varid -> idarray LSQBRACKET dimsvar RSQBRACKET','varid',4,'p_varid','OpenRoonie.py',322),
('idarray -> ID','idarray',1,'p_idarray','OpenRoonie.py',331),
('dimsvar -> expdimvar masdimsvar','dimsvar',2,'p_dimsvar','OpenRoonie.py',335),
('expdimvar -> expresion','expdimvar',1,'p_expdimvar','OpenRoonie.py',338),
('masdimsvar -> COMMA dimsvar','masdimsvar',2,'p_masdimsvar','OpenRoonie.py',381),
('masdimsvar -> empty','masdimsvar',1,'p_masdimsvar','OpenRoonie.py',382),
('exp -> termino masexp','exp',2,'p_exp','OpenRoonie.py',385),
('masexp -> addQPPM exp','masexp',2,'p_masexp','OpenRoonie.py',388),
('masexp -> empty','masexp',1,'p_masexp','OpenRoonie.py',389),
('addQPPM -> PLUS','addQPPM',1,'p_addQPPM','OpenRoonie.py',393),
('addQPPM -> MINUS','addQPPM',1,'p_addQPPM','OpenRoonie.py',394),
('comaexpresion -> COMMA expresion comaexpresion','comaexpresion',3,'p_comaexpresion','OpenRoonie.py',399),
('comaexpresion -> empty','comaexpresion',1,'p_comaexpresion','OpenRoonie.py',400),
('expresion -> expcomp masexpresion','expresion',2,'p_expresion','OpenRoonie.py',403),
('addQPAO -> AND','addQPAO',1,'p_addQPAO','OpenRoonie.py',406),
('addQPAO -> OR','addQPAO',1,'p_addQPAO','OpenRoonie.py',407),
('masexpresion -> addQPAO expresion','masexpresion',2,'p_masexpresion','OpenRoonie.py',412),
('masexpresion -> empty','masexpresion',1,'p_masexpresion','OpenRoonie.py',413),
('termino -> factor masterminos','termino',2,'p_termino','OpenRoonie.py',417),
('addQTD -> TIMES','addQTD',1,'p_addQTD','OpenRoonie.py',420),
('addQTD -> DIVIDE','addQTD',1,'p_addQTD','OpenRoonie.py',421),
('masterminos -> addQTD termino','masterminos',2,'p_masterminos','OpenRoonie.py',426),
('masterminos -> empty','masterminos',1,'p_masterminos','OpenRoonie.py',427),
('expcomp -> exp expcompcontinuo','expcomp',2,'p_expcomp','OpenRoonie.py',431),
('addQPComp -> MORETHAN','addQPComp',1,'p_addQPComp','OpenRoonie.py',434),
('addQPComp -> LESSTHAN','addQPComp',1,'p_addQPComp','OpenRoonie.py',435),
('addQPComp -> NOTEQUAL','addQPComp',1,'p_addQPComp','OpenRoonie.py',436),
('addQPComp -> ISEQUALTO','addQPComp',1,'p_addQPComp','OpenRoonie.py',437),
('addQPComp -> MORETHANEQUAL','addQPComp',1,'p_addQPComp','OpenRoonie.py',438),
('addQPComp -> LESSTHANEQUAL','addQPComp',1,'p_addQPComp','OpenRoonie.py',439),
('expcompcontinuo -> addQPComp expcomp','expcompcontinuo',2,'p_expcompcontinuo','OpenRoonie.py',444),
('expcompcontinuo -> empty','expcompcontinuo',1,'p_expcompcontinuo','OpenRoonie.py',445),
('estatuto -> asignacion','estatuto',1,'p_estatuto','OpenRoonie.py',449),
('estatuto -> condicion','estatuto',1,'p_estatuto','OpenRoonie.py',450),
('estatuto -> ciclo','estatuto',1,'p_estatuto','OpenRoonie.py',451),
('estatuto -> escritura','estatuto',1,'p_estatuto','OpenRoonie.py',452),
('estatuto -> lectura','estatuto',1,'p_estatuto','OpenRoonie.py',453),
('estatuto -> vars','estatuto',1,'p_estatuto','OpenRoonie.py',454),
('estatuto -> llamafunc SEMICOLON','estatuto',2,'p_estatuto','OpenRoonie.py',455),
('estatuto -> COMMENT','estatuto',1,'p_estatuto','OpenRoonie.py',456),
('estatuto -> CPPCOMMENT','estatuto',1,'p_estatuto','OpenRoonie.py',457),
('random -> RANDOM LPAREN expresion COMMA expresion RPAREN','random',6,'p_random','OpenRoonie.py',460),
('lectura -> READ LPAREN ID RPAREN SEMICOLON','lectura',5,'p_lectura','OpenRoonie.py',466),
('llamafunc -> idfunc LPAREN funcargs RPAREN','llamafunc',4,'p_llamafunc','OpenRoonie.py',470),
('idfunc -> ID','idfunc',1,'p_idfunc','OpenRoonie.py',483),
('funcargs -> expresion listafuncargs checarparams','funcargs',3,'p_funcargs','OpenRoonie.py',499),
('funcargs -> empty','funcargs',1,'p_funcargs','OpenRoonie.py',500),
('listafuncargs -> COMMA expresion listafuncargs','listafuncargs',3,'p_listafuncargs','OpenRoonie.py',504),
('listafuncargs -> empty','listafuncargs',1,'p_listafuncargs','OpenRoonie.py',505),
('checarparams -> empty','checarparams',1,'p_checarparams','OpenRoonie.py',508),
('masestatuto -> estatuto masestatuto','masestatuto',2,'p_masestatuto','OpenRoonie.py',518),
('masestatuto -> empty','masestatuto',1,'p_masestatuto','OpenRoonie.py',519),
('vars -> VAR tipo listaid SEMICOLON vars','vars',5,'p_vars','OpenRoonie.py',522),
('vars -> empty','vars',1,'p_vars','OpenRoonie.py',523),
('listaid -> initvar masid','listaid',2,'p_listaid','OpenRoonie.py',526),
('initvar -> ID EQUALS expresion','initvar',3,'p_initvar','OpenRoonie.py',529),
('initvar -> ID LSQBRACKET dims RSQBRACKET','initvar',4,'p_initvar','OpenRoonie.py',530),
('initvar -> ID','initvar',1,'p_initvar','OpenRoonie.py',531),
('dims -> CTEINT masdims','dims',2,'p_dims','OpenRoonie.py',551),
('masdims -> COMMA dims','masdims',2,'p_masdims','OpenRoonie.py',555),
('masdims -> empty','masdims',1,'p_masdims','OpenRoonie.py',556),
('masid -> COMMA listaid','masid',2,'p_masid','OpenRoonie.py',559),
('masid -> empty','masid',1,'p_masid','OpenRoonie.py',560),
('funcs -> FUNCTION funcaux LPAREN args masargs RPAREN bloquefunc funcs','funcs',8,'p_funcs','OpenRoonie.py',563),
('funcs -> FUNCTION funcaux LPAREN RPAREN bloquefunc funcs','funcs',6,'p_funcs','OpenRoonie.py',564),
('funcs -> empty','funcs',1,'p_funcs','OpenRoonie.py',565),
('bloquefunc -> LBRACKET masestatuto retorno RBRACKET','bloquefunc',4,'p_bloquefunc','OpenRoonie.py',568),
('retorno -> RETURN expresion SEMICOLON','retorno',3,'p_retorno','OpenRoonie.py',571),
('retorno -> RETURN SEMICOLON','retorno',2,'p_retorno','OpenRoonie.py',572),
('funcaux -> tipo ID','funcaux',2,'p_funcaux','OpenRoonie.py',595),
('args -> tipo ID','args',2,'p_args','OpenRoonie.py',604),
('args -> empty','args',1,'p_args','OpenRoonie.py',605),
('masargs -> COMMA args masargs','masargs',3,'p_masargs','OpenRoonie.py',612),
('masargs -> empty','masargs',1,'p_masargs','OpenRoonie.py',613),
('tipo -> INT','tipo',1,'p_tipo','OpenRoonie.py',616),
('tipo -> FLOAT','tipo',1,'p_tipo','OpenRoonie.py',617),
('tipo -> CHAR','tipo',1,'p_tipo','OpenRoonie.py',618),
('tipo -> BOOL','tipo',1,'p_tipo','OpenRoonie.py',619),
('tipo -> STRING','tipo',1,'p_tipo','OpenRoonie.py',620),
('tipo -> VOID','tipo',1,'p_tipo','OpenRoonie.py',621),
('varcte -> cteint','varcte',1,'p_varcte','OpenRoonie.py',626),
('varcte -> ctefloat','varcte',1,'p_varcte','OpenRoonie.py',627),
('varcte -> ctechar','varcte',1,'p_varcte','OpenRoonie.py',628),
('varcte -> ctestring','varcte',1,'p_varcte','OpenRoonie.py',629),
('varcte -> ctebool','varcte',1,'p_varcte','OpenRoonie.py',630),
('cteint -> CTEINT','cteint',1,'p_cteint','OpenRoonie.py',633),
('ctefloat -> CTEFLOAT','ctefloat',1,'p_ctefloat','OpenRoonie.py',637),
('ctechar -> CTECHAR','ctechar',1,'p_ctechar','OpenRoonie.py',641),
('ctestring -> CTESTRING','ctestring',1,'p_ctestring','OpenRoonie.py',645),
('ctebool -> TRUE','ctebool',1,'p_ctebool','OpenRoonie.py',649),
('ctebool -> FALSE','ctebool',1,'p_ctebool','OpenRoonie.py',650),
('empty -> <empty>','empty',0,'p_empty','OpenRoonie.py',658),
]