-
Notifications
You must be signed in to change notification settings - Fork 0
/
parsetab.py
110 lines (103 loc) · 22.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
# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.8'
_lr_method = 'LALR'
_lr_signature = '04778889A87E7E88F3E79F63A24FFA54'
_lr_action_items = {'^':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,47,-44,-49,-45,-48,47,-47,47,47,47,47,47,-57,-53,-56,47,47,-66,-63,-60,-61,-51,-54,-50,-52,-64,47,-62,-65,-67,-68,-69,47,-70,-71,47,]),'OR':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,50,-44,-49,-45,-48,50,-47,50,50,50,50,50,-57,-53,-56,-59,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,-58,-62,-65,-67,-68,-69,50,-70,-71,50,]),'|':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,51,-44,-49,-45,-48,51,-47,51,51,51,51,51,-57,-53,-56,51,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,51,-62,-65,-67,-68,-69,51,-70,-71,51,]),'LE':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,52,-44,-49,-45,-48,52,-47,52,52,52,52,52,52,-53,52,52,52,None,None,-60,-61,-51,-54,-50,-52,None,52,None,None,None,-68,-69,52,-70,-71,52,]),'NEQ':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,53,-44,-49,-45,-48,53,-47,53,53,53,53,53,53,-53,53,53,53,None,None,-60,-61,-51,-54,-50,-52,None,53,None,None,None,-68,-69,53,-70,-71,53,]),'SHL':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,54,-44,-49,-45,-48,54,-47,54,54,54,54,54,54,-53,54,54,54,54,54,-60,-61,-51,-54,-50,-52,54,54,54,54,54,-68,-69,54,-70,-71,54,]),'SHR':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,55,-44,-49,-45,-48,55,-47,55,55,55,55,55,55,-53,55,55,55,55,55,-60,-61,-51,-54,-50,-52,55,55,55,55,55,-68,-69,55,-70,-71,55,]),'REPEAT':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[24,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,24,-24,24,-26,-4,-6,24,-40,24,-41,-27,-3,-11,-16,24,-10,-30,24,-8,-39,-15,-28,-29,-31,24,24,-42,24,24,-37,-36,-38,-34,-32,-76,24,24,-35,-33,]),'%':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,57,-44,-49,-45,-48,57,-47,57,57,57,57,57,57,-53,57,57,57,57,57,57,57,57,-54,57,-52,57,57,57,57,57,-68,-69,57,-70,-71,57,]),'$end':([0,1,3,7,8,9,10,11,16,18,19,20,21,22,25,32,34,41,46,61,66,67,77,83,91,112,113,128,131,139,140,141,142,143,144,148,149,],[-2,-22,-18,-25,-23,-20,-7,-19,0,-17,-21,-5,-1,-24,-26,-4,-6,-40,-41,-27,-3,-11,-10,-30,-39,-28,-29,-31,-42,-37,-36,-38,-34,-32,-76,-35,-33,]),'error':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,25,28,29,32,34,38,41,42,43,46,61,66,67,74,77,83,90,91,112,113,128,131,139,140,141,142,143,144,148,149,],[23,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,23,-24,-26,71,73,-4,-6,81,-40,86,23,-41,-27,-3,-11,116,-10,-30,-8,-39,-28,-29,-31,-42,-37,-36,-38,-34,-32,-76,-35,-33,]),'STRING':([0,1,3,7,8,9,10,11,13,14,18,19,20,21,22,24,25,28,29,32,34,38,39,40,41,42,43,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,74,76,77,83,89,90,91,110,111,112,113,127,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[2,-22,-18,-25,-23,-20,-7,-19,-9,2,-17,-21,-5,2,-24,2,-26,2,2,-4,-6,2,2,2,-40,2,2,-41,2,2,2,2,2,2,2,2,2,2,2,2,2,2,-27,2,2,2,2,-3,-11,-16,2,2,2,-10,-30,2,-8,-39,2,-15,-28,-29,2,-31,2,2,-42,2,2,-37,-36,-38,-34,-32,-76,2,2,-35,-33,]),'TYPE':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,25,32,34,41,43,46,61,66,67,75,77,83,90,91,112,113,128,131,137,139,140,141,142,143,144,148,149,],[4,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,4,-24,-26,-4,-6,-40,88,-41,-27,-3,-11,119,-10,-30,-8,-39,-28,-29,-31,-42,119,-37,-36,-38,-34,-32,-76,-35,-33,]),'=':([5,36,124,],[40,76,76,]),'<':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,64,-44,-49,-45,-48,64,-47,64,64,64,64,64,64,-53,64,64,64,None,None,-60,-61,-51,-54,-50,-52,None,64,None,None,None,-68,-69,64,-70,-71,64,]),'ID':([0,1,3,4,7,8,9,10,11,13,14,18,19,20,21,22,24,25,28,29,32,34,38,39,40,41,42,43,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,74,76,77,78,83,88,89,90,91,110,111,112,113,119,127,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[5,-22,-18,36,-25,-23,-20,-7,-19,-9,45,-17,-21,-5,5,-24,5,-26,45,45,-4,-6,45,5,45,-40,45,5,-41,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-27,45,45,45,45,-3,-11,-16,5,45,45,-10,124,-30,124,5,-8,-39,45,-15,-28,-29,136,45,-31,5,5,-42,5,5,-37,-36,-38,-34,-32,-76,5,5,-35,-33,]),'}':([1,3,7,8,9,11,18,19,22,25,41,46,61,68,83,89,91,111,112,113,128,131,139,140,141,142,143,148,149,],[-22,-18,-25,-23,-20,-19,-17,-21,-24,-26,-40,-41,-27,-16,-30,131,-39,-15,-28,-29,-31,-42,-37,-36,-38,-34,-32,-35,-33,]),',':([2,26,27,31,33,35,37,45,80,82,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,120,121,122,123,125,126,136,138,145,],[-46,-44,-49,-45,-48,-13,78,-47,-75,127,-57,-53,-56,-59,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,-58,-62,-65,-67,-68,-69,137,-80,-14,-12,-70,-71,-81,-74,-79,]),'CONTINUE':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[6,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,6,-24,6,-26,-4,-6,6,-40,6,-41,-27,-3,-11,-16,6,-10,-30,6,-8,-39,-15,-28,-29,-31,6,6,-42,6,6,-37,-36,-38,-34,-32,-76,6,6,-35,-33,]),'GE':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,65,-44,-49,-45,-48,65,-47,65,65,65,65,65,65,-53,65,65,65,None,None,-60,-61,-51,-54,-50,-52,None,65,None,None,None,-68,-69,65,-70,-71,65,]),'+':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,58,-44,-49,-45,-48,58,-47,58,58,58,58,58,58,-53,58,58,58,58,58,58,58,-51,-54,-50,-52,58,58,58,58,58,-68,-69,58,-70,-71,58,]),'>':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,60,-44,-49,-45,-48,60,-47,60,60,60,60,60,60,-53,60,60,60,None,None,-60,-61,-51,-54,-50,-52,None,60,None,None,None,-68,-69,60,-70,-71,60,]),'&':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,49,-44,-49,-45,-48,49,-47,49,49,49,49,49,49,-53,-56,49,49,-66,-63,-60,-61,-51,-54,-50,-52,-64,49,-62,-65,-67,-68,-69,49,-70,-71,49,]),':':([5,],[39,]),'INTEGER':([0,1,3,7,8,9,10,11,13,14,18,19,20,21,22,24,25,28,29,32,34,38,39,40,41,42,43,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,74,76,77,83,89,90,91,110,111,112,113,127,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[26,-22,-18,-25,-23,-20,-7,-19,-9,26,-17,-21,-5,26,-24,26,-26,26,26,-4,-6,26,26,26,-40,26,26,-41,26,26,26,26,26,26,26,26,26,26,26,26,26,26,-27,26,26,26,26,-3,-11,-16,26,26,26,-10,-30,26,-8,-39,26,-15,-28,-29,26,-31,26,26,-42,26,26,-37,-36,-38,-34,-32,-76,26,26,-35,-33,]),')':([2,26,27,31,33,38,45,72,73,75,79,80,81,82,85,86,87,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,116,117,118,120,121,125,126,136,138,145,],[-46,-44,-49,-45,-48,-73,-47,114,115,-78,125,-75,126,-72,-43,129,130,-57,-53,-56,-59,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,-58,-62,-65,-67,-68,-69,133,134,135,-77,-80,-70,-71,-81,-74,-79,]),'UNTIL':([1,3,7,8,9,11,18,19,22,25,41,46,61,68,69,83,91,111,112,113,128,131,139,140,141,142,143,148,149,],[-22,-18,-25,-23,-20,-19,-17,-21,-24,-26,-40,-41,-27,-16,110,-30,-39,-15,-28,-29,-31,-42,-37,-36,-38,-34,-32,-35,-33,]),'ELSE':([1,3,7,8,9,11,18,19,22,25,41,46,61,83,91,112,113,128,131,139,140,141,142,143,148,149,],[-22,-18,-25,-23,-20,-19,-17,-21,-24,-26,-40,-41,-27,-30,-39,-28,-29,-31,-42,-37,-36,-38,146,147,-35,-33,]),';':([2,5,6,15,17,23,26,27,31,33,35,37,44,45,70,71,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,123,125,126,132,],[-46,-47,41,46,61,67,-44,-49,-45,-48,-13,77,91,-47,112,113,128,-43,-57,-53,-56,-59,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,-58,-62,-65,-67,-68,-69,-14,-12,-70,-71,141,]),'(':([0,1,3,5,7,8,9,10,11,12,13,14,18,19,20,21,22,24,25,28,29,30,32,34,36,38,39,40,41,42,43,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,74,76,77,83,89,90,91,110,111,112,113,127,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[29,-22,-18,38,-25,-23,-20,-7,-19,42,-9,29,-17,-21,-5,29,-24,29,-26,29,29,74,-4,-6,75,29,29,29,-40,29,29,38,-41,29,29,29,29,29,29,29,29,29,29,29,29,29,29,-27,29,29,29,29,-3,-11,-16,29,29,29,-10,-30,29,-8,-39,29,-15,-28,-29,29,-31,29,29,-42,29,29,-37,-36,-38,-34,-32,-76,29,29,-35,-33,]),'-':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,56,-44,-49,-45,-48,56,-47,56,56,56,56,56,56,-53,56,56,56,56,56,56,56,-51,-54,-50,-52,56,56,56,56,56,-68,-69,56,-70,-71,56,]),'/':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,48,-44,-49,-45,-48,48,-47,48,48,48,48,48,48,-53,48,48,48,48,48,48,48,48,-54,48,-52,48,48,48,48,48,-68,-69,48,-70,-71,48,]),'WHILE':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[12,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,12,-24,12,-26,-4,-6,12,-40,12,-41,-27,-3,-11,-16,12,-10,-30,12,-8,-39,-15,-28,-29,-31,12,12,-42,12,12,-37,-36,-38,-34,-32,-76,12,12,-35,-33,]),'AND':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,62,-44,-49,-45,-48,62,-47,62,62,62,62,62,-57,-53,-56,62,-55,-66,-63,-60,-61,-51,-54,-50,-52,-64,-58,-62,-65,-67,-68,-69,62,-70,-71,62,]),'IF':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[30,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,30,-24,30,-26,-4,-6,30,-40,30,-41,-27,-3,-11,-16,30,-10,-30,30,-8,-39,-15,-28,-29,-31,30,30,-42,30,30,-37,-36,-38,-34,-32,-76,30,30,-35,-33,]),'FLOAT':([0,1,3,7,8,9,10,11,13,14,18,19,20,21,22,24,25,28,29,32,34,38,39,40,41,42,43,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,74,76,77,83,89,90,91,110,111,112,113,127,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[31,-22,-18,-25,-23,-20,-7,-19,-9,31,-17,-21,-5,31,-24,31,-26,31,31,-4,-6,31,31,31,-40,31,31,-41,31,31,31,31,31,31,31,31,31,31,31,31,31,31,-27,31,31,31,31,-3,-11,-16,31,31,31,-10,-30,31,-8,-39,31,-15,-28,-29,31,-31,31,31,-42,31,31,-37,-36,-38,-34,-32,-76,31,31,-35,-33,]),'*':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,59,-44,-49,-45,-48,59,-47,59,59,59,59,59,59,-53,59,59,59,59,59,59,59,59,-54,59,-52,59,59,59,59,59,-68,-69,59,-70,-71,59,]),'RETURN':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[14,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,14,-24,14,-26,-4,-6,14,-40,14,-41,-27,-3,-11,-16,14,-10,-30,14,-8,-39,-15,-28,-29,-31,14,14,-42,14,14,-37,-36,-38,-34,-32,-76,14,14,-35,-33,]),'{':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,135,139,140,141,142,143,144,146,147,148,149,],[13,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,13,-24,13,-26,-4,-6,13,-40,13,-41,-27,-3,-11,-16,13,-10,-30,13,-8,-39,-15,-28,-29,-31,13,13,-42,13,13,13,-37,-36,-38,-34,-32,-76,13,13,-35,-33,]),'PRINT':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[28,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,28,-24,28,-26,-4,-6,28,-40,28,-41,-27,-3,-11,-16,28,-10,-30,28,-8,-39,-15,-28,-29,-31,28,28,-42,28,28,-37,-36,-38,-34,-32,-76,28,28,-35,-33,]),'EQ':([2,5,17,26,27,31,33,44,45,70,72,80,84,85,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115,122,125,126,138,],[-46,-47,63,-44,-49,-45,-48,63,-47,63,63,63,63,63,63,-53,63,63,63,None,None,-60,-61,-51,-54,-50,-52,None,63,None,None,None,-68,-69,63,-70,-71,63,]),'BREAK':([0,1,3,7,8,9,10,11,13,18,19,20,21,22,24,25,32,34,39,41,43,46,61,66,67,68,69,77,83,89,90,91,111,112,113,128,129,130,131,133,134,139,140,141,142,143,144,146,147,148,149,],[15,-22,-18,-25,-23,-20,-7,-19,-9,-17,-21,-5,15,-24,15,-26,-4,-6,15,-40,15,-41,-27,-3,-11,-16,15,-10,-30,15,-8,-39,-15,-28,-29,-31,15,15,-42,15,15,-37,-36,-38,-34,-32,-76,15,15,-35,-33,]),}
_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 = {'args_list_or_empty':([75,],[118,]),'expr_list_or_empty':([38,],[79,]),'continue_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[7,7,7,7,7,7,7,7,7,7,7,7,7,]),'expression':([0,14,21,24,28,29,38,39,40,42,43,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,65,69,74,76,89,110,127,129,130,133,134,146,147,],[17,44,17,17,70,72,80,17,84,85,17,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,17,85,122,17,85,138,17,17,17,17,17,17,]),'arg':([75,137,],[121,145,]),'print_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[18,18,18,18,18,18,18,18,18,18,18,18,18,]),'while_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[19,19,19,19,19,19,19,19,19,19,19,19,19,]),'declaration':([0,21,43,],[20,20,90,]),'constructions':([0,],[21,]),'break_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[22,22,22,22,22,22,22,22,22,22,22,22,22,]),'labeled_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[3,3,3,3,3,3,3,3,3,3,3,3,3,]),'repeat_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[1,1,1,1,1,1,1,1,1,1,1,1,1,]),'inits':([4,88,],[37,37,]),'compound_instr':([0,21,24,39,43,69,89,129,130,133,134,135,146,147,],[25,25,25,25,25,25,25,25,25,25,25,144,25,25,]),'program':([0,],[16,]),'expression_id':([0,14,21,24,28,29,38,39,40,42,43,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,65,69,74,76,89,110,127,129,130,133,134,146,147,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'return_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[8,8,8,8,8,8,8,8,8,8,8,8,8,]),'choice_instr':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[9,9,9,9,9,9,9,9,9,9,9,9,9,]),'instruction':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[10,10,68,83,68,111,111,139,140,142,143,148,149,]),'expr_list':([38,],[82,]),'assignment':([0,21,24,39,43,69,89,129,130,133,134,146,147,],[11,11,11,11,11,11,11,11,11,11,11,11,11,]),'args_list':([75,],[120,]),'instructions':([24,43,],[69,89,]),'construction':([0,21,],[32,66,]),'init':([4,78,88,],[35,123,35,]),'condition':([42,74,110,],[87,117,132,]),'const':([0,14,21,24,28,29,38,39,40,42,43,47,48,49,50,51,52,53,54,55,56,57,58,59,60,62,63,64,65,69,74,76,89,110,127,129,130,133,134,146,147,],[33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,]),'declarations':([13,],[43,]),'fundef':([0,21,],[34,34,]),}
_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' -> program","S'",1,None,None,None),
('program -> constructions','program',1,'p_program','Cparser.py',38),
('program -> <empty>','program',0,'p_program','Cparser.py',39),
('constructions -> constructions construction','constructions',2,'p_constructions','Cparser.py',43),
('constructions -> construction','constructions',1,'p_constructions','Cparser.py',44),
('construction -> declaration','construction',1,'p_construction','Cparser.py',54),
('construction -> fundef','construction',1,'p_construction','Cparser.py',55),
('construction -> instruction','construction',1,'p_construction','Cparser.py',56),
('declarations -> declarations declaration','declarations',2,'p_declarations','Cparser.py',60),
('declarations -> <empty>','declarations',0,'p_declarations','Cparser.py',61),
('declaration -> TYPE inits ;','declaration',3,'p_declaration','Cparser.py',75),
('declaration -> error ;','declaration',2,'p_declaration','Cparser.py',76),
('inits -> inits , init','inits',3,'p_inits','Cparser.py',80),
('inits -> init','inits',1,'p_inits','Cparser.py',81),
('init -> ID = expression','init',3,'p_init','Cparser.py',94),
('instructions -> instructions instruction','instructions',2,'p_instructions','Cparser.py',99),
('instructions -> instruction','instructions',1,'p_instructions','Cparser.py',100),
('instruction -> print_instr','instruction',1,'p_instruction','Cparser.py',111),
('instruction -> labeled_instr','instruction',1,'p_instruction','Cparser.py',112),
('instruction -> assignment','instruction',1,'p_instruction','Cparser.py',113),
('instruction -> choice_instr','instruction',1,'p_instruction','Cparser.py',114),
('instruction -> while_instr','instruction',1,'p_instruction','Cparser.py',115),
('instruction -> repeat_instr','instruction',1,'p_instruction','Cparser.py',116),
('instruction -> return_instr','instruction',1,'p_instruction','Cparser.py',117),
('instruction -> break_instr','instruction',1,'p_instruction','Cparser.py',118),
('instruction -> continue_instr','instruction',1,'p_instruction','Cparser.py',119),
('instruction -> compound_instr','instruction',1,'p_instruction','Cparser.py',120),
('instruction -> expression ;','instruction',2,'p_instruction','Cparser.py',121),
('print_instr -> PRINT expression ;','print_instr',3,'p_print_instr','Cparser.py',125),
('print_instr -> PRINT error ;','print_instr',3,'p_print_instr','Cparser.py',126),
('labeled_instr -> ID : instruction','labeled_instr',3,'p_labeled_instr','Cparser.py',130),
('assignment -> ID = expression ;','assignment',4,'p_assignment','Cparser.py',134),
('choice_instr -> IF ( condition ) instruction','choice_instr',5,'p_choice_instr','Cparser.py',138),
('choice_instr -> IF ( condition ) instruction ELSE instruction','choice_instr',7,'p_choice_instr','Cparser.py',139),
('choice_instr -> IF ( error ) instruction','choice_instr',5,'p_choice_instr','Cparser.py',140),
('choice_instr -> IF ( error ) instruction ELSE instruction','choice_instr',7,'p_choice_instr','Cparser.py',141),
('while_instr -> WHILE ( condition ) instruction','while_instr',5,'p_while_instr','Cparser.py',149),
('while_instr -> WHILE ( error ) instruction','while_instr',5,'p_while_instr','Cparser.py',150),
('repeat_instr -> REPEAT instructions UNTIL condition ;','repeat_instr',5,'p_repeat_instr','Cparser.py',154),
('return_instr -> RETURN expression ;','return_instr',3,'p_return_instr','Cparser.py',158),
('continue_instr -> CONTINUE ;','continue_instr',2,'p_continue_instr','Cparser.py',162),
('break_instr -> BREAK ;','break_instr',2,'p_break_instr','Cparser.py',166),
('compound_instr -> { declarations instructions }','compound_instr',4,'p_compound_instr','Cparser.py',170),
('condition -> expression','condition',1,'p_condition','Cparser.py',174),
('const -> INTEGER','const',1,'p_const','Cparser.py',178),
('const -> FLOAT','const',1,'p_const','Cparser.py',179),
('const -> STRING','const',1,'p_const','Cparser.py',180),
('expression_id -> ID','expression_id',1,'p_expression_id','Cparser.py',189),
('expression -> const','expression',1,'p_expression','Cparser.py',193),
('expression -> expression_id','expression',1,'p_expression','Cparser.py',194),
('expression -> expression + expression','expression',3,'p_expression','Cparser.py',195),
('expression -> expression - expression','expression',3,'p_expression','Cparser.py',196),
('expression -> expression * expression','expression',3,'p_expression','Cparser.py',197),
('expression -> expression / expression','expression',3,'p_expression','Cparser.py',198),
('expression -> expression % expression','expression',3,'p_expression','Cparser.py',199),
('expression -> expression | expression','expression',3,'p_expression','Cparser.py',200),
('expression -> expression & expression','expression',3,'p_expression','Cparser.py',201),
('expression -> expression ^ expression','expression',3,'p_expression','Cparser.py',202),
('expression -> expression AND expression','expression',3,'p_expression','Cparser.py',203),
('expression -> expression OR expression','expression',3,'p_expression','Cparser.py',204),
('expression -> expression SHL expression','expression',3,'p_expression','Cparser.py',205),
('expression -> expression SHR expression','expression',3,'p_expression','Cparser.py',206),
('expression -> expression EQ expression','expression',3,'p_expression','Cparser.py',207),
('expression -> expression NEQ expression','expression',3,'p_expression','Cparser.py',208),
('expression -> expression > expression','expression',3,'p_expression','Cparser.py',209),
('expression -> expression < expression','expression',3,'p_expression','Cparser.py',210),
('expression -> expression LE expression','expression',3,'p_expression','Cparser.py',211),
('expression -> expression GE expression','expression',3,'p_expression','Cparser.py',212),
('expression -> ( expression )','expression',3,'p_expression','Cparser.py',213),
('expression -> ( error )','expression',3,'p_expression','Cparser.py',214),
('expression -> ID ( expr_list_or_empty )','expression',4,'p_expression','Cparser.py',215),
('expression -> ID ( error )','expression',4,'p_expression','Cparser.py',216),
('expr_list_or_empty -> expr_list','expr_list_or_empty',1,'p_expr_list_or_empty','Cparser.py',231),
('expr_list_or_empty -> <empty>','expr_list_or_empty',0,'p_expr_list_or_empty','Cparser.py',232),
('expr_list -> expr_list , expression','expr_list',3,'p_expr_list','Cparser.py',236),
('expr_list -> expression','expr_list',1,'p_expr_list','Cparser.py',237),
('fundef -> TYPE ID ( args_list_or_empty ) compound_instr','fundef',6,'p_fundef','Cparser.py',248),
('args_list_or_empty -> args_list','args_list_or_empty',1,'p_args_list_or_empty','Cparser.py',252),
('args_list_or_empty -> <empty>','args_list_or_empty',0,'p_args_list_or_empty','Cparser.py',253),
('args_list -> args_list , arg','args_list',3,'p_args_list','Cparser.py',257),
('args_list -> arg','args_list',1,'p_args_list','Cparser.py',258),
('arg -> TYPE ID','arg',2,'p_arg','Cparser.py',271),
]