-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathyacctab.py
233 lines (226 loc) · 84.8 KB
/
yacctab.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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# yacctab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'translation_unitADD_ASSIGN AND AND_ASSIGN AND_OP AUTO BREAK CASE CHAR COLON COMMA CONDOP CONST CONSTANT CONTINUE DEC_OP DEFAULT DIVIDE DIV_ASSIGN DO DOT DOUBLE ELSE ENUM EQUAL EQ_OP EXTERN FLOAT FOR GE_OP GOTO GT IDENTIFIER IF INC_OP INT LBRACE LBRACKET LEFT_ASSIGN LEFT_OP LE_OP LNOT LONG LPAREN LT MINUS MOD MOD_ASSIGN MUL_ASSIGN NE_OP NOT OR OR_ASSIGN OR_OP PLUS PTR_OP RBRACE RBRACKET REGISTER RETURN RIGHT_ASSIGN RIGHT_OP RPAREN SEMICOLON SHORT SIGNED SIZEOF STATIC STRING_LITERAL STRUCT SUB_ASSIGN SWITCH TIMES TYPEDEF TYPE_NAME UNION UNSIGNED VOID VOLATILE WHILE XOR XOR_ASSIGNprimary_expression : IDENTIFIER\n | CONSTANT\n | STRING_LITERAL\n | LPAREN expression RPAREN\n postfix_expression : primary_expression\n | postfix_expression RBRACKET expression LBRACKET\n | postfix_expression LPAREN RPAREN\n | postfix_expression LPAREN argument_expression_list RPAREN\n | postfix_expression DOT IDENTIFIER\n | postfix_expression PTR_OP IDENTIFIER\n | postfix_expression INC_OP\n | postfix_expression DEC_OP\n argument_expression_list : assignment_expression\n | argument_expression_list COMMA assignment_expression\n unary_expression : postfix_expression\n | INC_OP unary_expression\n | DEC_OP unary_expression\n | SIZEOF unary_expression\n | SIZEOF LPAREN type_name RPAREN\n cast_expression : unary_expression\n | LPAREN type_name RPAREN cast_expression\n multiplicative_expression : cast_expression\n | multiplicative_expression TIMES cast_expression\n | multiplicative_expression DIVIDE cast_expression\n | multiplicative_expression MOD cast_expression\n additive_expression : multiplicative_expression\n | additive_expression PLUS multiplicative_expression\n | additive_expression MINUS multiplicative_expression\n shift_expression : additive_expression\n | shift_expression LEFT_OP additive_expression\n | shift_expression RIGHT_OP additive_expression\n relational_expression : shift_expression\n | relational_expression LT shift_expression\n | relational_expression GT shift_expression\n | relational_expression LE_OP shift_expression\n | relational_expression GE_OP shift_expression\n equality_expression : relational_expression\n | equality_expression EQ_OP relational_expression\n | equality_expression NE_OP relational_expression\n \n and_expression : equality_expression\n | and_expression AND equality_expression\n \n exclusive_or_expression : and_expression\n | exclusive_or_expression XOR and_expression\n \n inclusive_or_expression : exclusive_or_expression\n | inclusive_or_expression OR exclusive_or_expression\n \n logical_and_expression : inclusive_or_expression\n | logical_and_expression AND_OP inclusive_or_expression\n \n logical_or_expression : logical_and_expression\n | logical_or_expression OR_OP logical_and_expression\n \n conditional_expression : logical_or_expression\n | logical_or_expression CONDOP expression COLON conditional_expression\n \n assignment_expression : conditional_expression\n | unary_expression assignment_operator assignment_expression\n \n assignment_operator : EQUAL\n | MUL_ASSIGN\n | DIV_ASSIGN\n | MOD_ASSIGN\n | ADD_ASSIGN\n | SUB_ASSIGN\n | LEFT_ASSIGN\n | RIGHT_ASSIGN\n | AND_ASSIGN\n | XOR_ASSIGN\n | OR_ASSIGN\n \n expression : assignment_expression\n | expression COMMA assignment_expression\n \n constant_expression : conditional_expression\n \n declaration : declaration_specifiers SEMICOLON\n | declaration_specifiers init_declarator_list SEMICOLON\n \n declaration_specifiers : storage_class_specifier\n | storage_class_specifier declaration_specifiers\n | type_specifier\n | type_specifier declaration_specifiers\n | type_qualifier\n | type_qualifier declaration_specifiers\n \n init_declarator_list : init_declarator\n | init_declarator_list COMMA init_declarator\n \n init_declarator : declarator\n | declarator EQUAL initializer\n \n storage_class_specifier : TYPEDEF\n | EXTERN\n | STATIC\n | AUTO\n | REGISTER\n \n type_specifier : VOID\n | CHAR\n | SHORT\n | INT\n | LONG\n | FLOAT\n | DOUBLE\n | SIGNED\n | UNSIGNED\n | struct_or_union_specifier\n | enum_specifier\n | TYPE_NAME\n \n struct_or_union_specifier : struct_or_union IDENTIFIER LBRACE struct_declaration_list RBRACE\n | struct_or_union LBRACE struct_declaration_list RBRACE\n | struct_or_union IDENTIFIER\n \n struct_or_union : STRUCT\n | UNION\n \n struct_declaration_list : struct_declaration\n | struct_declaration_list struct_declaration\n \n struct_declaration : specifier_qualifier_list struct_declarator_list SEMICOLON\n \n specifier_qualifier_list : type_specifier specifier_qualifier_list\n | type_specifier\n | type_qualifier specifier_qualifier_list\n | type_qualifier\n \n struct_declarator_list : struct_declarator\n | struct_declarator_list COMMA struct_declarator\n \n struct_declarator : declarator\n | COLON constant_expression\n | declarator COLON constant_expression\n \n enum_specifier : ENUM LBRACE enumerator_list RBRACE\n | ENUM IDENTIFIER LBRACE enumerator_list RBRACE\n | ENUM IDENTIFIER\n \n enumerator_list : enumerator\n | enumerator_list COMMA enumerator\n \n enumerator : IDENTIFIER\n | IDENTIFIER EQUAL constant_expression\n \n type_qualifier : CONST\n | VOLATILE\n \n declarator : pointer direct_declarator\n | direct_declarator\n \n direct_declarator : IDENTIFIER\n | LPAREN declarator RPAREN\n | direct_declarator RBRACKET constant_expression LBRACKET\n | direct_declarator RBRACKET LBRACKET\n | direct_declarator LPAREN parameter_type_list RPAREN\n | direct_declarator LPAREN identifier_list RPAREN\n | direct_declarator LPAREN RPAREN\n \n pointer : TIMES\n | TIMES type_qualifier_list\n | TIMES pointer\n | TIMES type_qualifier_list pointer\n \n type_qualifier_list : type_qualifier\n | type_qualifier_list type_qualifier\n \n parameter_type_list : parameter_list\n \n parameter_list : parameter_declaration\n | parameter_list COMMA parameter_declaration\n \n parameter_declaration : declaration_specifiers declarator\n | declaration_specifiers abstract_declarator\n | declaration_specifiers\n \n identifier_list : IDENTIFIER\n | identifier_list COMMA IDENTIFIER\n \n type_name : specifier_qualifier_list\n | specifier_qualifier_list abstract_declarator\n \n abstract_declarator : pointer\n | direct_abstract_declarator\n | pointer direct_abstract_declarator\n \n direct_abstract_declarator : LPAREN abstract_declarator RPAREN\n | RBRACKET LBRACKET\n | RBRACKET constant_expression LBRACKET\n | direct_abstract_declarator RBRACKET LBRACKET\n | direct_abstract_declarator RBRACKET constant_expression LBRACKET\n | LPAREN RPAREN\n | LPAREN parameter_type_list RPAREN\n | direct_abstract_declarator LPAREN RPAREN\n | direct_abstract_declarator LPAREN parameter_type_list RPAREN\n \n initializer : assignment_expression\n | LBRACE initializer_list RBRACE\n | LBRACE initializer_list COMMA RBRACE\n \n initializer_list : initializer\n | initializer_list COMMA initializer\n \n statement : labeled_statement\n | compound_statement\n | expression_statement\n | selection_statement\n | iteration_statement\n | jump_statement\n \n labeled_statement : IDENTIFIER COLON statement\n | CASE constant_expression COLON statement\n | DEFAULT COLON statement\n \n compound_statement : LBRACE RBRACE\n | LBRACE statement_list RBRACE\n | LBRACE declaration_list RBRACE\n | LBRACE declaration_list statement_list RBRACE\n \n declaration_list : declaration\n | declaration_list declaration\n \n statement_list : statement\n | statement_list statement\n \n expression_statement : SEMICOLON\n | expression SEMICOLON\n \n selection_statement : IF LPAREN expression RPAREN statement\n | IF LPAREN expression RPAREN statement ELSE statement\n | SWITCH LPAREN expression RPAREN statement\n \n iteration_statement : WHILE LPAREN expression RPAREN statement\n | DO statement WHILE LPAREN expression RPAREN SEMICOLON\n | FOR LPAREN expression_statement expression_statement RPAREN statement\n | FOR LPAREN expression_statement expression_statement expression RPAREN statement\n \n jump_statement : GOTO IDENTIFIER SEMICOLON\n | CONTINUE SEMICOLON\n | BREAK SEMICOLON\n | RETURN SEMICOLON\n | RETURN expression SEMICOLON\n \n translation_unit : external_declaration\n | translation_unit external_declaration\n \n external_declaration : function_definition\n | declaration\n \n function_definition : declaration_specifiers declarator declaration_list compound_statement\n | declaration_specifiers declarator compound_statement\n | declarator declaration_list compound_statement\n | declarator compound_statement\n '
_lr_action_items = {'TYPEDEF':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,61,62,63,65,67,68,69,71,117,123,131,142,147,149,211,212,213,215,220,223,231,237,247,285,291,298,],[12,12,-196,-198,-199,12,12,12,12,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,12,-68,12,-203,-178,12,-123,12,-99,-116,12,-201,-69,-202,-179,-174,12,-128,-131,-126,-200,-175,-176,-127,-129,-130,12,12,-98,-114,-177,12,12,-97,-115,]),'EXTERN':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,61,62,63,65,67,68,69,71,117,123,131,142,147,149,211,212,213,215,220,223,231,237,247,285,291,298,],[13,13,-196,-198,-199,13,13,13,13,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,13,-68,13,-203,-178,13,-123,13,-99,-116,13,-201,-69,-202,-179,-174,13,-128,-131,-126,-200,-175,-176,-127,-129,-130,13,13,-98,-114,-177,13,13,-97,-115,]),'STATIC':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,61,62,63,65,67,68,69,71,117,123,131,142,147,149,211,212,213,215,220,223,231,237,247,285,291,298,],[14,14,-196,-198,-199,14,14,14,14,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,14,-68,14,-203,-178,14,-123,14,-99,-116,14,-201,-69,-202,-179,-174,14,-128,-131,-126,-200,-175,-176,-127,-129,-130,14,14,-98,-114,-177,14,14,-97,-115,]),'AUTO':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,61,62,63,65,67,68,69,71,117,123,131,142,147,149,211,212,213,215,220,223,231,237,247,285,291,298,],[15,15,-196,-198,-199,15,15,15,15,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,15,-68,15,-203,-178,15,-123,15,-99,-116,15,-201,-69,-202,-179,-174,15,-128,-131,-126,-200,-175,-176,-127,-129,-130,15,15,-98,-114,-177,15,15,-97,-115,]),'REGISTER':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,61,62,63,65,67,68,69,71,117,123,131,142,147,149,211,212,213,215,220,223,231,237,247,285,291,298,],[16,16,-196,-198,-199,16,16,16,16,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,16,-68,16,-203,-178,16,-123,16,-99,-116,16,-201,-69,-202,-179,-174,16,-128,-131,-126,-200,-175,-176,-127,-129,-130,16,16,-98,-114,-177,16,16,-97,-115,]),'VOID':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[17,17,-196,-198,-199,17,17,17,17,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,17,-68,17,-203,-178,17,-123,17,-99,17,-116,17,-201,-69,-202,-179,-174,17,17,-128,17,-131,-126,17,17,-102,17,17,-200,-175,-176,17,-127,-129,-130,17,17,17,-98,-103,-114,-177,17,17,-97,-104,-115,]),'CHAR':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[18,18,-196,-198,-199,18,18,18,18,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,18,-68,18,-203,-178,18,-123,18,-99,18,-116,18,-201,-69,-202,-179,-174,18,18,-128,18,-131,-126,18,18,-102,18,18,-200,-175,-176,18,-127,-129,-130,18,18,18,-98,-103,-114,-177,18,18,-97,-104,-115,]),'SHORT':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[19,19,-196,-198,-199,19,19,19,19,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,19,-68,19,-203,-178,19,-123,19,-99,19,-116,19,-201,-69,-202,-179,-174,19,19,-128,19,-131,-126,19,19,-102,19,19,-200,-175,-176,19,-127,-129,-130,19,19,19,-98,-103,-114,-177,19,19,-97,-104,-115,]),'INT':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[20,20,-196,-198,-199,20,20,20,20,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,20,-68,20,-203,-178,20,-123,20,-99,20,-116,20,-201,-69,-202,-179,-174,20,20,-128,20,-131,-126,20,20,-102,20,20,-200,-175,-176,20,-127,-129,-130,20,20,20,-98,-103,-114,-177,20,20,-97,-104,-115,]),'LONG':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[21,21,-196,-198,-199,21,21,21,21,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,21,-68,21,-203,-178,21,-123,21,-99,21,-116,21,-201,-69,-202,-179,-174,21,21,-128,21,-131,-126,21,21,-102,21,21,-200,-175,-176,21,-127,-129,-130,21,21,21,-98,-103,-114,-177,21,21,-97,-104,-115,]),'FLOAT':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[22,22,-196,-198,-199,22,22,22,22,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,22,-68,22,-203,-178,22,-123,22,-99,22,-116,22,-201,-69,-202,-179,-174,22,22,-128,22,-131,-126,22,22,-102,22,22,-200,-175,-176,22,-127,-129,-130,22,22,22,-98,-103,-114,-177,22,22,-97,-104,-115,]),'DOUBLE':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[23,23,-196,-198,-199,23,23,23,23,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,23,-68,23,-203,-178,23,-123,23,-99,23,-116,23,-201,-69,-202,-179,-174,23,23,-128,23,-131,-126,23,23,-102,23,23,-200,-175,-176,23,-127,-129,-130,23,23,23,-98,-103,-114,-177,23,23,-97,-104,-115,]),'SIGNED':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[24,24,-196,-198,-199,24,24,24,24,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,24,-68,24,-203,-178,24,-123,24,-99,24,-116,24,-201,-69,-202,-179,-174,24,24,-128,24,-131,-126,24,24,-102,24,24,-200,-175,-176,24,-127,-129,-130,24,24,24,-98,-103,-114,-177,24,24,-97,-104,-115,]),'UNSIGNED':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[25,25,-196,-198,-199,25,25,25,25,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,25,-68,25,-203,-178,25,-123,25,-99,25,-116,25,-201,-69,-202,-179,-174,25,25,-128,25,-131,-126,25,25,-102,25,25,-200,-175,-176,25,-127,-129,-130,25,25,25,-98,-103,-114,-177,25,25,-97,-104,-115,]),'TYPE_NAME':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[28,28,-196,-198,-199,28,28,28,28,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,28,-68,28,-203,-178,28,-123,28,-99,28,-116,28,-201,-69,-202,-179,-174,28,28,-128,28,-131,-126,28,28,-102,28,28,-200,-175,-176,28,-127,-129,-130,28,28,28,-98,-103,-114,-177,28,28,-97,-104,-115,]),'CONST':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,38,39,40,43,44,45,46,51,53,54,56,58,59,61,62,63,65,67,68,69,71,85,117,120,123,130,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[29,29,-196,-198,-199,29,29,29,29,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,29,-125,-197,29,-68,29,-203,-178,29,-123,29,29,-136,-99,29,-116,29,-201,-69,-202,-179,-174,29,29,-128,29,-131,-137,-126,29,29,-102,29,29,-200,-175,-176,29,-127,-129,-130,29,29,29,-98,-103,-114,-177,29,29,-97,-104,-115,]),'VOLATILE':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,38,39,40,43,44,45,46,51,53,54,56,58,59,61,62,63,65,67,68,69,71,85,117,120,123,130,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[30,30,-196,-198,-199,30,30,30,30,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,30,-125,-197,30,-68,30,-203,-178,30,-123,30,30,-136,-99,30,-116,30,-201,-69,-202,-179,-174,30,30,-128,30,-131,-137,-126,30,30,-102,30,30,-200,-175,-176,30,-127,-129,-130,30,30,30,-98,-103,-114,-177,30,30,-97,-104,-115,]),'TIMES':([0,1,2,3,4,5,7,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,38,40,44,47,48,49,50,54,56,58,61,63,65,66,67,69,80,96,98,103,105,106,113,114,119,121,128,130,135,136,137,142,147,149,159,187,188,189,191,192,220,223,229,230,231,237,243,247,258,261,262,276,277,278,279,280,291,293,298,303,309,310,312,],[31,31,-196,-198,-199,31,-70,-72,-74,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,31,31,-197,-68,-203,31,-71,-73,-75,31,-136,-99,-116,-201,-69,31,-202,-174,-1,-20,-15,-5,-2,-3,208,-22,-20,-1,31,-137,31,-106,-108,-200,-175,-176,31,-11,-12,-16,-17,-18,31,-98,-105,-107,-114,-177,-4,31,-7,-9,-10,208,208,-23,-24,-25,-97,31,-115,-21,-6,-8,-19,]),'IDENTIFIER':([0,1,2,3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,40,44,45,46,47,48,49,50,52,53,54,55,56,58,60,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,81,85,88,90,93,99,100,101,120,128,129,130,135,136,137,141,142,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,214,218,220,221,223,228,229,230,231,232,233,237,238,239,240,244,251,252,253,284,291,293,294,298,300,301,302,304,305,306,307,308,311,324,325,326,328,334,336,337,338,339,340,],[32,32,-196,-198,-199,32,-70,-72,-74,32,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-132,32,58,61,-100,-101,-197,-68,-203,-178,80,32,-71,-73,-75,121,126,-133,-134,-136,-99,140,-116,-201,121,-69,32,-202,-179,-174,80,80,-180,-165,-166,-167,-168,-169,-170,-182,121,121,80,164,121,121,121,121,121,32,-135,-137,32,-106,-108,140,-200,121,-175,-181,-176,80,80,80,-183,121,121,121,121,121,-192,-193,-194,121,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,121,121,121,121,261,262,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,281,32,32,121,-98,121,-105,-107,-114,140,121,-177,-171,80,-173,121,121,-191,-195,121,-97,32,121,-115,121,-172,80,80,80,121,121,121,121,-184,-186,-187,80,80,-189,80,-185,-188,-190,]),'LPAREN':([0,1,2,3,4,5,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,38,40,44,45,46,47,48,49,50,51,52,54,55,56,58,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,84,85,86,87,88,89,93,98,99,100,101,103,105,106,117,120,121,123,128,129,130,131,135,136,137,142,145,147,148,149,150,151,153,154,155,156,159,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,187,188,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,218,219,220,221,223,228,229,230,231,233,237,238,239,240,243,244,246,247,250,251,252,253,258,261,262,283,284,286,289,291,293,294,298,300,301,302,304,305,306,307,308,309,310,311,313,315,317,318,319,324,325,326,328,332,333,334,336,337,338,339,340,],[33,33,-196,-198,-199,33,-70,-72,-74,33,53,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-132,-125,33,-197,-68,-203,-178,85,33,-71,-73,-75,53,120,-133,-134,-136,-99,-116,-201,85,-69,33,-202,-179,-174,85,85,-180,-165,-166,-167,-168,-169,-170,-182,-1,120,156,85,160,161,85,163,85,184,190,190,193,-5,-2,-3,-128,85,-1,-131,220,-135,-137,-126,33,-106,-108,-200,85,-175,-181,-176,85,85,85,-183,85,85,247,85,85,85,-192,-193,-194,85,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,85,120,85,85,-11,-12,85,85,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,-127,-129,-130,220,285,220,120,-98,120,-105,-107,-114,120,-177,-171,85,-173,-4,120,247,247,306,85,-191,-195,-7,-9,-10,285,120,-156,-152,-97,33,120,-115,85,-172,85,85,85,85,85,120,-6,-8,85,-154,-158,-151,-157,-153,-184,-186,-187,85,-155,-159,85,-189,85,-185,-188,-190,]),'ENUM':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[35,35,-196,-198,-199,35,35,35,35,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,35,-68,35,-203,-178,35,-123,35,-99,35,-116,35,-201,-69,-202,-179,-174,35,35,-128,35,-131,-126,35,35,-102,35,35,-200,-175,-176,35,-127,-129,-130,35,35,35,-98,-103,-114,-177,35,35,-97,-104,-115,]),'STRUCT':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[36,36,-196,-198,-199,36,36,36,36,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,36,-68,36,-203,-178,36,-123,36,-99,36,-116,36,-201,-69,-202,-179,-174,36,36,-128,36,-131,-126,36,36,-102,36,36,-200,-175,-176,36,-127,-129,-130,36,36,36,-98,-103,-114,-177,36,36,-97,-104,-115,]),'UNION':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,38,39,40,43,44,45,46,51,53,58,59,61,62,63,65,67,68,69,71,85,117,120,123,131,132,133,134,136,137,142,147,149,193,211,212,213,215,220,222,223,224,231,237,247,285,291,292,298,],[37,37,-196,-198,-199,37,37,37,37,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-197,37,-68,37,-203,-178,37,-123,37,-99,37,-116,37,-201,-69,-202,-179,-174,37,37,-128,37,-131,-126,37,37,-102,37,37,-200,-175,-176,37,-127,-129,-130,37,37,37,-98,-103,-114,-177,37,37,-97,-104,-115,]),'$end':([1,2,3,4,38,40,44,63,65,67,69,142,147,149,237,],[0,-196,-198,-199,-197,-68,-203,-201,-69,-202,-174,-200,-175,-176,-177,]),'SEMICOLON':([5,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,39,40,41,42,45,46,47,48,49,50,51,58,61,65,68,69,70,71,72,73,74,75,76,77,78,79,80,83,88,91,92,93,94,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,121,123,131,143,144,146,147,148,149,150,151,153,154,163,164,165,166,167,168,187,188,189,191,192,211,212,213,223,225,226,227,231,237,238,239,240,241,243,251,252,253,254,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,291,295,298,299,301,302,303,304,305,309,310,312,320,321,322,324,325,326,328,330,334,335,336,337,338,339,340,],[40,-70,-72,-74,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-78,-68,65,-76,-178,79,40,-71,-73,-75,-123,-99,-116,-69,-179,-174,79,79,-180,-165,-166,-167,-168,-169,-170,-182,-1,154,79,165,166,167,-65,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-78,-128,-67,-20,-1,-131,-126,-79,-160,-77,-175,-181,-176,79,79,79,-183,79,252,-192,-193,-194,253,-11,-12,-16,-17,-18,-127,-129,-130,-98,292,-109,-111,-114,-177,-171,79,-173,-66,-4,79,-191,-195,-53,-49,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-97,-112,-115,-161,-172,79,-21,79,79,-6,-8,-19,-110,-113,-162,-184,-186,-187,79,-51,79,339,-189,79,-185,-188,-190,]),'LBRACE':([6,11,32,34,35,36,37,39,40,43,45,46,51,58,61,62,64,65,68,69,70,71,72,73,74,75,76,77,78,79,88,117,123,131,145,147,148,149,150,151,153,154,165,166,167,211,212,213,237,238,239,240,252,253,300,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[46,-124,-125,59,60,-100,-101,46,-68,46,-178,46,-123,132,141,46,145,-69,-179,-174,46,46,-180,-165,-166,-167,-168,-169,-170,-182,46,-128,-131,-126,145,-175,-181,-176,46,46,46,-183,-192,-193,-194,-127,-129,-130,-177,-171,46,-173,-191,-195,145,-172,46,46,46,-184,-186,-187,46,46,-189,46,-185,-188,-190,]),'RBRACKET':([7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,48,49,50,51,54,55,56,58,61,80,98,103,105,106,117,121,123,128,129,130,131,136,137,159,187,188,211,212,213,218,219,220,223,229,230,231,243,246,247,258,261,262,283,286,289,291,298,309,310,313,315,317,318,319,332,333,],[-70,-72,-74,52,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-132,-125,-71,-73,-75,52,-133,-134,-136,-99,-116,-1,183,-5,-2,-3,-128,-1,-131,221,-135,-137,-126,-106,-108,221,-11,-12,-127,-129,-130,221,284,221,-98,-105,-107,-114,-4,221,221,-7,-9,-10,284,-156,-152,-97,-115,-6,-8,-154,-158,-151,-157,-153,-155,-159,]),'COMMA':([7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,39,41,42,48,49,50,51,54,55,56,58,61,80,83,94,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,121,123,124,125,126,127,128,129,130,131,138,139,140,143,144,146,157,168,187,188,189,191,192,211,212,213,216,217,218,219,223,225,226,227,231,234,235,236,241,242,243,248,249,254,255,256,257,258,259,260,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,286,289,291,295,296,297,298,299,303,309,310,312,313,315,317,318,319,320,321,322,323,327,329,330,331,332,333,],[-70,-72,-74,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-132,-125,-78,66,-76,-71,-73,-75,-123,-133,-134,-136,-99,-116,-1,155,-65,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-78,-128,-67,-20,-1,-131,214,215,-144,-139,-143,-135,-137,-126,232,-117,-119,-79,-160,-77,155,155,-11,-12,-16,-17,-18,-127,-129,-130,-141,-142,-148,-149,-98,293,-109,-111,-114,232,300,-163,-66,155,-4,155,155,-53,155,-49,155,-7,311,-13,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-145,-140,-150,-156,-152,-97,-112,-118,-120,-115,-161,-21,-6,-8,-19,-154,-158,-151,-157,-153,-110,-113,-162,-164,155,155,-51,-14,-155,-159,]),'RPAREN':([7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,48,49,50,51,53,54,55,56,57,58,61,79,94,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,117,119,121,122,123,124,125,126,127,128,129,130,131,136,137,154,157,158,159,184,187,188,189,191,192,211,212,213,216,217,218,219,220,223,229,230,231,241,242,243,245,246,247,248,249,254,256,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,291,298,303,307,309,310,312,313,315,316,317,318,319,327,329,330,331,332,333,],[-70,-72,-74,-124,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-132,-125,-71,-73,-75,-123,123,-133,-134,-136,131,-99,-116,-182,-65,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-128,-20,-1,212,-131,213,-138,-144,-139,-143,-135,-137,-126,-106,-108,-183,243,244,-146,258,-11,-12,-16,-17,-18,-127,-129,-130,-141,-142,-148,-149,286,-98,-105,-107,-114,-66,302,-4,-147,-148,286,304,305,-53,-49,-7,310,-13,-9,-10,312,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-145,-140,-150,315,-156,317,318,-152,-97,-115,-21,328,-6,-8,-19,-154,-158,333,-151,-157,-153,335,337,-51,-14,-155,-159,]),'EQUAL':([11,32,39,51,80,96,98,103,105,106,115,117,121,123,131,140,187,188,189,191,192,211,212,213,243,258,261,262,309,310,312,],[-124,-125,64,-123,-1,170,-15,-5,-2,-3,64,-128,-1,-131,-126,233,-11,-12,-16,-17,-18,-127,-129,-130,-4,-7,-9,-10,-6,-8,-19,]),'COLON':([11,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,51,58,61,80,82,94,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,117,118,119,121,123,131,135,136,137,152,187,188,189,191,192,211,212,213,223,227,229,230,231,241,243,254,255,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,291,293,298,303,309,310,312,330,],[-124,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-121,-122,-125,-123,-99,-116,151,153,-65,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-128,-67,-20,-1,-131,-126,228,-106,-108,239,-11,-12,-16,-17,-18,-127,-129,-130,-98,294,-105,-107,-114,-66,-4,-53,308,-49,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-97,228,-115,-21,-6,-8,-19,-51,]),'RBRACE':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,118,119,121,133,134,138,139,140,144,147,148,149,150,154,165,166,167,187,188,189,191,192,222,224,234,235,236,237,238,240,243,252,253,254,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,292,296,297,299,300,301,303,309,310,312,322,323,324,325,326,330,336,338,339,340,],[-68,-178,69,-69,-179,-174,147,149,-180,-165,-166,-167,-168,-169,-170,-182,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-67,-20,-1,223,-102,231,-117,-119,-160,-175,-181,-176,237,-183,-192,-193,-194,-11,-12,-16,-17,-18,291,-103,298,299,-163,-177,-171,-173,-4,-191,-195,-53,-49,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-104,-118,-120,-161,322,-172,-21,-6,-8,-19,-162,-164,-184,-186,-187,-51,-189,-185,-188,-190,]),'CASE':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,81,-69,-179,-174,81,81,-180,-165,-166,-167,-168,-169,-170,-182,81,-175,-181,-176,81,81,81,-183,-192,-193,-194,-177,-171,81,-173,-191,-195,-172,81,81,81,-184,-186,-187,81,81,-189,81,-185,-188,-190,]),'DEFAULT':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,82,-69,-179,-174,82,82,-180,-165,-166,-167,-168,-169,-170,-182,82,-175,-181,-176,82,82,82,-183,-192,-193,-194,-177,-171,82,-173,-191,-195,-172,82,82,82,-184,-186,-187,82,82,-189,82,-185,-188,-190,]),'IF':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,84,-69,-179,-174,84,84,-180,-165,-166,-167,-168,-169,-170,-182,84,-175,-181,-176,84,84,84,-183,-192,-193,-194,-177,-171,84,-173,-191,-195,-172,84,84,84,-184,-186,-187,84,84,-189,84,-185,-188,-190,]),'SWITCH':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,86,-69,-179,-174,86,86,-180,-165,-166,-167,-168,-169,-170,-182,86,-175,-181,-176,86,86,86,-183,-192,-193,-194,-177,-171,86,-173,-191,-195,-172,86,86,86,-184,-186,-187,86,86,-189,86,-185,-188,-190,]),'WHILE':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,162,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,87,-69,-179,-174,87,87,-180,-165,-166,-167,-168,-169,-170,-182,87,-175,-181,-176,87,87,87,-183,250,-192,-193,-194,-177,-171,87,-173,-191,-195,-172,87,87,87,-184,-186,-187,87,87,-189,87,-185,-188,-190,]),'DO':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,88,-69,-179,-174,88,88,-180,-165,-166,-167,-168,-169,-170,-182,88,-175,-181,-176,88,88,88,-183,-192,-193,-194,-177,-171,88,-173,-191,-195,-172,88,88,88,-184,-186,-187,88,88,-189,88,-185,-188,-190,]),'FOR':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,89,-69,-179,-174,89,89,-180,-165,-166,-167,-168,-169,-170,-182,89,-175,-181,-176,89,89,89,-183,-192,-193,-194,-177,-171,89,-173,-191,-195,-172,89,89,89,-184,-186,-187,89,89,-189,89,-185,-188,-190,]),'GOTO':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,90,-69,-179,-174,90,90,-180,-165,-166,-167,-168,-169,-170,-182,90,-175,-181,-176,90,90,90,-183,-192,-193,-194,-177,-171,90,-173,-191,-195,-172,90,90,90,-184,-186,-187,90,90,-189,90,-185,-188,-190,]),'CONTINUE':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,91,-69,-179,-174,91,91,-180,-165,-166,-167,-168,-169,-170,-182,91,-175,-181,-176,91,91,91,-183,-192,-193,-194,-177,-171,91,-173,-191,-195,-172,91,91,91,-184,-186,-187,91,91,-189,91,-185,-188,-190,]),'BREAK':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,92,-69,-179,-174,92,92,-180,-165,-166,-167,-168,-169,-170,-182,92,-175,-181,-176,92,92,92,-183,-192,-193,-194,-177,-171,92,-173,-191,-195,-172,92,92,92,-184,-186,-187,92,92,-189,92,-185,-188,-190,]),'RETURN':([40,45,46,65,68,69,70,71,72,73,74,75,76,77,78,79,88,147,148,149,150,151,153,154,165,166,167,237,238,239,240,252,253,301,302,304,305,324,325,326,328,334,336,337,338,339,340,],[-68,-178,93,-69,-179,-174,93,93,-180,-165,-166,-167,-168,-169,-170,-182,93,-175,-181,-176,93,93,93,-183,-192,-193,-194,-177,-171,93,-173,-191,-195,-172,93,93,93,-184,-186,-187,93,93,-189,93,-185,-188,-190,]),'INC_OP':([40,45,46,52,64,65,68,69,70,71,72,73,74,75,76,77,78,79,80,81,85,88,93,98,99,100,101,103,105,106,120,121,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,187,188,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,237,238,239,240,243,244,251,252,253,258,261,262,284,294,300,301,302,304,305,306,307,308,309,310,311,324,325,326,328,334,336,337,338,339,340,],[-68,-178,99,99,99,-69,-179,-174,99,99,-180,-165,-166,-167,-168,-169,-170,-182,-1,99,99,99,99,187,99,99,99,-5,-2,-3,99,-1,99,-175,-181,-176,99,99,99,-183,99,99,99,99,99,-192,-193,-194,99,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,99,99,99,99,-11,-12,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,-177,-171,99,-173,-4,99,99,-191,-195,-7,-9,-10,99,99,99,-172,99,99,99,99,99,99,-6,-8,99,-184,-186,-187,99,99,-189,99,-185,-188,-190,]),'DEC_OP':([40,45,46,52,64,65,68,69,70,71,72,73,74,75,76,77,78,79,80,81,85,88,93,98,99,100,101,103,105,106,120,121,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,187,188,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,237,238,239,240,243,244,251,252,253,258,261,262,284,294,300,301,302,304,305,306,307,308,309,310,311,324,325,326,328,334,336,337,338,339,340,],[-68,-178,100,100,100,-69,-179,-174,100,100,-180,-165,-166,-167,-168,-169,-170,-182,-1,100,100,100,100,188,100,100,100,-5,-2,-3,100,-1,100,-175,-181,-176,100,100,100,-183,100,100,100,100,100,-192,-193,-194,100,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,100,100,100,100,-11,-12,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,-177,-171,100,-173,-4,100,100,-191,-195,-7,-9,-10,100,100,100,-172,100,100,100,100,100,100,-6,-8,100,-184,-186,-187,100,100,-189,100,-185,-188,-190,]),'SIZEOF':([40,45,46,52,64,65,68,69,70,71,72,73,74,75,76,77,78,79,81,85,88,93,99,100,101,120,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,237,238,239,240,244,251,252,253,284,294,300,301,302,304,305,306,307,308,311,324,325,326,328,334,336,337,338,339,340,],[-68,-178,101,101,101,-69,-179,-174,101,101,-180,-165,-166,-167,-168,-169,-170,-182,101,101,101,101,101,101,101,101,101,-175,-181,-176,101,101,101,-183,101,101,101,101,101,-192,-193,-194,101,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,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,-177,-171,101,-173,101,101,-191,-195,101,101,101,-172,101,101,101,101,101,101,101,-184,-186,-187,101,101,-189,101,-185,-188,-190,]),'CONSTANT':([40,45,46,52,64,65,68,69,70,71,72,73,74,75,76,77,78,79,81,85,88,93,99,100,101,120,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,237,238,239,240,244,251,252,253,284,294,300,301,302,304,305,306,307,308,311,324,325,326,328,334,336,337,338,339,340,],[-68,-178,105,105,105,-69,-179,-174,105,105,-180,-165,-166,-167,-168,-169,-170,-182,105,105,105,105,105,105,105,105,105,-175,-181,-176,105,105,105,-183,105,105,105,105,105,-192,-193,-194,105,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,-177,-171,105,-173,105,105,-191,-195,105,105,105,-172,105,105,105,105,105,105,105,-184,-186,-187,105,105,-189,105,-185,-188,-190,]),'STRING_LITERAL':([40,45,46,52,64,65,68,69,70,71,72,73,74,75,76,77,78,79,81,85,88,93,99,100,101,120,145,147,148,149,150,151,153,154,155,156,160,161,163,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,237,238,239,240,244,251,252,253,284,294,300,301,302,304,305,306,307,308,311,324,325,326,328,334,336,337,338,339,340,],[-68,-178,106,106,106,-69,-179,-174,106,106,-180,-165,-166,-167,-168,-169,-170,-182,106,106,106,106,106,106,106,106,106,-175,-181,-176,106,106,106,-183,106,106,106,106,106,-192,-193,-194,106,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,-177,-171,106,-173,106,106,-191,-195,106,106,106,-172,106,106,106,106,106,106,106,-184,-186,-187,106,106,-189,106,-185,-188,-190,]),'LBRACKET':([52,94,95,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,116,118,119,121,187,188,189,191,192,221,241,243,254,256,257,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,284,290,303,309,310,312,314,330,],[117,-65,-52,-20,-50,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,211,-67,-20,-1,-11,-12,-16,-17,-18,289,-66,-4,-53,-49,309,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,313,319,-21,-6,-8,-19,332,-51,]),'ELSE':([69,73,74,75,76,77,78,79,147,149,154,165,166,167,237,238,240,252,253,301,324,325,326,336,338,339,340,],[-174,-165,-166,-167,-168,-169,-170,-182,-175,-176,-183,-192,-193,-194,-177,-171,-173,-191,-195,-172,334,-186,-187,-189,-185,-188,-190,]),'DOT':([80,98,103,105,106,121,187,188,243,258,261,262,309,310,],[-1,185,-5,-2,-3,-1,-11,-12,-4,-7,-9,-10,-6,-8,]),'PTR_OP':([80,98,103,105,106,121,187,188,243,258,261,262,309,310,],[-1,186,-5,-2,-3,-1,-11,-12,-4,-7,-9,-10,-6,-8,]),'MUL_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,171,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'DIV_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,172,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'MOD_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,173,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'ADD_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,174,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'SUB_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,175,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'LEFT_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,176,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'RIGHT_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,177,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'AND_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,178,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'XOR_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,179,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'OR_ASSIGN':([80,96,98,103,105,106,121,187,188,189,191,192,243,258,261,262,309,310,312,],[-1,180,-15,-5,-2,-3,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,-6,-8,-19,]),'DIVIDE':([80,96,98,103,105,106,113,114,119,121,187,188,189,191,192,243,258,261,262,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,209,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,209,209,-23,-24,-25,-21,-6,-8,-19,]),'MOD':([80,96,98,103,105,106,113,114,119,121,187,188,189,191,192,243,258,261,262,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,210,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,210,210,-23,-24,-25,-21,-6,-8,-19,]),'PLUS':([80,96,98,103,105,106,112,113,114,119,121,187,188,189,191,192,243,258,261,262,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,206,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,206,206,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'MINUS':([80,96,98,103,105,106,112,113,114,119,121,187,188,189,191,192,243,258,261,262,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,207,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,207,207,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'LEFT_OP':([80,96,98,103,105,106,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,204,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,204,204,204,204,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'RIGHT_OP':([80,96,98,103,105,106,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,205,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,205,205,205,205,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'LT':([80,96,98,103,105,106,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,200,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,200,200,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'GT':([80,96,98,103,105,106,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,201,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,201,201,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'LE_OP':([80,96,98,103,105,106,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,202,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,202,202,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'GE_OP':([80,96,98,103,105,106,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,203,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,203,203,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'EQ_OP':([80,96,98,103,105,106,109,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,198,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,198,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'NE_OP':([80,96,98,103,105,106,109,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,199,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,199,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'AND':([80,96,98,103,105,106,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,197,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,197,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'XOR':([80,96,98,103,105,106,107,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,-2,-3,196,-42,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,196,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'OR':([80,96,98,103,104,105,106,107,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,-5,195,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-7,-9,-10,195,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'AND_OP':([80,96,98,102,103,104,105,106,107,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,-15,194,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,194,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'CONDOP':([80,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,181,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-49,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),'OR_OP':([80,96,97,98,102,103,104,105,106,107,108,109,110,111,112,113,114,119,121,187,188,189,191,192,243,256,258,261,262,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,303,309,310,312,],[-1,-20,182,-15,-48,-5,-46,-2,-3,-44,-42,-40,-37,-32,-29,-26,-22,-20,-1,-11,-12,-16,-17,-18,-4,-49,-7,-9,-10,-47,-45,-43,-41,-38,-39,-33,-34,-35,-36,-30,-31,-27,-28,-23,-24,-25,-21,-6,-8,-19,]),}
_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 = {'translation_unit':([0,],[1,]),'external_declaration':([0,1,],[2,38,]),'function_definition':([0,1,],[3,3,]),'declaration':([0,1,6,39,43,46,62,71,],[4,4,45,45,68,45,68,68,]),'declaration_specifiers':([0,1,6,7,8,9,39,43,46,53,62,71,215,220,247,285,],[5,5,47,48,49,50,47,47,47,128,47,47,128,128,128,128,]),'declarator':([0,1,5,33,47,66,128,135,220,293,],[6,6,39,57,115,115,216,227,57,227,]),'storage_class_specifier':([0,1,6,7,8,9,39,43,46,53,62,71,215,220,247,285,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'type_specifier':([0,1,6,7,8,9,39,43,46,53,59,62,71,85,120,132,133,136,137,193,215,220,222,247,285,],[8,8,8,8,8,8,8,8,8,8,136,8,8,136,136,136,136,136,136,136,8,8,136,8,8,]),'type_qualifier':([0,1,6,7,8,9,31,39,43,46,53,54,59,62,71,85,120,132,133,136,137,193,215,220,222,247,285,],[9,9,9,9,9,9,56,9,9,9,9,130,137,9,9,137,137,137,137,137,137,137,9,9,137,9,9,]),'pointer':([0,1,5,31,33,47,54,66,128,135,159,220,247,293,],[10,10,10,55,10,10,129,10,218,10,246,218,246,10,]),'direct_declarator':([0,1,5,10,33,47,66,128,135,218,220,293,],[11,11,11,51,11,11,11,11,11,51,11,11,]),'struct_or_union_specifier':([0,1,6,7,8,9,39,43,46,53,59,62,71,85,120,132,133,136,137,193,215,220,222,247,285,],[26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,]),'enum_specifier':([0,1,6,7,8,9,39,43,46,53,59,62,71,85,120,132,133,136,137,193,215,220,222,247,285,],[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,]),'struct_or_union':([0,1,6,7,8,9,39,43,46,53,59,62,71,85,120,132,133,136,137,193,215,220,222,247,285,],[34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,]),'init_declarator_list':([5,47,],[41,41,]),'init_declarator':([5,47,66,],[42,42,146,]),'declaration_list':([6,39,46,],[43,62,71,]),'compound_statement':([6,39,43,46,62,70,71,88,150,151,153,239,302,304,305,328,334,337,],[44,63,67,74,142,74,74,74,74,74,74,74,74,74,74,74,74,74,]),'type_qualifier_list':([31,],[54,]),'statement_list':([46,71,],[70,150,]),'statement':([46,70,71,88,150,151,153,239,302,304,305,328,334,337,],[72,148,72,162,148,238,240,301,324,325,326,336,338,340,]),'labeled_statement':([46,70,71,88,150,151,153,239,302,304,305,328,334,337,],[73,73,73,73,73,73,73,73,73,73,73,73,73,73,]),'expression_statement':([46,70,71,88,150,151,153,163,239,251,302,304,305,328,334,337,],[75,75,75,75,75,75,75,251,75,307,75,75,75,75,75,75,]),'selection_statement':([46,70,71,88,150,151,153,239,302,304,305,328,334,337,],[76,76,76,76,76,76,76,76,76,76,76,76,76,76,]),'iteration_statement':([46,70,71,88,150,151,153,239,302,304,305,328,334,337,],[77,77,77,77,77,77,77,77,77,77,77,77,77,77,]),'jump_statement':([46,70,71,88,150,151,153,239,302,304,305,328,334,337,],[78,78,78,78,78,78,78,78,78,78,78,78,78,78,]),'expression':([46,70,71,85,88,93,120,150,151,153,156,160,161,163,181,183,190,193,239,251,302,304,305,306,307,328,334,337,],[83,83,83,157,83,168,157,83,83,83,242,248,249,83,255,257,157,157,83,83,83,83,83,327,329,83,83,83,]),'assignment_expression':([46,64,70,71,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,183,184,190,193,239,251,300,302,304,305,306,307,311,328,334,337,],[94,144,94,94,94,94,94,94,144,94,94,94,241,94,94,94,94,254,94,94,260,94,94,94,94,144,94,94,94,94,94,331,94,94,94,]),'conditional_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,183,184,190,193,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[95,118,95,95,95,118,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,118,118,118,95,95,118,118,95,95,95,95,95,95,330,95,95,95,95,]),'unary_expression':([46,52,64,70,71,81,85,88,93,99,100,101,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,239,244,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[96,119,96,96,96,119,96,96,96,189,191,192,96,96,96,96,96,96,96,96,96,96,96,96,119,96,96,96,96,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,96,119,96,119,119,96,96,96,96,96,96,119,96,96,96,96,]),'logical_or_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,183,184,190,193,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[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,]),'postfix_expression':([46,52,64,70,71,81,85,88,93,99,100,101,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,239,244,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[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,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,]),'logical_and_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,256,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,]),'primary_expression':([46,52,64,70,71,81,85,88,93,99,100,101,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,239,244,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,]),'inclusive_or_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,264,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,]),'exclusive_or_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,265,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,]),'and_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,266,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,]),'equality_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,267,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,]),'relational_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,268,269,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,]),'shift_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,270,271,272,273,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,]),'additive_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,274,275,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,]),'multiplicative_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,221,228,233,239,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,276,277,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,]),'cast_expression':([46,52,64,70,71,81,85,88,93,120,145,150,151,153,155,156,160,161,163,169,181,182,183,184,190,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,221,228,233,239,244,251,284,294,300,302,304,305,306,307,308,311,328,334,337,],[114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,278,279,280,114,114,114,114,303,114,114,114,114,114,114,114,114,114,114,114,114,114,114,]),'constant_expression':([52,81,221,228,233,284,294,],[116,152,290,295,297,314,321,]),'parameter_type_list':([53,220,247,285,],[122,288,288,316,]),'identifier_list':([53,],[124,]),'parameter_list':([53,220,247,285,],[125,125,125,125,]),'parameter_declaration':([53,215,220,247,285,],[127,282,127,127,127,]),'struct_declaration_list':([59,132,],[133,222,]),'struct_declaration':([59,132,133,222,],[134,134,224,224,]),'specifier_qualifier_list':([59,85,120,132,133,136,137,193,222,],[135,159,159,135,135,229,230,159,135,]),'enumerator_list':([60,141,],[138,234,]),'enumerator':([60,141,232,],[139,139,296,]),'initializer':([64,145,300,],[143,236,323,]),'type_name':([85,120,193,],[158,158,263,]),'assignment_operator':([96,],[169,]),'abstract_declarator':([128,159,220,247,],[217,245,287,287,]),'direct_abstract_declarator':([128,159,218,220,246,247,],[219,219,283,219,283,219,]),'struct_declarator_list':([135,],[225,]),'struct_declarator':([135,293,],[226,320,]),'initializer_list':([145,],[235,]),'argument_expression_list':([184,],[259,]),}
_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' -> translation_unit","S'",1,None,None,None),
('primary_expression -> IDENTIFIER','primary_expression',1,'p_primary_expression','yacc2.py',83),
('primary_expression -> CONSTANT','primary_expression',1,'p_primary_expression','yacc2.py',84),
('primary_expression -> STRING_LITERAL','primary_expression',1,'p_primary_expression','yacc2.py',85),
('primary_expression -> LPAREN expression RPAREN','primary_expression',3,'p_primary_expression','yacc2.py',86),
('postfix_expression -> primary_expression','postfix_expression',1,'p_postfix_expression','yacc2.py',94),
('postfix_expression -> postfix_expression RBRACKET expression LBRACKET','postfix_expression',4,'p_postfix_expression','yacc2.py',95),
('postfix_expression -> postfix_expression LPAREN RPAREN','postfix_expression',3,'p_postfix_expression','yacc2.py',96),
('postfix_expression -> postfix_expression LPAREN argument_expression_list RPAREN','postfix_expression',4,'p_postfix_expression','yacc2.py',97),
('postfix_expression -> postfix_expression DOT IDENTIFIER','postfix_expression',3,'p_postfix_expression','yacc2.py',98),
('postfix_expression -> postfix_expression PTR_OP IDENTIFIER','postfix_expression',3,'p_postfix_expression','yacc2.py',99),
('postfix_expression -> postfix_expression INC_OP','postfix_expression',2,'p_postfix_expression','yacc2.py',100),
('postfix_expression -> postfix_expression DEC_OP','postfix_expression',2,'p_postfix_expression','yacc2.py',101),
('argument_expression_list -> assignment_expression','argument_expression_list',1,'p_argument_expression_list','yacc2.py',120),
('argument_expression_list -> argument_expression_list COMMA assignment_expression','argument_expression_list',3,'p_argument_expression_list','yacc2.py',121),
('unary_expression -> postfix_expression','unary_expression',1,'p_unary_expression','yacc2.py',129),
('unary_expression -> INC_OP unary_expression','unary_expression',2,'p_unary_expression','yacc2.py',130),
('unary_expression -> DEC_OP unary_expression','unary_expression',2,'p_unary_expression','yacc2.py',131),
('unary_expression -> SIZEOF unary_expression','unary_expression',2,'p_unary_expression','yacc2.py',132),
('unary_expression -> SIZEOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression','yacc2.py',133),
('cast_expression -> unary_expression','cast_expression',1,'p_cast_expression','yacc2.py',158),
('cast_expression -> LPAREN type_name RPAREN cast_expression','cast_expression',4,'p_cast_expression','yacc2.py',159),
('multiplicative_expression -> cast_expression','multiplicative_expression',1,'p_multiplicative_expression','yacc2.py',167),
('multiplicative_expression -> multiplicative_expression TIMES cast_expression','multiplicative_expression',3,'p_multiplicative_expression','yacc2.py',168),
('multiplicative_expression -> multiplicative_expression DIVIDE cast_expression','multiplicative_expression',3,'p_multiplicative_expression','yacc2.py',169),
('multiplicative_expression -> multiplicative_expression MOD cast_expression','multiplicative_expression',3,'p_multiplicative_expression','yacc2.py',170),
('additive_expression -> multiplicative_expression','additive_expression',1,'p_additive_expression','yacc2.py',178),
('additive_expression -> additive_expression PLUS multiplicative_expression','additive_expression',3,'p_additive_expression','yacc2.py',179),
('additive_expression -> additive_expression MINUS multiplicative_expression','additive_expression',3,'p_additive_expression','yacc2.py',180),
('shift_expression -> additive_expression','shift_expression',1,'p_shift_expression','yacc2.py',188),
('shift_expression -> shift_expression LEFT_OP additive_expression','shift_expression',3,'p_shift_expression','yacc2.py',189),
('shift_expression -> shift_expression RIGHT_OP additive_expression','shift_expression',3,'p_shift_expression','yacc2.py',190),
('relational_expression -> shift_expression','relational_expression',1,'p_relational_expression','yacc2.py',198),
('relational_expression -> relational_expression LT shift_expression','relational_expression',3,'p_relational_expression','yacc2.py',199),
('relational_expression -> relational_expression GT shift_expression','relational_expression',3,'p_relational_expression','yacc2.py',200),
('relational_expression -> relational_expression LE_OP shift_expression','relational_expression',3,'p_relational_expression','yacc2.py',201),
('relational_expression -> relational_expression GE_OP shift_expression','relational_expression',3,'p_relational_expression','yacc2.py',202),
('equality_expression -> relational_expression','equality_expression',1,'p_equality_expression','yacc2.py',210),
('equality_expression -> equality_expression EQ_OP relational_expression','equality_expression',3,'p_equality_expression','yacc2.py',211),
('equality_expression -> equality_expression NE_OP relational_expression','equality_expression',3,'p_equality_expression','yacc2.py',212),
('and_expression -> equality_expression','and_expression',1,'p_and_expression','yacc2.py',221),
('and_expression -> and_expression AND equality_expression','and_expression',3,'p_and_expression','yacc2.py',222),
('exclusive_or_expression -> and_expression','exclusive_or_expression',1,'p_exclusive_or_expression','yacc2.py',231),
('exclusive_or_expression -> exclusive_or_expression XOR and_expression','exclusive_or_expression',3,'p_exclusive_or_expression','yacc2.py',232),
('inclusive_or_expression -> exclusive_or_expression','inclusive_or_expression',1,'p_inclusive_or_expression','yacc2.py',241),
('inclusive_or_expression -> inclusive_or_expression OR exclusive_or_expression','inclusive_or_expression',3,'p_inclusive_or_expression','yacc2.py',242),
('logical_and_expression -> inclusive_or_expression','logical_and_expression',1,'p_logical_and_expression','yacc2.py',251),
('logical_and_expression -> logical_and_expression AND_OP inclusive_or_expression','logical_and_expression',3,'p_logical_and_expression','yacc2.py',252),
('logical_or_expression -> logical_and_expression','logical_or_expression',1,'p_logical_or_expression','yacc2.py',261),
('logical_or_expression -> logical_or_expression OR_OP logical_and_expression','logical_or_expression',3,'p_logical_or_expression','yacc2.py',262),
('conditional_expression -> logical_or_expression','conditional_expression',1,'p_conditional_expression','yacc2.py',271),
('conditional_expression -> logical_or_expression CONDOP expression COLON conditional_expression','conditional_expression',5,'p_conditional_expression','yacc2.py',272),
('assignment_expression -> conditional_expression','assignment_expression',1,'p_assignment_expression','yacc2.py',281),
('assignment_expression -> unary_expression assignment_operator assignment_expression','assignment_expression',3,'p_assignment_expression','yacc2.py',282),
('assignment_operator -> EQUAL','assignment_operator',1,'p_assignment_operator','yacc2.py',291),
('assignment_operator -> MUL_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',292),
('assignment_operator -> DIV_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',293),
('assignment_operator -> MOD_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',294),
('assignment_operator -> ADD_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',295),
('assignment_operator -> SUB_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',296),
('assignment_operator -> LEFT_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',297),
('assignment_operator -> RIGHT_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',298),
('assignment_operator -> AND_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',299),
('assignment_operator -> XOR_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',300),
('assignment_operator -> OR_ASSIGN','assignment_operator',1,'p_assignment_operator','yacc2.py',301),
('expression -> assignment_expression','expression',1,'p_expression','yacc2.py',307),
('expression -> expression COMMA assignment_expression','expression',3,'p_expression','yacc2.py',308),
('constant_expression -> conditional_expression','constant_expression',1,'p_constant_expression','yacc2.py',317),
('declaration -> declaration_specifiers SEMICOLON','declaration',2,'p_declaration','yacc2.py',323),
('declaration -> declaration_specifiers init_declarator_list SEMICOLON','declaration',3,'p_declaration','yacc2.py',324),
('declaration_specifiers -> storage_class_specifier','declaration_specifiers',1,'p_declaration_specifiers','yacc2.py',339),
('declaration_specifiers -> storage_class_specifier declaration_specifiers','declaration_specifiers',2,'p_declaration_specifiers','yacc2.py',340),
('declaration_specifiers -> type_specifier','declaration_specifiers',1,'p_declaration_specifiers','yacc2.py',341),
('declaration_specifiers -> type_specifier declaration_specifiers','declaration_specifiers',2,'p_declaration_specifiers','yacc2.py',342),
('declaration_specifiers -> type_qualifier','declaration_specifiers',1,'p_declaration_specifiers','yacc2.py',343),
('declaration_specifiers -> type_qualifier declaration_specifiers','declaration_specifiers',2,'p_declaration_specifiers','yacc2.py',344),
('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list','yacc2.py',353),
('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list','yacc2.py',354),
('init_declarator -> declarator','init_declarator',1,'p_init_declarator','yacc2.py',363),
('init_declarator -> declarator EQUAL initializer','init_declarator',3,'p_init_declarator','yacc2.py',364),
('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','yacc2.py',369),
('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','yacc2.py',370),
('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','yacc2.py',371),
('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','yacc2.py',372),
('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','yacc2.py',373),
('type_specifier -> VOID','type_specifier',1,'p_type_specifier','yacc2.py',378),
('type_specifier -> CHAR','type_specifier',1,'p_type_specifier','yacc2.py',379),
('type_specifier -> SHORT','type_specifier',1,'p_type_specifier','yacc2.py',380),
('type_specifier -> INT','type_specifier',1,'p_type_specifier','yacc2.py',381),
('type_specifier -> LONG','type_specifier',1,'p_type_specifier','yacc2.py',382),
('type_specifier -> FLOAT','type_specifier',1,'p_type_specifier','yacc2.py',383),
('type_specifier -> DOUBLE','type_specifier',1,'p_type_specifier','yacc2.py',384),
('type_specifier -> SIGNED','type_specifier',1,'p_type_specifier','yacc2.py',385),
('type_specifier -> UNSIGNED','type_specifier',1,'p_type_specifier','yacc2.py',386),
('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier','yacc2.py',387),
('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier','yacc2.py',388),
('type_specifier -> TYPE_NAME','type_specifier',1,'p_type_specifier','yacc2.py',389),
('struct_or_union_specifier -> struct_or_union IDENTIFIER LBRACE struct_declaration_list RBRACE','struct_or_union_specifier',5,'p_struct_or_union_specifier','yacc2.py',394),
('struct_or_union_specifier -> struct_or_union LBRACE struct_declaration_list RBRACE','struct_or_union_specifier',4,'p_struct_or_union_specifier','yacc2.py',395),
('struct_or_union_specifier -> struct_or_union IDENTIFIER','struct_or_union_specifier',2,'p_struct_or_union_specifier','yacc2.py',396),
('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','yacc2.py',401),
('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','yacc2.py',402),
('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','yacc2.py',407),
('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','yacc2.py',408),
('struct_declaration -> specifier_qualifier_list struct_declarator_list SEMICOLON','struct_declaration',3,'p_struct_declaration','yacc2.py',413),
('specifier_qualifier_list -> type_specifier specifier_qualifier_list','specifier_qualifier_list',2,'p_specifier_qualifier_list','yacc2.py',418),
('specifier_qualifier_list -> type_specifier','specifier_qualifier_list',1,'p_specifier_qualifier_list','yacc2.py',419),
('specifier_qualifier_list -> type_qualifier specifier_qualifier_list','specifier_qualifier_list',2,'p_specifier_qualifier_list','yacc2.py',420),
('specifier_qualifier_list -> type_qualifier','specifier_qualifier_list',1,'p_specifier_qualifier_list','yacc2.py',421),
('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','yacc2.py',426),
('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','yacc2.py',427),
('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator','yacc2.py',432),
('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator','yacc2.py',433),
('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator','yacc2.py',434),
('enum_specifier -> ENUM LBRACE enumerator_list RBRACE','enum_specifier',4,'p_enum_specifier','yacc2.py',439),
('enum_specifier -> ENUM IDENTIFIER LBRACE enumerator_list RBRACE','enum_specifier',5,'p_enum_specifier','yacc2.py',440),
('enum_specifier -> ENUM IDENTIFIER','enum_specifier',2,'p_enum_specifier','yacc2.py',441),
('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','yacc2.py',446),
('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','yacc2.py',447),
('enumerator -> IDENTIFIER','enumerator',1,'p_enumerator','yacc2.py',452),
('enumerator -> IDENTIFIER EQUAL constant_expression','enumerator',3,'p_enumerator','yacc2.py',453),
('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','yacc2.py',458),
('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','yacc2.py',459),
('declarator -> pointer direct_declarator','declarator',2,'p_declarator','yacc2.py',464),
('declarator -> direct_declarator','declarator',1,'p_declarator','yacc2.py',465),
('direct_declarator -> IDENTIFIER','direct_declarator',1,'p_direct_declarator','yacc2.py',470),
('direct_declarator -> LPAREN declarator RPAREN','direct_declarator',3,'p_direct_declarator','yacc2.py',471),
('direct_declarator -> direct_declarator RBRACKET constant_expression LBRACKET','direct_declarator',4,'p_direct_declarator','yacc2.py',472),
('direct_declarator -> direct_declarator RBRACKET LBRACKET','direct_declarator',3,'p_direct_declarator','yacc2.py',473),
('direct_declarator -> direct_declarator LPAREN parameter_type_list RPAREN','direct_declarator',4,'p_direct_declarator','yacc2.py',474),
('direct_declarator -> direct_declarator LPAREN identifier_list RPAREN','direct_declarator',4,'p_direct_declarator','yacc2.py',475),
('direct_declarator -> direct_declarator LPAREN RPAREN','direct_declarator',3,'p_direct_declarator','yacc2.py',476),
('pointer -> TIMES','pointer',1,'p_pointer','yacc2.py',481),
('pointer -> TIMES type_qualifier_list','pointer',2,'p_pointer','yacc2.py',482),
('pointer -> TIMES pointer','pointer',2,'p_pointer','yacc2.py',483),
('pointer -> TIMES type_qualifier_list pointer','pointer',3,'p_pointer','yacc2.py',484),
('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','yacc2.py',489),
('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','yacc2.py',490),
('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','yacc2.py',495),
('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','yacc2.py',500),
('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','yacc2.py',501),
('parameter_declaration -> declaration_specifiers declarator','parameter_declaration',2,'p_parameter_declaration','yacc2.py',506),
('parameter_declaration -> declaration_specifiers abstract_declarator','parameter_declaration',2,'p_parameter_declaration','yacc2.py',507),
('parameter_declaration -> declaration_specifiers','parameter_declaration',1,'p_parameter_declaration','yacc2.py',508),
('identifier_list -> IDENTIFIER','identifier_list',1,'p_identifier_list','yacc2.py',513),
('identifier_list -> identifier_list COMMA IDENTIFIER','identifier_list',3,'p_identifier_list','yacc2.py',514),
('type_name -> specifier_qualifier_list','type_name',1,'p_type_name','yacc2.py',519),
('type_name -> specifier_qualifier_list abstract_declarator','type_name',2,'p_type_name','yacc2.py',520),
('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator','yacc2.py',525),
('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator','yacc2.py',526),
('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator','yacc2.py',527),
('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator','yacc2.py',532),
('direct_abstract_declarator -> RBRACKET LBRACKET','direct_abstract_declarator',2,'p_direct_abstract_declarator','yacc2.py',533),
('direct_abstract_declarator -> RBRACKET constant_expression LBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator','yacc2.py',534),
('direct_abstract_declarator -> direct_abstract_declarator RBRACKET LBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator','yacc2.py',535),
('direct_abstract_declarator -> direct_abstract_declarator RBRACKET constant_expression LBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator','yacc2.py',536),
('direct_abstract_declarator -> LPAREN RPAREN','direct_abstract_declarator',2,'p_direct_abstract_declarator','yacc2.py',537),
('direct_abstract_declarator -> LPAREN parameter_type_list RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator','yacc2.py',538),
('direct_abstract_declarator -> direct_abstract_declarator LPAREN RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator','yacc2.py',539),
('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator','yacc2.py',540),
('initializer -> assignment_expression','initializer',1,'p_initializer','yacc2.py',545),
('initializer -> LBRACE initializer_list RBRACE','initializer',3,'p_initializer','yacc2.py',546),
('initializer -> LBRACE initializer_list COMMA RBRACE','initializer',4,'p_initializer','yacc2.py',547),
('initializer_list -> initializer','initializer_list',1,'p_initializer_list','yacc2.py',552),
('initializer_list -> initializer_list COMMA initializer','initializer_list',3,'p_initializer_list','yacc2.py',553),
('statement -> labeled_statement','statement',1,'p_statement','yacc2.py',558),
('statement -> compound_statement','statement',1,'p_statement','yacc2.py',559),
('statement -> expression_statement','statement',1,'p_statement','yacc2.py',560),
('statement -> selection_statement','statement',1,'p_statement','yacc2.py',561),
('statement -> iteration_statement','statement',1,'p_statement','yacc2.py',562),
('statement -> jump_statement','statement',1,'p_statement','yacc2.py',563),
('labeled_statement -> IDENTIFIER COLON statement','labeled_statement',3,'p_labeled_statement','yacc2.py',568),
('labeled_statement -> CASE constant_expression COLON statement','labeled_statement',4,'p_labeled_statement','yacc2.py',569),
('labeled_statement -> DEFAULT COLON statement','labeled_statement',3,'p_labeled_statement','yacc2.py',570),
('compound_statement -> LBRACE RBRACE','compound_statement',2,'p_compound_statement','yacc2.py',575),
('compound_statement -> LBRACE statement_list RBRACE','compound_statement',3,'p_compound_statement','yacc2.py',576),
('compound_statement -> LBRACE declaration_list RBRACE','compound_statement',3,'p_compound_statement','yacc2.py',577),
('compound_statement -> LBRACE declaration_list statement_list RBRACE','compound_statement',4,'p_compound_statement','yacc2.py',578),
('declaration_list -> declaration','declaration_list',1,'p_declaration_list','yacc2.py',583),
('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','yacc2.py',584),
('statement_list -> statement','statement_list',1,'p_statement_list','yacc2.py',589),
('statement_list -> statement_list statement','statement_list',2,'p_statement_list','yacc2.py',590),
('expression_statement -> SEMICOLON','expression_statement',1,'p_expression_statement','yacc2.py',595),
('expression_statement -> expression SEMICOLON','expression_statement',2,'p_expression_statement','yacc2.py',596),
('selection_statement -> IF LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement','yacc2.py',601),
('selection_statement -> IF LPAREN expression RPAREN statement ELSE statement','selection_statement',7,'p_selection_statement','yacc2.py',602),
('selection_statement -> SWITCH LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement','yacc2.py',603),
('iteration_statement -> WHILE LPAREN expression RPAREN statement','iteration_statement',5,'p_iteration_statement','yacc2.py',608),
('iteration_statement -> DO statement WHILE LPAREN expression RPAREN SEMICOLON','iteration_statement',7,'p_iteration_statement','yacc2.py',609),
('iteration_statement -> FOR LPAREN expression_statement expression_statement RPAREN statement','iteration_statement',6,'p_iteration_statement','yacc2.py',610),
('iteration_statement -> FOR LPAREN expression_statement expression_statement expression RPAREN statement','iteration_statement',7,'p_iteration_statement','yacc2.py',611),
('jump_statement -> GOTO IDENTIFIER SEMICOLON','jump_statement',3,'p_jump_statement','yacc2.py',616),
('jump_statement -> CONTINUE SEMICOLON','jump_statement',2,'p_jump_statement','yacc2.py',617),
('jump_statement -> BREAK SEMICOLON','jump_statement',2,'p_jump_statement','yacc2.py',618),
('jump_statement -> RETURN SEMICOLON','jump_statement',2,'p_jump_statement','yacc2.py',619),
('jump_statement -> RETURN expression SEMICOLON','jump_statement',3,'p_jump_statement','yacc2.py',620),
('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit','yacc2.py',625),
('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit','yacc2.py',626),
('external_declaration -> function_definition','external_declaration',1,'p_external_declaration','yacc2.py',632),
('external_declaration -> declaration','external_declaration',1,'p_external_declaration','yacc2.py',633),
('function_definition -> declaration_specifiers declarator declaration_list compound_statement','function_definition',4,'p_function_definition','yacc2.py',638),
('function_definition -> declaration_specifiers declarator compound_statement','function_definition',3,'p_function_definition','yacc2.py',639),
('function_definition -> declarator declaration_list compound_statement','function_definition',3,'p_function_definition','yacc2.py',640),
('function_definition -> declarator compound_statement','function_definition',2,'p_function_definition','yacc2.py',641),
]