• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* A Bison parser, made by GNU Bison 2.5.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5       Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6 
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation, either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19 
20 /* As a special exception, you may create a larger work that contains
21    part or all of the Bison parser skeleton and distribute that work
22    under terms of your choice, so long as that work isn't itself a
23    parser generator using the skeleton or a modified version thereof
24    as a parser skeleton.  Alternatively, if you modify or redistribute
25    the parser skeleton itself, you may (at your option) remove this
26    special exception, which will cause the skeleton and the resulting
27    Bison output files to be licensed under the GNU General Public
28    License without this special exception.
29 
30    This special exception was added by the Free Software Foundation in
31    version 2.2 of Bison.  */
32 
33 
34 /* Tokens.  */
35 #ifndef YYTOKENTYPE
36 # define YYTOKENTYPE
37    /* Put the tokens into the symbol table, so that GDB and other debuggers
38       know about them.  */
39    enum yytokentype {
40      ATTRIBUTE = 258,
41      CONST_TOK = 259,
42      BOOL_TOK = 260,
43      FLOAT_TOK = 261,
44      INT_TOK = 262,
45      UINT_TOK = 263,
46      BREAK = 264,
47      CONTINUE = 265,
48      DO = 266,
49      ELSE = 267,
50      FOR = 268,
51      IF = 269,
52      DISCARD = 270,
53      RETURN = 271,
54      SWITCH = 272,
55      CASE = 273,
56      DEFAULT = 274,
57      BVEC2 = 275,
58      BVEC3 = 276,
59      BVEC4 = 277,
60      IVEC2 = 278,
61      IVEC3 = 279,
62      IVEC4 = 280,
63      UVEC2 = 281,
64      UVEC3 = 282,
65      UVEC4 = 283,
66      VEC2 = 284,
67      VEC3 = 285,
68      VEC4 = 286,
69      CENTROID = 287,
70      IN_TOK = 288,
71      OUT_TOK = 289,
72      INOUT_TOK = 290,
73      UNIFORM = 291,
74      VARYING = 292,
75      NOPERSPECTIVE = 293,
76      FLAT = 294,
77      SMOOTH = 295,
78      MAT2X2 = 296,
79      MAT2X3 = 297,
80      MAT2X4 = 298,
81      MAT3X2 = 299,
82      MAT3X3 = 300,
83      MAT3X4 = 301,
84      MAT4X2 = 302,
85      MAT4X3 = 303,
86      MAT4X4 = 304,
87      SAMPLER1D = 305,
88      SAMPLER2D = 306,
89      SAMPLER3D = 307,
90      SAMPLERCUBE = 308,
91      SAMPLER1DSHADOW = 309,
92      SAMPLER2DSHADOW = 310,
93      SAMPLERCUBESHADOW = 311,
94      SAMPLER1DARRAY = 312,
95      SAMPLER2DARRAY = 313,
96      SAMPLER1DARRAYSHADOW = 314,
97      SAMPLER2DARRAYSHADOW = 315,
98      ISAMPLER1D = 316,
99      ISAMPLER2D = 317,
100      ISAMPLER3D = 318,
101      ISAMPLERCUBE = 319,
102      ISAMPLER1DARRAY = 320,
103      ISAMPLER2DARRAY = 321,
104      USAMPLER1D = 322,
105      USAMPLER2D = 323,
106      USAMPLER3D = 324,
107      USAMPLERCUBE = 325,
108      USAMPLER1DARRAY = 326,
109      USAMPLER2DARRAY = 327,
110      SAMPLER2DRECT = 328,
111      ISAMPLER2DRECT = 329,
112      USAMPLER2DRECT = 330,
113      SAMPLER2DRECTSHADOW = 331,
114      SAMPLERBUFFER = 332,
115      ISAMPLERBUFFER = 333,
116      USAMPLERBUFFER = 334,
117      SAMPLEREXTERNALOES = 335,
118      STRUCT = 336,
119      VOID_TOK = 337,
120      WHILE = 338,
121      IDENTIFIER = 339,
122      TYPE_IDENTIFIER = 340,
123      NEW_IDENTIFIER = 341,
124      FLOATCONSTANT = 342,
125      INTCONSTANT = 343,
126      UINTCONSTANT = 344,
127      BOOLCONSTANT = 345,
128      FIELD_SELECTION = 346,
129      LEFT_OP = 347,
130      RIGHT_OP = 348,
131      INC_OP = 349,
132      DEC_OP = 350,
133      LE_OP = 351,
134      GE_OP = 352,
135      EQ_OP = 353,
136      NE_OP = 354,
137      AND_OP = 355,
138      OR_OP = 356,
139      XOR_OP = 357,
140      MUL_ASSIGN = 358,
141      DIV_ASSIGN = 359,
142      ADD_ASSIGN = 360,
143      MOD_ASSIGN = 361,
144      LEFT_ASSIGN = 362,
145      RIGHT_ASSIGN = 363,
146      AND_ASSIGN = 364,
147      XOR_ASSIGN = 365,
148      OR_ASSIGN = 366,
149      SUB_ASSIGN = 367,
150      INVARIANT = 368,
151      LOWP = 369,
152      MEDIUMP = 370,
153      HIGHP = 371,
154      SUPERP = 372,
155      PRECISION = 373,
156      VERSION_TOK = 374,
157      EXTENSION = 375,
158      LINE = 376,
159      COLON = 377,
160      EOL = 378,
161      INTERFACE = 379,
162      OUTPUT = 380,
163      PRAGMA_DEBUG_ON = 381,
164      PRAGMA_DEBUG_OFF = 382,
165      PRAGMA_OPTIMIZE_ON = 383,
166      PRAGMA_OPTIMIZE_OFF = 384,
167      PRAGMA_INVARIANT_ALL = 385,
168      LAYOUT_TOK = 386,
169      ASM = 387,
170      CLASS = 388,
171      UNION = 389,
172      ENUM = 390,
173      TYPEDEF = 391,
174      TEMPLATE = 392,
175      THIS = 393,
176      PACKED_TOK = 394,
177      GOTO = 395,
178      INLINE_TOK = 396,
179      NOINLINE = 397,
180      VOLATILE = 398,
181      PUBLIC_TOK = 399,
182      STATIC = 400,
183      EXTERN = 401,
184      EXTERNAL = 402,
185      LONG_TOK = 403,
186      SHORT_TOK = 404,
187      DOUBLE_TOK = 405,
188      HALF = 406,
189      FIXED_TOK = 407,
190      UNSIGNED = 408,
191      INPUT_TOK = 409,
192      OUPTUT = 410,
193      HVEC2 = 411,
194      HVEC3 = 412,
195      HVEC4 = 413,
196      DVEC2 = 414,
197      DVEC3 = 415,
198      DVEC4 = 416,
199      FVEC2 = 417,
200      FVEC3 = 418,
201      FVEC4 = 419,
202      SAMPLER3DRECT = 420,
203      SIZEOF = 421,
204      CAST = 422,
205      NAMESPACE = 423,
206      USING = 424,
207      ERROR_TOK = 425,
208      COMMON = 426,
209      PARTITION = 427,
210      ACTIVE = 428,
211      FILTER = 429,
212      IMAGE1D = 430,
213      IMAGE2D = 431,
214      IMAGE3D = 432,
215      IMAGECUBE = 433,
216      IMAGE1DARRAY = 434,
217      IMAGE2DARRAY = 435,
218      IIMAGE1D = 436,
219      IIMAGE2D = 437,
220      IIMAGE3D = 438,
221      IIMAGECUBE = 439,
222      IIMAGE1DARRAY = 440,
223      IIMAGE2DARRAY = 441,
224      UIMAGE1D = 442,
225      UIMAGE2D = 443,
226      UIMAGE3D = 444,
227      UIMAGECUBE = 445,
228      UIMAGE1DARRAY = 446,
229      UIMAGE2DARRAY = 447,
230      IMAGE1DSHADOW = 448,
231      IMAGE2DSHADOW = 449,
232      IMAGEBUFFER = 450,
233      IIMAGEBUFFER = 451,
234      UIMAGEBUFFER = 452,
235      IMAGE1DARRAYSHADOW = 453,
236      IMAGE2DARRAYSHADOW = 454,
237      ROW_MAJOR = 455
238    };
239 #endif
240 /* Tokens.  */
241 #define ATTRIBUTE 258
242 #define CONST_TOK 259
243 #define BOOL_TOK 260
244 #define FLOAT_TOK 261
245 #define INT_TOK 262
246 #define UINT_TOK 263
247 #define BREAK 264
248 #define CONTINUE 265
249 #define DO 266
250 #define ELSE 267
251 #define FOR 268
252 #define IF 269
253 #define DISCARD 270
254 #define RETURN 271
255 #define SWITCH 272
256 #define CASE 273
257 #define DEFAULT 274
258 #define BVEC2 275
259 #define BVEC3 276
260 #define BVEC4 277
261 #define IVEC2 278
262 #define IVEC3 279
263 #define IVEC4 280
264 #define UVEC2 281
265 #define UVEC3 282
266 #define UVEC4 283
267 #define VEC2 284
268 #define VEC3 285
269 #define VEC4 286
270 #define CENTROID 287
271 #define IN_TOK 288
272 #define OUT_TOK 289
273 #define INOUT_TOK 290
274 #define UNIFORM 291
275 #define VARYING 292
276 #define NOPERSPECTIVE 293
277 #define FLAT 294
278 #define SMOOTH 295
279 #define MAT2X2 296
280 #define MAT2X3 297
281 #define MAT2X4 298
282 #define MAT3X2 299
283 #define MAT3X3 300
284 #define MAT3X4 301
285 #define MAT4X2 302
286 #define MAT4X3 303
287 #define MAT4X4 304
288 #define SAMPLER1D 305
289 #define SAMPLER2D 306
290 #define SAMPLER3D 307
291 #define SAMPLERCUBE 308
292 #define SAMPLER1DSHADOW 309
293 #define SAMPLER2DSHADOW 310
294 #define SAMPLERCUBESHADOW 311
295 #define SAMPLER1DARRAY 312
296 #define SAMPLER2DARRAY 313
297 #define SAMPLER1DARRAYSHADOW 314
298 #define SAMPLER2DARRAYSHADOW 315
299 #define ISAMPLER1D 316
300 #define ISAMPLER2D 317
301 #define ISAMPLER3D 318
302 #define ISAMPLERCUBE 319
303 #define ISAMPLER1DARRAY 320
304 #define ISAMPLER2DARRAY 321
305 #define USAMPLER1D 322
306 #define USAMPLER2D 323
307 #define USAMPLER3D 324
308 #define USAMPLERCUBE 325
309 #define USAMPLER1DARRAY 326
310 #define USAMPLER2DARRAY 327
311 #define SAMPLER2DRECT 328
312 #define ISAMPLER2DRECT 329
313 #define USAMPLER2DRECT 330
314 #define SAMPLER2DRECTSHADOW 331
315 #define SAMPLERBUFFER 332
316 #define ISAMPLERBUFFER 333
317 #define USAMPLERBUFFER 334
318 #define SAMPLEREXTERNALOES 335
319 #define STRUCT 336
320 #define VOID_TOK 337
321 #define WHILE 338
322 #define IDENTIFIER 339
323 #define TYPE_IDENTIFIER 340
324 #define NEW_IDENTIFIER 341
325 #define FLOATCONSTANT 342
326 #define INTCONSTANT 343
327 #define UINTCONSTANT 344
328 #define BOOLCONSTANT 345
329 #define FIELD_SELECTION 346
330 #define LEFT_OP 347
331 #define RIGHT_OP 348
332 #define INC_OP 349
333 #define DEC_OP 350
334 #define LE_OP 351
335 #define GE_OP 352
336 #define EQ_OP 353
337 #define NE_OP 354
338 #define AND_OP 355
339 #define OR_OP 356
340 #define XOR_OP 357
341 #define MUL_ASSIGN 358
342 #define DIV_ASSIGN 359
343 #define ADD_ASSIGN 360
344 #define MOD_ASSIGN 361
345 #define LEFT_ASSIGN 362
346 #define RIGHT_ASSIGN 363
347 #define AND_ASSIGN 364
348 #define XOR_ASSIGN 365
349 #define OR_ASSIGN 366
350 #define SUB_ASSIGN 367
351 #define INVARIANT 368
352 #define LOWP 369
353 #define MEDIUMP 370
354 #define HIGHP 371
355 #define SUPERP 372
356 #define PRECISION 373
357 #define VERSION_TOK 374
358 #define EXTENSION 375
359 #define LINE 376
360 #define COLON 377
361 #define EOL 378
362 #define INTERFACE 379
363 #define OUTPUT 380
364 #define PRAGMA_DEBUG_ON 381
365 #define PRAGMA_DEBUG_OFF 382
366 #define PRAGMA_OPTIMIZE_ON 383
367 #define PRAGMA_OPTIMIZE_OFF 384
368 #define PRAGMA_INVARIANT_ALL 385
369 #define LAYOUT_TOK 386
370 #define ASM 387
371 #define CLASS 388
372 #define UNION 389
373 #define ENUM 390
374 #define TYPEDEF 391
375 #define TEMPLATE 392
376 #define THIS 393
377 #define PACKED_TOK 394
378 #define GOTO 395
379 #define INLINE_TOK 396
380 #define NOINLINE 397
381 #define VOLATILE 398
382 #define PUBLIC_TOK 399
383 #define STATIC 400
384 #define EXTERN 401
385 #define EXTERNAL 402
386 #define LONG_TOK 403
387 #define SHORT_TOK 404
388 #define DOUBLE_TOK 405
389 #define HALF 406
390 #define FIXED_TOK 407
391 #define UNSIGNED 408
392 #define INPUT_TOK 409
393 #define OUPTUT 410
394 #define HVEC2 411
395 #define HVEC3 412
396 #define HVEC4 413
397 #define DVEC2 414
398 #define DVEC3 415
399 #define DVEC4 416
400 #define FVEC2 417
401 #define FVEC3 418
402 #define FVEC4 419
403 #define SAMPLER3DRECT 420
404 #define SIZEOF 421
405 #define CAST 422
406 #define NAMESPACE 423
407 #define USING 424
408 #define ERROR_TOK 425
409 #define COMMON 426
410 #define PARTITION 427
411 #define ACTIVE 428
412 #define FILTER 429
413 #define IMAGE1D 430
414 #define IMAGE2D 431
415 #define IMAGE3D 432
416 #define IMAGECUBE 433
417 #define IMAGE1DARRAY 434
418 #define IMAGE2DARRAY 435
419 #define IIMAGE1D 436
420 #define IIMAGE2D 437
421 #define IIMAGE3D 438
422 #define IIMAGECUBE 439
423 #define IIMAGE1DARRAY 440
424 #define IIMAGE2DARRAY 441
425 #define UIMAGE1D 442
426 #define UIMAGE2D 443
427 #define UIMAGE3D 444
428 #define UIMAGECUBE 445
429 #define UIMAGE1DARRAY 446
430 #define UIMAGE2DARRAY 447
431 #define IMAGE1DSHADOW 448
432 #define IMAGE2DSHADOW 449
433 #define IMAGEBUFFER 450
434 #define IIMAGEBUFFER 451
435 #define UIMAGEBUFFER 452
436 #define IMAGE1DARRAYSHADOW 453
437 #define IMAGE2DARRAYSHADOW 454
438 #define ROW_MAJOR 455
439 
440 
441 
442 
443 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
444 typedef union YYSTYPE
445 {
446 
447 /* Line 2068 of yacc.c  */
448 #line 59 "src/src/glsl/glsl_parser.yy"
449 
450    int n;
451    float real;
452    const char *identifier;
453 
454    struct ast_type_qualifier type_qualifier;
455 
456    ast_node *node;
457    ast_type_specifier *type_specifier;
458    ast_fully_specified_type *fully_specified_type;
459    ast_function *function;
460    ast_parameter_declarator *parameter_declarator;
461    ast_function_definition *function_definition;
462    ast_compound_statement *compound_statement;
463    ast_expression *expression;
464    ast_declarator_list *declarator_list;
465    ast_struct_specifier *struct_specifier;
466    ast_declaration *declaration;
467    ast_switch_body *switch_body;
468    ast_case_label *case_label;
469    ast_case_label_list *case_label_list;
470    ast_case_statement *case_statement;
471    ast_case_statement_list *case_statement_list;
472 
473    struct {
474       ast_node *cond;
475       ast_expression *rest;
476    } for_rest_statement;
477 
478    struct {
479       ast_node *then_statement;
480       ast_node *else_statement;
481    } selection_rest_statement;
482 
483 
484 
485 /* Line 2068 of yacc.c  */
486 #line 487 "src/chromium_gensrc/mesa/glsl_parser.h"
487 } YYSTYPE;
488 # define YYSTYPE_IS_TRIVIAL 1
489 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
490 # define YYSTYPE_IS_DECLARED 1
491 #endif
492 
493 
494 
495 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
496 typedef struct YYLTYPE
497 {
498   int first_line;
499   int first_column;
500   int last_line;
501   int last_column;
502 } YYLTYPE;
503 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
504 # define YYLTYPE_IS_DECLARED 1
505 # define YYLTYPE_IS_TRIVIAL 1
506 #endif
507 
508 
509 
510