-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparsetab.py
63 lines (56 loc) · 12.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
# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'rightASIGNARleftSUMARESTAleftMULTDIVrightUMINUSAND ASIGNAR CADENA CIN COMA COMDOB CORDER CORIZQ COUT DISTINTO DIV ENDL ENTERO GET IDENTIFICADOR IGUAL INCLUDE INT LLADER LLAIZQ MAYORDER MAYORIGUAL MAYORIZQ MAYORQUE MENORIGUAL MENORQUE MIENTRAS MINUSMINUS MODULO MULT NAMESPACE NOT NUMERAL OR PARA PARDER PARIZQ PLUSPLUS POTENCIA PUNTOCOMA RESTA RETURN SI SINO STD SUMA USING VOIDdeclaracion : IDENTIFICADOR ASIGNAR expresion PUNTOCOMAdeclaracion : expresion\n expresion : expresion SUMA expresion\n | expresion RESTA expresion\n | expresion MULT expresion\n | expresion DIV expresion \n | expresion POTENCIA expresion\n | expresion MODULO expresion\n expresion : RESTA expresion %prec UMINUS\n expresion : PARIZQ expresion PARDER\n | LLAIZQ expresion LLADER\n | CORIZQ expresion CORDER\n \n expresion : expresion MENORQUE expresion\n | expresion MAYORQUE expresion\n | expresion MENORIGUAL expresion\n | expresion MAYORIGUAL expresion\n | expresion IGUAL expresion\n | expresion DISTINTO expresion\n | expresion PARDER MENORQUE PARIZQ expresion\n | expresion PARDER MAYORQUE PARIZQ expresion\n | expresion PARDER MENORIGUAL PARIZQ expresion\n | expresion PARDER MAYORIGUAL PARIZQ expresion\n | expresion PARDER IGUAL PARIZQ expresion\n | expresion PARDER DISTINTO PARIZQ expresion\n \n expresion : expresion AND expresion\n | expresion OR expresion\n | expresion NOT expresion\n | PARIZQ expresion AND expresion PARDER\n | PARIZQ expresion OR expresion PARDER\n | PARIZQ expresion NOT expresion PARDER\n expresion : ENTEROexpresion : COMDOB expresion COMDOBexpresion : IDENTIFICADOR'
_lr_action_items = {'IDENTIFICADOR':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,56,57,58,63,64,65,66,67,68,],[2,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,]),'RESTA':([0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,56,57,58,59,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,],[4,-33,12,4,4,4,4,-31,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-9,-33,12,12,12,12,12,-3,-4,-5,-6,12,12,12,12,12,12,12,12,12,12,12,-10,4,4,4,-11,-12,-32,4,4,4,4,4,4,12,12,12,12,12,12,12,12,12,-28,-29,-30,]),'PARIZQ':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,46,47,48,49,50,51,56,57,58,63,64,65,66,67,68,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,63,64,65,66,67,68,5,5,5,5,5,5,5,5,5,]),'LLAIZQ':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,56,57,58,63,64,65,66,67,68,],[6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,]),'CORIZQ':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,56,57,58,63,64,65,66,67,68,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'ENTERO':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,56,57,58,63,64,65,66,67,68,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'COMDOB':([0,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,32,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,56,57,58,59,60,61,63,64,65,66,67,68,72,73,74,75,76,77,78,79,80,],[9,9,9,9,9,-31,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,-9,-33,61,-3,-4,-5,-6,-7,-8,-13,-14,-15,-16,-17,-18,-25,-26,-27,-10,9,9,9,-11,-12,-32,9,9,9,9,9,9,-19,-20,-21,-22,-23,-24,-28,-29,-30,]),'$end':([1,2,3,8,27,28,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,62,72,73,74,75,76,77,78,79,80,],[0,-33,-2,-31,-9,-33,-3,-4,-5,-6,-7,-8,-13,-14,-15,-16,-17,-18,-25,-26,-27,-10,-11,-12,-32,-1,-19,-20,-21,-22,-23,-24,-28,-29,-30,]),'ASIGNAR':([2,],[10,]),'SUMA':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,11,-31,-9,-33,11,11,11,11,11,-3,-4,-5,-6,11,11,11,11,11,11,11,11,11,11,11,-10,-11,-12,-32,11,11,11,11,11,11,11,11,11,-28,-29,-30,]),'MULT':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,13,-31,-9,-33,13,13,13,13,13,13,13,-5,-6,13,13,13,13,13,13,13,13,13,13,13,-10,-11,-12,-32,13,13,13,13,13,13,13,13,13,-28,-29,-30,]),'DIV':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,14,-31,-9,-33,14,14,14,14,14,14,14,-5,-6,14,14,14,14,14,14,14,14,14,14,14,-10,-11,-12,-32,14,14,14,14,14,14,14,14,14,-28,-29,-30,]),'POTENCIA':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,15,-31,-9,-33,15,15,15,15,15,-3,-4,-5,-6,15,15,15,15,15,15,15,15,15,15,15,-10,-11,-12,-32,15,15,15,15,15,15,15,15,15,-28,-29,-30,]),'MODULO':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,16,-31,-9,-33,16,16,16,16,16,-3,-4,-5,-6,16,16,16,16,16,16,16,16,16,16,16,-10,-11,-12,-32,16,16,16,16,16,16,16,16,16,-28,-29,-30,]),'MENORQUE':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,17,-31,46,-9,-33,17,17,17,17,17,-3,-4,-5,-6,17,17,17,17,17,17,17,17,17,17,17,46,-11,-12,-32,17,17,17,17,17,17,17,17,17,46,46,46,]),'MAYORQUE':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,18,-31,47,-9,-33,18,18,18,18,18,-3,-4,-5,-6,18,18,18,18,18,18,18,18,18,18,18,47,-11,-12,-32,18,18,18,18,18,18,18,18,18,47,47,47,]),'MENORIGUAL':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,19,-31,48,-9,-33,19,19,19,19,19,-3,-4,-5,-6,19,19,19,19,19,19,19,19,19,19,19,48,-11,-12,-32,19,19,19,19,19,19,19,19,19,48,48,48,]),'MAYORIGUAL':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,20,-31,49,-9,-33,20,20,20,20,20,-3,-4,-5,-6,20,20,20,20,20,20,20,20,20,20,20,49,-11,-12,-32,20,20,20,20,20,20,20,20,20,49,49,49,]),'IGUAL':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,21,-31,50,-9,-33,21,21,21,21,21,-3,-4,-5,-6,21,21,21,21,21,21,21,21,21,21,21,50,-11,-12,-32,21,21,21,21,21,21,21,21,21,50,50,50,]),'DISTINTO':([2,3,8,23,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,22,-31,51,-9,-33,22,22,22,22,22,-3,-4,-5,-6,22,22,22,22,22,22,22,22,22,22,22,51,-11,-12,-32,22,22,22,22,22,22,22,22,22,51,51,51,]),'PARDER':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,23,-31,-9,-33,55,23,23,23,23,-3,-4,-5,-6,23,23,23,23,23,23,23,23,23,23,23,-10,-11,-12,-32,78,79,80,23,23,23,23,23,23,-28,-29,-30,]),'AND':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,24,-31,-9,-33,56,24,24,24,24,-3,-4,-5,-6,24,24,24,24,24,24,24,24,24,24,24,-10,-11,-12,-32,24,24,24,24,24,24,24,24,24,-28,-29,-30,]),'OR':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,25,-31,-9,-33,57,25,25,25,25,-3,-4,-5,-6,25,25,25,25,25,25,25,25,25,25,25,-10,-11,-12,-32,25,25,25,25,25,25,25,25,25,-28,-29,-30,]),'NOT':([2,3,8,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,69,70,71,72,73,74,75,76,77,78,79,80,],[-33,26,-31,-9,-33,58,26,26,26,26,-3,-4,-5,-6,26,26,26,26,26,26,26,26,26,26,26,-10,-11,-12,-32,26,26,26,26,26,26,26,26,26,-28,-29,-30,]),'LLADER':([8,27,28,30,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,72,73,74,75,76,77,78,79,80,],[-31,-9,-33,59,-3,-4,-5,-6,-7,-8,-13,-14,-15,-16,-17,-18,-25,-26,-27,-10,-11,-12,-32,-19,-20,-21,-22,-23,-24,-28,-29,-30,]),'CORDER':([8,27,28,31,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,72,73,74,75,76,77,78,79,80,],[-31,-9,-33,60,-3,-4,-5,-6,-7,-8,-13,-14,-15,-16,-17,-18,-25,-26,-27,-10,-11,-12,-32,-19,-20,-21,-22,-23,-24,-28,-29,-30,]),'PUNTOCOMA':([8,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,55,59,60,61,72,73,74,75,76,77,78,79,80,],[-31,-9,-33,62,-3,-4,-5,-6,-7,-8,-13,-14,-15,-16,-17,-18,-25,-26,-27,-10,-11,-12,-32,-19,-20,-21,-22,-23,-24,-28,-29,-30,]),}
_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 = {'declaracion':([0,],[1,]),'expresion':([0,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,56,57,58,63,64,65,66,67,68,],[3,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,52,53,54,69,70,71,72,73,74,75,76,77,]),}
_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' -> declaracion","S'",1,None,None,None),
('declaracion -> IDENTIFICADOR ASIGNAR expresion PUNTOCOMA','declaracion',4,'p_declaracion_asignar','guardado.py',22),
('declaracion -> expresion','declaracion',1,'p_declaracion_expr','guardado.py',26),
('expresion -> expresion SUMA expresion','expresion',3,'p_expresion_operaciones','guardado.py',32),
('expresion -> expresion RESTA expresion','expresion',3,'p_expresion_operaciones','guardado.py',33),
('expresion -> expresion MULT expresion','expresion',3,'p_expresion_operaciones','guardado.py',34),
('expresion -> expresion DIV expresion','expresion',3,'p_expresion_operaciones','guardado.py',35),
('expresion -> expresion POTENCIA expresion','expresion',3,'p_expresion_operaciones','guardado.py',36),
('expresion -> expresion MODULO expresion','expresion',3,'p_expresion_operaciones','guardado.py',37),
('expresion -> RESTA expresion','expresion',2,'p_expresion_uminus','guardado.py',57),
('expresion -> PARIZQ expresion PARDER','expresion',3,'p_expresion_grupo','guardado.py',62),
('expresion -> LLAIZQ expresion LLADER','expresion',3,'p_expresion_grupo','guardado.py',63),
('expresion -> CORIZQ expresion CORDER','expresion',3,'p_expresion_grupo','guardado.py',64),
('expresion -> expresion MENORQUE expresion','expresion',3,'p_expresion_logicas','guardado.py',70),
('expresion -> expresion MAYORQUE expresion','expresion',3,'p_expresion_logicas','guardado.py',71),
('expresion -> expresion MENORIGUAL expresion','expresion',3,'p_expresion_logicas','guardado.py',72),
('expresion -> expresion MAYORIGUAL expresion','expresion',3,'p_expresion_logicas','guardado.py',73),
('expresion -> expresion IGUAL expresion','expresion',3,'p_expresion_logicas','guardado.py',74),
('expresion -> expresion DISTINTO expresion','expresion',3,'p_expresion_logicas','guardado.py',75),
('expresion -> expresion PARDER MENORQUE PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',76),
('expresion -> expresion PARDER MAYORQUE PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',77),
('expresion -> expresion PARDER MENORIGUAL PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',78),
('expresion -> expresion PARDER MAYORIGUAL PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',79),
('expresion -> expresion PARDER IGUAL PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',80),
('expresion -> expresion PARDER DISTINTO PARIZQ expresion','expresion',5,'p_expresion_logicas','guardado.py',81),
('expresion -> expresion AND expresion','expresion',3,'p_expresion_booleana','guardado.py',106),
('expresion -> expresion OR expresion','expresion',3,'p_expresion_booleana','guardado.py',107),
('expresion -> expresion NOT expresion','expresion',3,'p_expresion_booleana','guardado.py',108),
('expresion -> PARIZQ expresion AND expresion PARDER','expresion',5,'p_expresion_booleana','guardado.py',109),
('expresion -> PARIZQ expresion OR expresion PARDER','expresion',5,'p_expresion_booleana','guardado.py',110),
('expresion -> PARIZQ expresion NOT expresion PARDER','expresion',5,'p_expresion_booleana','guardado.py',111),
('expresion -> ENTERO','expresion',1,'p_expresion_numero','guardado.py',127),
('expresion -> COMDOB expresion COMDOB','expresion',3,'p_expresion_cadena','guardado.py',131),
('expresion -> IDENTIFICADOR','expresion',1,'p_expresion_nombre','guardado.py',135),
]