1f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2 "src/chromium_gensrc/mesa/glcpp-lex.c"
2f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 4 "src/chromium_gensrc/mesa/glcpp-lex.c"
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 glcpp_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 glcpp_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 glcpp_restart (FILE *input_file ,yyscan_t yyscanner );
290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_pop_buffer_state (yyscan_t yyscanner );
296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void glcpp_ensure_buffer_stack (yyscan_t yyscanner );
298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void glcpp__load_buffer_state (yyscan_t yyscanner );
299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void glcpp__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FLUSH_BUFFER glcpp__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *glcpp_alloc (yy_size_t ,yyscan_t yyscanner );
308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *glcpp_realloc (void *,yy_size_t ,yyscan_t yyscanner );
309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_free (void * ,yyscan_t yyscanner );
310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yy_new_buffer glcpp__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        glcpp_ensure_buffer_stack (yyscanner); \
317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            glcpp__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        glcpp_ensure_buffer_stack (yyscanner); \
327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            glcpp__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 glcpp_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 43
362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_END_OF_BUFFER 44
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[147] =
371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,    0,    3,    3,    0,    0,    0,    0,
373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,   44,   39,   40,   41,   43,   38,   43,   38,
374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       38,   38,   25,   24,   38,   38,   38,   37,   37,   38,
375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       40,   23,    3,    4,    5,   42,   17,   17,   17,   21,
376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       39,   40,   32,   35,   33,    2,    1,   25,   25,    0,
377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       24,   24,   27,   29,   31,   30,   28,   37,   37,   34,
378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       40,   23,   23,    0,    0,    0,    0,    0,    0,    0,
379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        3,    4,    5,    6,    5,    7,    0,    0,    0,    0,
380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       20,   21,    1,   26,   37,    0,    0,    0,    0,    0,
381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,    0,    0,   26,   37,    0,    0,    0,
382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,   13,    0,    0,    0,    0,    0,    0,
384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       37,    0,   14,   15,    0,    0,    0,    0,    0,   10,
385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,    0,    0,   37,    0,   16,   18,    0,   11,    0,
386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,   22,    0,   36,    0,   18,    0,   12,    0,    0,
387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,    0,    9,    8,    0,    0
388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int32_t yy_ec[256] =
391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    2,    5,    1,    6,    1,    7,    8,    1,    9,
396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        7,   10,    7,    7,    7,    7,   11,   12,   13,   13,
397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       13,   13,   13,   13,   13,   14,   14,    1,    7,   15,
398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       16,   17,    1,    1,   18,   18,   18,   18,   18,   18,
399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,   19,   19,   19,   20,   19,   19,   21,   19,   19,
401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        7,    1,    7,    7,   19,    1,   22,   18,   18,   23,
402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       24,   25,   26,   19,   27,   19,   19,   28,   29,   30,
404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       31,   32,   19,   33,   34,   35,   36,   37,   19,   38,
405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       19,   19,    7,   39,    7,    7,    1,    1,    1,    1,
406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1
420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int32_t yy_meta[40] =
423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    2,    1,    1,    1,    1,    1,    3,    4,
425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    5,    5,    5,    1,    1,    1,    5,    6,    6,
426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        6,    5,    7,    5,    5,    6,    6,    6,    6,    8,
427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        6,    6,    6,    6,    6,    6,    6,    6,    1
428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_base[160] =
431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        0,   38,    0,    0,   38,   39,  313,  312,  311,   44,
433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       50,    0,  313,  311,  309,  317,  317,  294,  303,  317,
434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      300,   80,   80,   83,   83,  291,   88,    0,  282,  266,
435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      100,  118,  301,  317,  104,  317,  317,  106,  107,  294,
436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      301,  299,  317,  317,  317,  317,    0,  113,  317,    0,
437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      115,  317,  317,  317,  317,  317,  317,    0,  275,  317,
438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      111,  293,  292,  273,  110,  271,  268,  261,  263,  268,
439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      288,  317,  149,  317,  153,  317,  130,  120,  151,   15,
440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      317,  281,    0,   74,  262,  263,   96,  264,  253,  250,
441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      135,  254,  261,  259,  248,  317,  250,  252,  253,  253,
442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      249,  244,  250,  317,  249,  249,  241,  231,  229,  218,
444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      222,  208,  317,  317,  207,  185,  147,  151,  150,  317,
445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      144,  147,  144,  147,  145,  317,    0,  134,  317,  142,
446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      144,  317,  131,    0,  159,    0,  130,  317,    0,  109,
447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      135,   90,    0,  317,   81,  317,  178,  186,  194,  202,
448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      206,  214,  222,  228,  236,  240,  247,  255,  263
449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_def[160] =
452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,    1,  147,  147,  148,  148,  149,  149,  150,  150,
454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,   11,  146,  146,  146,  146,  146,  146,  146,  146,
455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  151,  151,  146,
456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  152,  146,  153,  146,  146,  146,  146,  154,
457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  155,  146,  146,  156,
458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  151,  151,  146,
459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,   32,   32,  146,  146,  146,  146,  146,  146,  146,
460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      152,  146,  153,  146,  153,  146,  146,  146,  146,  146,
461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  154,  155,  156,  151,  146,  146,  146,  146,  146,
462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      157,  146,  146,  146,  146,  146,  151,  146,  146,  146,
463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      151,  146,  146,  146,  146,  146,  146,  146,  146,  146,
466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  151,  146,  146,  158,  146,  146,  146,
467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  151,  146,  158,  146,  146,  159,  146,
468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  159,  146,  146,    0,  146,  146,  146,  146,
469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146
470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_nxt[357] =
473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       14,   15,   16,   17,   18,   19,   20,   21,   20,   20,
475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       22,   23,   24,   24,   25,   26,   27,   28,   28,   28,
476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       28,   28,   29,   28,   28,   28,   28,   28,   28,   28,
477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       28,   28,   28,   28,   28,   28,   28,   28,   30,   31,
478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       34,   34,   87,   32,   88,   38,   16,   35,   35,   39,
479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       17,   17,   17,   17,   17,   17,   17,   40,   40,   40,
481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       40,   40,   40,   40,   40,   40,   40,   40,   17,   46,
483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       47,   48,   48,   96,   51,   51,   51,   53,   54,   49,
484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       50,   61,   52,   56,   57,   62,   74,   77,   79,   96,
486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      139,   78,   61,   75,   76,   49,   62,   50,   52,   63,
487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      145,   79,   99,   44,   48,   48,   51,   51,   51,  100,
488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       80,   77,   49,   66,   52,   78,  141,   87,  144,   88,
489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       64,   65,   89,   80,   66,   67,   66,   90,   49,   68,
490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       52,   74,   79,   69,   70,   74,  142,  105,  146,  146,
491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      141,  140,   75,   76,  106,  139,  138,  137,  135,  134,
492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      133,  132,  131,  130,   80,  129,  128,   66,   17,   17,
493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       17,   17,   17,   17,   17,   17,   33,   33,   33,   33,
494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       33,   33,   33,   33,   36,   36,   36,   36,   36,   36,
495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       36,   36,   37,   37,   37,   37,   37,   37,   37,   37,
497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       58,   58,   58,   58,   71,   71,   71,  127,   71,   71,
498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       71,   71,   73,   73,   73,   73,   73,   73,   73,   73,
499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       82,  126,   82,   82,   82,   82,   83,  125,   83,   83,
500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       83,   83,   83,   83,   84,  124,   84,  104,  104,  104,
501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      104,  123,  122,  104,  104,  136,  121,  136,  136,  136,
502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      136,  136,  136,  143,  120,  143,  143,  143,  143,  143,
503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      143,  119,  118,  117,  116,  115,  114,  113,  112,  111,
504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      110,  109,  108,  107,  103,  102,  101,   98,   97,   81,
505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       72,   95,   94,   93,   92,   91,   86,  146,  146,   85,
506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       42,   41,   81,   72,   60,   59,   55,   45,   44,   43,
508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       42,   41,  146,   16,   17,   17,   13,  146,  146,  146,
509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146
513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic yyconst flex_int16_t yy_chk[357] =
516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {   0,
517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        5,    6,   80,    2,   80,   10,   10,    5,    6,   10,
522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       11,   11,   11,   11,   11,   11,   11,   11,   11,   22,
526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       22,   23,   23,   84,   24,   24,   24,   25,   25,   23,
527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       23,   31,   24,   27,   27,   31,   35,   38,   39,   84,
529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      145,   38,   61,   35,   35,   23,   61,   23,   24,   32,
530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      142,   78,   87,   32,   48,   48,   51,   51,   51,   87,
531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       39,   77,   48,   39,   51,   77,  141,   65,  140,   65,
532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       32,   32,   65,   78,   32,   32,   78,   65,   48,   32,
533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       51,   73,   79,   32,   32,   75,  137,   91,   73,   73,
534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      135,  133,   75,   75,   91,  131,  130,  128,  125,  124,
535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      123,  122,  121,  119,   79,  118,  117,   79,  147,  147,
536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      147,  147,  147,  147,  147,  147,  148,  148,  148,  148,
537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      148,  148,  148,  148,  149,  149,  149,  149,  149,  149,
538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      149,  149,  150,  150,  150,  150,  150,  150,  150,  150,
540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      151,  151,  151,  151,  152,  152,  152,  116,  152,  152,
541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      152,  152,  153,  153,  153,  153,  153,  153,  153,  153,
542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      154,  115,  154,  154,  154,  154,  155,  112,  155,  155,
543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      155,  155,  155,  155,  156,  111,  156,  157,  157,  157,
544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      157,  110,  109,  157,  157,  158,  108,  158,  158,  158,
545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      158,  158,  158,  159,  107,  159,  159,  159,  159,  159,
546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      159,  106,  105,  103,  102,  101,  100,   99,   98,   97,
547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       95,   94,   93,   92,   90,   89,   88,   86,   85,   82,
548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       71,   70,   69,   68,   67,   66,   64,   63,   62,   59,
549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       42,   41,   40,   33,   30,   29,   26,   21,   19,   18,
551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       15,   14,   13,    9,    8,    7,  146,  146,  146,  146,
552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      146,  146,  146,  146,  146,  146
556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    } ;
557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The intent behind this definition is that it'll catch
559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * any uses of REJECT which flex missed.
560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define REJECT reject_used_but_not_detected
562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yymore() yymore_used_but_not_detected
563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_MORE_ADJ 0
564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_RESTORE_YY_MORE_OFFSET
565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1 "src/src/glsl/glcpp/glcpp-lex.l"
566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2 "src/src/glsl/glcpp/glcpp-lex.l"
567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*
568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Copyright © 2010 Intel Corporation
569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a
571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * copy of this software and associated documentation files (the "Software"),
572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * to deal in the Software without restriction, including without limitation
573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the rights to use, copy, modify, merge, publish, distribute, sublicense,
574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * and/or sell copies of the Software, and to permit persons to whom the
575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software is furnished to do so, subject to the following conditions:
576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * The above copyright notice and this permission notice (including the next
578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * paragraph) shall be included in all copies or substantial portions of the
579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software.
580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * DEALINGS IN THE SOFTWARE.
588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <stdio.h>
591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <string.h>
592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <ctype.h>
593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glcpp.h"
595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glcpp-parse.h"
596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Flex annoyingly generates some functions without making them
598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * static. Let's declare them here. */
599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_column  (yyscan_t yyscanner);
600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_column (int  column_no , yyscan_t yyscanner);
601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef _MSC_VER
603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NO_UNISTD_H
604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_NO_INPUT
607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_ACTION							\
609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	do {								\
610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if (parser->has_new_line_number)			\
611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yylineno = parser->new_line_number;		\
612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if (parser->has_new_source_number)			\
613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yylloc->source = parser->new_source_number;	\
614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yylloc->first_column = yycolumn + 1;			\
615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yylloc->first_line = yylineno;				\
616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yycolumn += yyleng;					\
617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		parser->has_new_line_number = 0;			\
618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		parser->has_new_source_number = 0;			\
619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org } while(0);
620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_INIT			\
622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	do {				\
623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yylineno = 1;		\
624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yycolumn = 1;		\
625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yylloc->source = 0;	\
626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	} while(0)
627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The OTHER class is simply a catch-all for things that the CPP
629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgparser just doesn't care about. Since flex regular expressions that
630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgmatch longer strings take priority over those matching shorter
631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstrings, we have to be careful to avoid OTHER matching and hiding
632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgsomething that CPP does care about. So we simply exclude all
633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcharacters that appear in any other expressions. */
634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 635 "src/chromium_gensrc/mesa/glcpp-lex.c"
635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INITIAL 0
637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DONE 1
638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define COMMENT 2
639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UNREACHABLE 3
640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SKIP 4
641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DEFINE 5
642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_EXTRA_TYPE glcpp_parser_t *
644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Holds the entire state of the reentrant scanner. */
646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstruct yyguts_t
647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* User-defined. Not touched by flex. */
650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_EXTRA_TYPE yyextra_r;
651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The rest are the same as the globals declared in the non-reentrant scanner. */
653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    FILE *yyin_r, *yyout_r;
654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    size_t yy_buffer_stack_top; /**< index of top of stack. */
655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    size_t yy_buffer_stack_max; /**< capacity of stack. */
656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char yy_hold_char;
658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_n_chars;
659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyleng_r;
660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yy_c_buf_p;
661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_init;
662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start;
663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_did_buffer_switch_on_eof;
664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start_stack_ptr;
665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_start_stack_depth;
666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int *yy_start_stack;
667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_state_type yy_last_accepting_state;
668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char* yy_last_accepting_cpos;
669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yylineno_r;
671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_flex_debug_r;
672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yytext_r;
674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_more_flag;
675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yy_more_len;
676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE * yylval_r;
678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE * yylloc_r;
680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }; /* end struct yyguts_t */
682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner );
684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* This must go here because YYSTYPE and YYLTYPE are included
686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * from bison output in section 1.*/
687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    #    define yylval yyg->yylval_r
688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    #    define yylloc yyg->yylloc_r
690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_init (yyscan_t* scanner);
692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor methods to globals.
696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   These are made visible to non-reentrant scanners for convenience. */
697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_destroy (yyscan_t yyscanner );
699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_debug (yyscan_t yyscanner );
701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_debug (int debug_flag ,yyscan_t yyscanner );
703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_EXTRA_TYPE glcpp_get_extra (yyscan_t yyscanner );
705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *glcpp_get_in (yyscan_t yyscanner );
709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_in  (FILE * in_str ,yyscan_t yyscanner );
711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *glcpp_get_out (yyscan_t yyscanner );
713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_out  (FILE * out_str ,yyscan_t yyscanner );
715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_leng (yyscan_t yyscanner );
717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgchar *glcpp_get_text (yyscan_t yyscanner );
719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_lineno (yyscan_t yyscanner );
721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_lineno (int line_number ,yyscan_t yyscanner );
723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYSTYPE * glcpp_get_lval (yyscan_t yyscanner );
725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       YYLTYPE *glcpp_get_lloc (yyscan_t yyscanner );
729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        void glcpp_set_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Macros after this point can all be overridden by user definitions in
733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * section 1.
734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_SKIP_YYWRAP
737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern "C" int glcpp_wrap (yyscan_t yyscanner );
739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern int glcpp_wrap (yyscan_t yyscanner );
741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yytext_ptr
747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_NEED_STRLEN
751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_NO_INPUT
755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yyinput (yyscan_t yyscanner );
758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int input (yyscan_t yyscanner );
760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yy_push_state (int new_state ,yyscan_t yyscanner);
765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yy_pop_state (yyscan_t yyscanner );
767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int yy_top_state (yyscan_t yyscanner );
769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Amount of stuff to slurp up with each read. */
771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_READ_BUF_SIZE
772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __ia64__
773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* On IA-64, the buffer size is 16k, not 8k */
774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_READ_BUF_SIZE 16384
775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_READ_BUF_SIZE 8192
777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* __ia64__ */
778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy whatever the last rule matched to the standard output. */
781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef ECHO
782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* This used to be an fputs(), but since the string might contain NUL's,
783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * we now use fwrite().
784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * is returned in "result".
790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_INPUT
792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_INPUT(buf,result,max_size) \
793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int c = '*'; \
796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		size_t n; \
797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		for ( n = 0; n < max_size && \
798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			buf[n] = (char) c; \
800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( c == '\n' ) \
801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			buf[n++] = (char) c; \
802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( c == EOF && ferror( yyin ) ) \
803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "input in flex scanner failed" ); \
804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		result = n; \
805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} \
806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else \
807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		errno=0; \
809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ \
811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if( errno != EINTR) \
812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{ \
813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_FATAL_ERROR( "input in flex scanner failed" ); \
814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				break; \
815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				} \
816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			errno=0; \
817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			clearerr(yyin); \
818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			} \
819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}\
820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org\
821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* No semi-colon after return; correct usage is to write "yyterminate();" -
825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * we don't want an extra ';' after the "return" because that will cause
826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * some compilers to complain about unreachable statements.
827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yyterminate
829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyterminate() return YY_NULL
830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Number of entries by which start-condition stack grows. */
833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_START_STACK_INCR
834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_START_STACK_INCR 25
835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Report a fatal error. */
838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_FATAL_ERROR
839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* end tables serialization structures and prototypes */
843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Default declaration of generated scanner - a define so the user can
845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * easily add parameters.
846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_DECL
848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_DECL_IS_OURS 1
849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgextern int glcpp_lex \
851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_DECL int glcpp_lex \
854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* !YY_DECL */
856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Code executed at the beginning of each rule, after yytext and yyleng
858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * have been set up.
859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_USER_ACTION
861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_USER_ACTION
862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Code executed at the end of each rule. */
865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_BREAK
866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_BREAK break;
867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_RULE_SETUP \
870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyleng > 0 ) \
871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				(yytext[yyleng - 1] == '\n'); \
873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_USER_ACTION
874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** The main scanner function which does all the work.
876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DECL
878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register yy_state_type yy_current_state;
880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp, *yy_bp;
881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int yy_act;
882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 94 "src/src/glsl/glcpp/glcpp-lex.l"
885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Implicitly switch between SKIP and INITIAL (non-skipping);
887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * don't switch if some other state was explicitly set.
888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_parser_t *parser = yyextra;
890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (YY_START == 0 || YY_START == SKIP) {
891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if (parser->lexing_if || parser->skip_stack == NULL || parser->skip_stack->type == SKIP_NO_SKIP) {
892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			BEGIN 0;
893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} else {
894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			BEGIN SKIP;
895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Single-line comments */
899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 900 "src/chromium_gensrc/mesa/glcpp-lex.c"
900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylval = yylval_param;
902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylloc = yylloc_param;
904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( !yyg->yy_init )
906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_init = 1;
908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_USER_INIT
910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_USER_INIT;
911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_start )
914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_start = 1;	/* first start state */
915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyin )
917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyin = stdin;
918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyout )
920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyout = stdout;
921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! YY_CURRENT_BUFFER ) {
923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			glcpp_ensure_buffer_stack (yyscanner);
924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE =
925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				glcpp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp__load_buffer_state(yyscanner );
929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( 1 )		/* loops until end-of-file is reached */
932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_cp = yyg->yy_c_buf_p;
934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Support of yytext. */
936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yy_cp = yyg->yy_hold_char;
937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* yy_bp points to the position in yy_ch_buf of the start of
939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * the current run.
940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_bp = yy_cp;
942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yyg->yy_start;
944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state += YY_AT_BOL();
945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_match:
946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		do
947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_accept[yy_current_state] )
950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_last_accepting_state = yy_current_state;
952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_last_accepting_cpos = yy_cp;
953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = (int) yy_def[yy_current_state];
957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( yy_current_state >= 147 )
958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yy_c = yy_meta[(unsigned int) yy_c];
959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			++yy_cp;
962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( yy_current_state != 146 );
964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_cp = yyg->yy_last_accepting_cpos;
965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yyg->yy_last_accepting_state;
966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_find_action:
968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_act = yy_accept[yy_current_state];
969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_DO_BEFORE_ACTION;
971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo_action:	/* This label is used only to access EOF actions. */
973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		switch ( yy_act )
975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{ /* beginning of action switch */
976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case 0: /* must back up */
977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* undo the effects of YY_DO_BEFORE_ACTION */
978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			*yy_cp = yyg->yy_hold_char;
979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_cp = yyg->yy_last_accepting_cpos;
980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yyg->yy_last_accepting_state;
981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			goto yy_find_action;
982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 1:
984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 108 "src/src/glsl/glcpp/glcpp-lex.l"
986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Multi-line comments */
990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 2:
991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 112 "src/src/glsl/glcpp/glcpp-lex.l"
993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ yy_push_state(COMMENT, yyscanner); }
994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 3:
996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 113 "src/src/glsl/glcpp/glcpp-lex.l"
998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 4:
1001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 4 can match eol */
1002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 114 "src/src/glsl/glcpp/glcpp-lex.l"
1004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ yylineno++; yycolumn = 0; return NEWLINE; }
1005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 5:
1007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 115 "src/src/glsl/glcpp/glcpp-lex.l"
1009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 6:
1012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 6 can match eol */
1013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 116 "src/src/glsl/glcpp/glcpp-lex.l"
1015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{ yylineno++; yycolumn = 0; return NEWLINE; }
1016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 7:
1018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 117 "src/src/glsl/glcpp/glcpp-lex.l"
1020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_pop_state(yyscanner);
1022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyextra->space_tokens)
1023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return SPACE;
1024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 8:
1027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 123 "src/src/glsl/glcpp/glcpp-lex.l"
1029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_VERSION;
1033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* glcpp doesn't handle #extension, #version, or #pragma directives.
1036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * Simply pass them through to the main compiler's lexer/parser. */
1037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 9:
1038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 131 "src/src/glsl/glcpp/glcpp-lex.l"
1040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylineno++;
1043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yycolumn = 0;
1044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return OTHER;
1045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 10:
1048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 138 "src/src/glsl/glcpp/glcpp-lex.l"
1050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_LINE;
1052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 11:
1056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 143 "src/src/glsl/glcpp/glcpp-lex.l"
1058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 1;
1060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_IFDEF;
1062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 12:
1065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 149 "src/src/glsl/glcpp/glcpp-lex.l"
1067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 1;
1069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_IFNDEF;
1071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 13:
1074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 13 can match eol */
1075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyg->yy_c_buf_p = yy_cp -= 1;
1077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DO_BEFORE_ACTION; /* set up yytext again */
1078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 155 "src/src/glsl/glcpp/glcpp-lex.l"
1080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 1;
1082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_IF;
1084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 14:
1087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 161 "src/src/glsl/glcpp/glcpp-lex.l"
1089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 1;
1091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_ELIF;
1093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 15:
1096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 167 "src/src/glsl/glcpp/glcpp-lex.l"
1098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_ELSE;
1101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 16:
1104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 172 "src/src/glsl/glcpp/glcpp-lex.l"
1106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_ENDIF;
1109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 17:
1113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 178 "src/src/glsl/glcpp/glcpp-lex.l"
1115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org;
1116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 18:
1118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 180 "src/src/glsl/glcpp/glcpp-lex.l"
1120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	char *p;
1122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for (p = yytext; !isalpha(p[0]); p++); /* skip "  #   " */
1123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	p += 5; /* skip "error" */
1124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_error(yylloc, yyextra, "#error%s", p);
1125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 19:
1128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 187 "src/src/glsl/glcpp/glcpp-lex.l"
1130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_push_state(DEFINE, yyscanner);
1133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_DEFINE;
1134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 20:
1137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org*yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
1138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyg->yy_c_buf_p = yy_cp -= 1;
1139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_DO_BEFORE_ACTION; /* set up yytext again */
1140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 193 "src/src/glsl/glcpp/glcpp-lex.l"
1142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_pop_state(yyscanner);
1144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return FUNC_IDENTIFIER;
1146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 21:
1149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 199 "src/src/glsl/glcpp/glcpp-lex.l"
1151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_pop_state(yyscanner);
1153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return OBJ_IDENTIFIER;
1155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 22:
1158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 205 "src/src/glsl/glcpp/glcpp-lex.l"
1160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH_UNDEF;
1163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 23:
1166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 210 "src/src/glsl/glcpp/glcpp-lex.l"
1168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->space_tokens = 0;
1170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return HASH;
1171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 24:
1174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 215 "src/src/glsl/glcpp/glcpp-lex.l"
1176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return INTEGER_STRING;
1179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 25:
1182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 220 "src/src/glsl/glcpp/glcpp-lex.l"
1184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return INTEGER_STRING;
1187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 26:
1190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 225 "src/src/glsl/glcpp/glcpp-lex.l"
1192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return INTEGER_STRING;
1195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 27:
1198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 230 "src/src/glsl/glcpp/glcpp-lex.l"
1200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return LEFT_SHIFT;
1202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 28:
1205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 234 "src/src/glsl/glcpp/glcpp-lex.l"
1207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return RIGHT_SHIFT;
1209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 29:
1212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 238 "src/src/glsl/glcpp/glcpp-lex.l"
1214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return LESS_OR_EQUAL;
1216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 30:
1219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 242 "src/src/glsl/glcpp/glcpp-lex.l"
1221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return GREATER_OR_EQUAL;
1223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 31:
1226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 246 "src/src/glsl/glcpp/glcpp-lex.l"
1228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return EQUAL;
1230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 32:
1233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 250 "src/src/glsl/glcpp/glcpp-lex.l"
1235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return NOT_EQUAL;
1237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 33:
1240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 254 "src/src/glsl/glcpp/glcpp-lex.l"
1242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return AND;
1244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 34:
1247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 258 "src/src/glsl/glcpp/glcpp-lex.l"
1249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return OR;
1251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 35:
1254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 262 "src/src/glsl/glcpp/glcpp-lex.l"
1256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return PASTE;
1258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 36:
1261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 266 "src/src/glsl/glcpp/glcpp-lex.l"
1263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return DEFINED;
1265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 37:
1268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 270 "src/src/glsl/glcpp/glcpp-lex.l"
1270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return IDENTIFIER;
1273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 38:
1276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 275 "src/src/glsl/glcpp/glcpp-lex.l"
1278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yytext[0];
1280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 39:
1283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 279 "src/src/glsl/glcpp/glcpp-lex.l"
1285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylval->str = ralloc_strdup (yyextra, yytext);
1287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return OTHER;
1288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 40:
1291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 284 "src/src/glsl/glcpp/glcpp-lex.l"
1293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyextra->space_tokens) {
1295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return SPACE;
1296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
1297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 41:
1300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* rule 41 can match eol */
1301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 290 "src/src/glsl/glcpp/glcpp-lex.l"
1303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 0;
1305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yylineno++;
1306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yycolumn = 0;
1307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return NEWLINE;
1308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Handle missing newline at EOF. */
1311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(INITIAL):
1312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 298 "src/src/glsl/glcpp/glcpp-lex.l"
1313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	BEGIN DONE; /* Don't keep matching this rule forever. */
1315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyextra->lexing_if = 0;
1316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return NEWLINE;
1317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* We don't actually use the UNREACHABLE start condition. We
1320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	only have this action here so that we can pretend to call some
1321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	generated functions, (to avoid "defined but not used"
1322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	warnings. */
1323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 42:
1324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 308 "src/src/glsl/glcpp/glcpp-lex.l"
1326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	unput('.');
1328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_top_state(yyextra);
1329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase 43:
1332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_RULE_SETUP
1333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 313 "src/src/glsl/glcpp/glcpp-lex.l"
1334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgECHO;
1335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BREAK
1336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1337 "src/chromium_gensrc/mesa/glcpp-lex.c"
1337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(DONE):
1338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(COMMENT):
1339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(UNREACHABLE):
1340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(SKIP):
1341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgcase YY_STATE_EOF(DEFINE):
1342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyterminate();
1343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	case YY_END_OF_BUFFER:
1345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Amount of text matched not including the EOB char. */
1347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
1348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Undo the effects of YY_DO_BEFORE_ACTION. */
1350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yy_cp = yyg->yy_hold_char;
1351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_RESTORE_YY_MORE_OFFSET
1352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We're scanning a new file or input source.  It's
1356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * possible that this happened because the user
1357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * just pointed yyin at a new source and called
1358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * glcpp_lex().  If so, then we have to assure
1359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * consistency between YY_CURRENT_BUFFER and our
1360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * globals.  Here is the right place to do so, because
1361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * this is the first action (other than possibly a
1362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * back-up) that will match for the new input source.
1363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
1364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Note that here we test for yy_c_buf_p "<=" to the position
1370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * of the first EOB in the buffer, since yy_c_buf_p will
1371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * already have been incremented past the NUL character
1372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * (since all states make transitions on EOB to the
1373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * end-of-buffer state).  Contrast this with the test
1374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * in input().
1375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
1376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
1377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* This was really a NUL. */
1378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_state_type yy_next_state;
1379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
1381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = yy_get_previous_state( yyscanner );
1383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* Okay, we're now positioned to make the NUL
1385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * transition.  We couldn't have
1386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * yy_get_previous_state() go ahead and do it
1387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * for us because it doesn't know how to deal
1388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * with the possibility of jamming (and we don't
1389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * want to build jamming into it because then it
1390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * will run more slowly).
1391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
1392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
1394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
1396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_next_state )
1398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				/* Consume the NUL. */
1400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = ++yyg->yy_c_buf_p;
1401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_next_state;
1402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_match;
1403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			else
1406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_last_accepting_cpos;
1408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yyg->yy_last_accepting_state;
1409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_find_action;
1410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else switch ( yy_get_next_buffer( yyscanner ) )
1414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_END_OF_FILE:
1416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_did_buffer_switch_on_eof = 0;
1418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( glcpp_wrap(yyscanner ) )
1420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
1421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Note: because we've taken care in
1422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yy_get_next_buffer() to have set up
1423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yytext, we can now set up
1424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * yy_c_buf_p so that if some total
1425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * hoser (like flex itself) wants to
1426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * call the scanner after we return the
1427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * YY_NULL, it'll still work - another
1428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * YY_NULL will get returned.
1429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 */
1430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
1431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yy_act = YY_STATE_EOF(YY_START);
1433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					goto do_action;
1434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
1435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				else
1437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
1438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
1439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						YY_NEW_FILE;
1440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
1441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				break;
1442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_CONTINUE_SCAN:
1445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_c_buf_p =
1446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yytext_ptr + yy_amount_of_matched_text;
1447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
1449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_c_buf_p;
1451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
1452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_match;
1453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			case EOB_ACT_LAST_MATCH:
1455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yyg->yy_c_buf_p =
1456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
1457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
1459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_cp = yyg->yy_c_buf_p;
1461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
1462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				goto yy_find_action;
1463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		break;
1465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	default:
1468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR(
1469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			"fatal flex scanner internal error--no action found" );
1470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	} /* end of action switch */
1471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} /* end of scanning one token */
1472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} /* end of glcpp_lex */
1473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_get_next_buffer - try to read in a new buffer
1475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Returns a code representing an action:
1477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_LAST_MATCH -
1478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	EOB_ACT_END_OF_FILE - end of file
1480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_get_next_buffer (yyscan_t yyscanner)
1482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *source = yyg->yytext_ptr;
1486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int number_to_move, i;
1487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int ret_val;
1488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
1490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR(
1491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		"fatal flex scanner internal error--end of buffer missed" );
1492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ /* Don't try to fill the buffer, so this is an EOF. */
1495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
1496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We matched a single character, the EOB, so
1498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * treat this as a final EOF.
1499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
1500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			return EOB_ACT_END_OF_FILE;
1501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
1504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* We matched some text prior to the EOB, first
1506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 * process it.
1507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			 */
1508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			return EOB_ACT_LAST_MATCH;
1509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Try to read more data. */
1513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* First move last chars to start of buffer. */
1515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
1516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < number_to_move; ++i )
1518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*(dest++) = *(source++);
1519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* don't do the read, it's not guaranteed to return an EOF,
1522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * just force an EOF
1523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
1524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
1525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else
1527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int num_to_read =
1529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( num_to_read <= 0 )
1532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* Not enough room in the buffer - grow it. */
1533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* just a shorter name for the current buffer */
1535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int yy_c_buf_p_offset =
1538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				(int) (yyg->yy_c_buf_p - b->yy_ch_buf);
1539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( b->yy_is_our_buffer )
1541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				int new_size = b->yy_buf_size * 2;
1543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				if ( new_size <= 0 )
1545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					b->yy_buf_size += b->yy_buf_size / 8;
1546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				else
1547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					b->yy_buf_size *= 2;
1548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				b->yy_ch_buf = (char *)
1550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Include room in for 2 EOB chars. */
1551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					glcpp_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
1552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			else
1554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				/* Can't grow it, we don't own it. */
1555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				b->yy_ch_buf = 0;
1556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( ! b->yy_ch_buf )
1558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_FATAL_ERROR(
1559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				"fatal error - scanner input buffer overflow" );
1560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
1562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						number_to_move - 1;
1565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( num_to_read > YY_READ_BUF_SIZE )
1569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			num_to_read = YY_READ_BUF_SIZE;
1570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Read in more data. */
1572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_n_chars, (size_t) num_to_read );
1574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
1576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyg->yy_n_chars == 0 )
1579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( number_to_move == YY_MORE_ADJ )
1581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			ret_val = EOB_ACT_END_OF_FILE;
1583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			glcpp_restart(yyin  ,yyscanner);
1584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
1587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			ret_val = EOB_ACT_LAST_MATCH;
1589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				YY_BUFFER_EOF_PENDING;
1591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	else
1595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		ret_val = EOB_ACT_CONTINUE_SCAN;
1596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Extend the array by 50%, plus the number we really need. */
1599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
1600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) glcpp_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
1601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
1604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_n_chars += number_to_move;
1606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
1607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
1608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return ret_val;
1612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_get_previous_state - get the state just before the EOB char was reached */
1615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
1617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register yy_state_type yy_current_state;
1619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp;
1620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state = yyg->yy_start;
1623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state += YY_AT_BOL();
1624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
1626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yy_accept[yy_current_state] )
1629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_last_accepting_state = yy_current_state;
1631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_last_accepting_cpos = yy_cp;
1632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{
1635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_current_state = (int) yy_def[yy_current_state];
1636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			if ( yy_current_state >= 147 )
1637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				yy_c = yy_meta[(unsigned int) yy_c];
1638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yy_current_state;
1643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* yy_try_NUL_trans - try to make a transition on the NUL character
1646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
1647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * synopsis
1648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *	next_state = yy_try_NUL_trans( current_state );
1649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
1651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int yy_is_jam;
1653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
1654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp = yyg->yy_c_buf_p;
1655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register YY_CHAR yy_c = 1;
1657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yy_accept[yy_current_state] )
1658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_last_accepting_state = yy_current_state;
1660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_last_accepting_cpos = yy_cp;
1661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_current_state = (int) yy_def[yy_current_state];
1665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yy_current_state >= 147 )
1666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yy_c = yy_meta[(unsigned int) yy_c];
1667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_is_jam = (yy_current_state == 146);
1670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yy_is_jam ? 0 : yy_current_state;
1672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
1675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register char *yy_cp;
1677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_cp = yyg->yy_c_buf_p;
1680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* undo effects of setting up yytext */
1682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yy_cp = yyg->yy_hold_char;
1683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ /* need to shift things up to make room */
1686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* +2 for EOB chars. */
1687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		register int number_to_move = yyg->yy_n_chars + 2;
1688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
1689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
1690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		register char *source =
1691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
1692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			*--dest = *--source;
1695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_cp += (int) (dest - source);
1697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_bp += (int) (dest - source);
1698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
1699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
1700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "flex scanner push-back overflow" );
1703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*--yy_cp = (char) c;
1706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = yy_bp;
1708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *yy_cp;
1709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_c_buf_p = yy_cp;
1710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_NO_INPUT
1713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
1714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int yyinput (yyscan_t yyscanner)
1715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int input  (yyscan_t yyscanner)
1717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int c;
1721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yyg->yy_c_buf_p = yyg->yy_hold_char;
1724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
1726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* yy_c_buf_p now points to the character we want to return.
1728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * If this occurs *before* the EOB characters, then it's a
1729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * valid NUL; if not, then we've hit the end of the buffer.
1730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 */
1731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
1732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			/* This was really a NUL. */
1733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			*yyg->yy_c_buf_p = '\0';
1734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
1736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			{ /* need more input */
1737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
1738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			++yyg->yy_c_buf_p;
1739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			switch ( yy_get_next_buffer( yyscanner ) )
1741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				{
1742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_LAST_MATCH:
1743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* This happens because yy_g_n_b()
1744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * sees that we've accumulated a
1745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * token and flags that we need to
1746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * try matching the token before
1747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * proceeding.  But for input(),
1748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * there's no matching to consider.
1749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * So convert the EOB_ACT_LAST_MATCH
1750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 * to EOB_ACT_END_OF_FILE.
1751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 */
1752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/* Reset buffer status. */
1754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					glcpp_restart(yyin ,yyscanner);
1755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					/*FALLTHROUGH*/
1757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_END_OF_FILE:
1759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					{
1760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( glcpp_wrap(yyscanner ) )
1761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						return EOF;
1762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
1764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						YY_NEW_FILE;
1765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef __cplusplus
1766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					return yyinput(yyscanner);
1767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
1768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					return input(yyscanner);
1769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					}
1771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				case EOB_ACT_CONTINUE_SCAN:
1773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
1774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					break;
1775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				}
1776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			}
1777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	c = *(unsigned char *) yyg->yy_c_buf_p;	/* cast for 8-bit char's */
1780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	*yyg->yy_c_buf_p = '\0';	/* preserve yytext */
1781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *++yyg->yy_c_buf_p;
1782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return c;
1786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif	/* ifndef YY_NO_INPUT */
1788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Immediately switch to a different input stream.
1790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param input_file A readable stream.
1791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
1792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @note This function does not reset the start condition to @c INITIAL .
1793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void glcpp_restart  (FILE * input_file , yyscan_t yyscanner)
1795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! YY_CURRENT_BUFFER ){
1799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        glcpp_ensure_buffer_stack (yyscanner);
1800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE =
1801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            glcpp__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
1803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
1805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__load_buffer_state(yyscanner );
1806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Switch to a different input buffer.
1809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param new_buffer The new input buffer.
1810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
1811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void glcpp__switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
1813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* TODO. We should be able to replace this entire function body
1817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * with
1818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 *		glcpp_pop_buffer_state();
1819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 *		glcpp_push_buffer_state(new_buffer);
1820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
1821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_ensure_buffer_stack (yyscanner);
1822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER == new_buffer )
1823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
1824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER )
1826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Flush out information for old buffer. */
1828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
1829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
1830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
1831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__load_buffer_state(yyscanner );
1835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* We don't actually know whether we did this switch during
1837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * EOF (glcpp_wrap()) processing, but the only time this flag
1838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * is looked at is after glcpp_wrap() is called, so it's safe
1839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * to go ahead and always set it.
1840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
1841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
1842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void glcpp__load_buffer_state  (yyscan_t yyscanner)
1845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_hold_char = *yyg->yy_c_buf_p;
1851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Allocate and initialize an input buffer state.
1854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param file A readable stream.
1855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
1857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the allocated buffer state.
1858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YY_BUFFER_STATE glcpp__create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
1860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
1862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = (YY_BUFFER_STATE) glcpp_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
1864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
1865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in glcpp__create_buffer()" );
1866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_size = size;
1868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* yy_ch_buf has to be 2 characters longer than the size given because
1870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * we need to put in 2 end-of-buffer characters.
1871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
1872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf = (char *) glcpp_alloc(b->yy_buf_size + 2 ,yyscanner );
1873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b->yy_ch_buf )
1874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in glcpp__create_buffer()" );
1875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 1;
1877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__init_buffer(b,file ,yyscanner);
1879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
1881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Destroy the buffer.
1884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param b a buffer created with glcpp__create_buffer()
1885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
1886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void glcpp__delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
1888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
1892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
1893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b->yy_is_our_buffer )
1898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp_free((void *) b->yy_ch_buf ,yyscanner );
1899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_free((void *) b ,yyscanner );
1901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Initializes or reinitializes a buffer.
1904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * This function is sometimes called more than once on the same buffer,
1905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * such as during a glcpp_restart() or at EOF.
1906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void glcpp__init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
1908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int oerrno = errno;
1911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__flush_buffer(b ,yyscanner);
1914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_input_file = file;
1916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_fill_buffer = 1;
1917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* If b is the current buffer, then glcpp__init_buffer was _probably_
1919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * called from glcpp_restart() or through yy_get_next_buffer.
1920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * In that case, we don't want to reset the lineno or column.
1921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
1922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (b != YY_CURRENT_BUFFER){
1923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_bs_lineno = 1;
1924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_bs_column = 0;
1925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
1926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        b->yy_is_interactive = 0;
1928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	errno = oerrno;
1930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
1935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void glcpp__flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
1937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
1940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
1941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_n_chars = 0;
1943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* We always need two end-of-buffer characters.  The first causes
1945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * a transition to the end-of-buffer state.  The second causes
1946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * a jam in that state.
1947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
1948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_pos = &b->yy_ch_buf[0];
1952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_at_bol = 1;
1954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
1955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( b == YY_CURRENT_BUFFER )
1957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp__load_buffer_state(yyscanner );
1958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Pushes the new state onto the stack. The new state becomes
1961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  the current state. This function will allocate the stack
1962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  if necessary.
1963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param new_buffer The new state.
1964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param yyscanner The scanner object.
1965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
1967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (new_buffer == NULL)
1970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
1971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_ensure_buffer_stack(yyscanner);
1973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* This block is copied from glcpp__switch_to_buffer. */
1975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( YY_CURRENT_BUFFER )
1976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
1977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Flush out information for old buffer. */
1978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
1979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
1980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
1981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
1982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Only push if top exists. Otherwise, replace top. */
1984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (YY_CURRENT_BUFFER)
1985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_top++;
1986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* copied from glcpp__switch_to_buffer. */
1989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__load_buffer_state(yyscanner );
1990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
1991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
1992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Removes and deletes the top of the stack, if present.
1994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  The next element becomes the new top.
1995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  @param yyscanner The scanner object.
1996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
1997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_pop_buffer_state (yyscan_t yyscanner)
1998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (!YY_CURRENT_BUFFER)
2001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
2002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
2004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_CURRENT_BUFFER_LVALUE = NULL;
2005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyg->yy_buffer_stack_top > 0)
2006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		--yyg->yy_buffer_stack_top;
2007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (YY_CURRENT_BUFFER) {
2009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp__load_buffer_state(yyscanner );
2010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_did_buffer_switch_on_eof = 1;
2011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
2012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Allocates the stack if it does not exist.
2015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *  Guarantees space for at least one push.
2016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void glcpp_ensure_buffer_stack (yyscan_t yyscanner)
2018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int num_to_alloc;
2020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (!yyg->yy_buffer_stack) {
2023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* First allocation is just for 2 elements, since we don't know if this
2025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 * immediate realloc on the next call.
2027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org         */
2028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		num_to_alloc = 1;
2029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)glcpp_alloc
2030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								(num_to_alloc * sizeof(struct yy_buffer_state*)
2031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								, yyscanner);
2032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_buffer_stack )
2033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in glcpp_ensure_buffer_stack()" );
2034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
2038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_top = 0;
2039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return;
2040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
2041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Increase the buffer to prepare for a possible push. */
2045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		int grow_size = 8 /* arbitrary grow size */;
2046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)glcpp_realloc
2049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								(yyg->yy_buffer_stack,
2050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								num_to_alloc * sizeof(struct yy_buffer_state*)
2051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								, yyscanner);
2052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_buffer_stack )
2053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in glcpp_ensure_buffer_stack()" );
2054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* zero only the new slots.*/
2056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
2058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
2059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan directly from a user-specified character buffer.
2062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param base the character buffer
2063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param size the size in bytes of the character buffer
2064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
2066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
2068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
2070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( size < 2 ||
2072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
2073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     base[size-1] != YY_END_OF_BUFFER_CHAR )
2074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* They forgot to leave room for the EOB's. */
2075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		return 0;
2076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = (YY_BUFFER_STATE) glcpp_alloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
2079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in glcpp__scan_buffer()" );
2080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
2082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buf_pos = b->yy_ch_buf = base;
2083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 0;
2084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_input_file = 0;
2085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_n_chars = b->yy_buf_size;
2086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_interactive = 0;
2087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_at_bol = 1;
2088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_fill_buffer = 0;
2089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
2090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__switch_to_buffer(b ,yyscanner );
2092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
2094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan a string. The next call to glcpp_lex() will
2097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * scan from a @e copy of @a str.
2098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yystr a NUL-terminated string to scan
2099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
2101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @note If you want to scan bytes that may contain NUL values, then use
2102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *       glcpp__scan_bytes() instead.
2103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_string (yyconst char * yystr , yyscan_t yyscanner)
2105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return glcpp__scan_bytes(yystr,strlen(yystr) ,yyscanner);
2108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Setup the input buffer state to scan the given bytes. The next call to glcpp_lex() will
2111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * scan from a @e copy of @a bytes.
2112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yybytes the byte buffer to scan
2113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @return the newly allocated buffer state object.
2116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_BUFFER_STATE glcpp__scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
2118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YY_BUFFER_STATE b;
2120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	char *buf;
2121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yy_size_t n;
2122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	int i;
2123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Get memory for full buffer, including space for trailing EOB's. */
2125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	n = _yybytes_len + 2;
2126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	buf = (char *) glcpp_alloc(n ,yyscanner );
2127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! buf )
2128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in glcpp__scan_bytes()" );
2129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < _yybytes_len; ++i )
2131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		buf[i] = yybytes[i];
2132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b = glcpp__scan_buffer(buf,n ,yyscanner);
2136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( ! b )
2137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "bad buffer in glcpp__scan_bytes()" );
2138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* It's okay to grow etc. this buffer, and we should throw it
2140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * away when we're done.
2141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
2142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	b->yy_is_our_buffer = 1;
2143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return b;
2145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yy_push_state (int  new_state , yyscan_t yyscanner)
2148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( yyg->yy_start_stack_ptr >= yyg->yy_start_stack_depth )
2151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{
2152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yy_size_t new_size;
2153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_start_stack_depth += YY_START_STACK_INCR;
2155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		new_size = yyg->yy_start_stack_depth * sizeof( int );
2156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_start_stack )
2158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_start_stack = (int *) glcpp_alloc(new_size ,yyscanner );
2159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		else
2161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			yyg->yy_start_stack = (int *) glcpp_realloc((void *) yyg->yy_start_stack,new_size ,yyscanner );
2162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		if ( ! yyg->yy_start_stack )
2164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
2165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		}
2166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_start_stack[yyg->yy_start_stack_ptr++] = YY_START;
2168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	BEGIN(new_state);
2170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static void yy_pop_state  (yyscan_t yyscanner)
2173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if ( --yyg->yy_start_stack_ptr < 0 )
2176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_FATAL_ERROR( "start-condition stack underflow" );
2177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	BEGIN(yyg->yy_start_stack[yyg->yy_start_stack_ptr]);
2179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    static int yy_top_state  (yyscan_t yyscanner)
2182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return yyg->yy_start_stack[yyg->yy_start_stack_ptr - 1];
2185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_EXIT_FAILURE
2188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YY_EXIT_FAILURE 2
2189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
2192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    	(void) fprintf( stderr, "%s\n", msg );
2194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	exit( YY_EXIT_FAILURE );
2195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Redefine yyless() so it works in section 3 code. */
2198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#undef yyless
2200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyless(n) \
2201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	do \
2202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		{ \
2203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		/* Undo effects of setting up yytext. */ \
2204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        int yyless_macro_arg = (n); \
2205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        YY_LESS_LINENO(yyless_macro_arg);\
2206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yytext[yyleng] = yyg->yy_hold_char; \
2207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
2208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyg->yy_hold_char = *yyg->yy_c_buf_p; \
2209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		*yyg->yy_c_buf_p = '\0'; \
2210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		yyleng = yyless_macro_arg; \
2211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		} \
2212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while ( 0 )
2213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor  methods (get/set functions) to struct members. */
2215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the user-defined data for this scanner.
2217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYY_EXTRA_TYPE glcpp_get_extra  (yyscan_t yyscanner)
2220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyextra;
2223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current line number.
2226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_lineno  (yyscan_t yyscanner)
2229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER)
2233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            return 0;
2234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylineno;
2236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current column number.
2239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_column  (yyscan_t yyscanner)
2242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER)
2246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            return 0;
2247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yycolumn;
2249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the input stream.
2252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *glcpp_get_in  (yyscan_t yyscanner)
2255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyin;
2258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the output stream.
2261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgFILE *glcpp_get_out  (yyscan_t yyscanner)
2264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyout;
2267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the length of the current token.
2270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_leng  (yyscan_t yyscanner)
2273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yyleng;
2276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Get the current token.
2279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgchar *glcpp_get_text  (yyscan_t yyscanner)
2283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yytext;
2286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the user-defined data. This data is never touched by the scanner.
2289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param user_defined The data to be associated with this scanner.
2290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
2293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyextra = user_defined ;
2296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the current line number.
2299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param line_number
2300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_lineno (int  line_number , yyscan_t yyscanner)
2303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        /* lineno is only valid if an input buffer exists. */
2307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER )
2308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org           yy_fatal_error( "glcpp_set_lineno called with no buffer" , yyscanner);
2309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylineno = line_number;
2311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the current column.
2314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param line_number
2315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_column (int  column_no , yyscan_t yyscanner)
2318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        /* column is only valid if an input buffer exists. */
2322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (! YY_CURRENT_BUFFER )
2323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org           yy_fatal_error( "glcpp_set_column called with no buffer" , yyscanner);
2324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yycolumn = column_no;
2326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/** Set the input stream. This does not discard the current
2329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * input buffer.
2330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param in_str A readable stream.
2331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @param yyscanner The scanner object.
2332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * @see glcpp__switch_to_buffer
2333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_in (FILE *  in_str , yyscan_t yyscanner)
2335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = in_str ;
2338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_out (FILE *  out_str , yyscan_t yyscanner)
2341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = out_str ;
2344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_get_debug  (yyscan_t yyscanner)
2347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_flex_debug;
2350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_debug (int  bdebug , yyscan_t yyscanner)
2353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_flex_debug = bdebug ;
2356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Accessor methods for yylval and yylloc */
2359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYSTYPE * glcpp_get_lval  (yyscan_t yyscanner)
2361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylval;
2364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
2367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylval = yylval_param;
2370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYLTYPE *glcpp_get_lloc  (yyscan_t yyscanner)
2373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yylloc;
2376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_set_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
2379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yylloc = yylloc_param;
2382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* User-visible API */
2385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* glcpp_lex_init is special because it creates the scanner itself, so it is
2387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the ONLY reentrant function that doesn't take the scanner as the last argument.
2388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * That's why we explicitly handle the declaration, instead of using our macros.
2389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_init(yyscan_t* ptr_yy_globals)
2392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (ptr_yy_globals == NULL){
2395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = EINVAL;
2396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
2397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    *ptr_yy_globals = (yyscan_t) glcpp_alloc ( sizeof( struct yyguts_t ), NULL );
2400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (*ptr_yy_globals == NULL){
2402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = ENOMEM;
2403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
2404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
2407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
2408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_init_globals ( *ptr_yy_globals );
2410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* glcpp_lex_init_extra has the same functionality as glcpp_lex_init, but follows the
2413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * convention of taking the scanner as the last argument. Note however, that
2414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * this is a *pointer* to a scanner, as it will be allocated by this call (and
2415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * is the reason, too, why this function also must handle its own declaration).
2416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * The user defined value in the first argument will be available to glcpp_alloc in
2417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the yyextra field.
2418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
2421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t dummy_yyguts;
2424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    glcpp_set_extra (yy_user_defined, &dummy_yyguts);
2426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (ptr_yy_globals == NULL){
2428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = EINVAL;
2429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
2430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    *ptr_yy_globals = (yyscan_t) glcpp_alloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
2433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    if (*ptr_yy_globals == NULL){
2435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        errno = ENOMEM;
2436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        return 1;
2437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* By setting to 0xAA, we expose bugs in
2440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_init_globals. Leave at 0x00 for releases. */
2441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
2442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    glcpp_set_extra (yy_user_defined, *ptr_yy_globals);
2444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yy_init_globals ( *ptr_yy_globals );
2446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner)
2449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Initialization is the same as for the non-reentrant scanner.
2452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * This function is called from glcpp_lex_destroy(), so don't allocate here.
2453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
2454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack = 0;
2456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack_top = 0;
2457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_buffer_stack_max = 0;
2458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_c_buf_p = (char *) 0;
2459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_init = 0;
2460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start = 0;
2461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack_ptr = 0;
2463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack_depth = 0;
2464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyg->yy_start_stack =  NULL;
2465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Defined in main.c */
2467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_STDINIT
2468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = stdin;
2469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = stdout;
2470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyin = (FILE *) 0;
2472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyout = (FILE *) 0;
2473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* For future reference: Set errno on error, since we are called by
2476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * glcpp_lex_init()
2477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     */
2478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return 0;
2479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* glcpp_lex_destroy is for both reentrant and non-reentrant scanners. */
2482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint glcpp_lex_destroy  (yyscan_t yyscanner)
2483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Pop the buffer stack, destroying each element. */
2487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	while(YY_CURRENT_BUFFER){
2488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
2489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		YY_CURRENT_BUFFER_LVALUE = NULL;
2490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		glcpp_pop_buffer_state(yyscanner);
2491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
2492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Destroy the stack itself. */
2494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp_free(yyg->yy_buffer_stack ,yyscanner);
2495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyg->yy_buffer_stack = NULL;
2496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Destroy the start condition stack. */
2498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        glcpp_free(yyg->yy_start_stack ,yyscanner );
2499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        yyg->yy_start_stack = NULL;
2500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Reset the globals. This is important in a non-reentrant scanner so the next time
2502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     * glcpp_lex() is called, initialization will occur. */
2503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_init_globals( yyscanner);
2504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Destroy the main struct (reentrant only). */
2506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    glcpp_free ( yyscanner , yyscanner );
2507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyscanner = NULL;
2508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return 0;
2509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*
2512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Internal utility routines.
2513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
2514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yytext_ptr
2516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
2517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int i;
2519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( i = 0; i < n; ++i )
2520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		s1[i] = s2[i];
2521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YY_NEED_STRLEN
2525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
2526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	register int n;
2528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	for ( n = 0; s[n]; ++n )
2529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		;
2530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return n;
2532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *glcpp_alloc (yy_size_t  size , yyscan_t yyscanner)
2536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return (void *) malloc( size );
2538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *glcpp_realloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
2541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* The cast to (char *) in the following accommodates both
2543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * implementations that use char* generic pointers, and those
2544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * that use void* generic pointers.  It works with the latter
2545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * because both ANSI C and C++ allow castless assignment from
2546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * any pointer type to void*, and deal with argument conversions
2547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 * as though doing an assignment.
2548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 */
2549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	return (void *) realloc( (char *) ptr, size );
2550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid glcpp_free (void * ptr , yyscan_t yyscanner)
2553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	free( (char *) ptr );	/* see glcpp_realloc() for (char *) cast */
2555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYTABLES_NAME "yytables"
2558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 313 "src/src/glsl/glcpp/glcpp-lex.l"
2560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid
2564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgglcpp_lex_set_source_string(glcpp_parser_t *parser, const char *shader)
2565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	glcpp__scan_string(shader,parser->scanner);
2567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2569