-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathparsetab.py
200 lines (193 loc) · 73.6 KB
/
parsetab.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'leftORleftANDleftBITORleftXORleftBITANDleftEQNEleftLTLEGTGEleftLSHIFTRSHIFTleftPLUSMINUSleftTIMESDIVIDEMODrightUNARYAND ANDEQUAL ARROW BITAND BITNOT BITOR BREAK CLOSURE COLON COLOR COMMA CONDOP CONTINUE DISPLACEMENT DIVEQUAL DIVIDE DO ELSE EMIT EQ EQUALS FCONST FLOAT FOR GE GT ICONST ID IF ILLUMINANCE ILLUMINATE INT LBRACE LBRACKET LE LPAREN LSHIFT LSHIFTEQUAL LT MATRIX METABEGIN MINUS MINUSEQUAL MINUSMINUS MOD MODEQUAL NE NORMAL NOT OR OREQUAL OUTPUT PERIOD PLUS PLUSEQUAL PLUSPLUS POINT PUBLIC RBRACE RBRACKET RETURN RPAREN RSHIFT RSHIFTEQUAL SCONST SEMI SHADER STRING STRUCT SURFACE TIMES TIMESEQUAL VECTOR VOID VOLUME WHILE XOR XOREQUALshader-file : shader-file global-declaration\n | global-declarationglobal-declaration : function-declaration\n | struct-declaration\n | shader-declarationshader-declaration : shadertype identifier metadata-block-opt LPAREN shader-formal-params RPAREN LBRACE statement-list RBRACEshadertype : DISPLACEMENT\n | SHADER\n | SURFACE\n | VOLUMEshader-formal-params : shader-formal-params COMMA shader-formal-param\n | shader-formal-paramshader-formal-param : outputspec typespec identifier initializer metadata-block-opt\n | outputspec typespec identifier arrayspec initializer-list metadata-block-opt\n | emptymetadata-block-opt : metadata-block\n | emptymetadata-block : METABEGIN metadata-list RBRACKET RBRACKETmetadata-list : metadata-list COMMA metadata\n | metadatametadata : simple-typename identifier initializer\n | emptyfunction-declaration : typespec identifier LPAREN function-formal-params-opt RPAREN LBRACE statement-list RBRACEfunction-formal-params-opt : function-formal-params\n | emptyfunction-formal-params : function-formal-params COMMA function-formal-param\n | function-formal-paramfunction-formal-param : outputspec typespec identifier arrayspec\n | outputspec typespec identifieroutputspec : OUTPUT\n | emptystruct-declaration : STRUCT identifier LBRACE field-declarations RBRACE SEMIfield-declarations : field-declarations field-declaration\n | field-declarationfield-declaration : typespec typed-field-list SEMItyped-field-list : typed-field-list COMMA typed-field\n | typed-fieldtyped-field : identifier arrayspec-optlocal-declaration : function-declaration\n | variable-declarationarrayspec-opt : arrayspec\n | emptyarrayspec : LBRACKET integer RBRACKET\n | LBRACKET RBRACKETvariable-declaration : typespec def-expressions SEMIdef-expressions : def-expressions COMMA def-expression\n | def-expressiondef-expression : identifier initializer-opt\n | identifier arrayspec initializer-list-optinitializer-opt : initializer\n | emptyinitializer : EQUALS expressioninitializer-list-opt : initializer-list\n | emptyinitializer-list : EQUALS compound-initializercompound-initializer : LBRACE init-expression-list RBRACEinit-expression-list : init-expression-list COMMA init-expression\n | init-expressioninit-expression : expression\n | compound-initializertypespec : simple-typename\n | CLOSURE simple-typename\n | identifiersimple-typename : COLOR\n | FLOAT\n | INT\n | MATRIX\n | NORMAL\n | POINT\n | STRING\n | VECTOR\n | VOIDstatement-list-opt : statement-list\n | emptystatement-list : statement-list statement\n | statementstatement : compound-expression-opt SEMI\n | scoped-statements\n | local-declaration\n | conditional-statement\n | loop-statement\n | loopmod-statement\n | return-statementscoped-statements : LBRACE statement-list-opt RBRACEconditional-statement : IF LPAREN compound-expression RPAREN statement\n | IF LPAREN compound-expression RPAREN statement ELSE statementloop-statement : WHILE LPAREN compound-expression RPAREN statement\n | DO statement WHILE LPAREN compound-expression RPAREN SEMI\n | FOR LPAREN for-init-statement compound-expression-opt SEMI compound-expression-opt RPAREN statementfor-init-statement : expression-opt SEMI\n | variable-declarationloopmod-statement : BREAK SEMI\n | CONTINUE SEMIreturn-statement : RETURN expression-opt SEMIexpression-list : expression-list COMMA expression\n | expressionexpression-opt : expression\n | emptyexpression : number\n | stringliteral\n | type-constructor\n | incdec-op variable-ref\n | variable-ref incdec-op\n | unary-op expression %prec UNARY\n | LPAREN compound-expression RPAREN\n | binary-op\n | function-call\n | assign-expression\n | ternary-expression\n | typecast-expression\n | variable-ref\n | compound-initializercompound-expression-opt : compound-expression\n | emptycompound-expression : compound-expression COMMA expression\n | expressionvariable-lvalue : identifier\n | variable-lvalue LBRACKET expression RBRACKET\n | variable-lvalue PERIOD identifiervariable-ref : variable-lvaluebinary-op : expression TIMES expression\n | expression DIVIDE expression\n | expression MOD expression\n | expression PLUS expression\n | expression MINUS expression\n | expression LSHIFT expression\n | expression RSHIFT expression\n | expression LT expression\n | expression LE expression\n | expression GT expression\n | expression GE expression\n | expression EQ expression\n | expression NE expression\n | expression BITAND expression\n | expression XOR expression\n | expression BITOR expression\n | expression AND expression\n | expression OR expressionunary-op : MINUS\n | PLUS\n | BITNOT\n | NOTincdec-op : PLUSPLUS\n | MINUSMINUStype-constructor : typespec LPAREN expression-list RPARENfunction-call : identifier LPAREN function-args-opt RPARENfunction-args-opt : function-args\n | emptyfunction-args : function-args COMMA expression\n | expressionassign-expression : variable-lvalue assign-op expressionassign-op : EQUALS\n | TIMESEQUAL\n | DIVEQUAL\n | PLUSEQUAL\n | MINUSEQUAL\n | ANDEQUAL\n | OREQUAL\n | XOREQUAL\n | LSHIFTEQUAL\n | RSHIFTEQUALternary-expression : expression CONDOP expression COLON expressiontypecast-expression : LPAREN simple-typename RPAREN expressioninteger : ICONSTfloating-point : FCONSTnumber : integer\n | floating-pointstringliteral : SCONSTidentifier : IDempty : '
_lr_action_items = {'STRUCT':([0,1,2,3,4,5,26,70,160,263,],[8,8,-2,-3,-4,-5,-1,-32,-23,-6,]),'CLOSURE':([0,1,2,3,4,5,26,31,32,39,41,42,43,44,46,52,55,61,62,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[11,11,-2,-3,-4,-5,-1,-170,11,-31,11,-30,11,-34,-170,-170,-33,11,-31,11,-31,-32,-35,-170,11,11,11,11,-76,-78,-79,-80,-81,-82,-83,-39,-40,11,11,11,-139,-140,-141,-142,11,11,11,11,11,11,-23,-75,-77,11,11,11,11,-92,-93,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,11,-45,11,-84,11,11,-91,-94,-6,11,11,11,11,11,-90,11,-85,-87,11,11,-86,-88,11,-89,]),'DISPLACEMENT':([0,1,2,3,4,5,26,70,160,263,],[12,12,-2,-3,-4,-5,-1,-32,-23,-6,]),'SHADER':([0,1,2,3,4,5,26,70,160,263,],[13,13,-2,-3,-4,-5,-1,-32,-23,-6,]),'SURFACE':([0,1,2,3,4,5,26,70,160,263,],[14,14,-2,-3,-4,-5,-1,-32,-23,-6,]),'VOLUME':([0,1,2,3,4,5,26,70,160,263,],[15,15,-2,-3,-4,-5,-1,-32,-23,-6,]),'COLOR':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[16,16,-2,-3,-4,-5,16,-1,-170,16,16,-31,16,-30,16,-34,-170,-170,-33,16,-31,16,16,-31,-32,-35,-170,16,16,16,16,-76,-78,-79,-80,-81,-82,-83,-39,-40,16,16,16,-139,-140,-141,-142,16,16,16,16,16,16,-23,-75,-77,16,16,16,16,-92,-93,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,16,-45,16,-84,16,16,-91,-94,-6,16,16,16,16,16,-90,16,-85,-87,16,16,-86,-88,16,-89,]),'FLOAT':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[17,17,-2,-3,-4,-5,17,-1,-170,17,17,-31,17,-30,17,-34,-170,-170,-33,17,-31,17,17,-31,-32,-35,-170,17,17,17,17,-76,-78,-79,-80,-81,-82,-83,-39,-40,17,17,17,-139,-140,-141,-142,17,17,17,17,17,17,-23,-75,-77,17,17,17,17,-92,-93,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,17,-45,17,-84,17,17,-91,-94,-6,17,17,17,17,17,-90,17,-85,-87,17,17,-86,-88,17,-89,]),'INT':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[18,18,-2,-3,-4,-5,18,-1,-170,18,18,-31,18,-30,18,-34,-170,-170,-33,18,-31,18,18,-31,-32,-35,-170,18,18,18,18,-76,-78,-79,-80,-81,-82,-83,-39,-40,18,18,18,-139,-140,-141,-142,18,18,18,18,18,18,-23,-75,-77,18,18,18,18,-92,-93,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,18,-45,18,-84,18,18,-91,-94,-6,18,18,18,18,18,-90,18,-85,-87,18,18,-86,-88,18,-89,]),'MATRIX':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[19,19,-2,-3,-4,-5,19,-1,-170,19,19,-31,19,-30,19,-34,-170,-170,-33,19,-31,19,19,-31,-32,-35,-170,19,19,19,19,-76,-78,-79,-80,-81,-82,-83,-39,-40,19,19,19,-139,-140,-141,-142,19,19,19,19,19,19,-23,-75,-77,19,19,19,19,-92,-93,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,19,-45,19,-84,19,19,-91,-94,-6,19,19,19,19,19,-90,19,-85,-87,19,19,-86,-88,19,-89,]),'NORMAL':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[20,20,-2,-3,-4,-5,20,-1,-170,20,20,-31,20,-30,20,-34,-170,-170,-33,20,-31,20,20,-31,-32,-35,-170,20,20,20,20,-76,-78,-79,-80,-81,-82,-83,-39,-40,20,20,20,-139,-140,-141,-142,20,20,20,20,20,20,-23,-75,-77,20,20,20,20,-92,-93,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,20,-45,20,-84,20,20,-91,-94,-6,20,20,20,20,20,-90,20,-85,-87,20,20,-86,-88,20,-89,]),'POINT':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[21,21,-2,-3,-4,-5,21,-1,-170,21,21,-31,21,-30,21,-34,-170,-170,-33,21,-31,21,21,-31,-32,-35,-170,21,21,21,21,-76,-78,-79,-80,-81,-82,-83,-39,-40,21,21,21,-139,-140,-141,-142,21,21,21,21,21,21,-23,-75,-77,21,21,21,21,-92,-93,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,21,-45,21,-84,21,21,-91,-94,-6,21,21,21,21,21,-90,21,-85,-87,21,21,-86,-88,21,-89,]),'STRING':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[22,22,-2,-3,-4,-5,22,-1,-170,22,22,-31,22,-30,22,-34,-170,-170,-33,22,-31,22,22,-31,-32,-35,-170,22,22,22,22,-76,-78,-79,-80,-81,-82,-83,-39,-40,22,22,22,-139,-140,-141,-142,22,22,22,22,22,22,-23,-75,-77,22,22,22,22,-92,-93,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,22,-45,22,-84,22,22,-91,-94,-6,22,22,22,22,22,-90,22,-85,-87,22,22,-86,-88,22,-89,]),'VECTOR':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[23,23,-2,-3,-4,-5,23,-1,-170,23,23,-31,23,-30,23,-34,-170,-170,-33,23,-31,23,23,-31,-32,-35,-170,23,23,23,23,-76,-78,-79,-80,-81,-82,-83,-39,-40,23,23,23,-139,-140,-141,-142,23,23,23,23,23,23,-23,-75,-77,23,23,23,23,-92,-93,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,23,-45,23,-84,23,23,-91,-94,-6,23,23,23,23,23,-90,23,-85,-87,23,23,-86,-88,23,-89,]),'VOID':([0,1,2,3,4,5,11,26,31,32,36,39,41,42,43,44,46,52,55,61,62,64,66,68,70,71,78,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[24,24,-2,-3,-4,-5,24,-1,-170,24,24,-31,24,-30,24,-34,-170,-170,-33,24,-31,24,24,-31,-32,-35,-170,24,24,24,24,-76,-78,-79,-80,-81,-82,-83,-39,-40,24,24,24,-139,-140,-141,-142,24,24,24,24,24,24,-23,-75,-77,24,24,24,24,-92,-93,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,24,-45,24,-84,24,24,-91,-94,-6,24,24,24,24,24,-90,24,-85,-87,24,24,-86,-88,24,-89,]),'ID':([0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,30,31,32,39,41,42,43,44,45,46,49,52,53,55,61,62,66,68,70,71,72,78,79,83,84,85,86,87,88,89,91,92,93,94,95,96,99,100,103,107,112,114,124,125,127,128,129,130,137,142,143,145,148,151,154,159,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,199,200,201,202,203,204,205,206,207,208,209,211,221,222,228,229,231,236,238,239,240,263,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[25,25,-2,-3,-4,-5,25,-63,25,25,-61,-7,-8,-9,-10,-64,-65,-66,-67,-68,-69,-70,-71,-72,-169,-1,-62,-170,25,-31,25,-30,25,-34,25,-170,25,-170,25,-33,25,-31,25,-31,-32,-35,25,-170,25,25,25,-63,25,25,25,-76,-78,-79,-80,-81,-82,-83,-39,-40,25,25,25,25,-143,-144,-139,-140,-141,-142,25,-63,25,25,25,25,25,25,-23,-75,-77,25,25,25,25,-92,-93,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,25,-45,25,25,-84,25,25,-91,25,-94,-6,25,25,25,25,25,-90,25,-85,-87,25,25,-86,-88,25,-89,]),'$end':([1,2,3,4,5,26,70,160,263,],[0,-2,-3,-4,-5,-1,-32,-23,-6,]),'LPAREN':([10,16,17,18,19,20,21,22,23,24,25,27,29,30,33,34,35,66,80,83,84,85,86,87,88,89,91,92,93,94,95,96,99,100,101,102,103,104,107,114,127,128,129,130,137,141,142,143,144,145,148,150,151,154,159,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,235,236,238,239,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[-61,-64,-65,-66,-67,-68,-69,-70,-71,-72,-169,31,-170,-62,46,-16,-17,86,-18,86,145,148,86,86,86,-76,-78,-79,-80,-81,-82,-83,-39,-40,164,165,86,167,86,86,-139,-140,-141,-142,86,145,148,86,31,86,86,-61,86,86,145,-23,-75,-77,86,86,86,86,-92,-93,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,86,-45,86,-84,86,280,86,-91,145,-94,86,86,86,86,86,-90,86,-85,-87,86,86,-86,-88,86,-89,]),'RPAREN':([16,17,18,19,20,21,22,23,24,25,31,34,35,37,38,39,40,46,59,60,62,67,69,78,80,97,98,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,133,136,138,140,142,148,149,150,192,193,194,195,196,210,212,219,220,223,224,225,226,227,230,232,233,234,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,262,264,265,270,274,276,284,285,286,287,288,291,292,293,296,],[-64,-65,-66,-67,-68,-69,-70,-71,-72,-169,-170,-16,-17,51,-24,-25,-27,-170,77,-12,-15,-26,-29,-170,-18,-113,-114,-116,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-28,-44,-11,-52,-117,-170,227,228,-102,-120,-117,-103,-104,-43,-170,270,-96,274,-147,-148,-150,-105,-56,-115,278,279,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,-119,-13,-170,-145,-146,-163,-118,-14,-55,-95,-149,295,-170,-162,299,]),'LBRACE':([25,28,51,66,77,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,266,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[-169,32,66,87,137,143,143,151,87,-76,-78,-79,-80,-81,-82,-83,-39,-40,87,143,143,-139,-140,-141,-142,87,143,143,143,151,87,-23,-75,-77,143,143,143,143,-92,-93,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,87,-45,143,-84,143,143,-91,-94,143,143,143,87,87,143,-90,143,-85,-87,143,87,-86,-88,87,-89,]),'METABEGIN':([25,29,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,192,193,194,195,196,212,227,230,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,262,265,270,274,276,284,286,293,],[-169,36,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-52,-117,-102,-120,-117,-103,-104,36,-105,-56,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,-119,36,-145,-146,-163,-118,-55,-162,]),'LBRACKET':([25,58,69,85,126,139,142,144,193,194,262,273,284,],[-169,76,76,-117,198,76,-117,76,198,-117,-119,76,-118,]),'SEMI':([25,54,56,57,58,66,73,74,75,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,103,105,106,107,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,134,136,137,140,142,144,146,147,151,154,155,157,158,160,161,162,167,168,169,170,171,172,192,193,194,195,196,210,211,215,216,217,218,221,227,229,230,232,236,237,238,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,262,267,268,269,270,272,273,274,276,278,279,281,282,284,286,289,290,293,294,295,297,298,299,300,],[-169,70,71,-37,-170,-170,-38,-41,-42,-117,-170,-170,-76,162,-78,-79,-80,-81,-82,-83,-113,-114,-39,-40,-170,168,169,-170,-116,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-36,-44,-170,-52,-117,-170,221,-47,-170,-170,-114,-116,-112,-23,-75,-77,-170,-92,-93,240,-97,-98,-102,-120,-117,-103,-104,-43,-170,-48,-170,-50,-51,-45,-105,-84,-56,-115,-170,282,-91,-94,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,-119,-49,-53,-54,-145,-46,-170,-146,-163,-170,-170,292,-90,-118,-55,-85,-87,-162,-170,298,-86,-88,-170,-89,]),'COMMA':([25,34,35,36,38,40,46,47,48,50,56,57,58,59,60,62,64,67,69,73,74,75,78,80,81,82,85,97,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,133,134,136,138,140,142,144,146,147,149,153,156,157,158,192,193,194,195,196,210,212,214,215,216,217,218,219,220,224,226,227,230,232,233,234,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,262,264,265,267,268,269,270,272,273,274,276,277,284,285,286,287,288,291,293,],[-169,-16,-17,-170,52,-27,-170,64,-20,-22,72,-37,-170,78,-12,-15,-170,-26,-29,-38,-41,-42,-170,-18,-19,-21,-117,163,-116,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-28,-36,-44,-11,-52,-117,-170,222,-47,163,231,-58,-59,-60,-102,-120,-117,-103,-104,-43,-170,-59,-48,-170,-50,-51,271,-96,275,-150,-105,-56,-115,163,163,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,-119,-13,-170,-49,-53,-54,-145,-46,-170,-146,-163,-57,-118,-14,-55,-95,-149,163,-162,]),'EQUALS':([25,65,85,126,136,139,142,144,210,213,216,262,273,284,],[-169,83,-117,200,-44,83,-117,83,-43,266,266,-119,83,-118,]),'PERIOD':([25,85,126,142,193,194,262,284,],[-169,-117,199,-117,199,-117,-119,-118,]),'TIMESEQUAL':([25,85,126,142,262,284,],[-169,-117,201,-117,-119,-118,]),'DIVEQUAL':([25,85,126,142,262,284,],[-169,-117,202,-117,-119,-118,]),'PLUSEQUAL':([25,85,126,142,262,284,],[-169,-117,203,-117,-119,-118,]),'MINUSEQUAL':([25,85,126,142,262,284,],[-169,-117,204,-117,-119,-118,]),'ANDEQUAL':([25,85,126,142,262,284,],[-169,-117,205,-117,-119,-118,]),'OREQUAL':([25,85,126,142,262,284,],[-169,-117,206,-117,-119,-118,]),'XOREQUAL':([25,85,126,142,262,284,],[-169,-117,207,-117,-119,-118,]),'LSHIFTEQUAL':([25,85,126,142,262,284,],[-169,-117,208,-117,-119,-118,]),'RSHIFTEQUAL':([25,85,126,142,262,284,],[-169,-117,209,-117,-119,-118,]),'PLUSPLUS':([25,66,83,85,86,87,88,89,91,92,93,94,95,96,99,100,103,107,113,114,126,127,128,129,130,137,142,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,262,271,275,278,279,280,282,283,284,289,290,292,294,297,298,299,300,],[-169,124,124,-117,124,124,124,-76,-78,-79,-80,-81,-82,-83,-39,-40,124,124,124,124,-120,-139,-140,-141,-142,124,-117,124,124,124,124,124,-23,-75,-77,124,124,124,124,-92,-93,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,124,-45,124,-84,124,124,-91,-94,-119,124,124,124,124,124,-90,124,-118,-85,-87,124,124,-86,-88,124,-89,]),'MINUSMINUS':([25,66,83,85,86,87,88,89,91,92,93,94,95,96,99,100,103,107,113,114,126,127,128,129,130,137,142,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,262,271,275,278,279,280,282,283,284,289,290,292,294,297,298,299,300,],[-169,125,125,-117,125,125,125,-76,-78,-79,-80,-81,-82,-83,-39,-40,125,125,125,125,-120,-139,-140,-141,-142,125,-117,125,125,125,125,125,-23,-75,-77,125,125,125,125,-92,-93,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,125,-45,125,-84,125,125,-91,-94,-119,125,125,125,125,125,-90,125,-118,-85,-87,125,125,-86,-88,125,-89,]),'TIMES':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,173,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,173,-117,173,-112,173,-102,-120,-117,-103,-104,173,173,173,-105,-56,173,-121,-122,-123,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,-119,-145,-146,173,-118,173,173,173,]),'DIVIDE':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,174,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,174,-117,174,-112,174,-102,-120,-117,-103,-104,174,174,174,-105,-56,174,-121,-122,-123,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,-119,-145,-146,174,-118,174,174,174,]),'MOD':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,175,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,175,-117,175,-112,175,-102,-120,-117,-103,-104,175,175,175,-105,-56,175,-121,-122,-123,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,-119,-145,-146,175,-118,175,175,175,]),'PLUS':([25,66,83,85,86,87,88,89,91,92,93,94,95,96,99,100,103,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,137,140,142,143,145,148,151,154,157,158,160,161,162,163,164,165,167,168,169,171,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,200,201,202,203,204,205,206,207,208,209,211,214,220,221,226,227,228,229,230,231,232,236,238,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,271,274,275,276,278,279,280,282,283,284,287,288,289,290,292,293,294,297,298,299,300,],[-169,128,128,-117,128,128,128,-76,-78,-79,-80,-81,-82,-83,-39,-40,128,128,176,-99,-100,-101,-111,128,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-139,-140,-141,-142,-164,-165,128,176,-117,128,128,128,128,128,176,-112,-23,-75,-77,128,128,128,128,-92,-93,176,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,-102,-120,-117,-103,-104,128,128,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,128,176,176,-45,176,-105,128,-84,-56,128,176,128,-91,-94,-121,-122,-123,-124,-125,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,-119,-145,128,-146,128,176,128,128,128,-90,128,-118,176,176,-85,-87,128,176,128,-86,-88,128,-89,]),'MINUS':([25,66,83,85,86,87,88,89,91,92,93,94,95,96,99,100,103,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,137,140,142,143,145,148,151,154,157,158,160,161,162,163,164,165,167,168,169,171,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,200,201,202,203,204,205,206,207,208,209,211,214,220,221,226,227,228,229,230,231,232,236,238,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,271,274,275,276,278,279,280,282,283,284,287,288,289,290,292,293,294,297,298,299,300,],[-169,127,127,-117,127,127,127,-76,-78,-79,-80,-81,-82,-83,-39,-40,127,127,177,-99,-100,-101,-111,127,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-139,-140,-141,-142,-164,-165,127,177,-117,127,127,127,127,127,177,-112,-23,-75,-77,127,127,127,127,-92,-93,177,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,-102,-120,-117,-103,-104,127,127,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,127,177,177,-45,177,-105,127,-84,-56,127,177,127,-91,-94,-121,-122,-123,-124,-125,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,-119,-145,127,-146,127,177,127,127,127,-90,127,-118,177,177,-85,-87,127,177,127,-86,-88,127,-89,]),'LSHIFT':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,178,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,178,-117,178,-112,178,-102,-120,-117,-103,-104,178,178,178,-105,-56,178,-121,-122,-123,-124,-125,-126,-127,178,178,178,178,178,178,178,178,178,178,178,178,178,178,-119,-145,-146,178,-118,178,178,178,]),'RSHIFT':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,179,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,179,-117,179,-112,179,-102,-120,-117,-103,-104,179,179,179,-105,-56,179,-121,-122,-123,-124,-125,-126,-127,179,179,179,179,179,179,179,179,179,179,179,179,179,179,-119,-145,-146,179,-118,179,179,179,]),'LT':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,180,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,180,-117,180,-112,180,-102,-120,-117,-103,-104,180,180,180,-105,-56,180,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,180,180,180,180,180,180,180,180,180,180,-119,-145,-146,180,-118,180,180,180,]),'LE':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,181,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,181,-117,181,-112,181,-102,-120,-117,-103,-104,181,181,181,-105,-56,181,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,181,181,181,181,181,181,181,181,181,181,-119,-145,-146,181,-118,181,181,181,]),'GT':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,182,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,182,-117,182,-112,182,-102,-120,-117,-103,-104,182,182,182,-105,-56,182,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,182,182,182,182,182,182,182,182,182,182,-119,-145,-146,182,-118,182,182,182,]),'GE':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,183,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,183,-117,183,-112,183,-102,-120,-117,-103,-104,183,183,183,-105,-56,183,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,183,183,183,183,183,183,183,183,183,183,-119,-145,-146,183,-118,183,183,183,]),'EQ':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,184,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,184,-117,184,-112,184,-102,-120,-117,-103,-104,184,184,184,-105,-56,184,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,184,184,184,184,184,184,184,184,-119,-145,-146,184,-118,184,184,184,]),'NE':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,185,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,185,-117,185,-112,185,-102,-120,-117,-103,-104,185,185,185,-105,-56,185,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,185,185,185,185,185,185,185,185,-119,-145,-146,185,-118,185,185,185,]),'BITAND':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,186,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,186,-117,186,-112,186,-102,-120,-117,-103,-104,186,186,186,-105,-56,186,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,186,186,186,186,186,186,186,-119,-145,-146,186,-118,186,186,186,]),'XOR':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,187,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,187,-117,187,-112,187,-102,-120,-117,-103,-104,187,187,187,-105,-56,187,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,187,187,187,187,187,187,-119,-145,-146,187,-118,187,187,187,]),'BITOR':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,188,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,188,-117,188,-112,188,-102,-120,-117,-103,-104,188,188,188,-105,-56,188,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,188,188,188,188,188,-119,-145,-146,188,-118,188,188,188,]),'AND':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,189,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,189,-117,189,-112,189,-102,-120,-117,-103,-104,189,189,189,-105,-56,189,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,189,189,189,189,-119,-145,-146,189,-118,189,189,189,]),'OR':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,190,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,190,-117,190,-112,190,-102,-120,-117,-103,-104,190,190,190,-105,-56,190,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,190,190,190,-119,-145,-146,190,-118,190,190,190,]),'CONDOP':([25,85,108,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,140,142,157,158,171,192,193,194,195,196,214,220,226,227,230,232,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,270,274,276,284,287,288,293,],[-169,-117,191,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,191,-117,191,-112,191,-102,-120,-117,-103,-104,191,191,191,-105,-56,191,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,191,191,191,-119,-145,-146,191,-118,191,191,191,]),'RBRACKET':([25,36,47,48,50,63,64,76,81,82,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,135,140,142,192,193,194,195,196,227,230,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,261,262,270,274,276,284,293,],[-169,-170,63,-20,-22,80,-170,136,-19,-21,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,210,-52,-117,-102,-120,-117,-103,-104,-105,-56,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,284,-119,-145,-146,-163,-118,-162,]),'RBRACE':([25,43,44,55,71,87,88,89,91,92,93,94,95,96,99,100,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,142,151,152,153,154,155,156,157,158,160,161,162,168,169,192,193,194,195,196,211,214,221,227,229,230,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,260,262,270,274,276,277,284,289,290,293,297,298,300,],[-169,54,-34,-33,-35,-170,160,-76,-78,-79,-80,-81,-82,-83,-39,-40,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-117,-170,229,230,-73,-74,-58,-59,-60,-23,-75,-77,-92,-93,-102,-120,-117,-103,-104,263,-59,-45,-105,-84,-56,-94,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-151,-119,-145,-146,-163,-57,-118,-85,-87,-162,-86,-88,-89,]),'COLON':([25,109,110,111,113,115,116,117,118,119,120,121,122,123,124,125,126,131,132,142,192,193,194,195,196,227,230,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,262,270,274,276,284,293,],[-169,-99,-100,-101,-111,-106,-107,-108,-109,-110,-112,-166,-167,-168,-143,-144,-120,-164,-165,-117,-102,-120,-117,-103,-104,-105,-56,-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,283,-151,-119,-145,-146,-163,-118,-162,]),'OUTPUT':([31,46,52,78,],[42,42,42,42,]),'IF':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[101,101,101,-76,-78,-79,-80,-81,-82,-83,-39,-40,101,101,101,101,-23,-75,-77,-92,-93,101,-45,-84,-94,101,101,-85,-87,101,-86,-88,101,-89,]),'WHILE':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,166,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[102,102,102,-76,-78,-79,-80,-81,-82,-83,-39,-40,102,102,102,102,-23,-75,-77,235,-92,-93,102,-45,-84,-94,102,102,-85,-87,102,-86,-88,102,-89,]),'DO':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[103,103,103,-76,-78,-79,-80,-81,-82,-83,-39,-40,103,103,103,103,-23,-75,-77,-92,-93,103,-45,-84,-94,103,103,-85,-87,103,-86,-88,103,-89,]),'FOR':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[104,104,104,-76,-78,-79,-80,-81,-82,-83,-39,-40,104,104,104,104,-23,-75,-77,-92,-93,104,-45,-84,-94,104,104,-85,-87,104,-86,-88,104,-89,]),'BREAK':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[105,105,105,-76,-78,-79,-80,-81,-82,-83,-39,-40,105,105,105,105,-23,-75,-77,-92,-93,105,-45,-84,-94,105,105,-85,-87,105,-86,-88,105,-89,]),'CONTINUE':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[106,106,106,-76,-78,-79,-80,-81,-82,-83,-39,-40,106,106,106,106,-23,-75,-77,-92,-93,106,-45,-84,-94,106,106,-85,-87,106,-86,-88,106,-89,]),'RETURN':([66,87,88,89,91,92,93,94,95,96,99,100,103,137,151,154,160,161,162,168,169,211,221,229,240,278,279,289,290,294,297,298,299,300,],[107,107,107,-76,-78,-79,-80,-81,-82,-83,-39,-40,107,107,107,107,-23,-75,-77,-92,-93,107,-45,-84,-94,107,107,-85,-87,107,-86,-88,107,-89,]),'SCONST':([66,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[123,123,123,123,123,-76,-78,-79,-80,-81,-82,-83,-39,-40,123,123,123,-139,-140,-141,-142,123,123,123,123,123,123,-23,-75,-77,123,123,123,123,-92,-93,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,123,-45,123,-84,123,123,-91,-94,123,123,123,123,123,-90,123,-85,-87,123,123,-86,-88,123,-89,]),'BITNOT':([66,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[129,129,129,129,129,-76,-78,-79,-80,-81,-82,-83,-39,-40,129,129,129,-139,-140,-141,-142,129,129,129,129,129,129,-23,-75,-77,129,129,129,129,-92,-93,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,129,-45,129,-84,129,129,-91,-94,129,129,129,129,129,-90,129,-85,-87,129,129,-86,-88,129,-89,]),'NOT':([66,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[130,130,130,130,130,-76,-78,-79,-80,-81,-82,-83,-39,-40,130,130,130,-139,-140,-141,-142,130,130,130,130,130,130,-23,-75,-77,130,130,130,130,-92,-93,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,130,-45,130,-84,130,130,-91,-94,130,130,130,130,130,-90,130,-85,-87,130,130,-86,-88,130,-89,]),'ICONST':([66,76,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[131,131,131,131,131,131,-76,-78,-79,-80,-81,-82,-83,-39,-40,131,131,131,-139,-140,-141,-142,131,131,131,131,131,131,-23,-75,-77,131,131,131,131,-92,-93,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,131,-45,131,-84,131,131,-91,-94,131,131,131,131,131,-90,131,-85,-87,131,131,-86,-88,131,-89,]),'FCONST':([66,83,86,87,88,89,91,92,93,94,95,96,99,100,103,107,114,127,128,129,130,137,143,145,148,151,154,160,161,162,163,164,165,167,168,169,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,200,201,202,203,204,205,206,207,208,209,211,221,228,229,231,236,238,240,271,275,278,279,280,282,283,289,290,292,294,297,298,299,300,],[132,132,132,132,132,-76,-78,-79,-80,-81,-82,-83,-39,-40,132,132,132,-139,-140,-141,-142,132,132,132,132,132,132,-23,-75,-77,132,132,132,132,-92,-93,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,132,-45,132,-84,132,132,-91,-94,132,132,132,132,132,-90,132,-85,-87,132,132,-86,-88,132,-89,]),'ELSE':([91,92,93,94,95,96,99,100,160,162,168,169,221,229,240,289,290,297,298,300,],[-78,-79,-80,-81,-82,-83,-39,-40,-23,-77,-92,-93,-45,-84,-94,294,-87,-86,-88,-89,]),}
_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 = {'shader-file':([0,],[1,]),'global-declaration':([0,1,],[2,26,]),'function-declaration':([0,1,66,87,88,103,137,151,154,211,278,279,294,299,],[3,3,99,99,99,99,99,99,99,99,99,99,99,99,]),'struct-declaration':([0,1,],[4,4,]),'shader-declaration':([0,1,],[5,5,]),'typespec':([0,1,32,41,43,61,66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[6,6,45,53,45,79,84,141,141,159,84,84,141,141,84,141,141,141,159,84,141,141,141,239,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,84,141,141,141,141,141,84,84,141,141,141,84,84,]),'identifier':([0,1,6,8,9,32,41,43,45,49,53,61,66,72,79,83,84,86,87,88,103,107,112,114,137,143,145,148,151,154,159,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,199,211,222,228,231,236,239,271,275,278,279,280,283,292,294,299,],[7,7,27,28,29,7,7,7,58,65,69,7,85,58,139,142,144,142,142,85,85,142,194,142,85,142,142,142,142,85,144,142,142,142,85,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,262,85,273,142,142,142,273,142,142,85,85,142,142,142,85,85,]),'shadertype':([0,1,],[9,9,]),'simple-typename':([0,1,11,32,36,41,43,61,64,66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[10,10,30,10,49,10,10,10,49,10,10,150,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,]),'metadata-block-opt':([29,212,265,],[33,264,285,]),'metadata-block':([29,212,265,],[34,34,34,]),'empty':([29,31,36,46,52,58,64,66,78,87,88,103,107,137,144,148,151,154,167,211,212,216,236,265,273,278,279,292,294,299,],[35,39,50,62,68,75,50,98,62,155,98,98,172,98,218,225,155,98,172,98,35,269,98,35,218,98,98,98,98,98,]),'function-formal-params-opt':([31,],[37,]),'function-formal-params':([31,],[38,]),'function-formal-param':([31,52,],[40,67,]),'outputspec':([31,46,52,78,],[41,61,41,61,]),'field-declarations':([32,],[43,]),'field-declaration':([32,43,],[44,55,]),'metadata-list':([36,],[47,]),'metadata':([36,64,],[48,81,]),'typed-field-list':([45,],[56,]),'typed-field':([45,72,],[57,134,]),'shader-formal-params':([46,],[59,]),'shader-formal-param':([46,78,],[60,138,]),'arrayspec-opt':([58,],[73,]),'arrayspec':([58,69,139,144,273,],[74,133,213,216,216,]),'initializer':([65,139,144,273,],[82,212,217,217,]),'statement-list':([66,87,137,151,],[88,154,211,154,]),'statement':([66,87,88,103,137,151,154,211,278,279,294,299,],[89,89,161,166,89,89,161,161,289,290,297,300,]),'compound-expression-opt':([66,87,88,103,137,151,154,211,236,278,279,292,294,299,],[90,90,90,90,90,90,90,90,281,90,90,296,90,90,]),'scoped-statements':([66,87,88,103,137,151,154,211,278,279,294,299,],[91,91,91,91,91,91,91,91,91,91,91,91,]),'local-declaration':([66,87,88,103,137,151,154,211,278,279,294,299,],[92,92,92,92,92,92,92,92,92,92,92,92,]),'conditional-statement':([66,87,88,103,137,151,154,211,278,279,294,299,],[93,93,93,93,93,93,93,93,93,93,93,93,]),'loop-statement':([66,87,88,103,137,151,154,211,278,279,294,299,],[94,94,94,94,94,94,94,94,94,94,94,94,]),'loopmod-statement':([66,87,88,103,137,151,154,211,278,279,294,299,],[95,95,95,95,95,95,95,95,95,95,95,95,]),'return-statement':([66,87,88,103,137,151,154,211,278,279,294,299,],[96,96,96,96,96,96,96,96,96,96,96,96,]),'compound-expression':([66,86,87,88,103,137,151,154,164,165,211,236,278,279,280,292,294,299,],[97,149,97,97,97,97,97,97,233,234,97,97,97,97,291,97,97,97,]),'variable-declaration':([66,87,88,103,137,151,154,167,211,278,279,294,299,],[100,100,100,100,100,100,100,238,100,100,100,100,100,]),'expression':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[108,140,108,157,108,108,171,196,108,214,220,226,157,108,232,108,108,171,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,108,276,214,108,287,288,108,108,108,293,108,108,108,]),'number':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[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,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,]),'stringliteral':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[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,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,]),'type-constructor':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[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,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,]),'incdec-op':([66,83,86,87,88,103,107,113,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[112,112,112,112,112,112,112,195,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,112,112,112,112,112,112,112,112,112,]),'variable-ref':([66,83,86,87,88,103,107,112,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[113,113,113,113,113,113,113,192,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,113,113,113,113,113,113,113,]),'unary-op':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[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,114,114,114,114,114,114,114,114,114,114,114,114,]),'binary-op':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,]),'function-call':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,]),'assign-expression':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,]),'ternary-expression':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,]),'typecast-expression':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,]),'compound-initializer':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,266,271,275,278,279,280,283,292,294,299,],[120,120,120,158,120,120,120,120,120,158,120,120,158,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,158,120,286,120,120,120,120,120,120,120,120,120,]),'integer':([66,76,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[121,135,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,]),'floating-point':([66,83,86,87,88,103,107,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,]),'variable-lvalue':([66,83,86,87,88,103,107,112,114,137,143,145,148,151,154,163,164,165,167,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,197,198,211,228,231,236,271,275,278,279,280,283,292,294,299,],[126,126,126,126,126,126,126,193,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,]),'def-expressions':([84,159,239,],[146,146,146,]),'def-expression':([84,159,222,239,],[147,147,272,147,]),'statement-list-opt':([87,151,],[152,152,]),'init-expression-list':([87,143,151,],[153,153,153,]),'init-expression':([87,143,151,231,],[156,156,156,277,]),'expression-opt':([107,167,],[170,237,]),'assign-op':([126,],[197,]),'initializer-opt':([144,273,],[215,215,]),'expression-list':([145,],[219,]),'function-args-opt':([148,],[223,]),'function-args':([148,],[224,]),'for-init-statement':([167,],[236,]),'initializer-list':([213,216,],[265,268,]),'initializer-list-opt':([216,],[267,]),}
_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' -> shader-file","S'",1,None,None,None),
('shader-file -> shader-file global-declaration','shader-file',2,'p_shader_file','oslparse.py',34),
('shader-file -> global-declaration','shader-file',1,'p_shader_file','oslparse.py',35),
('global-declaration -> function-declaration','global-declaration',1,'p_global_declaration','oslparse.py',43),
('global-declaration -> struct-declaration','global-declaration',1,'p_global_declaration','oslparse.py',44),
('global-declaration -> shader-declaration','global-declaration',1,'p_global_declaration','oslparse.py',45),
('shader-declaration -> shadertype identifier metadata-block-opt LPAREN shader-formal-params RPAREN LBRACE statement-list RBRACE','shader-declaration',9,'p_shader_declaration','oslparse.py',49),
('shadertype -> DISPLACEMENT','shadertype',1,'p_shadertype','oslparse.py',53),
('shadertype -> SHADER','shadertype',1,'p_shadertype','oslparse.py',54),
('shadertype -> SURFACE','shadertype',1,'p_shadertype','oslparse.py',55),
('shadertype -> VOLUME','shadertype',1,'p_shadertype','oslparse.py',56),
('shader-formal-params -> shader-formal-params COMMA shader-formal-param','shader-formal-params',3,'p_shader_formal_params','oslparse.py',60),
('shader-formal-params -> shader-formal-param','shader-formal-params',1,'p_shader_formal_params','oslparse.py',61),
('shader-formal-param -> outputspec typespec identifier initializer metadata-block-opt','shader-formal-param',5,'p_shader_formal_param','oslparse.py',69),
('shader-formal-param -> outputspec typespec identifier arrayspec initializer-list metadata-block-opt','shader-formal-param',6,'p_shader_formal_param','oslparse.py',70),
('shader-formal-param -> empty','shader-formal-param',1,'p_shader_formal_param','oslparse.py',71),
('metadata-block-opt -> metadata-block','metadata-block-opt',1,'p_metadata_block_opt','oslparse.py',80),
('metadata-block-opt -> empty','metadata-block-opt',1,'p_metadata_block_opt','oslparse.py',81),
('metadata-block -> METABEGIN metadata-list RBRACKET RBRACKET','metadata-block',4,'p_metadata_block','oslparse.py',88),
('metadata-list -> metadata-list COMMA metadata','metadata-list',3,'p_metadata_list','oslparse.py',92),
('metadata-list -> metadata','metadata-list',1,'p_metadata_list','oslparse.py',93),
('metadata -> simple-typename identifier initializer','metadata',3,'p_metadata','oslparse.py',102),
('metadata -> empty','metadata',1,'p_metadata','oslparse.py',103),
('function-declaration -> typespec identifier LPAREN function-formal-params-opt RPAREN LBRACE statement-list RBRACE','function-declaration',8,'p_function_declaration','oslparse.py',113),
('function-formal-params-opt -> function-formal-params','function-formal-params-opt',1,'p_function_formal_params_opt','oslparse.py',117),
('function-formal-params-opt -> empty','function-formal-params-opt',1,'p_function_formal_params_opt','oslparse.py',118),
('function-formal-params -> function-formal-params COMMA function-formal-param','function-formal-params',3,'p_function_formal_params','oslparse.py',125),
('function-formal-params -> function-formal-param','function-formal-params',1,'p_function_formal_params','oslparse.py',126),
('function-formal-param -> outputspec typespec identifier arrayspec','function-formal-param',4,'p_function_formal_param','oslparse.py',134),
('function-formal-param -> outputspec typespec identifier','function-formal-param',3,'p_function_formal_param','oslparse.py',135),
('outputspec -> OUTPUT','outputspec',1,'p_outputspec','oslparse.py',142),
('outputspec -> empty','outputspec',1,'p_outputspec','oslparse.py',143),
('struct-declaration -> STRUCT identifier LBRACE field-declarations RBRACE SEMI','struct-declaration',6,'p_struct_declatation','oslparse.py',150),
('field-declarations -> field-declarations field-declaration','field-declarations',2,'p_field_declarations','oslparse.py',154),
('field-declarations -> field-declaration','field-declarations',1,'p_field_declarations','oslparse.py',155),
('field-declaration -> typespec typed-field-list SEMI','field-declaration',3,'p_field_declaration','oslparse.py',163),
('typed-field-list -> typed-field-list COMMA typed-field','typed-field-list',3,'p_typed_field_list','oslparse.py',167),
('typed-field-list -> typed-field','typed-field-list',1,'p_typed_field_list','oslparse.py',168),
('typed-field -> identifier arrayspec-opt','typed-field',2,'p_typed_field','oslparse.py',176),
('local-declaration -> function-declaration','local-declaration',1,'p_local_declaration','oslparse.py',180),
('local-declaration -> variable-declaration','local-declaration',1,'p_local_declaration','oslparse.py',181),
('arrayspec-opt -> arrayspec','arrayspec-opt',1,'p_arrayspec_opt','oslparse.py',185),
('arrayspec-opt -> empty','arrayspec-opt',1,'p_arrayspec_opt','oslparse.py',186),
('arrayspec -> LBRACKET integer RBRACKET','arrayspec',3,'p_arrayspec','oslparse.py',193),
('arrayspec -> LBRACKET RBRACKET','arrayspec',2,'p_arrayspec','oslparse.py',194),
('variable-declaration -> typespec def-expressions SEMI','variable-declaration',3,'p_variable_declaration','oslparse.py',201),
('def-expressions -> def-expressions COMMA def-expression','def-expressions',3,'p_def_expressions','oslparse.py',205),
('def-expressions -> def-expression','def-expressions',1,'p_def_expressions','oslparse.py',206),
('def-expression -> identifier initializer-opt','def-expression',2,'p_def_expression','oslparse.py',214),
('def-expression -> identifier arrayspec initializer-list-opt','def-expression',3,'p_def_expression','oslparse.py',215),
('initializer-opt -> initializer','initializer-opt',1,'p_initializer_opt','oslparse.py',222),
('initializer-opt -> empty','initializer-opt',1,'p_initializer_opt','oslparse.py',223),
('initializer -> EQUALS expression','initializer',2,'p_initializer','oslparse.py',230),
('initializer-list-opt -> initializer-list','initializer-list-opt',1,'p_initializer_list_opt','oslparse.py',234),
('initializer-list-opt -> empty','initializer-list-opt',1,'p_initializer_list_opt','oslparse.py',235),
('initializer-list -> EQUALS compound-initializer','initializer-list',2,'p_initializer_list','oslparse.py',242),
('compound-initializer -> LBRACE init-expression-list RBRACE','compound-initializer',3,'p_compound_initializer','oslparse.py',246),
('init-expression-list -> init-expression-list COMMA init-expression','init-expression-list',3,'p_init_expression_list','oslparse.py',250),
('init-expression-list -> init-expression','init-expression-list',1,'p_init_expression_list','oslparse.py',251),
('init-expression -> expression','init-expression',1,'p_init_expression','oslparse.py',259),
('init-expression -> compound-initializer','init-expression',1,'p_init_expression','oslparse.py',260),
('typespec -> simple-typename','typespec',1,'p_typespec','oslparse.py',265),
('typespec -> CLOSURE simple-typename','typespec',2,'p_typespec','oslparse.py',266),
('typespec -> identifier','typespec',1,'p_typespec','oslparse.py',267),
('simple-typename -> COLOR','simple-typename',1,'p_simple_typename','oslparse.py',274),
('simple-typename -> FLOAT','simple-typename',1,'p_simple_typename','oslparse.py',275),
('simple-typename -> INT','simple-typename',1,'p_simple_typename','oslparse.py',276),
('simple-typename -> MATRIX','simple-typename',1,'p_simple_typename','oslparse.py',277),
('simple-typename -> NORMAL','simple-typename',1,'p_simple_typename','oslparse.py',278),
('simple-typename -> POINT','simple-typename',1,'p_simple_typename','oslparse.py',279),
('simple-typename -> STRING','simple-typename',1,'p_simple_typename','oslparse.py',280),
('simple-typename -> VECTOR','simple-typename',1,'p_simple_typename','oslparse.py',281),
('simple-typename -> VOID','simple-typename',1,'p_simple_typename','oslparse.py',282),
('statement-list-opt -> statement-list','statement-list-opt',1,'p_statement_list_opt','oslparse.py',289),
('statement-list-opt -> empty','statement-list-opt',1,'p_statement_list_opt','oslparse.py',290),
('statement-list -> statement-list statement','statement-list',2,'p_statement_list','oslparse.py',297),
('statement-list -> statement','statement-list',1,'p_statement_list','oslparse.py',298),
('statement -> compound-expression-opt SEMI','statement',2,'p_statement','oslparse.py',306),
('statement -> scoped-statements','statement',1,'p_statement','oslparse.py',307),
('statement -> local-declaration','statement',1,'p_statement','oslparse.py',308),
('statement -> conditional-statement','statement',1,'p_statement','oslparse.py',309),
('statement -> loop-statement','statement',1,'p_statement','oslparse.py',310),
('statement -> loopmod-statement','statement',1,'p_statement','oslparse.py',311),
('statement -> return-statement','statement',1,'p_statement','oslparse.py',312),
('scoped-statements -> LBRACE statement-list-opt RBRACE','scoped-statements',3,'p_scoped_statements','oslparse.py',319),
('conditional-statement -> IF LPAREN compound-expression RPAREN statement','conditional-statement',5,'p_conditional_statement','oslparse.py',323),
('conditional-statement -> IF LPAREN compound-expression RPAREN statement ELSE statement','conditional-statement',7,'p_conditional_statement','oslparse.py',324),
('loop-statement -> WHILE LPAREN compound-expression RPAREN statement','loop-statement',5,'p_loop_statement','oslparse.py',331),
('loop-statement -> DO statement WHILE LPAREN compound-expression RPAREN SEMI','loop-statement',7,'p_loop_statement','oslparse.py',332),
('loop-statement -> FOR LPAREN for-init-statement compound-expression-opt SEMI compound-expression-opt RPAREN statement','loop-statement',8,'p_loop_statement','oslparse.py',333),
('for-init-statement -> expression-opt SEMI','for-init-statement',2,'p_for_init_statement','oslparse.py',342),
('for-init-statement -> variable-declaration','for-init-statement',1,'p_for_init_statement','oslparse.py',343),
('loopmod-statement -> BREAK SEMI','loopmod-statement',2,'p_loopmod_statement','oslparse.py',350),
('loopmod-statement -> CONTINUE SEMI','loopmod-statement',2,'p_loopmod_statement','oslparse.py',351),
('return-statement -> RETURN expression-opt SEMI','return-statement',3,'p_return_statement','oslparse.py',355),
('expression-list -> expression-list COMMA expression','expression-list',3,'p_expression_list','oslparse.py',362),
('expression-list -> expression','expression-list',1,'p_expression_list','oslparse.py',363),
('expression-opt -> expression','expression-opt',1,'p_expression_opt','oslparse.py',371),
('expression-opt -> empty','expression-opt',1,'p_expression_opt','oslparse.py',372),
('expression -> number','expression',1,'p_expression','oslparse.py',380),
('expression -> stringliteral','expression',1,'p_expression','oslparse.py',381),
('expression -> type-constructor','expression',1,'p_expression','oslparse.py',382),
('expression -> incdec-op variable-ref','expression',2,'p_expression','oslparse.py',383),
('expression -> variable-ref incdec-op','expression',2,'p_expression','oslparse.py',384),
('expression -> unary-op expression','expression',2,'p_expression','oslparse.py',385),
('expression -> LPAREN compound-expression RPAREN','expression',3,'p_expression','oslparse.py',386),
('expression -> binary-op','expression',1,'p_expression','oslparse.py',387),
('expression -> function-call','expression',1,'p_expression','oslparse.py',388),
('expression -> assign-expression','expression',1,'p_expression','oslparse.py',389),
('expression -> ternary-expression','expression',1,'p_expression','oslparse.py',390),
('expression -> typecast-expression','expression',1,'p_expression','oslparse.py',391),
('expression -> variable-ref','expression',1,'p_expression','oslparse.py',392),
('expression -> compound-initializer','expression',1,'p_expression','oslparse.py',393),
('compound-expression-opt -> compound-expression','compound-expression-opt',1,'p_compound_expression_opt','oslparse.py',403),
('compound-expression-opt -> empty','compound-expression-opt',1,'p_compound_expression_opt','oslparse.py',404),
('compound-expression -> compound-expression COMMA expression','compound-expression',3,'p_compound_expression','oslparse.py',411),
('compound-expression -> expression','compound-expression',1,'p_compound_expression','oslparse.py',412),
('variable-lvalue -> identifier','variable-lvalue',1,'p_variable_lvalue','oslparse.py',421),
('variable-lvalue -> variable-lvalue LBRACKET expression RBRACKET','variable-lvalue',4,'p_variable_lvalue','oslparse.py',422),
('variable-lvalue -> variable-lvalue PERIOD identifier','variable-lvalue',3,'p_variable_lvalue','oslparse.py',423),
('variable-ref -> variable-lvalue','variable-ref',1,'p_variable_ref','oslparse.py',432),
('binary-op -> expression TIMES expression','binary-op',3,'p_binary_op','oslparse.py',436),
('binary-op -> expression DIVIDE expression','binary-op',3,'p_binary_op','oslparse.py',437),
('binary-op -> expression MOD expression','binary-op',3,'p_binary_op','oslparse.py',438),
('binary-op -> expression PLUS expression','binary-op',3,'p_binary_op','oslparse.py',439),
('binary-op -> expression MINUS expression','binary-op',3,'p_binary_op','oslparse.py',440),
('binary-op -> expression LSHIFT expression','binary-op',3,'p_binary_op','oslparse.py',441),
('binary-op -> expression RSHIFT expression','binary-op',3,'p_binary_op','oslparse.py',442),
('binary-op -> expression LT expression','binary-op',3,'p_binary_op','oslparse.py',443),
('binary-op -> expression LE expression','binary-op',3,'p_binary_op','oslparse.py',444),
('binary-op -> expression GT expression','binary-op',3,'p_binary_op','oslparse.py',445),
('binary-op -> expression GE expression','binary-op',3,'p_binary_op','oslparse.py',446),
('binary-op -> expression EQ expression','binary-op',3,'p_binary_op','oslparse.py',447),
('binary-op -> expression NE expression','binary-op',3,'p_binary_op','oslparse.py',448),
('binary-op -> expression BITAND expression','binary-op',3,'p_binary_op','oslparse.py',449),
('binary-op -> expression XOR expression','binary-op',3,'p_binary_op','oslparse.py',450),
('binary-op -> expression BITOR expression','binary-op',3,'p_binary_op','oslparse.py',451),
('binary-op -> expression AND expression','binary-op',3,'p_binary_op','oslparse.py',452),
('binary-op -> expression OR expression','binary-op',3,'p_binary_op','oslparse.py',453),
('unary-op -> MINUS','unary-op',1,'p_unary_op','oslparse.py',457),
('unary-op -> PLUS','unary-op',1,'p_unary_op','oslparse.py',458),
('unary-op -> BITNOT','unary-op',1,'p_unary_op','oslparse.py',459),
('unary-op -> NOT','unary-op',1,'p_unary_op','oslparse.py',460),
('incdec-op -> PLUSPLUS','incdec-op',1,'p_incdec_op','oslparse.py',464),
('incdec-op -> MINUSMINUS','incdec-op',1,'p_incdec_op','oslparse.py',465),
('type-constructor -> typespec LPAREN expression-list RPAREN','type-constructor',4,'p_type_constructor','oslparse.py',469),
('function-call -> identifier LPAREN function-args-opt RPAREN','function-call',4,'p_function_call','oslparse.py',473),
('function-args-opt -> function-args','function-args-opt',1,'p_function_args_opt','oslparse.py',477),
('function-args-opt -> empty','function-args-opt',1,'p_function_args_opt','oslparse.py',478),
('function-args -> function-args COMMA expression','function-args',3,'p_function_args','oslparse.py',485),
('function-args -> expression','function-args',1,'p_function_args','oslparse.py',486),
('assign-expression -> variable-lvalue assign-op expression','assign-expression',3,'p_assign_expression','oslparse.py',494),
('assign-op -> EQUALS','assign-op',1,'p_assign_op','oslparse.py',498),
('assign-op -> TIMESEQUAL','assign-op',1,'p_assign_op','oslparse.py',499),
('assign-op -> DIVEQUAL','assign-op',1,'p_assign_op','oslparse.py',500),
('assign-op -> PLUSEQUAL','assign-op',1,'p_assign_op','oslparse.py',501),
('assign-op -> MINUSEQUAL','assign-op',1,'p_assign_op','oslparse.py',502),
('assign-op -> ANDEQUAL','assign-op',1,'p_assign_op','oslparse.py',503),
('assign-op -> OREQUAL','assign-op',1,'p_assign_op','oslparse.py',504),
('assign-op -> XOREQUAL','assign-op',1,'p_assign_op','oslparse.py',505),
('assign-op -> LSHIFTEQUAL','assign-op',1,'p_assign_op','oslparse.py',506),
('assign-op -> RSHIFTEQUAL','assign-op',1,'p_assign_op','oslparse.py',507),
('ternary-expression -> expression CONDOP expression COLON expression','ternary-expression',5,'p_ternary_expression','oslparse.py',511),
('typecast-expression -> LPAREN simple-typename RPAREN expression','typecast-expression',4,'p_typecast_expression','oslparse.py',515),
('integer -> ICONST','integer',1,'p_integer','oslparse.py',521),
('floating-point -> FCONST','floating-point',1,'p_floating_point','oslparse.py',526),
('number -> integer','number',1,'p_number','oslparse.py',530),
('number -> floating-point','number',1,'p_number','oslparse.py',531),
('stringliteral -> SCONST','stringliteral',1,'p_stringliteral','oslparse.py',535),
('identifier -> ID','identifier',1,'p_identifier','oslparse.py',539),
('empty -> <empty>','empty',0,'p_empty','oslparse.py',543),
]