glslang_tab.h revision ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb
1/* A Bison parser, made by GNU Bison 2.3.  */
2
3/* Skeleton interface for Bison's Yacc-like parsers in C
4
5   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6   Free Software Foundation, Inc.
7
8   This program is free software; you can redistribute it and/or modify
9   it under the terms of the GNU General Public License as published by
10   the Free Software Foundation; either version 2, or (at your option)
11   any later version.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18   You should have received a copy of the GNU General Public License
19   along with this program; if not, write to the Free Software
20   Foundation, Inc., 51 Franklin Street, Fifth Floor,
21   Boston, MA 02110-1301, USA.  */
22
23/* As a special exception, you may create a larger work that contains
24   part or all of the Bison parser skeleton and distribute that work
25   under terms of your choice, so long as that work isn't itself a
26   parser generator using the skeleton or a modified version thereof
27   as a parser skeleton.  Alternatively, if you modify or redistribute
28   the parser skeleton itself, you may (at your option) remove this
29   special exception, which will cause the skeleton and the resulting
30   Bison output files to be licensed under the GNU General Public
31   License without this special exception.
32
33   This special exception was added by the Free Software Foundation in
34   version 2.2 of Bison.  */
35
36/* Tokens.  */
37#ifndef YYTOKENTYPE
38# define YYTOKENTYPE
39   /* Put the tokens into the symbol table, so that GDB and other debuggers
40      know about them.  */
41   enum yytokentype {
42     INVARIANT = 258,
43     HIGH_PRECISION = 259,
44     MEDIUM_PRECISION = 260,
45     LOW_PRECISION = 261,
46     PRECISION = 262,
47     ATTRIBUTE = 263,
48     CONST_QUAL = 264,
49     BOOL_TYPE = 265,
50     FLOAT_TYPE = 266,
51     INT_TYPE = 267,
52     BREAK = 268,
53     CONTINUE = 269,
54     DO = 270,
55     ELSE = 271,
56     FOR = 272,
57     IF = 273,
58     DISCARD = 274,
59     RETURN = 275,
60     BVEC2 = 276,
61     BVEC3 = 277,
62     BVEC4 = 278,
63     IVEC2 = 279,
64     IVEC3 = 280,
65     IVEC4 = 281,
66     VEC2 = 282,
67     VEC3 = 283,
68     VEC4 = 284,
69     MATRIX2 = 285,
70     MATRIX3 = 286,
71     MATRIX4 = 287,
72     IN_QUAL = 288,
73     OUT_QUAL = 289,
74     INOUT_QUAL = 290,
75     UNIFORM = 291,
76     VARYING = 292,
77     STRUCT = 293,
78     VOID_TYPE = 294,
79     WHILE = 295,
80     SAMPLER2D = 296,
81     SAMPLERCUBE = 297,
82     IDENTIFIER = 298,
83     TYPE_NAME = 299,
84     FLOATCONSTANT = 300,
85     INTCONSTANT = 301,
86     BOOLCONSTANT = 302,
87     FIELD_SELECTION = 303,
88     LEFT_OP = 304,
89     RIGHT_OP = 305,
90     INC_OP = 306,
91     DEC_OP = 307,
92     LE_OP = 308,
93     GE_OP = 309,
94     EQ_OP = 310,
95     NE_OP = 311,
96     AND_OP = 312,
97     OR_OP = 313,
98     XOR_OP = 314,
99     MUL_ASSIGN = 315,
100     DIV_ASSIGN = 316,
101     ADD_ASSIGN = 317,
102     MOD_ASSIGN = 318,
103     LEFT_ASSIGN = 319,
104     RIGHT_ASSIGN = 320,
105     AND_ASSIGN = 321,
106     XOR_ASSIGN = 322,
107     OR_ASSIGN = 323,
108     SUB_ASSIGN = 324,
109     LEFT_PAREN = 325,
110     RIGHT_PAREN = 326,
111     LEFT_BRACKET = 327,
112     RIGHT_BRACKET = 328,
113     LEFT_BRACE = 329,
114     RIGHT_BRACE = 330,
115     DOT = 331,
116     COMMA = 332,
117     COLON = 333,
118     EQUAL = 334,
119     SEMICOLON = 335,
120     BANG = 336,
121     DASH = 337,
122     TILDE = 338,
123     PLUS = 339,
124     STAR = 340,
125     SLASH = 341,
126     PERCENT = 342,
127     LEFT_ANGLE = 343,
128     RIGHT_ANGLE = 344,
129     VERTICAL_BAR = 345,
130     CARET = 346,
131     AMPERSAND = 347,
132     QUESTION = 348
133   };
134#endif
135/* Tokens.  */
136#define INVARIANT 258
137#define HIGH_PRECISION 259
138#define MEDIUM_PRECISION 260
139#define LOW_PRECISION 261
140#define PRECISION 262
141#define ATTRIBUTE 263
142#define CONST_QUAL 264
143#define BOOL_TYPE 265
144#define FLOAT_TYPE 266
145#define INT_TYPE 267
146#define BREAK 268
147#define CONTINUE 269
148#define DO 270
149#define ELSE 271
150#define FOR 272
151#define IF 273
152#define DISCARD 274
153#define RETURN 275
154#define BVEC2 276
155#define BVEC3 277
156#define BVEC4 278
157#define IVEC2 279
158#define IVEC3 280
159#define IVEC4 281
160#define VEC2 282
161#define VEC3 283
162#define VEC4 284
163#define MATRIX2 285
164#define MATRIX3 286
165#define MATRIX4 287
166#define IN_QUAL 288
167#define OUT_QUAL 289
168#define INOUT_QUAL 290
169#define UNIFORM 291
170#define VARYING 292
171#define STRUCT 293
172#define VOID_TYPE 294
173#define WHILE 295
174#define SAMPLER2D 296
175#define SAMPLERCUBE 297
176#define IDENTIFIER 298
177#define TYPE_NAME 299
178#define FLOATCONSTANT 300
179#define INTCONSTANT 301
180#define BOOLCONSTANT 302
181#define FIELD_SELECTION 303
182#define LEFT_OP 304
183#define RIGHT_OP 305
184#define INC_OP 306
185#define DEC_OP 307
186#define LE_OP 308
187#define GE_OP 309
188#define EQ_OP 310
189#define NE_OP 311
190#define AND_OP 312
191#define OR_OP 313
192#define XOR_OP 314
193#define MUL_ASSIGN 315
194#define DIV_ASSIGN 316
195#define ADD_ASSIGN 317
196#define MOD_ASSIGN 318
197#define LEFT_ASSIGN 319
198#define RIGHT_ASSIGN 320
199#define AND_ASSIGN 321
200#define XOR_ASSIGN 322
201#define OR_ASSIGN 323
202#define SUB_ASSIGN 324
203#define LEFT_PAREN 325
204#define RIGHT_PAREN 326
205#define LEFT_BRACKET 327
206#define RIGHT_BRACKET 328
207#define LEFT_BRACE 329
208#define RIGHT_BRACE 330
209#define DOT 331
210#define COMMA 332
211#define COLON 333
212#define EQUAL 334
213#define SEMICOLON 335
214#define BANG 336
215#define DASH 337
216#define TILDE 338
217#define PLUS 339
218#define STAR 340
219#define SLASH 341
220#define PERCENT 342
221#define LEFT_ANGLE 343
222#define RIGHT_ANGLE 344
223#define VERTICAL_BAR 345
224#define CARET 346
225#define AMPERSAND 347
226#define QUESTION 348
227
228
229
230
231#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
232typedef union YYSTYPE
233
234{
235    struct {
236        TSourceLoc line;
237        union {
238            TString *string;
239            float f;
240            int i;
241            bool b;
242        };
243        TSymbol* symbol;
244    } lex;
245    struct {
246        TSourceLoc line;
247        TOperator op;
248        union {
249            TIntermNode* intermNode;
250            TIntermNodePair nodePair;
251            TIntermTyped* intermTypedNode;
252            TIntermAggregate* intermAggregate;
253        };
254        union {
255            TPublicType type;
256            TPrecision precision;
257            TQualifier qualifier;
258            TFunction* function;
259            TParameter param;
260            TTypeLine typeLine;
261            TTypeList* typeList;
262        };
263    } interm;
264}
265/* Line 1489 of yacc.c.  */
266
267	YYSTYPE;
268# define yystype YYSTYPE /* obsolescent; will be withdrawn */
269# define YYSTYPE_IS_DECLARED 1
270# define YYSTYPE_IS_TRIVIAL 1
271#endif
272
273
274
275