1f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2 "src/chromium_gensrc/mesa/glsl_lexer.cc"
2f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 4 "src/chromium_gensrc/mesa/glsl_lexer.cc"
4f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define  YY_INT_ALIGNED short int
6f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
7f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* A lexical scanner generated by flex */
8f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
9f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLEX_SCANNER
10f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FLEX_MAJOR_VERSION 2
11f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FLEX_MINOR_VERSION 5
12f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FLEX_SUBMINOR_VERSION 35
13f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YY_FLEX_SUBMINOR_VERSION > 0
14f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLEX_BETA
15f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
16f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
17f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* First, we deal with  platform-specific or compiler-specific issues. */
18f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
19f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* begin standard C headers. */
20f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <stdio.h>
21f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <string.h>
22f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <errno.h>
23f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <stdlib.h>
24f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
25f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* end standard C headers. */
26f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
27f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* flex integer type definitions */
28f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
29f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef FLEXINT_H
30f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLEXINT_H
31f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
32f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
34f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
36f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * if you want the limit (max/min) macros for int types.
38f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
39f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef __STDC_LIMIT_MACROS
40f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define __STDC_LIMIT_MACROS 1
41f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
42f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
43f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <inttypes.h>
44f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef int8_t flex_int8_t;
45f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef uint8_t flex_uint8_t;
46f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef int16_t flex_int16_t;
47f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef uint16_t flex_uint16_t;
48f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef int32_t flex_int32_t;
49f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef uint32_t flex_uint32_t;
50f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
51f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef signed char flex_int8_t;
52f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef short int flex_int16_t;
53f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef int flex_int32_t;
54f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned char flex_uint8_t;
55f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned short int flex_uint16_t;
56f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned int flex_uint32_t;
57f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
58f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Limits of integral types. */
59f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT8_MIN
60f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT8_MIN               (-128)
61f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
62f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT16_MIN
63f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT16_MIN              (-32767-1)
64f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
65f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT32_MIN
66f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT32_MIN              (-2147483647-1)
67f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
68f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT8_MAX
69f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT8_MAX               (127)
70f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
71f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT16_MAX
72f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT16_MAX              (32767)
73f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
74f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef INT32_MAX
75f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT32_MAX              (2147483647)
76f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
77f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef UINT8_MAX
78f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UINT8_MAX              (255U)
79f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
80f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef UINT16_MAX
81f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UINT16_MAX             (65535U)
82f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
83f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef UINT32_MAX
84f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UINT32_MAX             (4294967295U)
85f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
86f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
87f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* ! C99 */
88f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
89f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* ! FLEXINT_H */
90f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
91f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
92f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
93f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The "const" storage-class-modifier is valid. */
94f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USE_CONST
95f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
96f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else	/* ! __cplusplus */
97f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
98f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* C99 requires __STDC__ to be defined as 1. */
99f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined (__STDC__)
100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USE_CONST
102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif	/* defined (__STDC__) */
104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif	/* ! __cplusplus */
105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_USE_CONST
107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyconst const
108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyconst
110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Returned upon end-of-file. */
113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NULL 0
114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Promotes a possibly negative, possibly signed char to an unsigned
116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * integer for use as an array index.  If the signed char is negative,
117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * we want to instead treat it as an 8-bit unsigned char, hence the
118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * double cast.
119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* An opaque pointer. */
123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_TYPEDEF_YY_SCANNER_T
124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_TYPEDEF_YY_SCANNER_T
125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef void* yyscan_t;
126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* For convenience, these vars (plus the bison vars far below)
129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   are macros in the reentrant scanner. */
130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyin yyg->yyin_r
131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyout yyg->yyout_r
132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyextra yyg->yyextra_r
133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyleng yyg->yyleng_r
134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yytext yyg->yytext_r
135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yy_flex_debug yyg->yy_flex_debug_r
138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Enter a start condition.  This macro really ought to take a parameter,
140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * but we do it the disgusting crufty way forced on us by the ()-less
141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * definition of BEGIN.
142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BEGIN yyg->yy_start = 1 + 2 *
144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Translate the current start state into a value that can be later handed
146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * to BEGIN to return to the state.  The YYSTATE alias is for lex
147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * compatibility.
148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_START ((yyg->yy_start - 1) / 2)
150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYSTATE YY_START
151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Action number for EOF rule of a given start state. */
153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Special action meaning "start processing a new file". */
156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NEW_FILE _mesa_glsl_restart(yyin ,yyscanner )
157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_END_OF_BUFFER_CHAR 0
159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Size of default input buffer. */
161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_BUF_SIZE
162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __ia64__
163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* On IA-64, the buffer size is 16k, not 8k.
164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Ditto for the __ia64__ case accordingly.
166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BUF_SIZE 32768
168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BUF_SIZE 16384
170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* __ia64__ */
171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The state buf must be large enough to hold one state per character in the main buffer.
174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_TYPEDEF_YY_BUFFER_STATE
178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_TYPEDEF_YY_BUFFER_STATE
179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef struct yy_buffer_state *YY_BUFFER_STATE;
180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EOB_ACT_CONTINUE_SCAN 0
183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EOB_ACT_END_OF_FILE 1
184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EOB_ACT_LAST_MATCH 2
185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    #define YY_LESS_LINENO(n)
187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Return all but the first "n" matched characters back to the input stream. */
189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyless(n) \
190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	do \
191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Undo effects of setting up yytext. */ \
193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        int yyless_macro_arg = (n); \
194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        YY_LESS_LINENO(yyless_macro_arg);\
195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yy_cp = yyg->yy_hold_char; \
196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_RESTORE_YY_MORE_OFFSET \
197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} \
200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( 0 )
201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_TYPEDEF_YY_SIZE_T
205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_TYPEDEF_YY_SIZE_T
206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef size_t yy_size_t;
207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_STRUCT_YY_BUFFER_STATE
210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_STRUCT_YY_BUFFER_STATE
211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstruct yy_buffer_state
212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{
213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	FILE *yy_input_file;
214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	char *yy_ch_buf;		/* input buffer */
216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	char *yy_buf_pos;		/* current position in input buffer */
217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Size of input buffer in bytes, not including room for EOB
219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * characters.
220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_size_t yy_buf_size;
222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Number of characters read into yy_ch_buf, not including EOB
224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * characters.
225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_n_chars;
227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Whether we "own" the buffer - i.e., we know we created it,
229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * and can realloc() it to grow it, and should free() it to
230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * delete it.
231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_is_our_buffer;
233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Whether this is an "interactive" input source; if so, and
235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * if we're using stdio for input, then we want to use getc()
236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * instead of fread(), to make sure we stop fetching input after
237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * each newline.
238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_is_interactive;
240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Whether we're considered to be at the beginning of a line.
242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * If so, '^' rules will be active on the next match, otherwise
243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * not.
244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_at_bol;
246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_bs_lineno; /**< The line count. */
248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_bs_column; /**< The column count. */
249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Whether to try to fill the input buffer when we reach the
251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * end of it.
252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_fill_buffer;
254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int yy_buffer_status;
256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BUFFER_NEW 0
258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BUFFER_NORMAL 1
259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* When an EOF's been seen but there's still some text to process
260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * shouldn't try reading from the input source any more.  We might
262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * still have a bunch of tokens to match, though, because of
263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * possible backing-up.
264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 *
265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * When we actually see the EOF, we change the status to "new"
266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * (via _mesa_glsl_restart()), so that the user can continue scanning by
267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * just pointing yyin at a new input file.
268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BUFFER_EOF_PENDING 2
270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	};
272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* !YY_STRUCT_YY_BUFFER_STATE */
273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* We provide macros for accessing buffer states in case in the
275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * future we want to put the buffer states in a more general
276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * "scanner state".
277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Returns the top of the stack, or NULL.
279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                          : NULL)
283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Same as previous macro, but useful when we know that the buffer stack is not
285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * NULL or when we need an lvalue. For internal use only.
286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_restart (FILE *input_file ,yyscan_t yyscanner );
290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_pop_buffer_state (yyscan_t yyscanner );
296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void _mesa_glsl_ensure_buffer_stack (yyscan_t yyscanner );
298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void _mesa_glsl__load_buffer_state (yyscan_t yyscanner );
299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void _mesa_glsl__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FLUSH_BUFFER _mesa_glsl__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *_mesa_glsl_alloc (yy_size_t ,yyscan_t yyscanner );
308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *_mesa_glsl_realloc (void *,yy_size_t ,yyscan_t yyscanner );
309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_free (void * ,yyscan_t yyscanner );
310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yy_new_buffer _mesa_glsl__create_buffer
312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yy_set_interactive(is_interactive) \
314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{ \
315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! YY_CURRENT_BUFFER ){ \
316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        _mesa_glsl_ensure_buffer_stack (yyscanner); \
317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            _mesa_glsl__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	} \
320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yy_set_bol(at_bol) \
324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{ \
325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! YY_CURRENT_BUFFER ){\
326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        _mesa_glsl_ensure_buffer_stack (yyscanner); \
327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            _mesa_glsl__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	} \
330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Begin user sect3 */
336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define _mesa_glsl_wrap(n) 1
338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_SKIP_YYWRAP
339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned char YY_CHAR;
341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef int yy_state_type;
343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yytext_ptr yytext_r
345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yy_state_type yy_get_previous_state (yyscan_t yyscanner );
347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_get_next_buffer (yyscan_t yyscanner );
349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Done after the current pattern has been matched and before the
352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * corresponding action - sets up yytext.
353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_DO_BEFORE_ACTION \
355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = yy_bp; \
356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyleng = (size_t) (yy_cp - yy_bp); \
357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *yy_cp; \
358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yy_cp = '\0'; \
359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_c_buf_p = yy_cp;
360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NUM_RULES 215
362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_END_OF_BUFFER 216
363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* This struct is not used in this scanner,
364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   but its presence is necessary. */
365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstruct yy_trans_info
366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{
367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	flex_int32_t yy_verify;
368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	flex_int32_t yy_nxt;
369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	};
370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_accept[867] =
371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,   16,   16,    0,    0,  216,  214,    1,   21,
373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      214,  214,  214,  214,  214,  214,  214,  214,  121,  119,
374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      214,  214,  214,  213,  214,  213,  213,  213,  213,  213,
375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  214,    1,  214,  215,   16,
377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       20,  215,   19,   17,   18,   14,   13,    1,  103,  112,
378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      104,  115,  109,   98,  111,   99,  118,  123,  110,  124,
379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      121,    0,    0,  126,  121,    0,  119,  119,  107,  100,
380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      102,  101,  108,  213,  116,  106,  213,  213,  213,  213,
381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,   30,  213,
382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,   34,  213,  213,   61,  213,  213,  213,  213,
385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  117,
388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      105,    1,    0,    0,    2,    0,    0,    0,    0,   16,
389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       15,   19,   18,    0,  123,  122,    0,  124,    0,  125,
390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      120,  113,  114,  213,  129,  213,  213,  213,  213,  213,
391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,   33,  213,  213,  213,
393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,   26,  213,  213,
395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,   62,
396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,    0,   15,    0,  123,    0,  122,    0,
400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      124,  125,  120,  213,  213,   24,  213,  213,  176,  169,
401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,   32,
402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      132,  213,  213,  213,  213,   68,  213,  213,  137,  151,
403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  148,  172,   49,   50,   51,  213,  213,  213,
406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  135,  127,  213,
408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,   27,  213,  213,  213,  213,  213,  213,  213,   46,
409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       47,   48,   96,  213,  213,    0,    0,    0,    0,    0,
410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      122,  213,  213,   28,   37,   38,   39,  213,  130,  213,
411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       23,  213,  213,  213,  213,  159,  160,  161,  213,  128,
412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  152,   25,  162,  163,  164,  174,  156,  157,  158,
413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,   63,  154,  213,  213,  213,   40,   41,
414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       42,  213,  213,  213,  213,  213,  213,  213,  213,  213,
415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  149,  213,  213,
417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  131,  213,
418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  171,   43,   44,   45,  213,  213,   31,    0,    0,
419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,  179,  213,  213,  177,  213,  213,  213,  150,
420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      145,  182,  213,  213,  213,  213,  213,  213,  140,  213,
421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,   97,   52,   53,   54,   55,   56,   57,   58,
422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       59,   60,  213,  213,  213,  213,  155,  136,  213,  213,
423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      143,   36,  213,  213,  168,   69,  144,   95,  180,  138,
424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,    0,    0,
425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,  213,  213,  213,  139,   35,  213,  213,  213,
426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  183,  184,  185,  213,  213,  213,  213,
428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  173,  213,  213,  213,  213,  213,  213,  213,  213,
429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      133,  213,  213,  213,  213,  213,   64,  213,  213,   65,
430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,    0,    0,    0,    0,    0,  213,   66,   29,  146,
431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      187,  188,  189,  213,  213,  213,  213,  213,  213,  213,
432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  141,  213,  213,  213,  213,
433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  134,  191,  192,  193,
434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  153,  213,  142,    0,    0,    6,    0,    0,
435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,   12,    3,   22,  213,  213,  213,  213,  213,  213,
436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  186,  147,   67,  213,  213,  213,  213,
437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  170,  213,  178,  175,  208,   71,   72,   73,  213,
439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,    0,    0,    0,    0,    0,    0,    0,  213,  213,
441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  190,  213,  213,  213,  213,  213,   82,   83,   84,
442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  194,   88,   89,   90,  213,
444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,    4,    0,    5,    0,    0,    0,    0,    0,    0,
445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  205,  213,  213,
446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,   74,  213,  213,  213,  213,  213,  213,  213,  213,
448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,    0,    0,    0,    0,  213,  213,  206,  195,  213,
450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      196,  213,  213,  213,  213,  213,   85,  213,  213,  213,
451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,  213,  213,  213,  213,  213,  207,
452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,   91,    0,    0,    0,  197,  198,
453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  201,  213,  202,  213,  213,  213,  213,   70,  213,
454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  165,  213,  166,  181,  213,  213,  199,  200,
455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  213,  213,    0,    0,    0,  213,  213,  213,
456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  209,  211,   75,  213,   76,  213,  213,  213,  213,
457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  210,  212,    0,    0,    0,    0,  213,  213,
458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       86,   87,  213,   77,  213,  213,   78,  213,  213,   92,
459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       93,    0,    0,    0,    0,  213,  213,  213,  213,  213,
461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,    0,    0,    0,    0,  213,  213,  213,  213,
462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,   79,  213,    0,    0,    0,    7,    0,    0,  203,
463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      204,  213,  213,  213,   94,    0,    0,    8,    0,    0,
464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      213,  213,  167,    0,    0,    0,   80,   81,    0,    0,
465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    9,    0,    0,   10,    0,    0,    0,    0,    0,
466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,    0,   11,    0
467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int32_t yy_ec[256] =
470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    2,    5,    1,    6,    1,    7,    8,    1,    9,
475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       10,   11,   12,    1,   13,   14,   15,   16,   17,   18,
476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,   20,   21,   21,   21,   22,   22,   23,    1,   24,
477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       25,   26,    1,    1,   27,   28,   29,   30,   31,   32,
478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       33,   34,   34,   34,   34,   35,   34,   34,   36,   34,
479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       34,   37,   38,   39,   40,   34,   34,   41,   34,   34,
480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,   42,   43,    1,   44,   45,   46,   47,
481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       48,   49,   50,   51,   52,   53,   54,   55,   56,   57,
483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       58,   59,   34,   60,   61,   62,   63,   64,   65,   66,
484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       67,   68,    1,   69,    1,    1,    1,    1,    1,    1,
485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1
499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int32_t yy_meta[70] =
502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    3,    3,    3,    3,    3,
505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    1,    1,    1,    1,    4,    4,    4,    4,
506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    5,    5,    5,    5,    5,    5,    5,    5,
507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        5,    1,    5,    4,    4,    4,    4,    3,    3,    5,
508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        5,    5,    5,    5,    5,    5,    5,    5,    1
510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_base[876] =
513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,   68,   74,    0, 1243, 1242, 1244, 1247,   69, 1247,
515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1218, 1217,  136, 1216,  133,  134,  132, 1215,  148,  201,
516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      131, 1214,  146,    0,  121,  114,  123,  146,  134,  136,
517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      172, 1180,  161,  182,  141,  129,  151, 1174,  140,  187,
518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      196,  203,  205,  223, 1185,  187,  204,  270, 1247,  224,
519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1247, 1220,  258, 1247,    0, 1247, 1247,  240, 1247, 1247,
520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1247, 1247, 1247, 1247, 1247, 1247, 1247,  251, 1247,  253,
521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      224,  321,  275, 1247, 1247,    0,    0, 1247, 1209, 1247,
522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1247, 1247, 1208,    0, 1247, 1247, 1170, 1175, 1168, 1171,
523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1180, 1179, 1165, 1168, 1180,  247, 1174, 1161, 1158, 1172,
524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1158, 1155, 1155, 1161,  243,  261, 1155, 1166, 1151, 1157,
526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1161, 1162,    0, 1153, 1164,  252, 1163, 1158, 1138,  172,
527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1142, 1156, 1146,  201, 1139,  260, 1152, 1154, 1136, 1132,
528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1140, 1137, 1126, 1135,  264, 1133, 1139, 1134, 1137, 1125,
529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1128,  256,  265,  271, 1138, 1125, 1138,  234, 1131, 1247,
530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1247,  326,  319,  342, 1247, 1116, 1129, 1120, 1131,  329,
531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  338,    0,  391, 1247,  315,  402, 1247,  409,  416,
532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      287, 1247, 1247, 1126,    0, 1117, 1121, 1131, 1128,  300,
533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1111, 1111, 1115,  304, 1126, 1123, 1123, 1121, 1118, 1109,
534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1116, 1102, 1100, 1113, 1098, 1115,    0, 1112, 1099, 1107,
535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1104, 1108, 1109, 1102, 1099, 1087, 1086, 1100, 1103, 1090,
537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1099, 1086, 1093, 1083,  353, 1089, 1092, 1082, 1090, 1078,
538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1082, 1073, 1088, 1078, 1069, 1088, 1071, 1069, 1080, 1069,
539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1064, 1062, 1076, 1061, 1063, 1060, 1072, 1071, 1074, 1055,
540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      319, 1064, 1059, 1057, 1067, 1045,  361, 1064, 1066, 1054,
541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1046, 1050, 1062, 1045,    0,  423,  434,  451, 1247,  458,
542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      468, 1247, 1247, 1040, 1051,    0, 1048,  366,    0,    0,
543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1041, 1039, 1041, 1036, 1045, 1033, 1051, 1039,  369,    0,
544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0, 1033, 1044, 1043, 1043,    0, 1027,  373,    0,    0,
545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1029,  376, 1037, 1038, 1028, 1022, 1021, 1022, 1021, 1021,
546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      380, 1016,    0,    0, 1012, 1011, 1010, 1012, 1013, 1018,
548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1012, 1008, 1022, 1017, 1016, 1015, 1006, 1009, 1009, 1001,
549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1004,  999, 1008, 1013,  998, 1011, 1001,    0,    0, 1008,
550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     1004,    0,  995,  995, 1001,  991,  999,  439,  996,    0,
551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,  985,  998,  997,  996,  993,  981,  475,
552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      486,  993,  995,    0,    0,    0,    0,  981,    0,  981,
553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  980,  981,  975,  986,    0,    0,    0,  976,    0,
554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      972,    0,    0,    0,    0,    0,    0,    0,    0,    0,
555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      983,  492,  982,    0,    0,  980,  976,  972,    0,    0,
556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  964,  442,  494,  504,  969,  965,  971,  961,  959,
557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      973,  957,  957,  971,  959,  971,  966,    0,  964,  961,
559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      965,  948,  950,  957,  963,  958,  957,  944,    0,  946,
560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      947,    0,    0,    0,    0,  944,  948,    0,  942,  996,
561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      941,  944,    0,  932,  942,    0,  930,  930,  944,    0,
562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      946,    0,  508,  959,  958,  957,  923,  922,    0,  940,
563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      939,  934,    0,    0,    0,    0,    0,    0,    0,    0,
564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,  922,  936,  922,  919,    0,    0,  925,  924,
565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,  922,  914,    0,    0,    0,    0,    0,    0,
566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      911,  923,  511,  915,  922,  921,  918,  912,  905,  529,
567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      921,  906,  901,  915,  913,    0,    0,  905,  929,  928,
568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      927,  893,  892,  378,  505,    0,  905,  908,  906,  894,
570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      890,    0,  903,  900,  899,  888,  887,  886,  535,  895,
571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  912,  911,  910,  876,  875,    0,  890,  876,    0,
572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      887,  882,  539,  565,  931,  875,  883,    0,    0,    0,
573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      903,  902,    0,  879,  882,  866,  874,  864,  872,  873,
574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      873,  872,  857,  560,  870,    0,  871,  859,  858,  854,
575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      883,  882,  881,  847,  846,  842,    0,  880,  879,    0,
576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      856,  859,    0,  573,    0,  845,  591, 1247,  601,    0,
577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      612,  597, 1247,    0,  842,  841,  851,  851,  838,  853,
578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      836,  851,  846,    0,    0,    0,  863,  862,  861,  827,
579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      826,    0,  826,    0,    0,    0,  506,  534,  850,  837,
581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      840,  822,  823,  822,  832,  832,  849,  848,  847,  813,
582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      812,  817,  621,  647,  373,  834,  824,  812,  810,  809,
583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      820,    0,  823,  819,  821,  817,  803,  835,  324,    0,
584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      812,  815,  807,  798,  806,  796,  807,  803,  805,  803,
585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      803,  802,  789,  788,  799,    0,  819,  538,    0,  796,
586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      799, 1247,  444, 1247,  654,    0,  674,  813,  797,  779,
587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      796,  795,  778,  770,  778,  768,  776,    0,  773,  772,
588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      783,  781,  781,  764,  767,  782,  765,  778,  779,  776,
589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      773,  782,  759,  774,  773,  756,  755,  754,  765,  763,
590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      763,  479,  777,  746,  756,  740,  739,    0,  767,  739,
592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      765,  737,  741,  740,  753,  750,    0,  749,  752,  748,
593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      750,  731,  745,  729,  730,  738,  731,  720,  719,    0,
594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      725,  724,  737,  734,    0,  746,  730,  723,    0,    0,
595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      720,    0,  704,    0,  710,  709,  689,  690,    0,  682,
596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      690,  680,  708,  687,    0,    0,  700,  699,    0,    0,
597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      698,  697,  678,  679,  736,  560,  685,  692,  691,  667,
598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      666,    0,    0,  694,  666,  692,  678,  663,  678,  669,
599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      656,    5,    0,    0,  155,  634,  568,  106,  131,  208,
600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,  217,    0,  285,  305,    0,  324,  366,    0,
601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  360,  593,  549,  401,  440,  441,  457,  471,  469,
603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      454,  503,  474,  524,  643,  645,  509,  511,  549,  550,
604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      542,    0,  578,  581,  650,  676, 1247,  679,  625,    0,
605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,  588,  590,  593,    0,  599,  687, 1247,  659,  649,
606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      614,  615,    0,  630,  635,  697,    0,    0,  641,  698,
607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      699, 1247,  645,  701, 1247,  642,  703,  711,  708,  712,
608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      660,  661,  716,  717, 1247, 1247,  756,  759,  762,  718,
609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      719,  765,  769,  772,  774
610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_def[876] =
613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,    1,  866,    3,  867,  867,  866,  866,  866,  866,
615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  868,  866,  868,  868,  868,  868,  868,
617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  866,  866,  866,  866,  866,
619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  869,  866,  866,  866,  866,  866,
620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  870,  866,  871,
621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,  866,  866,  866,  866,  872,   20,  866,  866,  866,
622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  868,  866,  866,  868,  868,  868,  868,
623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  866,
630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      873,  866,  869,  866,  866,  871,  866,  866,  866,  866,
632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      872,  866,  866,  868,  868,  868,  868,  868,  868,  868,
633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  873,  866,  866,  866,  866,  866,
642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  868,  868,  868,  868,  868,  868,  868,
643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  866,  866,  866,  866,  866,
652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  868,  868,  868,  868,  868,  868,  868,  868,  868,
653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  866,  866,
661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  868,  868,  868,  868,  868,  868,  868,  868,
662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  866,  866,
667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  868,  868,  868,  868,  868,  868,  868,  868,
668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  866,  866,  866,  866,  866,  868,  868,  868,  868,
673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  866,  866,  866,  866,  874,
677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  868,  868,  868,  868,  868,  868,  868,
678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  866,  866,  866,  874,  866,  866,  866,  868,  868,
683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  866,  866,  866,  866,  875,  866,  866,  866,  866,
687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  875,  866,  866,  866,  868,  868,  868,  868,  868,
692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  866,  866,  866,  868,  868,
695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  866,  866,  866,  868,  868,  868,
698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  866,  866,  866,  866,  868,  868,
700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  866,  866,  866,  866,  868,  868,  868,  868,  868,
703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  866,  866,  866,  866,  868,  868,  868,  868,
704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  866,  866,  866,  866,  866,  866,  868,
705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  868,  868,  866,  866,  866,  866,  866,
706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      868,  868,  868,  866,  866,  866,  868,  868,  866,  866,
707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,    0,  866,  866,  866,  866,
709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866
710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_nxt[1317] =
713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        8,    9,   10,    9,   11,    8,   12,   13,    8,    8,
715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       14,   15,   16,   17,   18,   19,   20,   20,   20,   20,
716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       20,   20,    8,   21,   22,   23,   24,   24,   24,   24,
717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       24,   25,   24,   26,   27,   28,   29,   30,   31,   32,
719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       33,   34,   24,   24,   35,   36,   37,   38,   39,   40,
720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       41,   42,   43,   44,   45,   24,   24,   24,   46,   47,
721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       58,  801,   58,   48,   49,   50,   51,   50,   49,   49,
722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       49,   49,   49,   49,   49,   49,   49,   49,   52,   49,
723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       53,   53,   53,   53,   53,   53,   54,   49,   49,   49,
724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       55,   55,   55,   55,   55,   49,   55,   55,   55,   55,
727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       55,   55,   49,   61,   64,   85,   66,   68,   68,   68,
730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       68,   68,   68,   68,   79,   80,  785,   65,   67,   87,
731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       62,   70,   86,   71,   71,   71,   71,   71,   71,   72,
732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       82,   83,  121,  805,   88,   89,  122,  806,   73,   74,
733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       90,   97,   91,  126,  119,   98,   92,   75,   76,   93,
734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      101,   99,  102,   94,  123,   73,   74,  100,  120,  127,
735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       95,  103,  128,   96,  110,  152,  802,   58,  124,  153,
737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       75,  150,  111,   76,   70,  104,   77,   77,   77,   77,
738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       77,   77,   77,  105,  112,  160,  106,  160,  213,  107,
739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      113,   73,   74,  114,  129,  108,  214,  115,  116,  131,
740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       78,   58,  117,   58,  130,  118,  132,  133,   73,   74,
741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      138,  134,  218,  139,  807,  151,  142,  135,  136,  219,
742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      137,  143,  140,   78,  866,  144,  146,  808,  145,  141,
743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      147,  154,  155,  162,  162,  162,  162,  162,  162,  162,
744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      148,  164,  165,  167,  168,  248,  169,  169,  249,  866,
745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      170,  170,  170,  170,  170,  170,  170,  193,  164,  165,
746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      167,  168,  183,  184,  195,  221,  205,  231,  194,  206,
748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      207,  239,  240,  208,  243,  209,  241,  156,  196,  222,
749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      154,  155,  244,  232,  157,  242,  263,  152,  158,   58,
750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      160,  153,  160,  159,   70,  809,   72,   72,   72,   72,
751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       72,   72,   72,  154,  155,  258,  259,  269,  810,  263,
752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      680,   73,   74,  162,  162,  162,  162,  162,  162,  162,
753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      681,  270,  258,  259,  274,  275,  156,  333,   73,   74,
754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      305,  306,  307,  157,  577,  578,  334,  158,  340,  341,
755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      342,  811,  159,  355,  356,  357,  366,  367,  368,  156,
756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      374,  375,  376,  378,  379,  380,  157,  389,  390,  391,
757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      158,  812,  256,  256,  546,  159,  257,  257,  257,  257,
759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      257,  257,  257,  260,  260,  547,  813,  261,  261,  261,
760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      261,  261,  261,  261,  170,  170,  170,  170,  170,  170,
761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      170,  170,  170,  170,  170,  170,  170,  170,  257,  257,
762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      257,  257,  257,  257,  257,  663,  664,  262,  816,  257,
763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      257,  257,  257,  257,  257,  257,  423,  424,  425,  454,
764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      455,  456,  350,  350,  262,  165,  351,  351,  351,  351,
765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      351,  351,  351,  261,  261,  261,  261,  261,  261,  261,
766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      663,  664,  165,  261,  261,  261,  261,  261,  261,  261,
767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      351,  351,  351,  351,  351,  351,  351,  817,  818,  168,
768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      819,  351,  351,  351,  351,  351,  351,  351,  444,  445,
770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      446,  457,  458,  459,  820,  821,  168,  259,  822,  447,
771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      448,  460,  461,  462,  499,  500,  501,  522,  523,  524,
772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      490,  548,  644,  823,  259,  502,  503,  824,  525,  526,
773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      577,  578,  549,  645,  533,  534,  534,  534,  534,  534,
774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      534,  561,  562,  563,  579,  579,  579,  579,  579,  579,
775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      646,  786,  564,  565,  698,  566,  577,  578,  787,  803,
776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      647,  648,  825,  830,  699,  831,  597,  598,  599,  580,
777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      581,  581,  581,  581,  581,  581,  581,  600,  601,  617,
778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      618,  619,  577,  578,  803,  832,  833,  814,  582,  834,
779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      620,  621,  577,  578,  580,  815,  623,  624,  624,  624,
781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      624,  624,  624,  577,  578,  835,  579,  579,  579,  579,
782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      579,  579,  663,  664,  836,  804,  839,  581,  581,  581,
783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      581,  581,  581,  581,  626,  786,  665,  665,  665,  665,
784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      665,  665,  787,  627,  826,  841,  828,  842,  663,  664,
785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      804,  837,  827,  829,  628,  663,  664,  843,  844,  838,
786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      839,  666,  667,  667,  667,  667,  667,  667,  667,  665,
787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      665,  665,  665,  665,  665,  663,  664,  826,  847,  848,
788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      828,  849,  840,  850,  853,  827,  666,  829,  837,  667,
789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      667,  667,  667,  667,  667,  667,  838,  845,  851,  854,
790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      851,  856,  854,  857,  858,  846,  852,  855,  852,  860,
792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      855,  859,  858,  860,  862,  863,  840,  864,  864,  859,
793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       68,  166,  800,  799,  798,  865,  865,  797,  796,  795,
794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      794,  793,  792,  791,  790,  789,  788,  785,  784,  783,
795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      782,  781,  780,  779,  778,  777,  776,  775,  774,  773,
796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      772,  861,  771,  770,  769,  861,   56,   56,   56,   56,
797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       56,   84,   84,   84,  163,  163,  163,  171,  171,  255,
798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      768,  255,  255,  255,  625,  625,  702,  702,  767,  766,
799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      765,  764,  763,  762,  761,  760,  759,  758,  757,  756,
800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      755,  754,  753,  752,  751,  750,  749,  748,  747,  746,
801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      745,  744,  743,  742,  741,  740,  739,  738,  737,  736,
803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      735,  734,  733,  732,  731,  730,  729,  728,  727,  726,
804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      725,  724,  723,  722,  721,  720,  719,  718,  717,  716,
805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      715,  714,  713,  712,  711,  710,  709,  708,  707,  706,
806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      705,  704,  703,  701,  700,  697,  696,  695,  694,  693,
807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      692,  691,  690,  689,  688,  687,  686,  685,  684,  683,
808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      682,  679,  678,  677,  676,  675,  674,  673,  672,  671,
809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      670,  669,  668,  662,  661,  660,  659,  658,  657,  656,
810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      655,  654,  653,  652,  651,  650,  649,  643,  642,  641,
811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      640,  639,  638,  637,  636,  635,  634,  633,  632,  631,
812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      630,  629,  622,  616,  615,  614,  613,  612,  611,  610,
814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      609,  608,  607,  606,  605,  604,  603,  602,  596,  595,
815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      594,  593,  592,  591,  590,  589,  588,  587,  586,  585,
816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      584,  583,  582,  576,  575,  574,  573,  572,  571,  570,
817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      569,  568,  567,  560,  559,  558,  557,  556,  555,  554,
818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      553,  552,  551,  550,  545,  544,  543,  542,  541,  540,
819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      539,  538,  537,  536,  535,  532,  531,  530,  529,  528,
820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      527,  521,  520,  519,  518,  517,  516,  515,  514,  513,
821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      512,  511,  510,  509,  508,  507,  506,  505,  504,  498,
822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      497,  496,  495,  494,  493,  492,  491,  490,  489,  488,
823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      487,  486,  485,  484,  483,  482,  481,  480,  479,  478,
825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      477,  476,  475,  474,  473,  472,  471,  470,  469,  468,
826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      467,  466,  465,  464,  463,  453,  452,  451,  450,  449,
827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      443,  442,  441,  440,  439,  438,  437,  436,  435,  434,
828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      433,  432,  431,  430,  429,  428,  427,  426,  422,  421,
829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      420,  419,  418,  417,  416,  415,  414,  413,  412,  411,
830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      410,  409,  408,  407,  406,  405,  404,  403,  402,  401,
831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      400,  399,  398,  397,  396,  395,  394,  393,  392,  388,
832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      387,  386,  385,  384,  383,  382,  381,  377,  373,  372,
833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      371,  370,  369,  365,  364,  363,  362,  361,  360,  359,
834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      358,  354,  353,  352,  349,  348,  347,  346,  345,  344,
836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      343,  339,  338,  337,  336,  335,  332,  331,  330,  329,
837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      328,  327,  326,  325,  324,  323,  322,  321,  320,  319,
838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      318,  317,  316,  315,  314,  313,  312,  311,  310,  309,
839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      308,  304,  303,  302,  301,  300,  299,  298,  297,  296,
840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      295,  294,  293,  292,  291,  290,  289,  288,  287,  286,
841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      285,  284,  283,  282,  281,  280,  279,  278,  277,  276,
842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      273,  272,  271,  268,  267,  266,  265,  264,  254,  253,
843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      252,  251,  250,  247,  246,  245,  238,  237,  236,  235,
844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      234,  233,  230,  229,  228,  227,  226,  225,  224,  223,
845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      220,  217,  216,  215,  212,  211,  210,  204,  203,  202,
847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      201,  200,  199,  198,  197,  192,  191,  190,  189,  188,
848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      187,  186,  185,  182,  181,  180,  179,  178,  177,  176,
849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      175,  174,  173,  172,  161,  149,  125,  109,   81,   69,
850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       63,   60,   59,  866,   57,   57,    7,  866,  866,  866,
851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866
859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_chk[1317] =
862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        9,  782,    9,    2,    3,    3,    3,    3,    3,    3,
871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    3,    3,   13,   15,   25,   16,   17,   17,   17,
879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       17,   17,   17,   17,   21,   21,  785,   15,   16,   26,
880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       13,   19,   25,   19,   19,   19,   19,   19,   19,   19,
881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       23,   23,   36,  788,   26,   26,   36,  789,   19,   19,
882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       27,   29,   27,   39,   35,   29,   27,   19,   19,   28,
883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       30,   29,   30,   28,   37,   19,   19,   29,   35,   39,
884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       28,   30,   39,   28,   33,   47,  785,   47,   37,   47,
886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,   46,   33,   19,   20,   31,   20,   20,   20,   20,
887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       20,   20,   20,   31,   33,   50,   31,   50,  120,   31,
888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       34,   20,   20,   34,   40,   31,  120,   34,   34,   41,
889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       20,   58,   34,   58,   40,   34,   41,   41,   20,   20,
890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       42,   41,  124,   42,  790,   46,   43,   41,   41,  124,
891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       41,   43,   42,   20,   71,   43,   44,  793,   43,   42,
892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       44,   48,   48,   53,   53,   53,   53,   53,   53,   53,
893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       44,   68,   68,   70,   70,  148,   73,   73,  148,   71,
894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       73,   73,   73,   73,   73,   73,   73,  105,   68,   68,
895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       70,   70,   96,   96,  106,  126,  116,  135,  105,  116,
897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      116,  142,  142,  116,  144,  116,  143,   48,  106,  126,
898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      153,  153,  144,  135,   48,  143,  171,  152,   48,  152,
899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      160,  152,  160,   48,   72,  795,   72,   72,   72,   72,
900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       72,   72,   72,  154,  154,  166,  166,  180,  796,  171,
901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      639,   72,   72,  162,  162,  162,  162,  162,  162,  162,
902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      639,  180,  166,  166,  184,  184,  153,  241,   72,   72,
903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      215,  215,  215,  153,  625,  625,  241,  153,  247,  247,
904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      247,  798,  153,  268,  268,  268,  279,  279,  279,  154,
905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      288,  288,  288,  292,  292,  292,  154,  301,  301,  301,
906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      154,  799,  164,  164,  504,  154,  164,  164,  164,  164,
908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      164,  164,  164,  167,  167,  504,  802,  167,  167,  167,
909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      167,  167,  167,  167,  169,  169,  169,  169,  169,  169,
910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      169,  170,  170,  170,  170,  170,  170,  170,  256,  256,
911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      256,  256,  256,  256,  256,  663,  663,  170,  805,  257,
912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      257,  257,  257,  257,  257,  257,  338,  338,  338,  393,
913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      393,  393,  258,  258,  170,  257,  258,  258,  258,  258,
914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      258,  258,  258,  260,  260,  260,  260,  260,  260,  260,
915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      702,  702,  257,  261,  261,  261,  261,  261,  261,  261,
916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      350,  350,  350,  350,  350,  350,  350,  806,  807,  261,
917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      808,  351,  351,  351,  351,  351,  351,  351,  382,  382,
919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      382,  394,  394,  394,  809,  810,  261,  351,  811,  382,
920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      382,  395,  395,  395,  443,  443,  443,  483,  483,  483,
921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      490,  505,  607,  812,  351,  443,  443,  813,  483,  483,
922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      533,  533,  505,  607,  490,  490,  490,  490,  490,  490,
923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      490,  519,  519,  519,  533,  533,  533,  533,  533,  533,
924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      608,  766,  519,  519,  658,  519,  534,  534,  766,  787,
925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      608,  608,  814,  817,  658,  818,  554,  554,  554,  533,
926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      534,  534,  534,  534,  534,  534,  534,  554,  554,  574,
927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      574,  574,  577,  577,  803,  819,  820,  804,  582,  821,
928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      574,  574,  579,  579,  533,  804,  577,  577,  577,  577,
930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      577,  577,  577,  581,  581,  823,  579,  579,  579,  579,
931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      579,  579,  623,  623,  824,  787,  829,  581,  581,  581,
932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      581,  581,  581,  581,  582,  786,  623,  623,  623,  623,
933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      623,  623,  786,  582,  815,  832,  816,  833,  624,  624,
934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      803,  825,  815,  816,  582,  665,  665,  834,  836,  825,
935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      839,  623,  624,  624,  624,  624,  624,  624,  624,  665,
936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      665,  665,  665,  665,  665,  667,  667,  826,  841,  842,
937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      828,  844,  829,  845,  849,  826,  623,  828,  837,  667,
938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      667,  667,  667,  667,  667,  667,  837,  840,  846,  850,
939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      851,  853,  854,  856,  857,  840,  846,  850,  851,  859,
941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      854,  857,  858,  860,  861,  862,  839,  863,  864,  858,
942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      870,  871,  781,  780,  779,  863,  864,  778,  777,  776,
943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      775,  774,  771,  770,  769,  768,  767,  765,  764,  763,
944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      762,  761,  758,  757,  754,  753,  752,  751,  750,  748,
945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      747,  859,  746,  745,  743,  860,  867,  867,  867,  867,
946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      867,  868,  868,  868,  869,  869,  869,  872,  872,  873,
947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      741,  873,  873,  873,  874,  874,  875,  875,  738,  737,
948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      736,  734,  733,  732,  731,  729,  728,  727,  726,  725,
949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      724,  723,  722,  721,  720,  719,  718,  716,  715,  714,
950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      713,  712,  711,  710,  709,  707,  706,  705,  704,  703,
952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      701,  700,  699,  698,  697,  696,  695,  694,  693,  692,
953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      691,  690,  689,  688,  687,  686,  685,  684,  683,  682,
954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      681,  680,  679,  677,  676,  675,  674,  673,  672,  671,
955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      670,  669,  668,  661,  660,  657,  655,  654,  653,  652,
956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      651,  650,  649,  648,  647,  646,  645,  644,  643,  642,
957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      641,  638,  637,  636,  635,  634,  633,  631,  630,  629,
958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      628,  627,  626,  622,  621,  620,  619,  618,  617,  616,
959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      615,  614,  613,  612,  611,  610,  609,  603,  601,  600,
960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      599,  598,  597,  593,  592,  591,  590,  589,  588,  587,
961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      586,  585,  576,  572,  571,  569,  568,  566,  565,  564,
963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      563,  562,  561,  560,  559,  558,  557,  555,  553,  552,
964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      551,  550,  549,  548,  547,  546,  545,  544,  542,  541,
965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      537,  536,  535,  532,  531,  529,  528,  526,  525,  524,
966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      523,  522,  520,  518,  517,  516,  515,  514,  513,  511,
967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      510,  509,  508,  507,  503,  502,  501,  500,  499,  498,
968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      495,  494,  493,  492,  491,  489,  488,  487,  486,  485,
969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      484,  482,  481,  474,  473,  470,  469,  466,  465,  464,
970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      463,  452,  451,  450,  448,  447,  446,  445,  444,  441,
971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      439,  438,  437,  435,  434,  432,  431,  430,  429,  427,
972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      426,  421,  420,  418,  417,  416,  415,  414,  413,  412,
974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      411,  410,  409,  407,  406,  405,  404,  403,  402,  401,
975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      400,  399,  398,  397,  396,  392,  388,  387,  386,  383,
976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      381,  371,  369,  365,  364,  363,  362,  360,  358,  353,
977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      352,  349,  348,  347,  346,  345,  344,  339,  337,  336,
978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      335,  334,  333,  331,  330,  327,  326,  325,  324,  323,
979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      322,  321,  320,  319,  318,  317,  316,  315,  314,  313,
980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      312,  311,  310,  309,  308,  307,  306,  305,  302,  300,
981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      299,  298,  297,  296,  295,  294,  293,  291,  287,  285,
982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      284,  283,  282,  278,  277,  276,  275,  274,  273,  272,
983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      271,  267,  265,  264,  254,  253,  252,  251,  250,  249,
985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      248,  246,  245,  244,  243,  242,  240,  239,  238,  237,
986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      236,  235,  234,  233,  232,  231,  230,  229,  228,  227,
987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      226,  225,  224,  223,  222,  221,  220,  219,  218,  217,
988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      216,  214,  213,  212,  211,  210,  209,  208,  207,  206,
989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      205,  204,  203,  202,  201,  200,  199,  198,  196,  195,
990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      194,  193,  192,  191,  190,  189,  188,  187,  186,  185,
991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      183,  182,  181,  179,  178,  177,  176,  174,  159,  158,
992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      157,  156,  149,  147,  146,  145,  141,  140,  139,  138,
993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      137,  136,  134,  133,  132,  131,  130,  129,  128,  127,
994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      125,  123,  122,  121,  119,  118,  117,  115,  114,  112,
996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      111,  110,  109,  108,  107,  104,  103,  102,  101,  100,
997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       99,   98,   97,   95,   94,   93,   92,   91,   90,   89,
998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       88,   87,   83,   79,   52,   45,   38,   32,   22,   18,
999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       14,   12,   11,    7,    6,    5,  866,  866,  866,  866,
1000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
1007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      866,  866,  866,  866,  866,  866
1008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
1009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The intent behind this definition is that it'll catch
1011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * any uses of REJECT which flex missed.
1012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define REJECT reject_used_but_not_detected
1014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yymore() yymore_used_but_not_detected
1015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_MORE_ADJ 0
1016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_RESTORE_YY_MORE_OFFSET
1017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1 "src/src/glsl/glsl_lexer.ll"
1018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2 "src/src/glsl/glsl_lexer.ll"
1019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*
1020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Copyright © 2008, 2009 Intel Corporation
1021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a
1023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * copy of this software and associated documentation files (the "Software"),
1024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * to deal in the Software without restriction, including without limitation
1025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * and/or sell copies of the Software, and to permit persons to whom the
1027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software is furnished to do so, subject to the following conditions:
1028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * The above copyright notice and this permission notice (including the next
1030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * paragraph) shall be included in all copies or substantial portions of the
1031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software.
1032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * DEALINGS IN THE SOFTWARE.
1040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <ctype.h>
1042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <limits.h>
1043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "strtod.h"
1044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "ast.h"
1045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glsl_parser_extras.h"
1046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glsl_parser.h"
1047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
1049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef _MSC_VER
1051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NO_UNISTD_H
1052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_ACTION						\
1055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   do {								\
1056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yylloc->source = 0;					\
1057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yylloc->first_column = yycolumn + 1;			\
1058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yylloc->first_line = yylineno + 1;			\
1059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yycolumn += yyleng;					\
1060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   } while(0);
1061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_INIT yylineno = 0; yycolumn = 0;
1063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* A macro for handling reserved words and keywords across language versions.
1065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Certain words start out as identifiers, become reserved words in
1067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * later language revisions, and finally become language keywords.
1068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * For example, consider the following lexer rule:
1070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * samplerBuffer       KEYWORD(130, 140, SAMPLERBUFFER)
1071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * This means that "samplerBuffer" will be treated as:
1073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * - a keyword (SAMPLERBUFFER token)         ...in GLSL >= 1.40
1074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * - a reserved word - error                 ...in GLSL >= 1.30
1075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * - an identifier                           ...in GLSL <  1.30
1076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define KEYWORD(reserved_version, allowed_version, token)		\
1078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   do {									\
1079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (yyextra->language_version >= allowed_version) {		\
1080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 return token;							\
1081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      } else if (yyextra->language_version >= reserved_version) {	\
1082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 _mesa_glsl_error(yylloc, yyextra,				\
1083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			  "Illegal use of reserved word `%s'", yytext);	\
1084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 return ERROR_TOK;						\
1085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      } else {								\
1086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 yylval->identifier = strdup(yytext);				\
1087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 return classify_identifier(yyextra, yytext);			\
1088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }									\
1089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   } while (0)
1090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The ES macro can be used in KEYWORD checks:
1092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *    word      KEYWORD(110 || ES, 400, TOKEN)
1094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * ...means the word is reserved in GLSL ES 1.00, while
1095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *    word      KEYWORD(110, 130 || ES, TOKEN)
1097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * ...means the word is a legal keyword in GLSL ES 1.00.
1098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ES yyextra->es_shader
1100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int
1102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgliteral_integer(char *text, int len, struct _mesa_glsl_parse_state *state,
1103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YYSTYPE *lval, YYLTYPE *lloc, int base)
1104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   bool is_uint = (text[len - 1] == 'u' ||
1106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		   text[len - 1] == 'U');
1107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   const char *digits = text;
1108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   /* Skip "0x" */
1110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   if (base == 16)
1111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      digits += 2;
1112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef _MSC_VER
1114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   unsigned __int64 value = _strtoui64(digits, NULL, base);
1115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   unsigned long long value = strtoull(digits, NULL, base);
1117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   lval->n = (int)value;
1120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   if (value > UINT_MAX) {
1122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Note that signed 0xffffffff is valid, not out of range! */
1123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (state->language_version >= 130) {
1124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 _mesa_glsl_error(lloc, state,
1125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			  "Literal value `%s' out of range", text);
1126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      } else {
1127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 _mesa_glsl_warning(lloc, state,
1128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    "Literal value `%s' out of range", text);
1129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }
1130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   } else if (base == 10 && !is_uint && (unsigned)value > (unsigned)INT_MAX + 1) {
1131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Tries to catch unintentionally providing a negative value.
1132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       * Note that -2147483648 is parsed as -(2147483648), so we don't
1133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       * want to warn for INT_MAX.
1134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       */
1135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      _mesa_glsl_warning(lloc, state,
1136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 "Signed literal value `%s' is interpreted as %d",
1137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 text, lval->n);
1138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   }
1139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   return is_uint ? UINTCONSTANT : INTCONSTANT;
1140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LITERAL_INTEGER(base) \
1143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   literal_integer(yytext, yyleng, yyextra, yylval, yylloc, base)
1144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1147 "src/chromium_gensrc/mesa/glsl_lexer.cc"
1147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INITIAL 0
1149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PP 1
1150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA 2
1151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_EXTRA_TYPE struct _mesa_glsl_parse_state *
1153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Holds the entire state of the reentrant scanner. */
1155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstruct yyguts_t
1156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
1157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* User-defined. Not touched by flex. */
1159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_EXTRA_TYPE yyextra_r;
1160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    FILE *yyin_r, *yyout_r;
1163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    size_t yy_buffer_stack_top; /**< index of top of stack. */
1164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    size_t yy_buffer_stack_max; /**< capacity of stack. */
1165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char yy_hold_char;
1167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_n_chars;
1168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyleng_r;
1169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yy_c_buf_p;
1170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_init;
1171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start;
1172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_did_buffer_switch_on_eof;
1173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start_stack_ptr;
1174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start_stack_depth;
1175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int *yy_start_stack;
1176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_state_type yy_last_accepting_state;
1177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char* yy_last_accepting_cpos;
1178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yylineno_r;
1180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_flex_debug_r;
1181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yytext_r;
1183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_more_flag;
1184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_more_len;
1185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE * yylval_r;
1187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE * yylloc_r;
1189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }; /* end struct yyguts_t */
1191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner );
1193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* This must go here because YYSTYPE and YYLTYPE are included
1195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * from bison output in section 1.*/
1196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    #    define yylval yyg->yylval_r
1197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    #    define yylloc yyg->yylloc_r
1199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_init (yyscan_t* scanner);
1201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
1203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor methods to globals.
1205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   These are made visible to non-reentrant scanners for convenience. */
1206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_destroy (yyscan_t yyscanner );
1208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_debug (yyscan_t yyscanner );
1210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_debug (int debug_flag ,yyscan_t yyscanner );
1212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_EXTRA_TYPE _mesa_glsl_get_extra (yyscan_t yyscanner );
1214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *_mesa_glsl_get_in (yyscan_t yyscanner );
1218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_in  (FILE * in_str ,yyscan_t yyscanner );
1220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *_mesa_glsl_get_out (yyscan_t yyscanner );
1222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_out  (FILE * out_str ,yyscan_t yyscanner );
1224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_leng (yyscan_t yyscanner );
1226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgchar *_mesa_glsl_get_text (yyscan_t yyscanner );
1228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_lineno (yyscan_t yyscanner );
1230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_lineno (int line_number ,yyscan_t yyscanner );
1232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYSTYPE * _mesa_glsl_get_lval (yyscan_t yyscanner );
1234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
1236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       YYLTYPE *_mesa_glsl_get_lloc (yyscan_t yyscanner );
1238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        void _mesa_glsl_set_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
1240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Macros after this point can all be overridden by user definitions in
1242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * section 1.
1243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_SKIP_YYWRAP
1246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
1247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern "C" int _mesa_glsl_wrap (yyscan_t yyscanner );
1248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern int _mesa_glsl_wrap (yyscan_t yyscanner );
1250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yytext_ptr
1254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_NEED_STRLEN
1258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_NO_INPUT
1262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
1264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yyinput (yyscan_t yyscanner );
1265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int input (yyscan_t yyscanner );
1267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Amount of stuff to slurp up with each read. */
1272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_READ_BUF_SIZE
1273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __ia64__
1274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* On IA-64, the buffer size is 16k, not 8k */
1275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_READ_BUF_SIZE 16384
1276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_READ_BUF_SIZE 8192
1278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* __ia64__ */
1279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy whatever the last rule matched to the standard output. */
1282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef ECHO
1283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* This used to be an fputs(), but since the string might contain NUL's,
1284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * we now use fwrite().
1285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * is returned in "result".
1291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_INPUT
1293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_INPUT(buf,result,max_size) \
1294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
1296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int c = '*'; \
1297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		size_t n; \
1298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		for ( n = 0; n < max_size && \
1299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			buf[n] = (char) c; \
1301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( c == '\n' ) \
1302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			buf[n++] = (char) c; \
1303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( c == EOF && ferror( yyin ) ) \
1304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		result = n; \
1306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} \
1307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else \
1308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
1309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		errno=0; \
1310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ \
1312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if( errno != EINTR) \
1313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{ \
1314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_FATAL_ERROR( "input in flex scanner failed" ); \
1315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				break; \
1316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				} \
1317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			errno=0; \
1318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			clearerr(yyin); \
1319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			} \
1320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}\
1321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org\
1322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* No semi-colon after return; correct usage is to write "yyterminate();" -
1326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * we don't want an extra ';' after the "return" because that will cause
1327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * some compilers to complain about unreachable statements.
1328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yyterminate
1330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyterminate() return YY_NULL
1331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Number of entries by which start-condition stack grows. */
1334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_START_STACK_INCR
1335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_START_STACK_INCR 25
1336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Report a fatal error. */
1339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_FATAL_ERROR
1340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* end tables serialization structures and prototypes */
1344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Default declaration of generated scanner - a define so the user can
1346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * easily add parameters.
1347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_DECL
1349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_DECL_IS_OURS 1
1350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern int _mesa_glsl_lex \
1352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
1353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_DECL int _mesa_glsl_lex \
1355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
1356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* !YY_DECL */
1357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Code executed at the beginning of each rule, after yytext and yyleng
1359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * have been set up.
1360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_USER_ACTION
1362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_ACTION
1363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Code executed at the end of each rule. */
1366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_BREAK
1367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BREAK break;
1368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_RULE_SETUP \
1371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyleng > 0 ) \
1372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				(yytext[yyleng - 1] == '\n'); \
1374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_USER_ACTION
1375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** The main scanner function which does all the work.
1377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DECL
1379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register yy_state_type yy_current_state;
1381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp, *yy_bp;
1382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int yy_act;
1383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 145 "src/src/glsl/glsl_lexer.ll"
1386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1389 "src/chromium_gensrc/mesa/glsl_lexer.cc"
1389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylval = yylval_param;
1391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylloc = yylloc_param;
1393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( !yyg->yy_init )
1395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_init = 1;
1397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_USER_INIT
1399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_USER_INIT;
1400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_start )
1403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_start = 1;	/* first start state */
1404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyin )
1406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyin = stdin;
1407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyout )
1409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyout = stdout;
1410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! YY_CURRENT_BUFFER ) {
1412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			_mesa_glsl_ensure_buffer_stack (yyscanner);
1413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE =
1414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				_mesa_glsl__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl__load_buffer_state(yyscanner );
1418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( 1 )		/* loops until end-of-file is reached */
1421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_cp = yyg->yy_c_buf_p;
1423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Support of yytext. */
1425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yy_cp = yyg->yy_hold_char;
1426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* yy_bp points to the position in yy_ch_buf of the start of
1428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * the current run.
1429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
1430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_bp = yy_cp;
1431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yyg->yy_start;
1433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state += YY_AT_BOL();
1434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_match:
1435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		do
1436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_accept[yy_current_state] )
1439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_last_accepting_state = yy_current_state;
1441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_last_accepting_cpos = yy_cp;
1442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = (int) yy_def[yy_current_state];
1446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( yy_current_state >= 867 )
1447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yy_c = yy_meta[(unsigned int) yy_c];
1448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			++yy_cp;
1451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( yy_current_state != 866 );
1453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_cp = yyg->yy_last_accepting_cpos;
1454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yyg->yy_last_accepting_state;
1455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_find_action:
1457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_act = yy_accept[yy_current_state];
1458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_DO_BEFORE_ACTION;
1460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo_action:	/* This label is used only to access EOF actions. */
1462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		switch ( yy_act )
1464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{ /* beginning of action switch */
1465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case 0: /* must back up */
1466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* undo the effects of YY_DO_BEFORE_ACTION */
1467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			*yy_cp = yyg->yy_hold_char;
1468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_cp = yyg->yy_last_accepting_cpos;
1469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yyg->yy_last_accepting_state;
1470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			goto yy_find_action;
1471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 1:
1473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 147 "src/src/glsl/glsl_lexer.ll"
1475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org;
1476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Preprocessor tokens. */
1478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 2:
1479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyg->yy_c_buf_p = yy_cp -= 1;
1481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DO_BEFORE_ACTION; /* set up yytext again */
1482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 150 "src/src/glsl/glsl_lexer.ll"
1484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org;
1485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 3:
1487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 151 "src/src/glsl/glsl_lexer.ll"
1489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ BEGIN PP; return VERSION_TOK; }
1490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 4:
1492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 152 "src/src/glsl/glsl_lexer.ll"
1494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ BEGIN PP; return EXTENSION; }
1495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 5:
1497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyg->yy_c_buf_p = yy_cp -= 1;
1499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DO_BEFORE_ACTION; /* set up yytext again */
1500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 153 "src/src/glsl/glsl_lexer.ll"
1502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   /* Eat characters until the first digit is
1504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * encountered
1505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    */
1506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   char *ptr = yytext;
1507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   while (!isdigit(*ptr))
1508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				      ptr++;
1509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   /* Subtract one from the line number because
1511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * yylineno is zero-based instead of
1512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * one-based.
1513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    */
1514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   yylineno = strtol(ptr, &ptr, 0) - 1;
1515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   yylloc->source = strtol(ptr, NULL, 0);
1516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 6:
1519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyg->yy_c_buf_p = yy_cp -= 1;
1521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DO_BEFORE_ACTION; /* set up yytext again */
1522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 168 "src/src/glsl/glsl_lexer.ll"
1524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   /* Eat characters until the first digit is
1526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * encountered
1527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    */
1528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   char *ptr = yytext;
1529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   while (!isdigit(*ptr))
1530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				      ptr++;
1531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   /* Subtract one from the line number because
1533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * yylineno is zero-based instead of
1534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    * one-based.
1535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    */
1536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   yylineno = strtol(ptr, &ptr, 0) - 1;
1537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 7:
1540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 182 "src/src/glsl/glsl_lexer.ll"
1542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  BEGIN PP;
1544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  return PRAGMA_DEBUG_ON;
1545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 8:
1548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 186 "src/src/glsl/glsl_lexer.ll"
1550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  BEGIN PP;
1552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  return PRAGMA_DEBUG_OFF;
1553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 9:
1556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 190 "src/src/glsl/glsl_lexer.ll"
1558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  BEGIN PP;
1560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  return PRAGMA_OPTIMIZE_ON;
1561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 10:
1564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 194 "src/src/glsl/glsl_lexer.ll"
1566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  BEGIN PP;
1568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  return PRAGMA_OPTIMIZE_OFF;
1569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 11:
1572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 198 "src/src/glsl/glsl_lexer.ll"
1574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  BEGIN PP;
1576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				  return PRAGMA_INVARIANT_ALL;
1577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 12:
1580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 202 "src/src/glsl/glsl_lexer.ll"
1582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ BEGIN PRAGMA; }
1583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 13:
1585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 13 can match eol */
1586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 204 "src/src/glsl/glsl_lexer.ll"
1588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ BEGIN 0; yylineno++; yycolumn = 0; }
1589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 14:
1591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 205 "src/src/glsl/glsl_lexer.ll"
1593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ }
1594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 15:
1596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 207 "src/src/glsl/glsl_lexer.ll"
1598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ }
1599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 16:
1601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 208 "src/src/glsl/glsl_lexer.ll"
1603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ }
1604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 17:
1606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 209 "src/src/glsl/glsl_lexer.ll"
1608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn COLON;
1609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 18:
1611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 210 "src/src/glsl/glsl_lexer.ll"
1613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   yylval->identifier = strdup(yytext);
1615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				   return IDENTIFIER;
1616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 19:
1619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 214 "src/src/glsl/glsl_lexer.ll"
1621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    yylval->n = strtol(yytext, NULL, 10);
1623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    return INTCONSTANT;
1624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 20:
1627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 20 can match eol */
1628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 218 "src/src/glsl/glsl_lexer.ll"
1630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ BEGIN 0; yylineno++; yycolumn = 0; return EOL; }
1631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 21:
1633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 21 can match eol */
1634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 220 "src/src/glsl/glsl_lexer.ll"
1636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ yylineno++; yycolumn = 0; }
1637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 22:
1639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 222 "src/src/glsl/glsl_lexer.ll"
1641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn ATTRIBUTE;
1642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 23:
1644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 223 "src/src/glsl/glsl_lexer.ll"
1646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn CONST_TOK;
1647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 24:
1649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 224 "src/src/glsl/glsl_lexer.ll"
1651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn BOOL_TOK;
1652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 25:
1654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 225 "src/src/glsl/glsl_lexer.ll"
1656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn FLOAT_TOK;
1657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 26:
1659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 226 "src/src/glsl/glsl_lexer.ll"
1661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn INT_TOK;
1662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 27:
1664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 227 "src/src/glsl/glsl_lexer.ll"
1666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, UINT_TOK);
1667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 28:
1669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 229 "src/src/glsl/glsl_lexer.ll"
1671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn BREAK;
1672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 29:
1674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 230 "src/src/glsl/glsl_lexer.ll"
1676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn CONTINUE;
1677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 30:
1679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 231 "src/src/glsl/glsl_lexer.ll"
1681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn DO;
1682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 31:
1684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 232 "src/src/glsl/glsl_lexer.ll"
1686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn WHILE;
1687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 32:
1689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 233 "src/src/glsl/glsl_lexer.ll"
1691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn ELSE;
1692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 33:
1694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 234 "src/src/glsl/glsl_lexer.ll"
1696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn FOR;
1697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 34:
1699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 235 "src/src/glsl/glsl_lexer.ll"
1701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn IF;
1702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 35:
1704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 236 "src/src/glsl/glsl_lexer.ll"
1706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn DISCARD;
1707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 36:
1709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 237 "src/src/glsl/glsl_lexer.ll"
1711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn RETURN;
1712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 37:
1714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 239 "src/src/glsl/glsl_lexer.ll"
1716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn BVEC2;
1717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 38:
1719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 240 "src/src/glsl/glsl_lexer.ll"
1721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn BVEC3;
1722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 39:
1724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 241 "src/src/glsl/glsl_lexer.ll"
1726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn BVEC4;
1727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 40:
1729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 242 "src/src/glsl/glsl_lexer.ll"
1731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn IVEC2;
1732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 41:
1734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 243 "src/src/glsl/glsl_lexer.ll"
1736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn IVEC3;
1737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 42:
1739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 244 "src/src/glsl/glsl_lexer.ll"
1741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn IVEC4;
1742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 43:
1744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 245 "src/src/glsl/glsl_lexer.ll"
1746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, UVEC2);
1747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 44:
1749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 246 "src/src/glsl/glsl_lexer.ll"
1751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, UVEC3);
1752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 45:
1754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 247 "src/src/glsl/glsl_lexer.ll"
1756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, UVEC4);
1757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 46:
1759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 248 "src/src/glsl/glsl_lexer.ll"
1761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn VEC2;
1762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 47:
1764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 249 "src/src/glsl/glsl_lexer.ll"
1766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn VEC3;
1767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 48:
1769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 250 "src/src/glsl/glsl_lexer.ll"
1771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn VEC4;
1772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 49:
1774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 251 "src/src/glsl/glsl_lexer.ll"
1776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn MAT2X2;
1777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 50:
1779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 252 "src/src/glsl/glsl_lexer.ll"
1781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn MAT3X3;
1782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 51:
1784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 253 "src/src/glsl/glsl_lexer.ll"
1786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn MAT4X4;
1787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 52:
1789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 254 "src/src/glsl/glsl_lexer.ll"
1791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT2X2);
1792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 53:
1794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 255 "src/src/glsl/glsl_lexer.ll"
1796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT2X3);
1797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 54:
1799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 256 "src/src/glsl/glsl_lexer.ll"
1801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT2X4);
1802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 55:
1804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 257 "src/src/glsl/glsl_lexer.ll"
1806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT3X2);
1807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 56:
1809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 258 "src/src/glsl/glsl_lexer.ll"
1811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT3X3);
1812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 57:
1814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 259 "src/src/glsl/glsl_lexer.ll"
1816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT3X4);
1817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 58:
1819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 260 "src/src/glsl/glsl_lexer.ll"
1821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT4X2);
1822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 59:
1824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 261 "src/src/glsl/glsl_lexer.ll"
1826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT4X3);
1827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 60:
1829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 262 "src/src/glsl/glsl_lexer.ll"
1831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, MAT4X4);
1832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 61:
1834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 264 "src/src/glsl/glsl_lexer.ll"
1836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn IN_TOK;
1837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 62:
1839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 265 "src/src/glsl/glsl_lexer.ll"
1841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn OUT_TOK;
1842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 63:
1844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 266 "src/src/glsl/glsl_lexer.ll"
1846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn INOUT_TOK;
1847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 64:
1849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 267 "src/src/glsl/glsl_lexer.ll"
1851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn UNIFORM;
1852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 65:
1854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 268 "src/src/glsl/glsl_lexer.ll"
1856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn VARYING;
1857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 66:
1859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 269 "src/src/glsl/glsl_lexer.ll"
1861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 120, CENTROID);
1862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 67:
1864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 270 "src/src/glsl/glsl_lexer.ll"
1866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120 || ES, 120 || ES, INVARIANT);
1867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 68:
1869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 271 "src/src/glsl/glsl_lexer.ll"
1871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130 || ES, 130, FLAT);
1872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 69:
1874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 272 "src/src/glsl/glsl_lexer.ll"
1876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SMOOTH);
1877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 70:
1879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 273 "src/src/glsl/glsl_lexer.ll"
1881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, NOPERSPECTIVE);
1882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 71:
1884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 275 "src/src/glsl/glsl_lexer.ll"
1886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER1D;
1887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 72:
1889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 276 "src/src/glsl/glsl_lexer.ll"
1891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER2D;
1892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 73:
1894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 277 "src/src/glsl/glsl_lexer.ll"
1896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER3D;
1897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 74:
1899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 278 "src/src/glsl/glsl_lexer.ll"
1901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLERCUBE;
1902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 75:
1904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 279 "src/src/glsl/glsl_lexer.ll"
1906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SAMPLER1DARRAY);
1907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 76:
1909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 280 "src/src/glsl/glsl_lexer.ll"
1911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SAMPLER2DARRAY);
1912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 77:
1914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 281 "src/src/glsl/glsl_lexer.ll"
1916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER1DSHADOW;
1917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 78:
1919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 282 "src/src/glsl/glsl_lexer.ll"
1921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER2DSHADOW;
1922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 79:
1924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 283 "src/src/glsl/glsl_lexer.ll"
1926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SAMPLERCUBESHADOW);
1927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 80:
1929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 284 "src/src/glsl/glsl_lexer.ll"
1931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SAMPLER1DARRAYSHADOW);
1932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 81:
1934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 285 "src/src/glsl/glsl_lexer.ll"
1936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, SAMPLER2DARRAYSHADOW);
1937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 82:
1939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 286 "src/src/glsl/glsl_lexer.ll"
1941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLER1D);
1942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 83:
1944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 287 "src/src/glsl/glsl_lexer.ll"
1946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLER2D);
1947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 84:
1949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 288 "src/src/glsl/glsl_lexer.ll"
1951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLER3D);
1952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 85:
1954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 289 "src/src/glsl/glsl_lexer.ll"
1956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLERCUBE);
1957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 86:
1959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 290 "src/src/glsl/glsl_lexer.ll"
1961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLER1DARRAY);
1962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 87:
1964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 291 "src/src/glsl/glsl_lexer.ll"
1966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, ISAMPLER2DARRAY);
1967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 88:
1969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 292 "src/src/glsl/glsl_lexer.ll"
1971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLER1D);
1972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 89:
1974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 293 "src/src/glsl/glsl_lexer.ll"
1976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLER2D);
1977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 90:
1979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 294 "src/src/glsl/glsl_lexer.ll"
1981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLER3D);
1982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 91:
1984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 295 "src/src/glsl/glsl_lexer.ll"
1986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLERCUBE);
1987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 92:
1989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 296 "src/src/glsl/glsl_lexer.ll"
1991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLER1DARRAY);
1992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 93:
1994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 297 "src/src/glsl/glsl_lexer.ll"
1996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, USAMPLER2DARRAY);
1997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 94:
1999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 299 "src/src/glsl/glsl_lexer.ll"
2001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			  if (yyextra->OES_EGL_image_external_enable)
2003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			     return SAMPLEREXTERNALOES;
2004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			  else
2005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			     return IDENTIFIER;
2006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 95:
2009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 307 "src/src/glsl/glsl_lexer.ll"
2011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn STRUCT;
2012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 96:
2014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 308 "src/src/glsl/glsl_lexer.ll"
2016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn VOID_TOK;
2017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 97:
2019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 310 "src/src/glsl/glsl_lexer.ll"
2021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  if ((yyextra->language_version >= 140)
2023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      || yyextra->AMD_conservative_depth_enable
2024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      || yyextra->ARB_conservative_depth_enable
2025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      || yyextra->ARB_explicit_attrib_location_enable
2026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      || yyextra->ARB_uniform_buffer_object_enable
2027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      || yyextra->ARB_fragment_coord_conventions_enable) {
2028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      return LAYOUT_TOK;
2029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		   } else {
2030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      yylval->identifier = strdup(yytext);
2031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      return IDENTIFIER;
2032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		   }
2033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 98:
2036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 324 "src/src/glsl/glsl_lexer.ll"
2038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn INC_OP;
2039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 99:
2041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 325 "src/src/glsl/glsl_lexer.ll"
2043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn DEC_OP;
2044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 100:
2046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 326 "src/src/glsl/glsl_lexer.ll"
2048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn LE_OP;
2049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 101:
2051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 327 "src/src/glsl/glsl_lexer.ll"
2053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn GE_OP;
2054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 102:
2056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 328 "src/src/glsl/glsl_lexer.ll"
2058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn EQ_OP;
2059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 103:
2061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 329 "src/src/glsl/glsl_lexer.ll"
2063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn NE_OP;
2064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 104:
2066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 330 "src/src/glsl/glsl_lexer.ll"
2068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn AND_OP;
2069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 105:
2071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 331 "src/src/glsl/glsl_lexer.ll"
2073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn OR_OP;
2074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 106:
2076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 332 "src/src/glsl/glsl_lexer.ll"
2078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn XOR_OP;
2079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 107:
2081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 333 "src/src/glsl/glsl_lexer.ll"
2083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn LEFT_OP;
2084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 108:
2086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 334 "src/src/glsl/glsl_lexer.ll"
2088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn RIGHT_OP;
2089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 109:
2091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 336 "src/src/glsl/glsl_lexer.ll"
2093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn MUL_ASSIGN;
2094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 110:
2096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 337 "src/src/glsl/glsl_lexer.ll"
2098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn DIV_ASSIGN;
2099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 111:
2101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 338 "src/src/glsl/glsl_lexer.ll"
2103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn ADD_ASSIGN;
2104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 112:
2106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 339 "src/src/glsl/glsl_lexer.ll"
2108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn MOD_ASSIGN;
2109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 113:
2111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 340 "src/src/glsl/glsl_lexer.ll"
2113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn LEFT_ASSIGN;
2114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 114:
2116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 341 "src/src/glsl/glsl_lexer.ll"
2118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn RIGHT_ASSIGN;
2119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 115:
2121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 342 "src/src/glsl/glsl_lexer.ll"
2123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn AND_ASSIGN;
2124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 116:
2126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 343 "src/src/glsl/glsl_lexer.ll"
2128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn XOR_ASSIGN;
2129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 117:
2131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 344 "src/src/glsl/glsl_lexer.ll"
2133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn OR_ASSIGN;
2134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 118:
2136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 345 "src/src/glsl/glsl_lexer.ll"
2138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SUB_ASSIGN;
2139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 119:
2141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 347 "src/src/glsl/glsl_lexer.ll"
2143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return LITERAL_INTEGER(10);
2145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 120:
2148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 350 "src/src/glsl/glsl_lexer.ll"
2150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return LITERAL_INTEGER(16);
2152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 121:
2155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 353 "src/src/glsl/glsl_lexer.ll"
2157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return LITERAL_INTEGER(8);
2159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 122:
2162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 357 "src/src/glsl/glsl_lexer.ll"
2164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->real = glsl_strtod(yytext, NULL);
2166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return FLOATCONSTANT;
2167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 123:
2170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 361 "src/src/glsl/glsl_lexer.ll"
2172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->real = glsl_strtod(yytext, NULL);
2174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return FLOATCONSTANT;
2175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 124:
2178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 365 "src/src/glsl/glsl_lexer.ll"
2180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->real = glsl_strtod(yytext, NULL);
2182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return FLOATCONSTANT;
2183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 125:
2186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 369 "src/src/glsl/glsl_lexer.ll"
2188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->real = glsl_strtod(yytext, NULL);
2190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return FLOATCONSTANT;
2191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 126:
2194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 373 "src/src/glsl/glsl_lexer.ll"
2196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->real = glsl_strtod(yytext, NULL);
2198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return FLOATCONSTANT;
2199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 127:
2202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 378 "src/src/glsl/glsl_lexer.ll"
2204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->n = 1;
2206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return BOOLCONSTANT;
2207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 128:
2210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 382 "src/src/glsl/glsl_lexer.ll"
2212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->n = 0;
2214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return BOOLCONSTANT;
2215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Reserved words in GLSL 1.10. */
2218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 129:
2219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 389 "src/src/glsl/glsl_lexer.ll"
2221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, ASM);
2222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 130:
2224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 390 "src/src/glsl/glsl_lexer.ll"
2226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, CLASS);
2227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 131:
2229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 391 "src/src/glsl/glsl_lexer.ll"
2231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, UNION);
2232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 132:
2234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 392 "src/src/glsl/glsl_lexer.ll"
2236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, ENUM);
2237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 133:
2239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 393 "src/src/glsl/glsl_lexer.ll"
2241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, TYPEDEF);
2242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 134:
2244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 394 "src/src/glsl/glsl_lexer.ll"
2246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, TEMPLATE);
2247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 135:
2249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 395 "src/src/glsl/glsl_lexer.ll"
2251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, THIS);
2252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 136:
2254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 396 "src/src/glsl/glsl_lexer.ll"
2256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 140 || yyextra->ARB_uniform_buffer_object_enable, PACKED_TOK);
2257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 137:
2259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 397 "src/src/glsl/glsl_lexer.ll"
2261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, GOTO);
2262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 138:
2264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 398 "src/src/glsl/glsl_lexer.ll"
2266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 130, SWITCH);
2267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 139:
2269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 399 "src/src/glsl/glsl_lexer.ll"
2271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 130, DEFAULT);
2272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 140:
2274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 400 "src/src/glsl/glsl_lexer.ll"
2276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, INLINE_TOK);
2277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 141:
2279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 401 "src/src/glsl/glsl_lexer.ll"
2281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, NOINLINE);
2282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 142:
2284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 402 "src/src/glsl/glsl_lexer.ll"
2286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, VOLATILE);
2287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 143:
2289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 403 "src/src/glsl/glsl_lexer.ll"
2291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, PUBLIC_TOK);
2292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 144:
2294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 404 "src/src/glsl/glsl_lexer.ll"
2296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, STATIC);
2297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 145:
2299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 405 "src/src/glsl/glsl_lexer.ll"
2301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, EXTERN);
2302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 146:
2304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 406 "src/src/glsl/glsl_lexer.ll"
2306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, EXTERNAL);
2307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 147:
2309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 407 "src/src/glsl/glsl_lexer.ll"
2311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, INTERFACE);
2312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 148:
2314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 408 "src/src/glsl/glsl_lexer.ll"
2316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, LONG_TOK);
2317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 149:
2319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 409 "src/src/glsl/glsl_lexer.ll"
2321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, SHORT_TOK);
2322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 150:
2324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 410 "src/src/glsl/glsl_lexer.ll"
2326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 400, DOUBLE_TOK);
2327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 151:
2329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 411 "src/src/glsl/glsl_lexer.ll"
2331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, HALF);
2332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 152:
2334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 412 "src/src/glsl/glsl_lexer.ll"
2336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, FIXED_TOK);
2337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 153:
2339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 413 "src/src/glsl/glsl_lexer.ll"
2341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, UNSIGNED);
2342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 154:
2344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 414 "src/src/glsl/glsl_lexer.ll"
2346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, INPUT_TOK);
2347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 155:
2349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 415 "src/src/glsl/glsl_lexer.ll"
2351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, OUTPUT);
2352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 156:
2354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 416 "src/src/glsl/glsl_lexer.ll"
2356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, HVEC2);
2357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 157:
2359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 417 "src/src/glsl/glsl_lexer.ll"
2361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, HVEC3);
2362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 158:
2364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 418 "src/src/glsl/glsl_lexer.ll"
2366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, HVEC4);
2367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 159:
2369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 419 "src/src/glsl/glsl_lexer.ll"
2371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 400, DVEC2);
2372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 160:
2374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 420 "src/src/glsl/glsl_lexer.ll"
2376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 400, DVEC3);
2377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 161:
2379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 421 "src/src/glsl/glsl_lexer.ll"
2381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 400, DVEC4);
2382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 162:
2384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 422 "src/src/glsl/glsl_lexer.ll"
2386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, FVEC2);
2387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 163:
2389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 423 "src/src/glsl/glsl_lexer.ll"
2391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, FVEC3);
2392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 164:
2394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 424 "src/src/glsl/glsl_lexer.ll"
2396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, FVEC4);
2397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 165:
2399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 425 "src/src/glsl/glsl_lexer.ll"
2401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER2DRECT;
2402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 166:
2404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 426 "src/src/glsl/glsl_lexer.ll"
2406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, SAMPLER3DRECT);
2407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 167:
2409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 427 "src/src/glsl/glsl_lexer.ll"
2411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgreturn SAMPLER2DRECTSHADOW;
2412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 168:
2414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 428 "src/src/glsl/glsl_lexer.ll"
2416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, SIZEOF);
2417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 169:
2419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 429 "src/src/glsl/glsl_lexer.ll"
2421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, CAST);
2422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 170:
2424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 430 "src/src/glsl/glsl_lexer.ll"
2426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, NAMESPACE);
2427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 171:
2429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 431 "src/src/glsl/glsl_lexer.ll"
2431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(110 || ES, 999, USING);
2432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Additional reserved words in GLSL 1.20. */
2434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 172:
2435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 434 "src/src/glsl/glsl_lexer.ll"
2437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 130 || ES, LOWP);
2438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 173:
2440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 435 "src/src/glsl/glsl_lexer.ll"
2442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 130 || ES, MEDIUMP);
2443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 174:
2445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 436 "src/src/glsl/glsl_lexer.ll"
2447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 130 || ES, HIGHP);
2448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 175:
2450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 437 "src/src/glsl/glsl_lexer.ll"
2452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(120, 130 || ES, PRECISION);
2453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Additional reserved words in GLSL 1.30. */
2455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 176:
2456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 440 "src/src/glsl/glsl_lexer.ll"
2458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 130, CASE);
2459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 177:
2461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 441 "src/src/glsl/glsl_lexer.ll"
2463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, COMMON);
2464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 178:
2466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 442 "src/src/glsl/glsl_lexer.ll"
2468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, PARTITION);
2469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 179:
2471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 443 "src/src/glsl/glsl_lexer.ll"
2473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, ACTIVE);
2474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 180:
2476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 444 "src/src/glsl/glsl_lexer.ll"
2478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130 || ES, 999, SUPERP);
2479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 181:
2481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 445 "src/src/glsl/glsl_lexer.ll"
2483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 140, SAMPLERBUFFER);
2484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 182:
2486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 446 "src/src/glsl/glsl_lexer.ll"
2488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, FILTER);
2489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 183:
2491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 447 "src/src/glsl/glsl_lexer.ll"
2493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE1D);
2494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 184:
2496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 448 "src/src/glsl/glsl_lexer.ll"
2498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE2D);
2499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 185:
2501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 449 "src/src/glsl/glsl_lexer.ll"
2503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE3D);
2504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 186:
2506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 450 "src/src/glsl/glsl_lexer.ll"
2508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGECUBE);
2509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 187:
2511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 451 "src/src/glsl/glsl_lexer.ll"
2513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGE1D);
2514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 188:
2516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 452 "src/src/glsl/glsl_lexer.ll"
2518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGE2D);
2519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 189:
2521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 453 "src/src/glsl/glsl_lexer.ll"
2523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGE3D);
2524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 190:
2526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 454 "src/src/glsl/glsl_lexer.ll"
2528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGECUBE);
2529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 191:
2531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 455 "src/src/glsl/glsl_lexer.ll"
2533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGE1D);
2534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 192:
2536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 456 "src/src/glsl/glsl_lexer.ll"
2538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGE2D);
2539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 193:
2541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 457 "src/src/glsl/glsl_lexer.ll"
2543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGE3D);
2544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 194:
2546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 458 "src/src/glsl/glsl_lexer.ll"
2548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGECUBE);
2549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 195:
2551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 459 "src/src/glsl/glsl_lexer.ll"
2553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE1DARRAY);
2554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 196:
2556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 460 "src/src/glsl/glsl_lexer.ll"
2558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE2DARRAY);
2559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 197:
2561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 461 "src/src/glsl/glsl_lexer.ll"
2563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGE1DARRAY);
2564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 198:
2566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 462 "src/src/glsl/glsl_lexer.ll"
2568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGE2DARRAY);
2569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 199:
2571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 463 "src/src/glsl/glsl_lexer.ll"
2573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGE1DARRAY);
2574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 200:
2576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 464 "src/src/glsl/glsl_lexer.ll"
2578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGE2DARRAY);
2579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 201:
2581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 465 "src/src/glsl/glsl_lexer.ll"
2583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE1DSHADOW);
2584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 202:
2586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 466 "src/src/glsl/glsl_lexer.ll"
2588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE2DSHADOW);
2589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 203:
2591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 467 "src/src/glsl/glsl_lexer.ll"
2593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE1DARRAYSHADOW);
2594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 204:
2596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 468 "src/src/glsl/glsl_lexer.ll"
2598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGE2DARRAYSHADOW);
2599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 205:
2601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 469 "src/src/glsl/glsl_lexer.ll"
2603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IMAGEBUFFER);
2604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 206:
2606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 470 "src/src/glsl/glsl_lexer.ll"
2608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, IIMAGEBUFFER);
2609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 207:
2611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 471 "src/src/glsl/glsl_lexer.ll"
2613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 999, UIMAGEBUFFER);
2614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 208:
2616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 472 "src/src/glsl/glsl_lexer.ll"
2618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(130, 140 || yyextra->ARB_uniform_buffer_object_enable, ROW_MAJOR);
2619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Additional reserved words in GLSL 1.40 */
2621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 209:
2622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 475 "src/src/glsl/glsl_lexer.ll"
2624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(140, 140, ISAMPLER2DRECT);
2625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 210:
2627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 476 "src/src/glsl/glsl_lexer.ll"
2629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(140, 140, USAMPLER2DRECT);
2630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 211:
2632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 477 "src/src/glsl/glsl_lexer.ll"
2634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(140, 140, ISAMPLERBUFFER);
2635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 212:
2637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 478 "src/src/glsl/glsl_lexer.ll"
2639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgKEYWORD(140, 140, USAMPLERBUFFER);
2640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 213:
2642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 480 "src/src/glsl/glsl_lexer.ll"
2644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    struct _mesa_glsl_parse_state *state = yyextra;
2646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    void *ctx = state;
2647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    yylval->identifier = ralloc_strdup(ctx, yytext);
2648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			    return classify_identifier(state, yytext);
2649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 214:
2652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 487 "src/src/glsl/glsl_lexer.ll"
2654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ return yytext[0]; }
2655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 215:
2657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
2658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 489 "src/src/glsl/glsl_lexer.ll"
2659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgECHO;
2660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
2661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2662 "src/chromium_gensrc/mesa/glsl_lexer.cc"
2662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(INITIAL):
2663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(PP):
2664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(PRAGMA):
2665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyterminate();
2666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	case YY_END_OF_BUFFER:
2668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Amount of text matched not including the EOB char. */
2670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Undo the effects of YY_DO_BEFORE_ACTION. */
2673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yy_cp = yyg->yy_hold_char;
2674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_RESTORE_YY_MORE_OFFSET
2675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We're scanning a new file or input source.  It's
2679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * possible that this happened because the user
2680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * just pointed yyin at a new source and called
2681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * _mesa_glsl_lex().  If so, then we have to assure
2682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * consistency between YY_CURRENT_BUFFER and our
2683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * globals.  Here is the right place to do so, because
2684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * this is the first action (other than possibly a
2685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * back-up) that will match for the new input source.
2686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
2687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Note that here we test for yy_c_buf_p "<=" to the position
2693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * of the first EOB in the buffer, since yy_c_buf_p will
2694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * already have been incremented past the NUL character
2695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * (since all states make transitions on EOB to the
2696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * end-of-buffer state).  Contrast this with the test
2697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * in input().
2698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
2699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* This was really a NUL. */
2701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_state_type yy_next_state;
2702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yy_get_previous_state( yyscanner );
2706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* Okay, we're now positioned to make the NUL
2708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * transition.  We couldn't have
2709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * yy_get_previous_state() go ahead and do it
2710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * for us because it doesn't know how to deal
2711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * with the possibility of jamming (and we don't
2712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * want to build jamming into it because then it
2713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * will run more slowly).
2714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
2715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_next_state )
2721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
2722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				/* Consume the NUL. */
2723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = ++yyg->yy_c_buf_p;
2724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_next_state;
2725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_match;
2726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
2727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			else
2729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
2730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_last_accepting_cpos;
2731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yyg->yy_last_accepting_state;
2732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_find_action;
2733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
2734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else switch ( yy_get_next_buffer( yyscanner ) )
2737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_END_OF_FILE:
2739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
2740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_did_buffer_switch_on_eof = 0;
2741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( _mesa_glsl_wrap(yyscanner ) )
2743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
2744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Note: because we've taken care in
2745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yy_get_next_buffer() to have set up
2746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yytext, we can now set up
2747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yy_c_buf_p so that if some total
2748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * hoser (like flex itself) wants to
2749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * call the scanner after we return the
2750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * YY_NULL, it'll still work - another
2751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * YY_NULL will get returned.
2752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 */
2753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yy_act = YY_STATE_EOF(YY_START);
2756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					goto do_action;
2757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
2758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				else
2760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
2761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
2762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						YY_NEW_FILE;
2763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
2764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				break;
2765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
2766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_CONTINUE_SCAN:
2768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_c_buf_p =
2769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yytext_ptr + yy_amount_of_matched_text;
2770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
2772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_c_buf_p;
2774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_match;
2776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_LAST_MATCH:
2778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_c_buf_p =
2779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
2782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_c_buf_p;
2784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_find_action;
2786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		break;
2788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	default:
2791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR(
2792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			"fatal flex scanner internal error--no action found" );
2793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	} /* end of action switch */
2794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} /* end of scanning one token */
2795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} /* end of _mesa_glsl_lex */
2796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_get_next_buffer - try to read in a new buffer
2798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
2799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Returns a code representing an action:
2800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_LAST_MATCH -
2801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_END_OF_FILE - end of file
2803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_get_next_buffer (yyscan_t yyscanner)
2805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *source = yyg->yytext_ptr;
2809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int number_to_move, i;
2810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int ret_val;
2811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR(
2814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		"fatal flex scanner internal error--end of buffer missed" );
2815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ /* Don't try to fill the buffer, so this is an EOF. */
2818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We matched a single character, the EOB, so
2821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * treat this as a final EOF.
2822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
2823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			return EOB_ACT_END_OF_FILE;
2824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
2827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We matched some text prior to the EOB, first
2829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * process it.
2830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
2831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			return EOB_ACT_LAST_MATCH;
2832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Try to read more data. */
2836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* First move last chars to start of buffer. */
2838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < number_to_move; ++i )
2841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*(dest++) = *(source++);
2842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* don't do the read, it's not guaranteed to return an EOF,
2845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * just force an EOF
2846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
2847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else
2850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int num_to_read =
2852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( num_to_read <= 0 )
2855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* Not enough room in the buffer - grow it. */
2856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* just a shorter name for the current buffer */
2858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int yy_c_buf_p_offset =
2861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				(int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( b->yy_is_our_buffer )
2864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
2865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				int new_size = b->yy_buf_size * 2;
2866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( new_size <= 0 )
2868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					b->yy_buf_size += b->yy_buf_size / 8;
2869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				else
2870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					b->yy_buf_size *= 2;
2871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				b->yy_ch_buf = (char *)
2873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Include room in for 2 EOB chars. */
2874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					_mesa_glsl_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
2875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
2876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			else
2877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				/* Can't grow it, we don't own it. */
2878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				b->yy_ch_buf = 0;
2879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( ! b->yy_ch_buf )
2881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_FATAL_ERROR(
2882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				"fatal error - scanner input buffer overflow" );
2883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						number_to_move - 1;
2888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( num_to_read > YY_READ_BUF_SIZE )
2892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			num_to_read = YY_READ_BUF_SIZE;
2893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Read in more data. */
2895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_n_chars, (size_t) num_to_read );
2897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyg->yy_n_chars == 0 )
2902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( number_to_move == YY_MORE_ADJ )
2904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			ret_val = EOB_ACT_END_OF_FILE;
2906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			_mesa_glsl_restart(yyin  ,yyscanner);
2907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
2910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			ret_val = EOB_ACT_LAST_MATCH;
2912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_BUFFER_EOF_PENDING;
2914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else
2918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		ret_val = EOB_ACT_CONTINUE_SCAN;
2919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Extend the array by 50%, plus the number we really need. */
2922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) _mesa_glsl_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
2924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
2927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_n_chars += number_to_move;
2929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return ret_val;
2935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_get_previous_state - get the state just before the EOB char was reached */
2938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register yy_state_type yy_current_state;
2942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp;
2943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state = yyg->yy_start;
2946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state += YY_AT_BOL();
2947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yy_accept[yy_current_state] )
2952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_last_accepting_state = yy_current_state;
2954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_last_accepting_cpos = yy_cp;
2955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
2958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = (int) yy_def[yy_current_state];
2959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_current_state >= 867 )
2960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_c = yy_meta[(unsigned int) yy_c];
2961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
2962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yy_current_state;
2966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_try_NUL_trans - try to make a transition on the NUL character
2969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
2970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * synopsis
2971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	next_state = yy_try_NUL_trans( current_state );
2972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
2974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int yy_is_jam;
2976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp = yyg->yy_c_buf_p;
2978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register YY_CHAR yy_c = 1;
2980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yy_accept[yy_current_state] )
2981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_last_accepting_state = yy_current_state;
2983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_last_accepting_cpos = yy_cp;
2984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = (int) yy_def[yy_current_state];
2988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yy_current_state >= 867 )
2989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_c = yy_meta[(unsigned int) yy_c];
2990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_is_jam = (yy_current_state == 866);
2993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yy_is_jam ? 0 : yy_current_state;
2995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_NO_INPUT
2998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
2999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int yyinput (yyscan_t yyscanner)
3000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
3001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int input  (yyscan_t yyscanner)
3002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int c;
3006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yyg->yy_c_buf_p = yyg->yy_hold_char;
3009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
3012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* yy_c_buf_p now points to the character we want to return.
3013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * If this occurs *before* the EOB characters, then it's a
3014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * valid NUL; if not, then we've hit the end of the buffer.
3015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
3016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* This was really a NUL. */
3018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			*yyg->yy_c_buf_p = '\0';
3019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
3021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* need more input */
3022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
3023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			++yyg->yy_c_buf_p;
3024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			switch ( yy_get_next_buffer( yyscanner ) )
3026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
3027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_LAST_MATCH:
3028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* This happens because yy_g_n_b()
3029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * sees that we've accumulated a
3030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * token and flags that we need to
3031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * try matching the token before
3032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * proceeding.  But for input(),
3033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * there's no matching to consider.
3034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * So convert the EOB_ACT_LAST_MATCH
3035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * to EOB_ACT_END_OF_FILE.
3036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 */
3037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Reset buffer status. */
3039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					_mesa_glsl_restart(yyin ,yyscanner);
3040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/*FALLTHROUGH*/
3042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_END_OF_FILE:
3044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
3045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( _mesa_glsl_wrap(yyscanner ) )
3046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						return EOF;
3047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
3049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						YY_NEW_FILE;
3050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
3051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					return yyinput(yyscanner);
3052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
3053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					return input(yyscanner);
3054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
3056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_CONTINUE_SCAN:
3058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
3059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					break;
3060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
3061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
3062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
3063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	c = *(unsigned char *) yyg->yy_c_buf_p;	/* cast for 8-bit char's */
3065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yyg->yy_c_buf_p = '\0';	/* preserve yytext */
3066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *++yyg->yy_c_buf_p;
3067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return c;
3071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif	/* ifndef YY_NO_INPUT */
3073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Immediately switch to a different input stream.
3075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param input_file A readable stream.
3076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @note This function does not reset the start condition to @c INITIAL .
3078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void _mesa_glsl_restart  (FILE * input_file , yyscan_t yyscanner)
3080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! YY_CURRENT_BUFFER ){
3084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        _mesa_glsl_ensure_buffer_stack (yyscanner);
3085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =
3086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            _mesa_glsl__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
3090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__load_buffer_state(yyscanner );
3091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Switch to a different input buffer.
3094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param new_buffer The new input buffer.
3095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void _mesa_glsl__switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
3098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* TODO. We should be able to replace this entire function body
3102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * with
3103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 *		_mesa_glsl_pop_buffer_state();
3104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 *		_mesa_glsl_push_buffer_state(new_buffer);
3105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
3106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl_ensure_buffer_stack (yyscanner);
3107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER == new_buffer )
3108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER )
3111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
3112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Flush out information for old buffer. */
3113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
3114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
3117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__load_buffer_state(yyscanner );
3120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* We don't actually know whether we did this switch during
3122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * EOF (_mesa_glsl_wrap()) processing, but the only time this flag
3123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * is looked at is after _mesa_glsl_wrap() is called, so it's safe
3124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * to go ahead and always set it.
3125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
3126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
3127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void _mesa_glsl__load_buffer_state  (yyscan_t yyscanner)
3130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *yyg->yy_c_buf_p;
3136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Allocate and initialize an input buffer state.
3139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param file A readable stream.
3140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the allocated buffer state.
3143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_BUFFER_STATE _mesa_glsl__create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
3145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
3147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = (YY_BUFFER_STATE) _mesa_glsl_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
3150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl__create_buffer()" );
3151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_size = size;
3153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* yy_ch_buf has to be 2 characters longer than the size given because
3155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * we need to put in 2 end-of-buffer characters.
3156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
3157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf = (char *) _mesa_glsl_alloc(b->yy_buf_size + 2 ,yyscanner );
3158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b->yy_ch_buf )
3159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl__create_buffer()" );
3160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 1;
3162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__init_buffer(b,file ,yyscanner);
3164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
3166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Destroy the buffer.
3169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param b a buffer created with _mesa_glsl__create_buffer()
3170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void _mesa_glsl__delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
3173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
3177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b->yy_is_our_buffer )
3183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl_free((void *) b->yy_ch_buf ,yyscanner );
3184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl_free((void *) b ,yyscanner );
3186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Initializes or reinitializes a buffer.
3189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * This function is sometimes called more than once on the same buffer,
3190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * such as during a _mesa_glsl_restart() or at EOF.
3191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void _mesa_glsl__init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
3193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int oerrno = errno;
3196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__flush_buffer(b ,yyscanner);
3199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_input_file = file;
3201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_fill_buffer = 1;
3202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* If b is the current buffer, then _mesa_glsl__init_buffer was _probably_
3204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * called from _mesa_glsl_restart() or through yy_get_next_buffer.
3205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * In that case, we don't want to reset the lineno or column.
3206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
3207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (b != YY_CURRENT_BUFFER){
3208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_bs_lineno = 1;
3209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_bs_column = 0;
3210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
3211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_is_interactive = 0;
3213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	errno = oerrno;
3215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void _mesa_glsl__flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
3222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
3225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_n_chars = 0;
3228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* We always need two end-of-buffer characters.  The first causes
3230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * a transition to the end-of-buffer state.  The second causes
3231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * a jam in that state.
3232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
3233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_pos = &b->yy_ch_buf[0];
3237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_at_bol = 1;
3239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
3240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b == YY_CURRENT_BUFFER )
3242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl__load_buffer_state(yyscanner );
3243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Pushes the new state onto the stack. The new state becomes
3246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  the current state. This function will allocate the stack
3247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  if necessary.
3248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param new_buffer The new state.
3249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param yyscanner The scanner object.
3250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (new_buffer == NULL)
3255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl_ensure_buffer_stack(yyscanner);
3258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* This block is copied from _mesa_glsl__switch_to_buffer. */
3260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER )
3261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
3262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Flush out information for old buffer. */
3263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
3264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
3267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Only push if top exists. Otherwise, replace top. */
3269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (YY_CURRENT_BUFFER)
3270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_top++;
3271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* copied from _mesa_glsl__switch_to_buffer. */
3274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__load_buffer_state(yyscanner );
3275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
3276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Removes and deletes the top of the stack, if present.
3279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  The next element becomes the new top.
3280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param yyscanner The scanner object.
3281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_pop_buffer_state (yyscan_t yyscanner)
3283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (!YY_CURRENT_BUFFER)
3286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
3289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = NULL;
3290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyg->yy_buffer_stack_top > 0)
3291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		--yyg->yy_buffer_stack_top;
3292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (YY_CURRENT_BUFFER) {
3294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl__load_buffer_state(yyscanner );
3295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_did_buffer_switch_on_eof = 1;
3296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Allocates the stack if it does not exist.
3300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  Guarantees space for at least one push.
3301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void _mesa_glsl_ensure_buffer_stack (yyscan_t yyscanner)
3303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int num_to_alloc;
3305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (!yyg->yy_buffer_stack) {
3308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* First allocation is just for 2 elements, since we don't know if this
3310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * immediate realloc on the next call.
3312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org         */
3313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		num_to_alloc = 1;
3314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)_mesa_glsl_alloc
3315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								(num_to_alloc * sizeof(struct yy_buffer_state*)
3316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								, yyscanner);
3317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_buffer_stack )
3318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl_ensure_buffer_stack()" );
3319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
3323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_top = 0;
3324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
3325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
3328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Increase the buffer to prepare for a possible push. */
3330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int grow_size = 8 /* arbitrary grow size */;
3331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
3333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)_mesa_glsl_realloc
3334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								(yyg->yy_buffer_stack,
3335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								num_to_alloc * sizeof(struct yy_buffer_state*)
3336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								, yyscanner);
3337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_buffer_stack )
3338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl_ensure_buffer_stack()" );
3339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* zero only the new slots.*/
3341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
3342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
3343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan directly from a user-specified character buffer.
3347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param base the character buffer
3348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param size the size in bytes of the character buffer
3349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
3351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
3353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
3355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( size < 2 ||
3357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     base[size-1] != YY_END_OF_BUFFER_CHAR )
3359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* They forgot to leave room for the EOB's. */
3360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return 0;
3361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = (YY_BUFFER_STATE) _mesa_glsl_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
3363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
3364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl__scan_buffer()" );
3365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
3367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_pos = b->yy_ch_buf = base;
3368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 0;
3369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_input_file = 0;
3370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_n_chars = b->yy_buf_size;
3371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_interactive = 0;
3372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_at_bol = 1;
3373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_fill_buffer = 0;
3374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
3375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl__switch_to_buffer(b ,yyscanner );
3377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
3379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan a string. The next call to _mesa_glsl_lex() will
3382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * scan from a @e copy of @a str.
3383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yystr a NUL-terminated string to scan
3384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
3386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @note If you want to scan bytes that may contain NUL values, then use
3387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *       _mesa_glsl__scan_bytes() instead.
3388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_string (yyconst char * yystr , yyscan_t yyscanner)
3390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return _mesa_glsl__scan_bytes(yystr,strlen(yystr) ,yyscanner);
3393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan the given bytes. The next call to _mesa_glsl_lex() will
3396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * scan from a @e copy of @a bytes.
3397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yybytes the byte buffer to scan
3398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
3401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE _mesa_glsl__scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
3403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
3405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	char *buf;
3406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_size_t n;
3407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int i;
3408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Get memory for full buffer, including space for trailing EOB's. */
3410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	n = _yybytes_len + 2;
3411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	buf = (char *) _mesa_glsl_alloc(n ,yyscanner );
3412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! buf )
3413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in _mesa_glsl__scan_bytes()" );
3414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < _yybytes_len; ++i )
3416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		buf[i] = yybytes[i];
3417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = _mesa_glsl__scan_buffer(buf,n ,yyscanner);
3421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
3422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "bad buffer in _mesa_glsl__scan_bytes()" );
3423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* It's okay to grow etc. this buffer, and we should throw it
3425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * away when we're done.
3426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
3427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 1;
3428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
3430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_EXIT_FAILURE
3433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_EXIT_FAILURE 2
3434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
3437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    	(void) fprintf( stderr, "%s\n", msg );
3439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	exit( YY_EXIT_FAILURE );
3440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Redefine yyless() so it works in section 3 code. */
3443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#undef yyless
3445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyless(n) \
3446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	do \
3447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
3448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Undo effects of setting up yytext. */ \
3449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        int yyless_macro_arg = (n); \
3450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        YY_LESS_LINENO(yyless_macro_arg);\
3451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yytext[yyleng] = yyg->yy_hold_char; \
3452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = '\0'; \
3455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyleng = yyless_macro_arg; \
3456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} \
3457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( 0 )
3458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor  methods (get/set functions) to struct members. */
3460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the user-defined data for this scanner.
3462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_EXTRA_TYPE _mesa_glsl_get_extra  (yyscan_t yyscanner)
3465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyextra;
3468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current line number.
3471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_lineno  (yyscan_t yyscanner)
3474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER)
3478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            return 0;
3479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylineno;
3481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current column number.
3484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_column  (yyscan_t yyscanner)
3487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER)
3491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            return 0;
3492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yycolumn;
3494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the input stream.
3497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *_mesa_glsl_get_in  (yyscan_t yyscanner)
3500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyin;
3503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the output stream.
3506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *_mesa_glsl_get_out  (yyscan_t yyscanner)
3509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyout;
3512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the length of the current token.
3515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_leng  (yyscan_t yyscanner)
3518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyleng;
3521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current token.
3524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgchar *_mesa_glsl_get_text  (yyscan_t yyscanner)
3528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yytext;
3531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the user-defined data. This data is never touched by the scanner.
3534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param user_defined The data to be associated with this scanner.
3535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
3538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyextra = user_defined ;
3541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the current line number.
3544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param line_number
3545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_lineno (int  line_number , yyscan_t yyscanner)
3548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        /* lineno is only valid if an input buffer exists. */
3552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER )
3553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org           yy_fatal_error( "_mesa_glsl_set_lineno called with no buffer" , yyscanner);
3554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylineno = line_number;
3556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the current column.
3559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param line_number
3560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_column (int  column_no , yyscan_t yyscanner)
3563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        /* column is only valid if an input buffer exists. */
3567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER )
3568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org           yy_fatal_error( "_mesa_glsl_set_column called with no buffer" , yyscanner);
3569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yycolumn = column_no;
3571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the input stream. This does not discard the current
3574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * input buffer.
3575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param in_str A readable stream.
3576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
3577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @see _mesa_glsl__switch_to_buffer
3578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_in (FILE *  in_str , yyscan_t yyscanner)
3580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = in_str ;
3583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_out (FILE *  out_str , yyscan_t yyscanner)
3586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = out_str ;
3589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_get_debug  (yyscan_t yyscanner)
3592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_flex_debug;
3595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_debug (int  bdebug , yyscan_t yyscanner)
3598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_flex_debug = bdebug ;
3601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor methods for yylval and yylloc */
3604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYSTYPE * _mesa_glsl_get_lval  (yyscan_t yyscanner)
3606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylval;
3609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
3612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylval = yylval_param;
3615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYLTYPE *_mesa_glsl_get_lloc  (yyscan_t yyscanner)
3618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylloc;
3621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_set_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
3624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylloc = yylloc_param;
3627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* User-visible API */
3630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* _mesa_glsl_lex_init is special because it creates the scanner itself, so it is
3632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the ONLY reentrant function that doesn't take the scanner as the last argument.
3633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * That's why we explicitly handle the declaration, instead of using our macros.
3634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_init(yyscan_t* ptr_yy_globals)
3637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (ptr_yy_globals == NULL){
3640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = EINVAL;
3641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
3642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
3643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    *ptr_yy_globals = (yyscan_t) _mesa_glsl_alloc ( sizeof( struct yyguts_t ), NULL );
3645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (*ptr_yy_globals == NULL){
3647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = ENOMEM;
3648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
3649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
3650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_init_globals ( *ptr_yy_globals );
3655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* _mesa_glsl_lex_init_extra has the same functionality as _mesa_glsl_lex_init, but follows the
3658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * convention of taking the scanner as the last argument. Note however, that
3659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * this is a *pointer* to a scanner, as it will be allocated by this call (and
3660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * is the reason, too, why this function also must handle its own declaration).
3661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * The user defined value in the first argument will be available to _mesa_glsl_alloc in
3662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the yyextra field.
3663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
3666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t dummy_yyguts;
3669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    _mesa_glsl_set_extra (yy_user_defined, &dummy_yyguts);
3671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (ptr_yy_globals == NULL){
3673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = EINVAL;
3674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
3675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
3676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    *ptr_yy_globals = (yyscan_t) _mesa_glsl_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (*ptr_yy_globals == NULL){
3680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = ENOMEM;
3681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
3682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
3683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* By setting to 0xAA, we expose bugs in
3685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_init_globals. Leave at 0x00 for releases. */
3686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    _mesa_glsl_set_extra (yy_user_defined, *ptr_yy_globals);
3689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_init_globals ( *ptr_yy_globals );
3691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner)
3694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Initialization is the same as for the non-reentrant scanner.
3697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * This function is called from _mesa_glsl_lex_destroy(), so don't allocate here.
3698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
3699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack = 0;
3701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack_top = 0;
3702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack_max = 0;
3703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_c_buf_p = (char *) 0;
3704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_init = 0;
3705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start = 0;
3706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack_ptr = 0;
3708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack_depth = 0;
3709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack =  NULL;
3710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Defined in main.c */
3712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_STDINIT
3713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = stdin;
3714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = stdout;
3715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
3716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = (FILE *) 0;
3717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = (FILE *) 0;
3718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* For future reference: Set errno on error, since we are called by
3721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * _mesa_glsl_lex_init()
3722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
3723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return 0;
3724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* _mesa_glsl_lex_destroy is for both reentrant and non-reentrant scanners. */
3727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint _mesa_glsl_lex_destroy  (yyscan_t yyscanner)
3728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Pop the buffer stack, destroying each element. */
3732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while(YY_CURRENT_BUFFER){
3733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE = NULL;
3735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		_mesa_glsl_pop_buffer_state(yyscanner);
3736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Destroy the stack itself. */
3739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	_mesa_glsl_free(yyg->yy_buffer_stack ,yyscanner);
3740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_buffer_stack = NULL;
3741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Destroy the start condition stack. */
3743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        _mesa_glsl_free(yyg->yy_start_stack ,yyscanner );
3744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        yyg->yy_start_stack = NULL;
3745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * _mesa_glsl_lex() is called, initialization will occur. */
3748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_init_globals( yyscanner);
3749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Destroy the main struct (reentrant only). */
3751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    _mesa_glsl_free ( yyscanner , yyscanner );
3752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyscanner = NULL;
3753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return 0;
3754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*
3757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Internal utility routines.
3758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
3759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yytext_ptr
3761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
3762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int i;
3764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < n; ++i )
3765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		s1[i] = s2[i];
3766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_NEED_STRLEN
3770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int n;
3773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( n = 0; s[n]; ++n )
3774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		;
3775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return n;
3777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
3779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *_mesa_glsl_alloc (yy_size_t  size , yyscan_t yyscanner)
3781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return (void *) malloc( size );
3783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *_mesa_glsl_realloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
3786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* The cast to (char *) in the following accommodates both
3788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * implementations that use char* generic pointers, and those
3789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * that use void* generic pointers.  It works with the latter
3790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * because both ANSI C and C++ allow castless assignment from
3791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * any pointer type to void*, and deal with argument conversions
3792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * as though doing an assignment.
3793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
3794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return (void *) realloc( (char *) ptr, size );
3795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid _mesa_glsl_free (void * ptr , yyscan_t yyscanner)
3798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	free( (char *) ptr );	/* see _mesa_glsl_realloc() for (char *) cast */
3800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYTABLES_NAME "yytables"
3803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 489 "src/src/glsl/glsl_lexer.ll"
3805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint
3809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgclassify_identifier(struct _mesa_glsl_parse_state *state, const char *name)
3810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   if (state->symbols->get_variable(name) || state->symbols->get_function(name))
3812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      return IDENTIFIER;
3813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   else if (state->symbols->get_type(name))
3814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      return TYPE_IDENTIFIER;
3815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   else
3816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      return NEW_IDENTIFIER;
3817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid
3820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org_mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char *string)
3821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   _mesa_glsl_lex_init_extra(state,& state->scanner);
3823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   _mesa_glsl__scan_string(string,state->scanner);
3824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid
3827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org_mesa_glsl_lexer_dtor(struct _mesa_glsl_parse_state *state)
3828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
3829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   _mesa_glsl_lex_destroy(state->scanner);
3830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
3831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3832