1a9100887d256e4828224ad0b958b2e12722c408bshannonwoods@chromium.org#line 17 "./glslang.l"
2044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org//
35524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com// Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
4044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org// Use of this source code is governed by a BSD-style license that can be
5044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org// found in the LICENSE file.
6044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org//
7044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
875fe6b76d27174fd42ae4235df11a009bb3ed36dalokp@chromium.org// This file is auto-generated by generate_parser.sh. DO NOT EDIT!
9044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
10536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org// Ignore errors in auto-generated code.
11536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org#if defined(__GNUC__)
12a1d8059d676046ff9a35e15341866f1e93944132apatrick@chromium.org#pragma GCC diagnostic ignored "-Wunused-function"
13536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org#pragma GCC diagnostic ignored "-Wunused-variable"
14e057c5dd6e234c6edd8b80537ccb753b6c1eb343apatrick@chromium.org#pragma GCC diagnostic ignored "-Wswitch-enum"
15536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org#elif defined(_MSC_VER)
16536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org#pragma warning(disable: 4065)
17a1d8059d676046ff9a35e15341866f1e93944132apatrick@chromium.org#pragma warning(disable: 4189)
18a1d8059d676046ff9a35e15341866f1e93944132apatrick@chromium.org#pragma warning(disable: 4505)
19a1d8059d676046ff9a35e15341866f1e93944132apatrick@chromium.org#pragma warning(disable: 4701)
20536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org#endif
21536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org
22044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
23044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
24a9100887d256e4828224ad0b958b2e12722c408bshannonwoods@chromium.org#line 25 "./glslang_lex.cpp"
25a9100887d256e4828224ad0b958b2e12722c408bshannonwoods@chromium.org
26044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define  YY_INT_ALIGNED short int
27044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
28044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* A lexical scanner generated by flex */
29044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
30044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define FLEX_SCANNER
31044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_FLEX_MAJOR_VERSION 2
32044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_FLEX_MINOR_VERSION 5
3336be856c98e54ab651e4826fef65689ae4344632Jamie Madill#define YY_FLEX_SUBMINOR_VERSION 37
34044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if YY_FLEX_SUBMINOR_VERSION > 0
35044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define FLEX_BETA
36044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
37044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
38044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* First, we deal with  platform-specific or compiler-specific issues. */
39044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
40044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* begin standard C headers. */
41044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include <stdio.h>
42044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include <string.h>
43044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include <errno.h>
44044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include <stdlib.h>
45044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
46044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* end standard C headers. */
47044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
48044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* flex integer type definitions */
49044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
50044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef FLEXINT_H
51044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define FLEXINT_H
52044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
53044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
54044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
55044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
56044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
57044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
58044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * if you want the limit (max/min) macros for int types.
59044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
60044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef __STDC_LIMIT_MACROS
61044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define __STDC_LIMIT_MACROS 1
62044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
63044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
64044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include <inttypes.h>
65044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef int8_t flex_int8_t;
66044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef uint8_t flex_uint8_t;
67044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef int16_t flex_int16_t;
68044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef uint16_t flex_uint16_t;
69044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef int32_t flex_int32_t;
70044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef uint32_t flex_uint32_t;
71ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgtypedef uint64_t flex_uint64_t;
72044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
73044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef signed char flex_int8_t;
74044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef short int flex_int16_t;
75044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef int flex_int32_t;
76044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned char flex_uint8_t;
77044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned short int flex_uint16_t;
78044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned int flex_uint32_t;
79044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
80044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Limits of integral types. */
81044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT8_MIN
82044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT8_MIN               (-128)
83044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
84044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT16_MIN
85044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT16_MIN              (-32767-1)
86044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
87044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT32_MIN
88044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT32_MIN              (-2147483647-1)
89044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
90044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT8_MAX
91044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT8_MAX               (127)
92044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
93044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT16_MAX
94044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT16_MAX              (32767)
95044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
96044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef INT32_MAX
97044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INT32_MAX              (2147483647)
98044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
99044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef UINT8_MAX
100044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define UINT8_MAX              (255U)
101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
102044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef UINT16_MAX
103044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define UINT16_MAX             (65535U)
104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef UINT32_MAX
106044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define UINT32_MAX             (4294967295U)
107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
108044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
109f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill#endif /* ! C99 */
110f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill
111044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* ! FLEXINT_H */
112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
113044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef __cplusplus
114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The "const" storage-class-modifier is valid. */
116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_USE_CONST
117044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else	/* ! __cplusplus */
119044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
120044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* C99 requires __STDC__ to be defined as 1. */
121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if defined (__STDC__)
122044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_USE_CONST
124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif	/* defined (__STDC__) */
126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif	/* ! __cplusplus */
127044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YY_USE_CONST
129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyconst const
130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyconst
132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
133044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Returned upon end-of-file. */
135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_NULL 0
136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Promotes a possibly negative, possibly signed char to an unsigned
138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * integer for use as an array index.  If the signed char is negative,
139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * we want to instead treat it as an 8-bit unsigned char, hence the
140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * double cast.
141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* An opaque pointer. */
145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_TYPEDEF_YY_SCANNER_T
146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_TYPEDEF_YY_SCANNER_T
147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef void* yyscan_t;
148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* For convenience, these vars (plus the bison vars far below)
151044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org   are macros in the reentrant scanner. */
152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyin yyg->yyin_r
153044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyout yyg->yyout_r
154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyextra yyg->yyextra_r
155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyleng yyg->yyleng_r
156044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yytext yyg->yytext_r
157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
159044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yy_flex_debug yyg->yy_flex_debug_r
160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
161044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Enter a start condition.  This macro really ought to take a parameter,
162044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * but we do it the disgusting crufty way forced on us by the ()-less
163044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * definition of BEGIN.
164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
165044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define BEGIN yyg->yy_start = 1 + 2 *
166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
167044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Translate the current start state into a value that can be later handed
168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * to BEGIN to return to the state.  The YYSTATE alias is for lex
169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * compatibility.
170044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_START ((yyg->yy_start - 1) / 2)
172044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYSTATE YY_START
173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
174044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Action number for EOF rule of a given start state. */
175044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
177044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Special action meaning "start processing a new file". */
178044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_NEW_FILE yyrestart(yyin ,yyscanner )
179044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
180044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_END_OF_BUFFER_CHAR 0
181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Size of default input buffer. */
183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_BUF_SIZE
184044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_BUF_SIZE 16384
185044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
186044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
187044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The state buf must be large enough to hold one state per character in the main buffer.
188044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
189044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
190044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
191044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_TYPEDEF_YY_BUFFER_STATE
192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_TYPEDEF_YY_BUFFER_STATE
193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef struct yy_buffer_state *YY_BUFFER_STATE;
194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
196ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org#ifndef YY_TYPEDEF_YY_SIZE_T
197ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org#define YY_TYPEDEF_YY_SIZE_T
198ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgtypedef size_t yy_size_t;
199ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org#endif
200ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org
20136be856c98e54ab651e4826fef65689ae4344632Jamie Madill#ifndef YY_TYPEDEF_YY_SIZE_T
20236be856c98e54ab651e4826fef65689ae4344632Jamie Madill#define YY_TYPEDEF_YY_SIZE_T
20336be856c98e54ab651e4826fef65689ae4344632Jamie Madilltypedef size_t yy_size_t;
20436be856c98e54ab651e4826fef65689ae4344632Jamie Madill#endif
20536be856c98e54ab651e4826fef65689ae4344632Jamie Madill
206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define EOB_ACT_CONTINUE_SCAN 0
207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define EOB_ACT_END_OF_FILE 1
208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define EOB_ACT_LAST_MATCH 2
209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
210044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     *       access to the local variable yy_act. Since yyless() is a macro, it would break
212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     *       existing scanners that call yyless() from OUTSIDE yylex.
213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     *       One obvious solution it to make yy_act a global. I tried that, and saw
214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     *       normally declared as a register variable-- so it is not worth it.
216044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     */
217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    #define  YY_LESS_LINENO(n) \
218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            do { \
219ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org                yy_size_t yyl;\
220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org                for ( yyl = n; yyl < yyleng; ++yyl )\
221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org                    if ( yytext[yyl] == '\n' )\
222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org                        --yylineno;\
223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            }while(0)
224044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Return all but the first "n" matched characters back to the input stream. */
226044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyless(n) \
227044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	do \
228044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{ \
229044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Undo effects of setting up yytext. */ \
230044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        int yyless_macro_arg = (n); \
231044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        YY_LESS_LINENO(yyless_macro_arg);\
232044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yy_cp = yyg->yy_hold_char; \
233044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_RESTORE_YY_MORE_OFFSET \
234044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
236044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		} \
237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	while ( 0 )
238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
239044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
240044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
241044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_STRUCT_YY_BUFFER_STATE
242044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_STRUCT_YY_BUFFER_STATE
243044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstruct yy_buffer_state
244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	{
245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	FILE *yy_input_file;
246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
247044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	char *yy_ch_buf;		/* input buffer */
248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	char *yy_buf_pos;		/* current position in input buffer */
249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
250044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Size of input buffer in bytes, not including room for EOB
251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * characters.
252044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_size_t yy_buf_size;
254044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
255044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Number of characters read into yy_ch_buf, not including EOB
256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * characters.
257044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
258ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org	yy_size_t yy_n_chars;
259044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
260044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Whether we "own" the buffer - i.e., we know we created it,
261044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * and can realloc() it to grow it, and should free() it to
262044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * delete it.
263044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
264044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int yy_is_our_buffer;
265044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
266044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Whether this is an "interactive" input source; if so, and
267044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * if we're using stdio for input, then we want to use getc()
268044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * instead of fread(), to make sure we stop fetching input after
269044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * each newline.
270044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
271044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int yy_is_interactive;
272044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
273044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Whether we're considered to be at the beginning of a line.
274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * If so, '^' rules will be active on the next match, otherwise
275044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * not.
276044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
277044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int yy_at_bol;
278044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
279044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_bs_lineno; /**< The line count. */
280044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_bs_column; /**< The column count. */
281044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
282044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Whether to try to fill the input buffer when we reach the
283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * end of it.
284044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
285044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int yy_fill_buffer;
286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int yy_buffer_status;
288044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_BUFFER_NEW 0
290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_BUFFER_NORMAL 1
291044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* When an EOF's been seen but there's still some text to process
292044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
293044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * shouldn't try reading from the input source any more.  We might
294044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * still have a bunch of tokens to match, though, because of
295044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * possible backing-up.
296044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 *
297044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * When we actually see the EOF, we change the status to "new"
298044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * (via yyrestart()), so that the user can continue scanning by
299044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * just pointing yyin at a new input file.
300044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
301044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_BUFFER_EOF_PENDING 2
302044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
303044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	};
304044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* !YY_STRUCT_YY_BUFFER_STATE */
305044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
306044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* We provide macros for accessing buffer states in case in the
307044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * future we want to put the buffer states in a more general
308044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * "scanner state".
309044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *
310044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * Returns the top of the stack, or NULL.
311044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
312044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
313044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
314044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org                          : NULL)
315044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
316044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Same as previous macro, but useful when we know that the buffer stack is not
317044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * NULL or when we need an lvalue. For internal use only.
318044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
319044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
320044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
321044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyrestart (FILE *input_file ,yyscan_t yyscanner );
322044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
323044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_BUFFER_STATE yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
324044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
326044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
327044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yypop_buffer_state (yyscan_t yyscanner );
328044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
329044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yyensure_buffer_stack (yyscan_t yyscanner );
330044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_load_buffer_state (yyscan_t yyscanner );
331044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
332044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
333044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
334044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
335044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
337ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
338044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
339044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid *yyalloc (yy_size_t ,yyscan_t yyscanner );
340044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
341044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyfree (void * ,yyscan_t yyscanner );
342044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
343044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yy_new_buffer yy_create_buffer
344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yy_set_interactive(is_interactive) \
346044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	{ \
347044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! YY_CURRENT_BUFFER ){ \
348044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yyensure_buffer_stack (yyscanner); \
349044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
350044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
351044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	} \
352044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
353044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
354044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
355044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yy_set_bol(at_bol) \
356044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	{ \
357044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! YY_CURRENT_BUFFER ){\
358044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yyensure_buffer_stack (yyscanner); \
359044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE =    \
360044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
361044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	} \
362044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
363044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
364044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
365044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
366044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
367044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Begin user sect3 */
368044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
36936be856c98e54ab651e4826fef65689ae4344632Jamie Madill#define yywrap(yyscanner) 1
370044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_SKIP_YYWRAP
371044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
372044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned char YY_CHAR;
373044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
374044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef int yy_state_type;
375044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
376044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yytext_ptr yytext_r
377044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
378044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic yy_state_type yy_get_previous_state (yyscan_t yyscanner );
379044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
380044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_get_next_buffer (yyscan_t yyscanner );
381044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
382044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
383044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Done after the current pattern has been matched and before the
384044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * corresponding action - sets up yytext.
385044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
386044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_DO_BEFORE_ACTION \
387044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yytext_ptr = yy_bp; \
388ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org	yyleng = (yy_size_t) (yy_cp - yy_bp); \
389044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_hold_char = *yy_cp; \
390044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	*yy_cp = '\0'; \
391044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_c_buf_p = yy_cp;
392044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YY_NUM_RULES 237
3942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YY_END_OF_BUFFER 238
395044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* This struct is not used in this scanner,
396044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org   but its presence is necessary. */
397044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstruct yy_trans_info
398044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	{
399044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	flex_int32_t yy_verify;
400044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	flex_int32_t yy_nxt;
401044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	};
4022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int16_t yy_accept[813] =
403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
4042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  238,  236,  235,  235,  222,  228,  233,  217,
4052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      218,  226,  225,  214,  223,  221,  227,  180,  180,  215,
4062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      211,  229,  216,  230,  234,  177,  219,  220,  232,  177,
4072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  212,
4092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      231,  213,  224,  208,  194,  213,  202,  197,  192,  200,
4102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      190,  201,  191,  186,  193,  185,  179,  180,    0,  183,
4112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  220,  212,  219,  209,  205,  207,  206,  210,  177,
4122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      198,  204,  177,  177,  177,  177,  177,  177,  177,  177,
4132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,   12,  177,  177,  177,  177,  177,
4142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,   15,  177,
4162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,   23,  177,  177,  177,  177,  177,  177,  177,  177,
4172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  199,  203,    0,  189,  185,
4202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  188,  182,    0,  184,  178,  195,  196,  177,  136,
4212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,   13,  177,  177,  177,  177,  177,  177,
4242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,   27,  177,  177,  177,  177,  177,
4252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,   24,  177,  177,  177,
4272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,    0,  186,    0,  185,  187,  181,  177,  177,  177,
4312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       30,  177,  177,   18,  174,  177,  177,  177,  177,  177,
4322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,   16,  139,  177,  177,  177,
4332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,   21,  177,  177,  143,  155,  177,  177,  177,  177,
4342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  152,    4,
4352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       35,   36,   37,  177,  177,  177,  177,  177,  177,  177,
4362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  142,   31,  177,
4392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,   28,  177,  177,  177,  177,  177,  177,  177,   47,
4402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       48,   49,   29,  177,  177,  177,  177,  177,  177,   10,
4412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       53,   54,   55,  177,  137,  177,  177,    7,  177,  177,
4422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  164,  165,  166,  177,   32,  177,  156,   26,
4432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      167,  168,  169,    2,  161,  162,  163,  177,  177,  177,
4442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       25,  159,  177,  177,  177,   50,   51,   52,  177,  177,
4452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,   86,
4462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  153,  177,  177,
4472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  138,
4492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  176,   56,   57,   58,  177,  177,   14,  177,
4502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       91,  177,  177,  177,  177,   89,  177,  177,  177,  154,
4512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      149,   92,  177,  177,  177,  177,  177,  177,  144,  177,
4522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,   78,   38,   41,   43,   42,   39,   45,   44,
4532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       46,   40,  177,  177,  177,  177,  160,  135,  177,  177,
4542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      147,  177,  177,  177,   34,   87,  173,   22,  148,   77,
4552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  158,   17,  177,  177,  177,  177,  177,  177,  177,
4562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,   19,   33,  177,
4572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,   93,   94,   95,  177,  177,
4582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,    3,  177,  177,  177,  177,  177,  177,
4602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  140,  177,  177,  177,  177,
4612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,    8,  177,  177,    9,  177,  177,  177,  177,   20,
4622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       79,   11,  150,   97,   98,   99,  177,  177,  177,  177,
4632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  145,  177,
4642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,   81,   83,   80,  177,  177,  177,  177,  177,
4652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  141,  101,  102,  103,  177,  177,  157,  177,
4662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      146,  177,  177,    6,  177,  177,  177,  177,  177,  177,
4672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,   96,  151,    1,  177,  177,  177,  177,
4682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  175,  177,   90,    5,  170,   59,   62,  177,  177,
4692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,   82,  177,  177,  177,  177,  100,  177,  177,  177,
4722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  120,   66,   67,  177,  177,  177,  177,  177,
4732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,   88,  177,
4742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  104,  122,   70,   71,  177,  177,   84,  177,
4752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  115,  177,  177,  177,
4762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  129,  177,  177,
4772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,   60,  177,  177,  177,  177,  177,  177,  177,
4782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  116,  105,  177,  106,  177,
4792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  130,  177,  177,   68,  177,  177,  177,  177,
4802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  117,
4822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  131,  177,  177,   72,  107,  108,  177,  111,
4832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  112,  177,  177,  177,  177,  177,   85,  177,  177,
4842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,   64,  177,   63,  126,  177,  177,  109,  110,
4852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
4862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      124,  127,  118,  177,   65,  177,  177,  177,  177,  177,
4872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  125,  128,  177,  177,  121,   69,  177,
4882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  171,  177,  177,  177,   74,  177,  177,  123,   73,
4892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  177,  177,  177,  132,  177,  177,  177,
4902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      177,  177,  177,  133,  177,  177,  177,   75,  177,  134,
4912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
4922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      113,  114,  177,  177,  177,   61,  177,  177,  172,  119,
4932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       76,    0
494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic yyconst flex_int32_t yy_ec[256] =
497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
499044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        2,    2,    2,    1,    1,    1,    1,    1,    1,    1,
500044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    2,    4,    1,    1,    1,    5,    6,    1,    7,
502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        8,    9,   10,   11,   12,   13,   14,   15,   16,   17,
503beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.com       18,   19,   20,   20,   20,   21,   21,   22,   23,   24,
5045524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com       25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
5055524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com       34,   34,   34,   34,   34,   34,   35,   34,   36,   34,
506c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org       34,   37,   38,   34,   39,   34,   34,   40,   34,   34,
507c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org       41,    1,   42,   43,   44,    1,   45,   46,   47,   48,
5085524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com
509c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org       49,   50,   51,   52,   53,   34,   54,   55,   56,   57,
510c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org       58,   59,   34,   60,   61,   62,   63,   64,   65,   66,
511c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org       67,   68,   69,   70,   71,   72,    1,    1,    1,    1,
512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
516044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
520044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
521044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1
526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
528c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgstatic yyconst flex_int32_t yy_meta[73] =
529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
5307eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
5317eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
5327eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        2,    1,    1,    1,    1,    1,    1,    3,    3,    3,
5337eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        3,    2,    2,    4,    4,    4,    4,    4,    4,    4,
5347eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        1,    1,    1,    4,    3,    3,    3,    3,    2,    2,
5357eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
5367eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill        4,    4,    4,    4,    4,    4,    4,    4,    1,    1,
537c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org        1,    1
538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
5402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int16_t yy_base[817] =
541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
5422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  941,  942,  942,  942,  915,   48,   69,  942,
5432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      942,  914,   66,  942,   65,   63,  913,   82,  136,  911,
5442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      942,   82,  911,   60,  942,    0,  942,  942,   67,   58,
5452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       51,   68,   75,   61,  105,  877,  114,   79,   67,   44,
5462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       89,  871,  101,  884,  121,  127,  136,  143,   36,  942,
5472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      112,  942,  942,  942,  942,  942,  942,  942,  942,  942,
5482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      942,  942,  942,  158,  942,  163,  163,    0,  199,  942,
5492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  942,  942,  942,  907,  942,  942,  942,  906,    0,
5502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      942,  942,  868,  873,   80,  870,  878,  877,  864,  867,
5512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      878,  171,  872,  860,  857,  870,  857,  854,  854,  860,
5522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
5532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       75,  176,  854,  864,  850,  856,  859,  860,    0,  852,
5542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      862,  177,  861,  856,  837,  105,  841,  854,  845,  112,
5552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      838,  178,  850,  852,  185,  841,  838,  827,  836,  177,
5562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      185,  840,  836,  838,  827,  830,  124,  145,  197,  839,
5572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      827,  839,  190,  832,  831,  942,  942,  239,  942,  220,
5582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      256,  942,  942,  263,  270,  185,  942,  942,  830,    0,
5592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      826,  821,  825,  834,  831,  243,  815,  815,  826,  818,
5602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      143,  828,  825,  825,  823,  820,  812,  818,  805,  803,
5612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      815,  801,  817,    0,  814,  802,  809,  806,  810,  811,
5622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      804,  801,  790,  789,  802,  805,  793,  801,  789,  795,
5632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
5642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      786,  244,  791,  794,  785,  792,  781,  785,  776,  790,
5652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      789,  780,  786,  235,  770,  773,  771,  781,  771,  766,
5662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      764,  766,  776,  762,  764,  761,  772,  771,  774,  756,
5672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      244,  764,  760,  758,  767,  746,  281,  764,  766,  755,
5682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      747,  291,  298,  306,  317,  942,  942,  744,  754,  753,
5692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  751,  311,    0,    0,  744,  742,  742,  743,  738,
5702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      746,  735,  752,  741,  322,    0,    0,  735,  745,  744,
5712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      744,    0,  729,  325,    0,    0,  731,  328,  738,  739,
5722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      730,  724,  723,  724,  723,  723,  334,  718,    0,    0,
5732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      714,  713,  712,  714,  715,  720,  714,  710,  723,  718,
5742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
5752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      718,  716,  715,  709,  703,  705,  704,  708,  700,  703,
5762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      698,  706,  711,  699,  696,  708,  699,    0,    0,  705,
5772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      701,    0,  693,  693,  698,  689,  696,  337,  693,    0,
5782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,    0,  683,  695,  694,  693,  694,  694,    0,
5792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,    0,  681,    0,  689,  680,    0,  679,  680,
5802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      674,  684,    0,    0,    0,  675,    0,  671,    0,    0,
5812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,    0,    0,    0,    0,    0,  681,  341,  680,
5822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  678,  674,  671,    0,    0,    0,  663,  343,
5832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      346,  355,  668,  664,  669,  660,  658,  671,  656,    0,
5842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      656,  669,  658,  654,  660,  655,  662,    0,  660,  657,
5852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
5862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      661,  645,  643,  646,  652,  658,  653,  652,  640,    0,
5872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      642,  643,    0,    0,    0,    0,  640,  643,    0,  637,
5882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  650,  630,  639,  634,    0,  627,  627,  640,    0,
5892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      642,    0,  359,  655,  654,  653,  620,  619,    0,  636,
5902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      635,  630,    0,    0,    0,    0,    0,    0,    0,    0,
5912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  619,  632,  619,  616,    0,    0,  621,  620,
5922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  617,  624,  623,    0,  609,    0,    0,    0,    0,
5932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      606,    0,    0,  605,  616,  362,  609,  615,  614,  611,
5942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      606,  603,  596,  596,  609,  594,  606,    0,    0,  599,
5952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      622,  621,  620,  587,  586,  355,  356,    0,  598,  601,
5962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
5972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      599,  588,  584,    0,  596,  593,  592,  582,  581,  571,
5982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      588,  574,  369,  582,  585,    0,  602,  601,  600,  567,
5992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      566,    0,  580,  567,    0,  577,  570,  571,  574,    0,
6002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,    0,  594,  593,    0,  570,  573,  558,  565,
6012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      556,  563,  564,  564,  563,  549,  379,  561,    0,  562,
6022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      551,  550,    0,    0,    0,  575,  574,  573,  540,  539,
6032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      535,  543,    0,  571,  570,    0,  547,  550,    0,  386,
6042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  528,  537,    0,  533,  532,  541,  541,  529,  543,
6052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      527,  541,  536,    0,    0,    0,  553,  552,  551,  518,
6062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      517,    0,  517,    0,    0,  362,  382,  541,  527,  530,
6072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      513,  525,  513,  512,  521,  521,  538,  537,  536,  503,
6092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      502,    0,  502,  503,  502,  512,    0,  515,  511,  513,
6102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      509,  496,  527,  377,    0,  504,  507,  499,  491,  498,
6112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      489,  510,  498,  494,  496,  494,  494,  493,    0,  481,
6122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      480,  490,    0,  510,  390,    0,  487,  490,    0,  490,
6132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      489,  473,  465,  473,  463,  471,    0,  468,  467,  488,
6142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      476,  474,  474,  458,  461,  475,  459,  490,  470,  471,
6152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      468,  465,  475,  452,  466,  465,  449,  448,  447,  468,
6162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      456,  454,  454,  435,  434,    0,  462,  434,  460,  432,
6172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      436,  435,  466,  446,  443,    0,  442,  445,  441,  443,
6182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      427,  424,  437,  422,  423,  430,  424,  413,  412,    0,
6202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      418,  417,  448,  428,  425,    0,    0,    0,  421,    0,
6212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      420,    0,  426,  425,  409,  406,  407,    0,  399,  407,
6222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      397,  403,  424,  403,    0,    0,  415,  414,    0,    0,
6232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      413,  412,  396,  393,  394,  408,  407,  384,  383,  389,
6242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  410,  382,  408,  400,  392,  378,   60,   89,
6252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      105,  143,  173,    0,    0,  216,  217,    0,    0,  222,
6262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      243,    0,  244,  234,  259,    0,  291,  330,    0,    0,
6272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      323,  311,  323,  315,  361,  362,    0,  363,  348,  389,
6282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      355,  358,  359,    0,  378,  380,  371,    0,  392,    0,
6292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,    0,  373,  374,  368,    0,  369,  370,    0,    0,
6312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        0,  942,  434,  437,  438,  439
632044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
6342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int16_t yy_def[817] =
635044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
6362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,    1,  812,  812,  812,  812,  812,  812,  812,  812,
6372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
6382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  813,  812,  812,  812,  813,
6392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  812,
6412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
6422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  814,  812,  815,   18,   19,  812,  812,
6432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      816,  812,  812,  812,  812,  812,  812,  812,  812,  813,
6442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  813,  813,  813,  813,  813,  813,  813,  813,
6452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  812,  812,  812,  812,  815,
6522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  816,  812,  812,  813,  813,
6532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  812,  812,  812,  812,  812,  812,  813,  813,  813,
6632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
6912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
6992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
7022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
7132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
7242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,  813,  813,  813,  813,  813,  813,  813,  813,  813,
7252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      813,    0,  812,  812,  812,  812
726044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
727044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
7282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int16_t yy_nxt[1015] =
729044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
730f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
731f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       14,   15,   16,   17,   18,   19,   19,   19,   19,   19,
732f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       19,   20,   21,   22,   23,   24,   25,   26,   26,   26,
733f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
734f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       27,   28,   29,   26,   30,   31,   32,   33,   34,   35,
735f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       36,   37,   38,   26,   39,   40,   41,   42,   43,   44,
736f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       45,   46,   47,   48,   49,   26,   26,   26,   50,   51,
737f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       52,   53,   55,   56,   57,   60,   62,   64,   64,   64,
738f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       64,   64,   64,   64,   78,   79,   73,  144,  117,   63,
739f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       61,   81,  118,   58,   66,  145,   67,   67,   67,   67,
740f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
741fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens       67,   67,   68,   74,   83,   75,   76,  777,   86,   82,
742f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       87,  115,   89,   69,   88,   97,   90,   98,   84,   85,
743f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       70,   71,   91,   93,  116,   92,   99,   94,  109,  180,
744f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       69,  110,   95,  119,  111,  112,  146,  161,   96,  113,
745fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      181,  162,  114,  778,   70,  122,  120,   71,   66,  100,
746f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       68,   68,   68,   68,   68,   68,   68,  101,  106,  102,
747f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      123,  200,  103,  124,  205,  126,  107,   69,  104,  201,
748fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      206,  779,  127,  128,   70,  133,  129,  108,  134,  229,
749f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      230,  147,  130,  131,   69,  132,  135,  141,  137,  148,
750f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      149,  142,  138,  136,  151,  152,  139,  231,   70,  140,
751f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
7522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      143,  153,  812,  260,  261,  232,  148,  149,  154,  780,
753f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      154,  151,  152,  155,  155,  155,  155,  155,  155,  155,
7542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      182,  220,  169,  247,  208,  153,  170,  171,  812,  213,
755fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      222,  192,  781,  183,  193,  194,  221,  209,  195,  210,
756f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      196,  233,  238,  223,  239,  214,  215,  247,  242,  234,
757f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      242,  151,  152,  243,  243,  243,  243,  243,  243,  243,
758fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      291,  292,  293,  782,  783,  244,  784,  244,  151,  152,
759f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      245,  245,  245,  245,  245,  245,  245,  155,  155,  155,
760f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
761fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      155,  254,  305,  323,  785,  786,  306,  330,  331,  332,
762f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
763fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      787,  324,  246,  788,  255,  243,  243,  243,  243,  243,
764f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      243,  243,  243,  243,  243,  243,  243,  243,  243,  246,
765f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      245,  245,  245,  245,  245,  245,  245,  341,  342,  343,
766f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      149,  245,  245,  245,  245,  245,  245,  245,  353,  354,
767fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      355,  361,  362,  363,  365,  366,  367,  149,  789,  152,
768f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      376,  377,  378,  414,  415,  416,  434,  435,  436,  444,
769fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      445,  446,  447,  448,  449,  790,  152,  791,  792,  437,
770f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      438,  450,  451,  452,  491,  492,  493,  517,  518,  519,
771fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      793,  794,  539,  541,  556,  557,  558,  494,  495,  629,
77228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens      520,  521,  540,  542,  587,  588,  589,  559,  560,  630,
77328043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens
774fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      561,  607,  608,  609,  659,  795,  796,  590,  591,  631,
775fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens      797,  660,  798,  661,  610,  611,  632,  679,  633,  634,
7762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      799,  800,  801,  802,  680,  803,  681,  804,  805,  806,
7772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      807,  808,  809,  810,  811,   80,   80,   80,   64,  150,
7782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      156,  156,  776,  775,  774,  773,  772,  771,  770,  769,
7792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      768,  767,  766,  765,  764,  763,  762,  761,  760,  759,
7802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      758,  757,  756,  755,  754,  753,  752,  751,  750,  749,
7812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      748,  747,  746,  745,  744,  743,  742,  741,  740,  739,
7822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      738,  737,  736,  735,  734,  733,  732,  731,  730,  729,
7832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      728,  727,  726,  725,  724,  723,  722,  721,  720,  719,
7842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
7852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      718,  717,  716,  715,  714,  713,  712,  711,  710,  709,
7862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      708,  707,  706,  705,  704,  703,  702,  701,  700,  699,
7872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      698,  697,  696,  695,  694,  693,  692,  691,  690,  689,
7882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      688,  687,  686,  685,  684,  683,  682,  678,  677,  676,
7892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      675,  674,  673,  672,  671,  670,  669,  668,  667,  666,
7902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      665,  664,  663,  662,  658,  657,  656,  655,  654,  653,
7912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      652,  651,  650,  649,  648,  647,  646,  645,  644,  643,
7922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      642,  641,  640,  639,  638,  637,  636,  635,  628,  627,
7932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      626,  625,  624,  623,  622,  621,  620,  619,  618,  617,
7942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      616,  615,  614,  613,  612,  606,  605,  604,  603,  602,
7952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
7962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      601,  600,  599,  598,  597,  596,  595,  594,  593,  592,
7972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      586,  585,  584,  583,  582,  581,  580,  579,  578,  577,
7982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      576,  575,  574,  573,  572,  571,  570,  569,  568,  567,
7992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      566,  565,  564,  563,  562,  555,  554,  553,  552,  551,
8002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      550,  549,  548,  547,  546,  545,  544,  543,  538,  537,
8012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      536,  535,  534,  533,  532,  531,  530,  529,  528,  527,
8022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      526,  525,  524,  523,  522,  516,  515,  514,  513,  512,
8032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      511,  510,  509,  508,  507,  506,  505,  504,  503,  502,
8042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      501,  500,  499,  498,  497,  496,  490,  489,  488,  487,
8052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      486,  485,  484,  483,  482,  481,  480,  479,  478,  477,
8062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
8072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      476,  475,  474,  473,  472,  471,  470,  469,  468,  467,
8082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      466,  465,  464,  463,  462,  461,  460,  459,  458,  457,
8092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      456,  455,  454,  453,  443,  442,  441,  440,  439,  433,
8102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      432,  431,  430,  429,  428,  427,  426,  425,  424,  423,
8112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      422,  421,  420,  419,  418,  417,  413,  412,  411,  410,
8122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      409,  408,  407,  406,  405,  404,  403,  402,  401,  400,
8132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      399,  398,  397,  396,  395,  394,  393,  392,  391,  390,
8142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      389,  388,  387,  386,  385,  384,  383,  382,  381,  380,
8152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      379,  375,  374,  373,  372,  371,  370,  369,  368,  364,
8162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      360,  359,  358,  357,  356,  352,  351,  350,  349,  348,
8172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
8182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      347,  346,  345,  344,  340,  339,  338,  337,  336,  335,
8192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      334,  333,  329,  328,  327,  326,  325,  322,  321,  320,
8202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      319,  318,  317,  316,  315,  314,  313,  312,  311,  310,
8212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      309,  308,  307,  304,  303,  302,  301,  300,  299,  298,
8222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      297,  296,  295,  294,  290,  289,  288,  287,  286,  285,
8232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      284,  283,  282,  281,  280,  279,  278,  277,  276,  275,
8242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      274,  273,  272,  271,  270,  269,  268,  267,  266,  265,
8252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      264,  263,  262,  259,  258,  257,  256,  253,  252,  251,
8262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      250,  249,  248,  241,  240,  237,  236,  235,  228,  227,
8272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      226,  225,  224,  219,  218,  217,  216,  212,  211,  207,
8282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
8292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      204,  203,  202,  199,  198,  197,  191,  190,  189,  188,
8302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      187,  186,  185,  184,  179,  178,  177,  176,  175,  174,
8312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      173,  172,  168,  167,  166,  165,  164,  163,  160,  159,
8322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      158,  157,  125,  121,  105,   77,   72,   65,   59,   54,
8332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,    3,  812,  812,  812,  812,  812,  812,  812,  812,
8342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
8402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
8412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812
842044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
843044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
8442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int16_t yy_chk[1015] =
845044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
847044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
849044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
850044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
851044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
8525524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
853f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill        1,    1,    8,    8,    9,   13,   15,   16,   16,   16,
854f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       16,   16,   16,   16,   24,   24,   22,   49,   40,   15,
855f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       13,   29,   40,    9,   18,   49,   18,   18,   18,   18,
856f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
8572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       18,   18,   18,   22,   30,   22,   22,  759,   31,   29,
858f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       31,   39,   32,   18,   31,   34,   32,   34,   30,   30,
859f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       18,   18,   32,   33,   39,   32,   34,   33,   38,  101,
860f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       18,   38,   33,   41,   38,   38,   51,   85,   33,   38,
8612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      101,   85,   38,  760,   18,   43,   41,   18,   19,   35,
862f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       19,   19,   19,   19,   19,   19,   19,   35,   37,   35,
863f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       43,  116,   35,   43,  120,   45,   37,   19,   35,  116,
8642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      120,  761,   45,   45,   19,   46,   45,   37,   46,  137,
865f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      137,   51,   45,   45,   19,   45,   46,   48,   47,   64,
866f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       64,   48,   47,   46,   66,   66,   47,  138,   19,   47,
867f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
8682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       48,   67,   67,  171,  171,  138,   64,   64,   69,  762,
869f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill       69,   66,   66,   69,   69,   69,   69,   69,   69,   69,
870f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      102,  130,   92,  156,  122,   67,   92,   92,   67,  125,
8712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      131,  112,  763,  102,  112,  112,  130,  122,  112,  122,
872f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      112,  139,  143,  131,  143,  125,  125,  156,  148,  139,
873f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      148,  150,  150,  148,  148,  148,  148,  148,  148,  148,
8742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      202,  202,  202,  766,  767,  151,  770,  151,  150,  150,
875f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      151,  151,  151,  151,  151,  151,  151,  154,  154,  154,
876f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      154,  154,  154,  154,  155,  155,  155,  155,  155,  155,
8772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      155,  166,  214,  231,  771,  773,  214,  237,  237,  237,
878f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill
8792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      774,  231,  155,  775,  166,  242,  242,  242,  242,  242,
880f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      242,  242,  243,  243,  243,  243,  243,  243,  243,  155,
881f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      244,  244,  244,  244,  244,  244,  244,  253,  253,  253,
882f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      243,  245,  245,  245,  245,  245,  245,  245,  265,  265,
8832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      265,  274,  274,  274,  278,  278,  278,  243,  777,  245,
884f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      287,  287,  287,  328,  328,  328,  369,  369,  369,  380,
8852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      380,  380,  381,  381,  381,  778,  245,  781,  782,  369,
886f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill      369,  382,  382,  382,  433,  433,  433,  476,  476,  476,
8872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      783,  784,  496,  497,  513,  513,  513,  433,  433,  596,
88828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens      476,  476,  496,  497,  547,  547,  547,  513,  513,  596,
88928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens
8902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      513,  570,  570,  570,  624,  785,  786,  547,  547,  597,
8912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      788,  624,  789,  624,  570,  570,  597,  645,  597,  597,
8922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      790,  791,  792,  793,  645,  795,  645,  796,  797,  799,
8932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      803,  804,  805,  807,  808,  813,  813,  813,  814,  815,
8942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      816,  816,  758,  757,  756,  755,  754,  753,  750,  749,
8952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      748,  747,  746,  745,  744,  743,  742,  741,  738,  737,
8962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      734,  733,  732,  731,  730,  729,  727,  726,  725,  724,
8972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      723,  721,  719,  715,  714,  713,  712,  711,  709,  708,
8982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      707,  706,  705,  704,  703,  702,  701,  700,  699,  698,
8992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      697,  695,  694,  693,  692,  691,  690,  689,  688,  687,
9002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      685,  684,  683,  682,  681,  680,  679,  678,  677,  676,
9022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      675,  674,  673,  672,  671,  670,  669,  668,  667,  666,
9032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      665,  664,  663,  662,  661,  660,  659,  658,  656,  655,
9042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      654,  653,  652,  651,  650,  648,  647,  644,  642,  641,
9052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      640,  638,  637,  636,  635,  634,  633,  632,  631,  630,
9062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      629,  628,  627,  626,  623,  622,  621,  620,  619,  618,
9072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      616,  615,  614,  613,  611,  610,  609,  608,  607,  606,
9082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      605,  604,  603,  602,  601,  600,  599,  598,  593,  591,
9092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      590,  589,  588,  587,  583,  582,  581,  580,  579,  578,
9102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      577,  576,  575,  573,  572,  568,  567,  565,  564,  562,
9112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      561,  560,  559,  558,  557,  556,  552,  551,  550,  548,
9132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      546,  545,  544,  543,  542,  541,  540,  539,  538,  537,
9142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      535,  534,  529,  528,  527,  526,  524,  523,  521,  520,
9152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      519,  518,  517,  515,  514,  512,  511,  510,  509,  508,
9162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      507,  506,  505,  503,  502,  501,  500,  499,  495,  494,
9172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      493,  492,  491,  490,  487,  486,  485,  484,  483,  482,
9182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      481,  480,  479,  478,  477,  475,  474,  471,  466,  464,
9192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      463,  462,  460,  459,  456,  455,  454,  453,  442,  441,
9202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      440,  438,  437,  436,  435,  434,  431,  429,  428,  427,
9212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      425,  424,  423,  422,  420,  418,  417,  412,  411,  409,
9222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      408,  407,  406,  405,  404,  403,  402,  401,  400,  399,
9242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      397,  396,  395,  394,  393,  392,  391,  389,  388,  387,
9252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      386,  385,  384,  383,  379,  375,  374,  373,  370,  368,
9262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      358,  356,  352,  351,  350,  349,  347,  346,  344,  339,
9272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      338,  337,  336,  335,  334,  329,  327,  326,  325,  324,
9282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      323,  321,  320,  317,  316,  315,  314,  313,  312,  311,
9292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      310,  309,  308,  307,  306,  305,  304,  303,  302,  301,
9302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      300,  299,  298,  297,  296,  295,  294,  293,  292,  291,
9312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      288,  286,  285,  284,  283,  282,  281,  280,  279,  277,
9322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      273,  271,  270,  269,  268,  264,  263,  262,  261,  260,
9332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      259,  258,  257,  256,  252,  250,  249,  248,  241,  240,
9352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      239,  238,  236,  235,  234,  233,  232,  230,  229,  228,
9362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      227,  226,  225,  224,  223,  222,  221,  220,  219,  218,
9372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      217,  216,  215,  213,  212,  211,  210,  209,  208,  207,
9382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      206,  205,  204,  203,  201,  200,  199,  198,  197,  196,
9392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      195,  194,  193,  192,  191,  190,  189,  188,  187,  186,
9402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      185,  183,  182,  181,  180,  179,  178,  177,  176,  175,
9412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      174,  173,  172,  170,  169,  168,  167,  165,  164,  163,
9422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      162,  161,  159,  145,  144,  142,  141,  140,  136,  135,
9432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      134,  133,  132,  129,  128,  127,  126,  124,  123,  121,
9442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      119,  118,  117,  115,  114,  113,  111,  110,  108,  107,
9462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      106,  105,  104,  103,  100,   99,   98,   97,   96,   95,
9472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       94,   93,   91,   90,   89,   88,   87,   86,   84,   83,
9482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens       79,   75,   44,   42,   36,   23,   20,   17,   12,    7,
9492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens        3,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens
9562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
9572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens      812,  812,  812,  812
958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    } ;
959044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Table of booleans, true if rule could match eol. */
9612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capensstatic yyconst flex_int32_t yy_rule_can_match_eol[238] =
962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {   0,
9637eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
966044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9705524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9715524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9725524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9739bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The intent behind this definition is that it'll catch
977044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * any uses of REJECT which flex missed.
978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
979044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define REJECT reject_used_but_not_detected
980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yymore() yymore_used_but_not_detected
981044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_MORE_ADJ 0
982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_RESTORE_YY_MORE_OFFSET
983044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*
984044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org//
9855524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
986044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org// Use of this source code is governed by a BSD-style license that can be
987044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org// found in the LICENSE file.
988044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org//
989044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
990044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgThis file contains the Lex specification for GLSL ES.
991044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgBased on ANSI C grammar, Lex specification:
992044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orghttp://www.lysator.liu.se/c/ANSI-C-grammar-l.html
993044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
99475fe6b76d27174fd42ae4235df11a009bb3ed36dalokp@chromium.orgIF YOU MODIFY THIS FILE YOU ALSO NEED TO RUN generate_parser.sh,
995044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgWHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
996044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org*/
997044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
99817732823f9c21bdba9cc51ffaceb545ce3857a8cGeoff Lang#include "compiler/translator/glslang.h"
9996b9cb25980022d0c792d858bc6f6500c00a6c29dJamie Madill#include "compiler/translator/ParseContext.h"
1000b401a92b48599a64cbb44e463aef1b2976b3fbf8daniel@transgaming.com#include "compiler/preprocessor/Token.h"
100117732823f9c21bdba9cc51ffaceb545ce3857a8cGeoff Lang#include "compiler/translator/util.h"
10029f45240c3004ade5fa9ddd7d696d69bcbf77b4b1Jamie Madill#include "compiler/translator/length_limits.h"
1003044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#include "glslang_tab.h"
1004044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1005044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* windows only pragma */
1006044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef _MSC_VER
1007044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#pragma warning(disable : 4102)
1008044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1009044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1010075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YY_USER_ACTION                                 \
1011075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yylloc->first_file = yylloc->last_file = yycolumn; \
1012075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yylloc->first_line = yylloc->last_line = yylineno;
1013075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1014044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_INPUT(buf, result, max_size) \
1015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    result = string_input(buf, max_size, yyscanner);
1016044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1017d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.comstatic yy_size_t string_input(char* buf, yy_size_t max_size, yyscan_t yyscanner);
1018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int check_type(yyscan_t yyscanner);
1019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int reserved_word(yyscan_t yyscanner);
102035f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.orgstatic int ES2_reserved_ES3_keyword(TParseContext *context, int token);
102135f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.orgstatic int ES2_keyword_ES3_reserved(TParseContext *context, int token);
102216242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.orgstatic int ES2_ident_ES3_keyword(TParseContext *context, int token);
1023c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgstatic int uint_constant(TParseContext *context);
1024f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mostatic int int_constant(yyscan_t yyscanner);
1025f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mostatic int float_constant(yyscan_t yyscanner);
10264d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.orgstatic int floatsuffix_check(TParseContext* context);
1027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1028044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define INITIAL 0
1029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_EXTRA_TYPE TParseContext*
1031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Holds the entire state of the reentrant scanner. */
1033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstruct yyguts_t
1034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    {
1035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* User-defined. Not touched by flex. */
1037044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    YY_EXTRA_TYPE yyextra_r;
1038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1039044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    FILE *yyin_r, *yyout_r;
1041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    size_t yy_buffer_stack_top; /**< index of top of stack. */
1042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    size_t yy_buffer_stack_max; /**< capacity of stack. */
1043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    char yy_hold_char;
1045ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org    yy_size_t yy_n_chars;
1046ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org    yy_size_t yyleng_r;
1047044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    char *yy_c_buf_p;
1048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_init;
1049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_start;
1050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_did_buffer_switch_on_eof;
1051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_start_stack_ptr;
1052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_start_stack_depth;
1053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int *yy_start_stack;
1054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yy_state_type yy_last_accepting_state;
1055044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    char* yy_last_accepting_cpos;
1056044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yylineno_r;
1058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_flex_debug_r;
1059044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    char *yytext_r;
1061044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_more_flag;
1062044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int yy_more_len;
1063044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1064044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    YYSTYPE * yylval_r;
1065044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1066075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    YYLTYPE * yylloc_r;
1067075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }; /* end struct yyguts_t */
1069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1070044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner );
1071044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1072044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* This must go here because YYSTYPE and YYLTYPE are included
1073044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * from bison output in section 1.*/
1074044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    #    define yylval yyg->yylval_r
1075044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1076075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    #    define yylloc yyg->yylloc_r
1077075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1078044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_init (yyscan_t* scanner);
1079044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1080044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
1081044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1082044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Accessor methods to globals.
1083044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org   These are made visible to non-reentrant scanners for convenience. */
1084044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1085044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_destroy (yyscan_t yyscanner );
1086044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1087044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yyget_debug (yyscan_t yyscanner );
1088044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1089044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_debug (int debug_flag ,yyscan_t yyscanner );
1090044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner );
1092044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1093044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1094044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1095044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgFILE *yyget_in (yyscan_t yyscanner );
1096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1097044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_in  (FILE * in_str ,yyscan_t yyscanner );
1098044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1099044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgFILE *yyget_out (yyscan_t yyscanner );
1100044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_out  (FILE * out_str ,yyscan_t yyscanner );
1102044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1103ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgyy_size_t yyget_leng (yyscan_t yyscanner );
1104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgchar *yyget_text (yyscan_t yyscanner );
1106044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yyget_lineno (yyscan_t yyscanner );
1108044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_lineno (int line_number ,yyscan_t yyscanner );
1110044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
111136be856c98e54ab651e4826fef65689ae4344632Jamie Madillint yyget_column  (yyscan_t yyscanner );
111236be856c98e54ab651e4826fef65689ae4344632Jamie Madill
111336be856c98e54ab651e4826fef65689ae4344632Jamie Madillvoid yyset_column (int column_no ,yyscan_t yyscanner );
111436be856c98e54ab651e4826fef65689ae4344632Jamie Madill
1115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYYSTYPE * yyget_lval (yyscan_t yyscanner );
1116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1117044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
1118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1119075edd84dd682b91279132317d34b09e8028ae6fJamie Madill       YYLTYPE *yyget_lloc (yyscan_t yyscanner );
1120075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1121075edd84dd682b91279132317d34b09e8028ae6fJamie Madill        void yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
1122075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Macros after this point can all be overridden by user definitions in
1124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * section 1.
1125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1127044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_SKIP_YYWRAP
1128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef __cplusplus
1129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgextern "C" int yywrap (yyscan_t yyscanner );
1130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
1131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgextern int yywrap (yyscan_t yyscanner );
1132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1133044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef yytext_ptr
1136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YY_NEED_STRLEN
1140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_NO_INPUT
1144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef __cplusplus
1146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yyinput (yyscan_t yyscanner );
1147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
1148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int input (yyscan_t yyscanner );
1149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1151044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1153044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Amount of stuff to slurp up with each read. */
1154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_READ_BUF_SIZE
1155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_READ_BUF_SIZE 8192
1156044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Copy whatever the last rule matched to the standard output. */
1159044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef ECHO
1160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* This used to be an fputs(), but since the string might contain NUL's,
1161044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * we now use fwrite().
1162044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1163f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1165044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1167044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * is returned in "result".
1168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_INPUT
1170044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_INPUT(buf,result,max_size) \
1171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1172044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{ \
1173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		int c = '*'; \
1174f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill		size_t n; \
1175044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		for ( n = 0; n < max_size && \
1176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1177044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			buf[n] = (char) c; \
1178044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( c == '\n' ) \
1179044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			buf[n++] = (char) c; \
1180044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( c == EOF && ferror( yyin ) ) \
1181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		result = n; \
1183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		} \
1184044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	else \
1185044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{ \
1186044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		errno=0; \
1187044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1188044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{ \
1189044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			if( errno != EINTR) \
1190044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{ \
1191044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				YY_FATAL_ERROR( "input in flex scanner failed" ); \
1192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				break; \
1193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				} \
1194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			errno=0; \
1195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			clearerr(yyin); \
1196044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			} \
1197044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}\
1198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org\
1199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* No semi-colon after return; correct usage is to write "yyterminate();" -
1203044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * we don't want an extra ';' after the "return" because that will cause
1204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * some compilers to complain about unreachable statements.
1205044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef yyterminate
1207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyterminate() return YY_NULL
1208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1210044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Number of entries by which start-condition stack grows. */
1211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_START_STACK_INCR
1212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_START_STACK_INCR 25
1213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Report a fatal error. */
1216044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_FATAL_ERROR
1217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1219044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* end tables serialization structures and prototypes */
1221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Default declaration of generated scanner - a define so the user can
1223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * easily add parameters.
1224044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_DECL
1226044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_DECL_IS_OURS 1
1227044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1228044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgextern int yylex \
1229075edd84dd682b91279132317d34b09e8028ae6fJamie Madill               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
1230044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1231044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_DECL int yylex \
1232075edd84dd682b91279132317d34b09e8028ae6fJamie Madill               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
1233044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* !YY_DECL */
1234044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Code executed at the beginning of each rule, after yytext and yyleng
1236044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * have been set up.
1237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_USER_ACTION
1239044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_USER_ACTION
1240044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1241044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1242044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Code executed at the end of each rule. */
1243044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_BREAK
1244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_BREAK break;
1245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1247044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_RULE_SETUP \
1248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_USER_ACTION
1249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1250044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** The main scanner function which does all the work.
1251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
1252044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_DECL
1253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
1254044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register yy_state_type yy_current_state;
1255044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register char *yy_cp, *yy_bp;
1256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register int yy_act;
1257044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1258044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1259044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    TParseContext* context = yyextra;
1260044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1261044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yylval = yylval_param;
1262044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1263075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yylloc = yylloc_param;
1264075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
1265044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( !yyg->yy_init )
1266044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
1267044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_init = 1;
1268044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1269044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YY_USER_INIT
1270044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_USER_INIT;
1271044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
1272044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1273044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! yyg->yy_start )
1274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_start = 1;	/* first start state */
1275044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1276044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! yyin )
1277044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyin = stdin;
1278044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1279044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! yyout )
1280044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyout = stdout;
1281044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1282044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! YY_CURRENT_BUFFER ) {
1283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyensure_buffer_stack (yyscanner);
1284044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_CURRENT_BUFFER_LVALUE =
1285044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
1287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1288044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_load_buffer_state(yyscanner );
1289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
1290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1291044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	while ( 1 )		/* loops until end-of-file is reached */
1292044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
1293044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_cp = yyg->yy_c_buf_p;
1294044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1295044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Support of yytext. */
1296044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yy_cp = yyg->yy_hold_char;
1297044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1298044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* yy_bp points to the position in yy_ch_buf of the start of
1299044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * the current run.
1300044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 */
1301044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_bp = yy_cp;
1302044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1303044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_current_state = yyg->yy_start;
1304044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyy_match:
1305044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		do
1306044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
1307044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1308044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			if ( yy_accept[yy_current_state] )
1309044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
1310044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yyg->yy_last_accepting_state = yy_current_state;
1311044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yyg->yy_last_accepting_cpos = yy_cp;
1312044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
1313044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1314044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
1315044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_current_state = (int) yy_def[yy_current_state];
13162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens				if ( yy_current_state >= 813 )
1317044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yy_c = yy_meta[(unsigned int) yy_c];
1318044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
1319044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1320044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			++yy_cp;
1321044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
13222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens		while ( yy_current_state != 812 );
1323044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_cp = yyg->yy_last_accepting_cpos;
1324044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_current_state = yyg->yy_last_accepting_state;
1325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1326044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyy_find_action:
1327044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_act = yy_accept[yy_current_state];
1328044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1329044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_DO_BEFORE_ACTION;
1330044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1331044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1332044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
1333ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org			yy_size_t yyl;
1334044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			for ( yyl = 0; yyl < yyleng; ++yyl )
1335044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				if ( yytext[yyl] == '\n' )
1336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1337044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    do{ yylineno++;
1338044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yycolumn=0;
1339044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }while(0)
1340044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org;
1341044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
1342044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1343044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgdo_action:	/* This label is used only to access EOF actions. */
1344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		switch ( yy_act )
1346044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	{ /* beginning of action switch */
1347044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			case 0: /* must back up */
1348044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* undo the effects of YY_DO_BEFORE_ACTION */
1349044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			*yy_cp = yyg->yy_hold_char;
1350044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_cp = yyg->yy_last_accepting_cpos;
1351044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_current_state = yyg->yy_last_accepting_state;
1352044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			goto yy_find_action;
1353044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
1354044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 1:
1355044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13567eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return INVARIANT; }
1357044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1358044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 2:
1359044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13607eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return HIGH_PRECISION; }
1361044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1362044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 3:
13637eeb9b66f6475818562e7a53ba9769912dcb6679Jamie MadillYY_RULE_SETUP
13647eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return MEDIUM_PRECISION; }
13657eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill	YY_BREAK
1366044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 4:
1367044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13687eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return LOW_PRECISION; }
1369044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1370044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 5:
1371044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13727eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return PRECISION; }
1373044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1374044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 6:
1375044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13767eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_keyword_ES3_reserved(context, ATTRIBUTE); }
1377044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1378044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 7:
1379044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13807eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return CONST_QUAL; }
1381044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1382044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 8:
1383044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13847eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return UNIFORM; }
1385044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1386044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 9:
1387044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13887eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_keyword_ES3_reserved(context, VARYING); }
1389044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1390044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 10:
1391044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13927eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return BREAK; }
1393044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1394044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 11:
1395044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
13967eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return CONTINUE; }
1397044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1398044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 12:
1399044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14007eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return DO; }
1401044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1402044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 13:
1403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14047eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return FOR; }
1405044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1406044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 14:
1407044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14087eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return WHILE; }
1409044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1410044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 15:
1411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14127eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return IF; }
1413044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 16:
1415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14167eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ELSE; }
1417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1418044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 17:
1419044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14207eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_reserved_ES3_keyword(context, SWITCH); }
1421044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 18:
1423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14245c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill{ return ES2_ident_ES3_keyword(context, CASE); }
1425044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1426044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 19:
1427044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14287eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_reserved_ES3_keyword(context, DEFAULT); }
1429044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1430044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 20:
1431044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14325c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill{ return ES2_ident_ES3_keyword(context, CENTROID); }
1433044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1434044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 21:
1435044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14367eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_reserved_ES3_keyword(context, FLAT); }
1437044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1438044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 22:
1439044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14405c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill{ return ES2_ident_ES3_keyword(context, SMOOTH); }
1441044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1442044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 23:
1443044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14447eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return IN_QUAL; }
1445044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1446044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 24:
1447044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14487eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return OUT_QUAL; }
1449044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1450044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 25:
1451044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14527eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return INOUT_QUAL; }
1453044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1454044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 26:
1455044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
145678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return FLOAT_TYPE; }
1457044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1458044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 27:
1459044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
146078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return INT_TYPE; }
1461044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1462044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 28:
1463044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14647eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, UINT_TYPE); }
1465044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1466044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 29:
1467044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
146878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return VOID_TYPE; }
1469044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 30:
1471044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
147278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return BOOL_TYPE; }
1473044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 31:
1475044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14767eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ yylval->lex.b = true;  return BOOLCONSTANT; }
1477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1478044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 32:
1479044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14807eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ yylval->lex.b = false; return BOOLCONSTANT; }
1481044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1482044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 33:
1483044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14847eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return DISCARD; }
1485044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1486044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 34:
1487044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
14887eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return RETURN; }
1489044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1490044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 35:
1491044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
149278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return MATRIX2; }
1493044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 36:
1495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
149678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return MATRIX3; }
1497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 37:
1499044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
150078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return MATRIX4; }
1501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 38:
1503044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15047eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX2); }
1505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1506044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 39:
1507044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15087eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX3); }
1509044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1510044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 40:
1511044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15127eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX4); }
1513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 41:
1515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15167eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX2x3); }
1517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 42:
1519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15207eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX3x2); }
1521044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 43:
1523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15247eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX2x4); }
1525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 44:
1527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15287eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX4x2); }
1529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 45:
1531044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15327eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX3x4); }
1533044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1534044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 46:
1535044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15367eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, MATRIX4x3); }
1537044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 47:
1539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
154078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return VEC2; }
1541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1542044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 48:
1543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
154478eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return VEC3; }
1545044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 49:
1547044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
154878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return VEC4; }
1549044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1550044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 50:
1551044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
155278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return IVEC2; }
1553044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1554044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 51:
1555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
155678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return IVEC3; }
1557044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1558044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 52:
1559044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
156078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return IVEC4; }
1561044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1562044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 53:
1563044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
156478eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return BVEC2; }
1565044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1566044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 54:
1567044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
156878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return BVEC3; }
1569044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1570044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 55:
1571044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
157278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return BVEC4; }
1573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1574044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 56:
1575044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15767eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, UVEC2); }
1577044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1578044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 57:
1579044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15807eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, UVEC3); }
1581044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1582044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 58:
1583044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
15847eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_ident_ES3_keyword(context, UVEC4); }
1585044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
1586044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 59:
15879bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
158878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return SAMPLER2D; }
15899bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 60:
15919bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
159278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return SAMPLERCUBE; }
15939bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1594044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 61:
15959bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
159678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return SAMPLER_EXTERNAL_OES; }
15979bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1598044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 62:
15999bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16007eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_reserved_ES3_keyword(context, SAMPLER3D); }
16019bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1602044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 63:
16039bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16047eeb9b66f6475818562e7a53ba9769912dcb6679Jamie Madill{ return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
16059bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1606044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 64:
16079bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return SAMPLER2DRECT; }
16099bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1610044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 65:
16119bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, SAMPLER2DARRAY); }
16139bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1614044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 66:
16159bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, ISAMPLER2D); }
16179bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org	YY_BREAK
1618044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 67:
16199bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgYY_RULE_SETUP
16202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, ISAMPLER3D); }
16216b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org	YY_BREAK
16226b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.orgcase 68:
1623d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas CapensYY_RULE_SETUP
16242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, ISAMPLERCUBE); }
1625d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens	YY_BREAK
1626044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 69:
1627d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas CapensYY_RULE_SETUP
16282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, ISAMPLER2DARRAY); }
1629d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens	YY_BREAK
1630044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 70:
16319e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas CapensYY_RULE_SETUP
16322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, USAMPLER2D); }
16339e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens	YY_BREAK
1634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 71:
16359e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas CapensYY_RULE_SETUP
16362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, USAMPLER3D); }
16379e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens	YY_BREAK
1638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 72:
163928043ba73df094e40577a882d91c2ff1c26295b3Nicolas CapensYY_RULE_SETUP
16402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, USAMPLERCUBE); }
164128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens	YY_BREAK
1642044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 73:
164328043ba73df094e40577a882d91c2ff1c26295b3Nicolas CapensYY_RULE_SETUP
16442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, USAMPLER2DARRAY); }
164528043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens	YY_BREAK
1646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 74:
1647fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas CapensYY_RULE_SETUP
16485c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill{ return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
1649fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens	YY_BREAK
1650044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 75:
1651fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas CapensYY_RULE_SETUP
16522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, SAMPLERCUBESHADOW); }
1653fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens	YY_BREAK
1654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 76:
1655fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas CapensYY_RULE_SETUP
16562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, SAMPLER2DARRAYSHADOW); }
1657fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens	YY_BREAK
1658044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 77:
16592a1d8a381d29b906cb143c5834466d66ee032682Nicolas CapensYY_RULE_SETUP
16602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return STRUCT; }
16612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens	YY_BREAK
1662044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 78:
16632a1d8a381d29b906cb143c5834466d66ee032682Nicolas CapensYY_RULE_SETUP
16642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens{ return ES2_ident_ES3_keyword(context, LAYOUT); }
16652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens	YY_BREAK
16662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens/* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
1667044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 79:
1668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 80:
1669044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 81:
1670044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 82:
1671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 83:
1672044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 84:
1673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 85:
1674044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 86:
1675044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 87:
1676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase 88:
167709c323a40ad0de489eee946bfe171d337616e09czmo@google.comcase 89:
1678205fef3389c81637f689585431273cf83af02e94kbr@chromium.orgcase 90:
1679beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 91:
1680beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 92:
1681beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 93:
1682beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 94:
1683beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 95:
1684beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comcase 96:
16855524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 97:
16865524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 98:
16875524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 99:
16885524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 100:
16895524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 101:
16905524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 102:
16915524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 103:
16925524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 104:
16935524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 105:
16945524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 106:
16955524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 107:
16965524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 108:
16975524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 109:
16985524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 110:
16995524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 111:
17005524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 112:
17015524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 113:
17025524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 114:
17039bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 115:
17049bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 116:
17059bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 117:
17069bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 118:
17079bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 119:
17089bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 120:
17099bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 121:
17109bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 122:
17119bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 123:
1712d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capenscase 124:
1713d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capenscase 125:
17149e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capenscase 126:
17159e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capenscase 127:
171628043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capenscase 128:
171728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capenscase 129:
1718fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 130:
1719fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 131:
1720fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 132:
17212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 133:
17222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 134:
1723beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comYY_RULE_SETUP
17245524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com{
17255524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com    if (context->shaderVersion < 300) {
17265524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com		yylval->lex.string = NewPoolTString(yytext);
17275524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com	    return check_type(yyscanner);
17285524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com	}
17295524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com	return reserved_word(yyscanner);
17305524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com}
1731beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.com	YY_BREAK
1732302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org/* Reserved keywords in GLSL ES 1.00 that are not reserved in GLSL ES 3.00 */
17332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 135:
1734302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.orgYY_RULE_SETUP
1735302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org{
1736302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org    if (context->shaderVersion >= 300)
1737302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org    {
1738302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org        yylval->lex.string = NewPoolTString(yytext);
1739302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org        return check_type(yyscanner);
1740302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org    }
1741302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org
1742302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org    return reserved_word(yyscanner);
1743302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org}
1744302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org	YY_BREAK
1745302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org/* Reserved keywords */
17465524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 136:
17475524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 137:
17485524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 138:
17495524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 139:
17505524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 140:
17515524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 141:
17525524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 142:
17535524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 143:
17545524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 144:
17555524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 145:
17565524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 146:
17575524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 147:
17585524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 148:
17595524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 149:
17605524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 150:
17615524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 151:
17625524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 152:
17635524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 153:
17645524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 154:
17655524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 155:
17665524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.comcase 156:
17679bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 157:
17689bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 158:
17699bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 159:
17709bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 160:
17719bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 161:
17729bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 162:
17739bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 163:
17749bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 164:
17759bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.orgcase 165:
1776d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capenscase 166:
1777d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capenscase 167:
17789e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capenscase 168:
17799e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capenscase 169:
178028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capenscase 170:
178128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capenscase 171:
1782fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 172:
1783fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 173:
1784fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capenscase 174:
17852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 175:
17862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 176:
1787beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comYY_RULE_SETUP
1788beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.com{ return reserved_word(yyscanner); }
1789beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.com	YY_BREAK
17902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 177:
1791beadd5d20a789ca599d018a346d8af8402f237ffdaniel@transgaming.comYY_RULE_SETUP
1792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
1793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org   yylval->lex.string = NewPoolTString(yytext);
1794044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org   return check_type(yyscanner);
1795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
1796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
17972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 178:
1798044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1799f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return int_constant(yyscanner); }
1800044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 179:
1802044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1803f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return int_constant(yyscanner); }
1804044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 180:
1806044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1807f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return int_constant(yyscanner); }
1808044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 181:
1810044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1811c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org{ return uint_constant(context); }
1812044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 182:
1814044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1815c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org{ return uint_constant(context); }
1816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 183:
1818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1819302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org{ return uint_constant(context); }
1820044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 184:
1822044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1823f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return float_constant(yyscanner); }
1824044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 185:
1826044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1827f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return float_constant(yyscanner); }
1828044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 186:
1830044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1831f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo{ return float_constant(yyscanner); }
1832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 187:
1834044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
18354d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org{ return floatsuffix_check(context); }
1836044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 188:
1838044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
18394d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org{ return floatsuffix_check(context); }
1840044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 189:
1842044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
18434d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org{ return floatsuffix_check(context); }
1844044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 190:
1846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
184756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return ADD_ASSIGN; }
1848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 191:
1850044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
185156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return SUB_ASSIGN; }
1852044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 192:
1854044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
185556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return MUL_ASSIGN; }
1856044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 193:
1858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
185956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return DIV_ASSIGN; }
1860044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 194:
1862044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
186356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return MOD_ASSIGN; }
1864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 195:
1866044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
186756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return LEFT_ASSIGN; }
1868044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 196:
1870044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
187156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return RIGHT_ASSIGN; }
1872044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 197:
1874044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
187556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return AND_ASSIGN; }
1876044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 198:
1878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
187956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return XOR_ASSIGN; }
1880044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 199:
1882044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
188356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return OR_ASSIGN; }
1884044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 200:
1886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
188756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return INC_OP; }
1888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 201:
1890044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
189156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return DEC_OP; }
1892044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 202:
1894044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
189556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return AND_OP; }
1896044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
18972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 203:
1898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
189956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return OR_OP; }
1900044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 204:
1902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
190356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return XOR_OP; }
1904044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 205:
1906044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
190756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return LE_OP; }
1908044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 206:
1910044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
191156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return GE_OP; }
1912044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 207:
1914044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
191556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return EQ_OP; }
1916044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 208:
1918044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
191956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return NE_OP; }
1920044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 209:
1922044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
192356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return LEFT_OP; }
1924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 210:
1926044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
192756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return RIGHT_OP; }
1928044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 211:
1930044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
193178eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return SEMICOLON; }
1932044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 212:
1934044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
193578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return LEFT_BRACE; }
1936044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 213:
1938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
193956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return RIGHT_BRACE; }
1940044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 214:
1942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
194378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return COMMA; }
1944044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 215:
1946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
194756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return COLON; }
1948044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 216:
1950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
195178eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return EQUAL; }
1952044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 217:
1954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
195578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return LEFT_PAREN; }
1956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 218:
1958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
195978eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill{ return RIGHT_PAREN; }
1960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 219:
1962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
196356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return LEFT_BRACKET; }
1964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 220:
1966044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
196756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return RIGHT_BRACKET; }
1968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 221:
1970044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
1971f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill{ return DOT; }
1972044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 222:
1974044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
197556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return BANG; }
1976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 223:
1978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
197956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return DASH; }
1980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 224:
1982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
198356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return TILDE; }
1984044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
19852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 225:
1986044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
198756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return PLUS; }
198809c323a40ad0de489eee946bfe171d337616e09czmo@google.com	YY_BREAK
19892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 226:
199009c323a40ad0de489eee946bfe171d337616e09czmo@google.comYY_RULE_SETUP
199156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return STAR; }
1992205fef3389c81637f689585431273cf83af02e94kbr@chromium.org	YY_BREAK
19932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 227:
1994205fef3389c81637f689585431273cf83af02e94kbr@chromium.orgYY_RULE_SETUP
199556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return SLASH; }
19966b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org	YY_BREAK
19972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 228:
19986b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.orgYY_RULE_SETUP
199956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return PERCENT; }
2000c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org	YY_BREAK
20012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 229:
2002c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgYY_RULE_SETUP
200356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return LEFT_ANGLE; }
2004c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org	YY_BREAK
20052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 230:
2006c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgYY_RULE_SETUP
200756b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return RIGHT_ANGLE; }
2008c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org	YY_BREAK
20092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 231:
2010c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgYY_RULE_SETUP
201156b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return VERTICAL_BAR; }
2012302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org	YY_BREAK
20132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 232:
2014302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.orgYY_RULE_SETUP
201556b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return CARET; }
20164d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org	YY_BREAK
20172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 233:
20184d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.orgYY_RULE_SETUP
201956b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return AMPERSAND; }
20204d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org	YY_BREAK
20212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 234:
20224d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.orgYY_RULE_SETUP
202356b065198f6fdac375d4ce39549a97180e7bc5daJamie Madill{ return QUESTION; }
20244d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org	YY_BREAK
20252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 235:
20262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens/* rule 235 can match eol */
2027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
202839a8ce6be517928abd6788bea0154f6dab8246f9Jamie Madill{ }
2029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
2030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgcase YY_STATE_EOF(INITIAL):
2031fe345bfd8558db54cad0f52bb5a65835394a79e5Jamie Madill{ yyterminate(); }
2032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
20332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 236:
2034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
203539a8ce6be517928abd6788bea0154f6dab8246f9Jamie Madill{ assert(false); return 0; }
2036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
20372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capenscase 237:
2038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_RULE_SETUP
2039044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgECHO;
2040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BREAK
2041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	case YY_END_OF_BUFFER:
2043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Amount of text matched not including the EOB char. */
2045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2047044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Undo the effects of YY_DO_BEFORE_ACTION. */
2048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yy_cp = yyg->yy_hold_char;
2049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_RESTORE_YY_MORE_OFFSET
2050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* We're scanning a new file or input source.  It's
2054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * possible that this happened because the user
2055044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * just pointed yyin at a new source and called
2056044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * yylex().  If so, then we have to assure
2057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * consistency between YY_CURRENT_BUFFER and our
2058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * globals.  Here is the right place to do so, because
2059044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * this is the first action (other than possibly a
2060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * back-up) that will match for the new input source.
2061044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 */
2062044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2063044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2064044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2065044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2066044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2067044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Note that here we test for yy_c_buf_p "<=" to the position
2068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * of the first EOB in the buffer, since yy_c_buf_p will
2069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * already have been incremented past the NUL character
2070044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * (since all states make transitions on EOB to the
2071044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * end-of-buffer state).  Contrast this with the test
2072044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * in input().
2073044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 */
2074044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2075044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{ /* This was really a NUL. */
2076044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_state_type yy_next_state;
2077044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2078044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2079044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2080044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_current_state = yy_get_previous_state( yyscanner );
2081044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2082044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* Okay, we're now positioned to make the NUL
2083044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * transition.  We couldn't have
2084044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * yy_get_previous_state() go ahead and do it
2085044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * for us because it doesn't know how to deal
2086044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * with the possibility of jamming (and we don't
2087044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * want to build jamming into it because then it
2088044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * will run more slowly).
2089044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 */
2090044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2092044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2093044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2094044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2095044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			if ( yy_next_state )
2096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
2097044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				/* Consume the NUL. */
2098044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_cp = ++yyg->yy_c_buf_p;
2099044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_current_state = yy_next_state;
2100044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				goto yy_match;
2101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
2102044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2103044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			else
2104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
2105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_cp = yyg->yy_last_accepting_cpos;
2106044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_current_state = yyg->yy_last_accepting_state;
2107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				goto yy_find_action;
2108044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
2109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2110044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2111044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		else switch ( yy_get_next_buffer( yyscanner ) )
2112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2113044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			case EOB_ACT_END_OF_FILE:
2114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
2115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yyg->yy_did_buffer_switch_on_eof = 0;
2116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2117044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				if ( yywrap(yyscanner ) )
2118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					{
2119044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					/* Note: because we've taken care in
2120044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * yy_get_next_buffer() to have set up
2121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * yytext, we can now set up
2122044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * yy_c_buf_p so that if some total
2123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * hoser (like flex itself) wants to
2124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * call the scanner after we return the
2125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * YY_NULL, it'll still work - another
2126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * YY_NULL will get returned.
2127044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 */
2128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yy_act = YY_STATE_EOF(YY_START);
2131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					goto do_action;
2132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					}
2133044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				else
2135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					{
2136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
2137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org						YY_NEW_FILE;
2138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					}
2139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				break;
2140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
2141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			case EOB_ACT_CONTINUE_SCAN:
2143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yyg->yy_c_buf_p =
2144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yyg->yytext_ptr + yy_amount_of_matched_text;
2145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
2147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_cp = yyg->yy_c_buf_p;
2149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				goto yy_match;
2151044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			case EOB_ACT_LAST_MATCH:
2153044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yyg->yy_c_buf_p =
2154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2156044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_current_state = yy_get_previous_state( yyscanner );
2157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_cp = yyg->yy_c_buf_p;
2159044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				goto yy_find_action;
2161044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2162044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		break;
2163044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2165044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	default:
2166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR(
2167044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			"fatal flex scanner internal error--no action found" );
2168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	} /* end of action switch */
2169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		} /* end of scanning one token */
2170044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} /* end of yylex */
2171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2172044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yy_get_next_buffer - try to read in a new buffer
2173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *
2174044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * Returns a code representing an action:
2175044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *	EOB_ACT_LAST_MATCH -
2176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2177044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *	EOB_ACT_END_OF_FILE - end of file
2178044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2179044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_get_next_buffer (yyscan_t yyscanner)
2180044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register char *source = yyg->yytext_ptr;
2184044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register int number_to_move, i;
2185044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int ret_val;
2186044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2187044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2188044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR(
2189044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		"fatal flex scanner internal error--end of buffer missed" );
2190044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2191044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{ /* Don't try to fill the buffer, so this is an EOF. */
2193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* We matched a single character, the EOB, so
2196044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * treat this as a final EOF.
2197044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 */
2198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			return EOB_ACT_END_OF_FILE;
2199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		else
2202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2203044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* We matched some text prior to the EOB, first
2204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 * process it.
2205044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			 */
2206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			return EOB_ACT_LAST_MATCH;
2207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2210044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Try to read more data. */
2211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* First move last chars to start of buffer. */
2213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	for ( i = 0; i < number_to_move; ++i )
2216044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*(dest++) = *(source++);
2217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2219044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* don't do the read, it's not guaranteed to return an EOF,
2220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * just force an EOF
2221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 */
2222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2224044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	else
2225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2226ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org			yy_size_t num_to_read =
2227044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2228044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2229044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		while ( num_to_read <= 0 )
2230044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{ /* Not enough room in the buffer - grow it. */
2231044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2232044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* just a shorter name for the current buffer */
223336be856c98e54ab651e4826fef65689ae4344632Jamie Madill			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2234044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			int yy_c_buf_p_offset =
2236044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				(int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			if ( b->yy_is_our_buffer )
2239044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
2240ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org				yy_size_t new_size = b->yy_buf_size * 2;
2241044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2242044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				if ( new_size <= 0 )
2243044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					b->yy_buf_size += b->yy_buf_size / 8;
2244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				else
2245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					b->yy_buf_size *= 2;
2246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2247044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				b->yy_ch_buf = (char *)
2248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					/* Include room in for 2 EOB chars. */
2249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
2250044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
2251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			else
2252044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				/* Can't grow it, we don't own it. */
2253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				b->yy_ch_buf = 0;
2254044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2255044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			if ( ! b->yy_ch_buf )
2256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				YY_FATAL_ERROR(
2257044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				"fatal error - scanner input buffer overflow" );
2258044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2259044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2260044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2261044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2262044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org						number_to_move - 1;
2263044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2264044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2265044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2266044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( num_to_read > YY_READ_BUF_SIZE )
2267044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			num_to_read = YY_READ_BUF_SIZE;
2268044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2269044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Read in more data. */
2270044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2271ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org			yyg->yy_n_chars, num_to_read );
2272044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2273044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2275044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2276044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( yyg->yy_n_chars == 0 )
2277044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2278044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( number_to_move == YY_MORE_ADJ )
2279044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2280044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			ret_val = EOB_ACT_END_OF_FILE;
2281044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyrestart(yyin  ,yyscanner);
2282044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2284044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		else
2285044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			ret_val = EOB_ACT_LAST_MATCH;
2287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2288044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				YY_BUFFER_EOF_PENDING;
2289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2291044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2292044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	else
2293044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		ret_val = EOB_ACT_CONTINUE_SCAN;
2294044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2295044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2296044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Extend the array by 50%, plus the number we really need. */
2297044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2298044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
2299044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2300044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2301044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
2302044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2303044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_n_chars += number_to_move;
2304044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2305044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2306044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2307044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2308044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2309044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return ret_val;
2310044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2311044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2312044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yy_get_previous_state - get the state just before the EOB char was reached */
2313044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2314044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2315044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2316044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register yy_state_type yy_current_state;
2317044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register char *yy_cp;
2318044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2319044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2320044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_current_state = yyg->yy_start;
2321044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2322044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2323044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2324044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( yy_accept[yy_current_state] )
2326044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2327044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_last_accepting_state = yy_current_state;
2328044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yyg->yy_last_accepting_cpos = yy_cp;
2329044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2330044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2331044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{
2332044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_current_state = (int) yy_def[yy_current_state];
23332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens			if ( yy_current_state >= 813 )
2334044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				yy_c = yy_meta[(unsigned int) yy_c];
2335044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2337044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2338044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2339044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return yy_current_state;
2340044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2341044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2342044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yy_try_NUL_trans - try to make a transition on the NUL character
2343044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *
2344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * synopsis
2345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *	next_state = yy_try_NUL_trans( current_state );
2346044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2347044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
2348044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2349044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register int yy_is_jam;
2350044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2351044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register char *yy_cp = yyg->yy_c_buf_p;
2352044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2353044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register YY_CHAR yy_c = 1;
2354044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( yy_accept[yy_current_state] )
2355044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2356044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_last_accepting_state = yy_current_state;
2357044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_last_accepting_cpos = yy_cp;
2358044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2359044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2360044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2361044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_current_state = (int) yy_def[yy_current_state];
23622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens		if ( yy_current_state >= 813 )
2363044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			yy_c = yy_meta[(unsigned int) yy_c];
2364044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2365044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
23662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens	yy_is_jam = (yy_current_state == 812);
2367044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
236836be856c98e54ab651e4826fef65689ae4344632Jamie Madill	(void)yyg;
2369044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return yy_is_jam ? 0 : yy_current_state;
2370044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2371044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2372044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_NO_INPUT
2373044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef __cplusplus
2374044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    static int yyinput (yyscan_t yyscanner)
2375044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
2376044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    static int input  (yyscan_t yyscanner)
2377044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
2378044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2379044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2380044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int c;
2381044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2382044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2383044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	*yyg->yy_c_buf_p = yyg->yy_hold_char;
2384044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2385044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2386044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2387044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* yy_c_buf_p now points to the character we want to return.
2388044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * If this occurs *before* the EOB characters, then it's a
2389044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * valid NUL; if not, then we've hit the end of the buffer.
2390044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 */
2391044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2392044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			/* This was really a NUL. */
2393044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			*yyg->yy_c_buf_p = '\0';
2394044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2395044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		else
2396044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			{ /* need more input */
2397ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org			yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
2398044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			++yyg->yy_c_buf_p;
2399044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2400044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			switch ( yy_get_next_buffer( yyscanner ) )
2401044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				{
2402044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				case EOB_ACT_LAST_MATCH:
2403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					/* This happens because yy_g_n_b()
2404044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * sees that we've accumulated a
2405044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * token and flags that we need to
2406044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * try matching the token before
2407044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * proceeding.  But for input(),
2408044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * there's no matching to consider.
2409044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * So convert the EOB_ACT_LAST_MATCH
2410044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 * to EOB_ACT_END_OF_FILE.
2411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					 */
2412044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2413044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					/* Reset buffer status. */
2414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yyrestart(yyin ,yyscanner);
2415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2416044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					/*FALLTHROUGH*/
2417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2418044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				case EOB_ACT_END_OF_FILE:
2419044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					{
2420044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					if ( yywrap(yyscanner ) )
24215524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com						return EOF;
2422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					if ( ! yyg->yy_did_buffer_switch_on_eof )
2424044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org						YY_NEW_FILE;
2425044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef __cplusplus
2426044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					return yyinput(yyscanner);
2427044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
2428044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					return input(yyscanner);
2429044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
2430044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					}
2431044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2432044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				case EOB_ACT_CONTINUE_SCAN:
2433044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2434044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org					break;
2435044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org				}
2436044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			}
2437044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2438044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2439044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	c = *(unsigned char *) yyg->yy_c_buf_p;	/* cast for 8-bit char's */
2440044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	*yyg->yy_c_buf_p = '\0';	/* preserve yytext */
2441044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2442044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2443044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( c == '\n' )
2444044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2445044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    do{ yylineno++;
2446044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yycolumn=0;
2447044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }while(0)
2448044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org;
2449044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2450044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return c;
2451044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2452044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif	/* ifndef YY_NO_INPUT */
2453044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2454044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Immediately switch to a different input stream.
2455044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param input_file A readable stream.
2456044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2457044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @note This function does not reset the start condition to @c INITIAL .
2458044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2459044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
2460044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2461044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2462044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2463044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! YY_CURRENT_BUFFER ){
2464044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yyensure_buffer_stack (yyscanner);
2465044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE =
2466044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2467044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
2468044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2469044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
2470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_load_buffer_state(yyscanner );
2471044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2472044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2473044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Switch to a different input buffer.
2474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param new_buffer The new input buffer.
2475044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2476044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
2478044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2479044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2480044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2481044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* TODO. We should be able to replace this entire function body
2482044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * with
2483044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 *		yypop_buffer_state();
2484044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 *		yypush_buffer_state(new_buffer);
2485044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     */
2486044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyensure_buffer_stack (yyscanner);
2487044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER == new_buffer )
2488044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2489044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2490044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER )
2491044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2492044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Flush out information for old buffer. */
2493044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
2494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
2499044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_load_buffer_state(yyscanner );
2500044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* We don't actually know whether we did this switch during
2502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * EOF (yywrap()) processing, but the only time this flag
2503044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * is looked at is after yywrap() is called, so it's safe
2504044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * to go ahead and always set it.
2505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
2506044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
2507044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2508044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2509044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_load_buffer_state  (yyscan_t yyscanner)
2510044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2511044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_hold_char = *yyg->yy_c_buf_p;
2516044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Allocate and initialize an input buffer state.
2519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param file A readable stream.
2520044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2521044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @return the allocated buffer state.
2523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2524044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
2525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BUFFER_STATE b;
2527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2528044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b )
2530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2531044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2532044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buf_size = size;
2533044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2534044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* yy_ch_buf has to be 2 characters longer than the size given because
2535044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * we need to put in 2 end-of-buffer characters.
2536044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
2537044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ,yyscanner );
2538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b->yy_ch_buf )
2539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2540044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_is_our_buffer = 1;
2542044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_init_buffer(b,file ,yyscanner);
2544044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2545044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return b;
2546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2547044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2548044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Destroy the buffer.
2549044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param b a buffer created with yy_create_buffer()
2550044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2551044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2552044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2553044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2554044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2556044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b )
2557044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2558044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2559044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2560044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2561044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2562044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( b->yy_is_our_buffer )
2563044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyfree((void *) b->yy_ch_buf ,yyscanner );
2564044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2565044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyfree((void *) b ,yyscanner );
2566044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2567044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2568044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Initializes or reinitializes a buffer.
2569044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * This function is sometimes called more than once on the same buffer,
2570044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * such as during a yyrestart() or at EOF.
2571044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2572044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
2573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2574044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2575044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	int oerrno = errno;
2576044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2577044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2578044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_flush_buffer(b ,yyscanner);
2579044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2580044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_input_file = file;
2581044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_fill_buffer = 1;
2582044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2583044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* If b is the current buffer, then yy_init_buffer was _probably_
2584044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * called from yyrestart() or through yy_get_next_buffer.
2585044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * In that case, we don't want to reset the lineno or column.
2586044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     */
2587044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (b != YY_CURRENT_BUFFER){
2588044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        b->yy_bs_lineno = 1;
2589044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        b->yy_bs_column = 0;
2590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
2591044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2592044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        b->yy_is_interactive = 0;
2593044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2594044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	errno = oerrno;
2595044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2596044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2597044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2598044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2599044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2600044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2601044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2602044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2603044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2604044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b )
2605044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2606044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2607044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_n_chars = 0;
2608044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2609044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* We always need two end-of-buffer characters.  The first causes
2610044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * a transition to the end-of-buffer state.  The second causes
2611044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * a jam in that state.
2612044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
2613044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2614044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2615044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2616044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buf_pos = &b->yy_ch_buf[0];
2617044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2618044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_at_bol = 1;
2619044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
2620044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2621044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( b == YY_CURRENT_BUFFER )
2622044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_load_buffer_state(yyscanner );
2623044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2624044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2625044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Pushes the new state onto the stack. The new state becomes
2626044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  the current state. This function will allocate the stack
2627044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  if necessary.
2628044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  @param new_buffer The new state.
2629044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  @param yyscanner The scanner object.
2630044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2631044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2632044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (new_buffer == NULL)
2635044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2636044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2637044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyensure_buffer_stack(yyscanner);
2638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2639044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* This block is copied from yy_switch_to_buffer. */
2640044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( YY_CURRENT_BUFFER )
2641044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{
2642044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Flush out information for old buffer. */
2643044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yyg->yy_c_buf_p = yyg->yy_hold_char;
2644044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2645044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		}
2647044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2648044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Only push if top exists. Otherwise, replace top. */
2649044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (YY_CURRENT_BUFFER)
2650044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack_top++;
2651044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE = new_buffer;
2652044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2653044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* copied from yy_switch_to_buffer. */
2654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_load_buffer_state(yyscanner );
2655044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_did_buffer_switch_on_eof = 1;
2656044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2657044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2658044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Removes and deletes the top of the stack, if present.
2659044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  The next element becomes the new top.
2660044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  @param yyscanner The scanner object.
2661044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2662044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yypop_buffer_state (yyscan_t yyscanner)
2663044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2664044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2665044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (!YY_CURRENT_BUFFER)
2666044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2667044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
2669044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_CURRENT_BUFFER_LVALUE = NULL;
2670044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (yyg->yy_buffer_stack_top > 0)
2671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		--yyg->yy_buffer_stack_top;
2672044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (YY_CURRENT_BUFFER) {
2674044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_load_buffer_state(yyscanner );
2675044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_did_buffer_switch_on_eof = 1;
2676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
2677044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2678044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2679044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Allocates the stack if it does not exist.
2680044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *  Guarantees space for at least one push.
2681044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2682044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yyensure_buffer_stack (yyscan_t yyscanner)
2683044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2684ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.org	yy_size_t num_to_alloc;
2685044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2686044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2687044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (!yyg->yy_buffer_stack) {
2688044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2689044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* First allocation is just for 2 elements, since we don't know if this
2690044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2691044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		 * immediate realloc on the next call.
2692044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org         */
2693044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		num_to_alloc = 1;
2694044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
2695044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org								(num_to_alloc * sizeof(struct yy_buffer_state*)
2696044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org								, yyscanner);
2697044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! yyg->yy_buffer_stack )
2698044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2699044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2700044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2701044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2702044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
2703044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack_top = 0;
2704044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return;
2705044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
2706044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2707044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2708044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2709044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Increase the buffer to prepare for a possible push. */
2710044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		int grow_size = 8 /* arbitrary grow size */;
2711044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2712044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2713044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
2714044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org								(yyg->yy_buffer_stack,
2715044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org								num_to_alloc * sizeof(struct yy_buffer_state*)
2716044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org								, yyscanner);
2717044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		if ( ! yyg->yy_buffer_stack )
2718044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2719044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2720044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* zero only the new slots.*/
2721044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2722044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_buffer_stack_max = num_to_alloc;
2723044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
2724044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2725044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2726044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Setup the input buffer state to scan directly from a user-specified character buffer.
2727044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param base the character buffer
2728044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param size the size in bytes of the character buffer
2729044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2730044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @return the newly allocated buffer state object.
2731044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2732044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
2733044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2734044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BUFFER_STATE b;
2735044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2736044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( size < 2 ||
2737044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
2738044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	     base[size-1] != YY_END_OF_BUFFER_CHAR )
2739044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* They forgot to leave room for the EOB's. */
2740044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		return 0;
2741044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2742044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2743044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b )
2744044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2745044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2746044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
2747044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buf_pos = b->yy_ch_buf = base;
2748044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_is_our_buffer = 0;
2749044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_input_file = 0;
2750044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_n_chars = b->yy_buf_size;
2751044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_is_interactive = 0;
2752044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_at_bol = 1;
2753044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_fill_buffer = 0;
2754044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_buffer_status = YY_BUFFER_NEW;
2755044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2756044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yy_switch_to_buffer(b ,yyscanner );
2757044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2758044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return b;
2759044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2760044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2761044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Setup the input buffer state to scan a string. The next call to yylex() will
2762044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * scan from a @e copy of @a str.
2763044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yystr a NUL-terminated string to scan
2764044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2765044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @return the newly allocated buffer state object.
2766044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @note If you want to scan bytes that may contain NUL values, then use
2767044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *       yy_scan_bytes() instead.
2768044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2769044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
2770044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2771044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2772044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
2773044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2774044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2775044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2776044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * scan from a @e copy of @a bytes.
2777f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill * @param yybytes the byte buffer to scan
2778f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2779044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2780044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @return the newly allocated buffer state object.
2781044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2782ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgYY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len , yyscan_t yyscanner)
2783044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2784044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	YY_BUFFER_STATE b;
2785044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	char *buf;
278636be856c98e54ab651e4826fef65689ae4344632Jamie Madill	yy_size_t n;
278736be856c98e54ab651e4826fef65689ae4344632Jamie Madill	yy_size_t i;
2788044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2789044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Get memory for full buffer, including space for trailing EOB's. */
2790044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	n = _yybytes_len + 2;
2791044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	buf = (char *) yyalloc(n ,yyscanner );
2792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! buf )
2793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2794044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	for ( i = 0; i < _yybytes_len; ++i )
2796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		buf[i] = yybytes[i];
2797044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2798044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2799044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2800044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b = yy_scan_buffer(buf,n ,yyscanner);
2801044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	if ( ! b )
2802044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2803044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2804044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* It's okay to grow etc. this buffer, and we should throw it
2805044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * away when we're done.
2806044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
2807044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	b->yy_is_our_buffer = 1;
2808044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2809044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return b;
2810044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2811044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2812044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_EXIT_FAILURE
2813044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YY_EXIT_FAILURE 2
2814044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
2815044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
2817044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    	(void) fprintf( stderr, "%s\n", msg );
2819044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	exit( YY_EXIT_FAILURE );
2820044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2821044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2822044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Redefine yyless() so it works in section 3 code. */
2823044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2824044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#undef yyless
2825044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyless(n) \
2826044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	do \
2827044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		{ \
2828044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		/* Undo effects of setting up yytext. */ \
2829044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        int yyless_macro_arg = (n); \
2830044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        YY_LESS_LINENO(yyless_macro_arg);\
2831044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yytext[yyleng] = yyg->yy_hold_char; \
2832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
2833044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyg->yy_hold_char = *yyg->yy_c_buf_p; \
2834044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		*yyg->yy_c_buf_p = '\0'; \
2835044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yyleng = yyless_macro_arg; \
2836044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		} \
2837044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	while ( 0 )
2838044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2839044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Accessor  methods (get/set functions) to struct members. */
2840044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2841044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the user-defined data for this scanner.
2842044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2843044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2844044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
2845044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2847044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yyextra;
2848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2849044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2850044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the current line number.
2851044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2852044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2853044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yyget_lineno  (yyscan_t yyscanner)
2854044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2855044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2856044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2857044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        if (! YY_CURRENT_BUFFER)
2858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            return 0;
2859044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2860044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yylineno;
2861044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2862044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2863044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the current column number.
2864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2865044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2866044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yyget_column  (yyscan_t yyscanner)
2867044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2868044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2869044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2870044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        if (! YY_CURRENT_BUFFER)
2871044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            return 0;
2872044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2873044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yycolumn;
2874044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2875044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2876044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the input stream.
2877044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2879044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgFILE *yyget_in  (yyscan_t yyscanner)
2880044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2881044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2882044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yyin;
2883044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2884044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2885044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the output stream.
2886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2887044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgFILE *yyget_out  (yyscan_t yyscanner)
2889044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2890044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2891044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yyout;
2892044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2893044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2894044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the length of the current token.
2895044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2896044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2897ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2eshannonwoods@chromium.orgyy_size_t yyget_leng  (yyscan_t yyscanner)
2898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2899044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2900044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yyleng;
2901044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2903044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Get the current token.
2904044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2905044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2906044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2907044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgchar *yyget_text  (yyscan_t yyscanner)
2908044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2909044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2910044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yytext;
2911044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2912044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2913044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Set the user-defined data. This data is never touched by the scanner.
2914044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param user_defined The data to be associated with this scanner.
2915044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2916044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2917044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
2918044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2919044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2920044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyextra = user_defined ;
2921044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2922044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2923044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Set the current line number.
2924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param line_number
2925044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2926044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2927044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_lineno (int  line_number , yyscan_t yyscanner)
2928044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2929044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2930044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2931044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        /* lineno is only valid if an input buffer exists. */
2932044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        if (! YY_CURRENT_BUFFER )
293336be856c98e54ab651e4826fef65689ae4344632Jamie Madill           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
2934044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2935044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yylineno = line_number;
2936044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2937044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Set the current column.
2939044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param line_number
2940044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2941044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_column (int  column_no , yyscan_t yyscanner)
2943044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2944044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2945044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        /* column is only valid if an input buffer exists. */
2947044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        if (! YY_CURRENT_BUFFER )
294836be856c98e54ab651e4826fef65689ae4344632Jamie Madill           YY_FATAL_ERROR( "yyset_column called with no buffer" );
2949044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yycolumn = column_no;
2951044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2952044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2953044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/** Set the input stream. This does not discard the current
2954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * input buffer.
2955044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param in_str A readable stream.
2956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @param yyscanner The scanner object.
2957044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * @see yy_switch_to_buffer
2958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
2959044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_in (FILE *  in_str , yyscan_t yyscanner)
2960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2961044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyin = in_str ;
2963044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_out (FILE *  out_str , yyscan_t yyscanner)
2966044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyout = out_str ;
2969044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2970044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2971044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yyget_debug  (yyscan_t yyscanner)
2972044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2973044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2974044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yy_flex_debug;
2975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2977044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_debug (int  bdebug , yyscan_t yyscanner)
2978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2979044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yy_flex_debug = bdebug ;
2981044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2983044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Accessor methods for yylval and yylloc */
2984044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2985044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgYYSTYPE * yyget_lval  (yyscan_t yyscanner)
2986044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2987044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2988044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yylval;
2989044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2990044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2991044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
2992044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
2993044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2994044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yylval = yylval_param;
2995044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
2996044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
2997075edd84dd682b91279132317d34b09e8028ae6fJamie MadillYYLTYPE *yyget_lloc  (yyscan_t yyscanner)
2998075edd84dd682b91279132317d34b09e8028ae6fJamie Madill{
2999075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3000075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    return yylloc;
3001075edd84dd682b91279132317d34b09e8028ae6fJamie Madill}
3002075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
3003075edd84dd682b91279132317d34b09e8028ae6fJamie Madillvoid yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
3004075edd84dd682b91279132317d34b09e8028ae6fJamie Madill{
3005075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3006075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yylloc = yylloc_param;
3007075edd84dd682b91279132317d34b09e8028ae6fJamie Madill}
3008075edd84dd682b91279132317d34b09e8028ae6fJamie Madill
3009044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* User-visible API */
3010044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3011044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yylex_init is special because it creates the scanner itself, so it is
3012044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * the ONLY reentrant function that doesn't take the scanner as the last argument.
3013044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * That's why we explicitly handle the declaration, instead of using our macros.
3014044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
3015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3016044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_init(yyscan_t* ptr_yy_globals)
3017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (ptr_yy_globals == NULL){
3020044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        errno = EINVAL;
3021044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        return 1;
3022044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
3023044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3024044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
3025044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3026044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (*ptr_yy_globals == NULL){
3027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        errno = ENOMEM;
3028044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        return 1;
3029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
3030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yy_init_globals ( *ptr_yy_globals );
3035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3037044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yylex_init_extra has the same functionality as yylex_init, but follows the
3038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * convention of taking the scanner as the last argument. Note however, that
3039044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * this is a *pointer* to a scanner, as it will be allocated by this call (and
3040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * is the reason, too, why this function also must handle its own declaration).
3041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * The user defined value in the first argument will be available to yyalloc in
3042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * the yyextra field.
3043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
3044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
3046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3047044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t dummy_yyguts;
3049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyset_extra (yy_user_defined, &dummy_yyguts);
3051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (ptr_yy_globals == NULL){
3053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        errno = EINVAL;
3054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        return 1;
3055044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
3056044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3059044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (*ptr_yy_globals == NULL){
3060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        errno = ENOMEM;
3061044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        return 1;
3062044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
3063044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3064044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* By setting to 0xAA, we expose bugs in
3065044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yy_init_globals. Leave at 0x00 for releases. */
3066044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3067044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyset_extra (yy_user_defined, *ptr_yy_globals);
3069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3070044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return yy_init_globals ( *ptr_yy_globals );
3071044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3072044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3073044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_init_globals (yyscan_t yyscanner)
3074044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3075044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3076044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Initialization is the same as for the non-reentrant scanner.
3077044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * This function is called from yylex_destroy(), so don't allocate here.
3078044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     */
3079044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3080044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_buffer_stack = 0;
3081044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_buffer_stack_top = 0;
3082044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_buffer_stack_max = 0;
3083044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_c_buf_p = (char *) 0;
3084044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_init = 0;
3085044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_start = 0;
3086044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3087044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_start_stack_ptr = 0;
3088044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_start_stack_depth = 0;
3089044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyg->yy_start_stack =  NULL;
3090044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Defined in main.c */
3092044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YY_STDINIT
3093044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyin = stdin;
3094044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyout = stdout;
3095044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else
3096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyin = (FILE *) 0;
3097044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyout = (FILE *) 0;
3098044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
3099044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3100044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* For future reference: Set errno on error, since we are called by
3101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * yylex_init()
3102044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     */
3103044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return 0;
3104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3106044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yylex_destroy  (yyscan_t yyscanner)
3108044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3110044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3111044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Pop the buffer stack, destroying each element. */
3112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	while(YY_CURRENT_BUFFER){
3113044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		YY_CURRENT_BUFFER_LVALUE = NULL;
3115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		yypop_buffer_state(yyscanner);
3116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	}
3117044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* Destroy the stack itself. */
3119044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyfree(yyg->yy_buffer_stack ,yyscanner);
3120044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	yyg->yy_buffer_stack = NULL;
3121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3122044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Destroy the start condition stack. */
3123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yyfree(yyg->yy_start_stack ,yyscanner );
3124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        yyg->yy_start_stack = NULL;
3125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3127044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org     * yylex() is called, initialization will occur. */
3128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yy_init_globals( yyscanner);
3129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    /* Destroy the main struct (reentrant only). */
3131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyfree ( yyscanner , yyscanner );
3132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyscanner = NULL;
3133044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return 0;
3134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*
3137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org * Internal utility routines.
3138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org */
3139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef yytext_ptr
3141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
3142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register int i;
3144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	for ( i = 0; i < n; ++i )
3145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		s1[i] = s2[i];
3146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
3148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YY_NEED_STRLEN
3150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3151044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	register int n;
3153044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	for ( n = 0; s[n]; ++n )
3154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org		;
3155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3156044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return n;
3157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif
3159044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid *yyalloc (yy_size_t  size , yyscan_t yyscanner)
3161044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3162044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return (void *) malloc( size );
3163044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3165044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
3166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3167044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	/* The cast to (char *) in the following accommodates both
3168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * implementations that use char* generic pointers, and those
3169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * that use void* generic pointers.  It works with the latter
3170044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * because both ANSI C and C++ allow castless assignment from
3171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * any pointer type to void*, and deal with argument conversions
3172044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 * as though doing an assignment.
3173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	 */
3174044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	return (void *) realloc( (char *) ptr, size );
3175044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3177044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid yyfree (void * ptr , yyscan_t yyscanner)
3178044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{
3179044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
3180044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYTABLES_NAME "yytables"
3183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3184d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.comyy_size_t string_input(char* buf, yy_size_t max_size, yyscan_t yyscanner) {
318573bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    pp::Token token;
318673bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    yyget_extra(yyscanner)->preprocessor.lex(&token);
3187d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.com    yy_size_t len = token.type == pp::Token::LAST ? 0 : token.text.size();
3188d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.com    if (len < max_size)
31895b6a68e04a7d27dab71524fa481f42818f84a240alokp@chromium.org        memcpy(buf, token.text.c_str(), len);
3190075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yyset_column(token.location.file,yyscanner);
3191075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yyset_lineno(token.location.line,yyscanner);
3192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
319373bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    if (len >= max_size)
319473bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org        YY_FATAL_ERROR("Input buffer overflow");
319573bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    else if (len > 0)
319673bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org        buf[len++] = ' ';
319773bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    return len;
3198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint check_type(yyscan_t yyscanner) {
3201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t* yyg = (struct yyguts_t*) yyscanner;
3202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3203044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    int token = IDENTIFIER;
320496e7ba17f417a48c1a6c31f3d9fbd5611219d14dshannonwoods@chromium.org    TSymbol* symbol = yyextra->symbolTable.find(yytext, yyextra->shaderVersion);
320578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill    if (symbol && symbol->isVariable()) {
3206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        TVariable* variable = static_cast<TVariable*>(symbol);
3207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        if (variable->isUserType()) {
3208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org            token = TYPE_NAME;
3209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        }
3210044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    }
3211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yylval->lex.symbol = symbol;
3212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return token;
3213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint reserved_word(yyscan_t yyscanner) {
3216044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    struct yyguts_t* yyg = (struct yyguts_t*) yyscanner;
3217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3218075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yyextra->error(*yylloc, "Illegal use of reserved word", yytext, "");
3219044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyextra->recover();
3220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return 0;
3221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
322335f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.orgint ES2_reserved_ES3_keyword(TParseContext *context, int token)
322435f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org{
322535f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    yyscan_t yyscanner = (yyscan_t) context->scanner;
322635f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
322735f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    if (context->shaderVersion < 300)
322835f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    {
322935f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org        return reserved_word(yyscanner);
323035f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    }
323135f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
323235f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    return token;
323335f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org}
323435f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
323535f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.orgint ES2_keyword_ES3_reserved(TParseContext *context, int token)
323635f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org{
323735f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    yyscan_t yyscanner = (yyscan_t) context->scanner;
323835f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
323935f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    if (context->shaderVersion >= 300)
324035f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    {
324135f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org        return reserved_word(yyscanner);
324235f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    }
324335f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
324435f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org    return token;
324535f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org}
324635f156d9319d3f47a4893746275596d23ffe6124shannonwoods@chromium.org
324716242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.orgint ES2_ident_ES3_keyword(TParseContext *context, int token)
324816242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org{
324916242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
325016242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    yyscan_t yyscanner = (yyscan_t) context->scanner;
325116242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org
325216242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    // not a reserved word in GLSL ES 1.00, so could be used as an identifier/type name
325316242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    if (context->shaderVersion < 300)
325416242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    {
325516242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org        yylval->lex.string = NewPoolTString(yytext);
325616242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org        return check_type(yyscanner);
325716242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    }
325816242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org
325916242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org    return token;
326016242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org}
326116242efc0b35c55c435992f1ab7f84bc4a4dc457shannonwoods@chromium.org
3262c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.orgint uint_constant(TParseContext *context)
3263c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org{
3264c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
3265c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    yyscan_t yyscanner = (yyscan_t) context->scanner;
3266c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org
3267c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    if (context->shaderVersion < 300)
3268c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    {
3269075edd84dd682b91279132317d34b09e8028ae6fJamie Madill        context->error(*yylloc, "Unsigned integers are unsupported prior to GLSL ES 3.00", yytext, "");
3270c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org        context->recover();
3271c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org        return 0;
3272c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    }
3273c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org
3274f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    if (!atoi_clamp(yytext, &(yylval->lex.i)))
3275f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo        yyextra->warning(*yylloc, "Integer overflow", yytext, "");
3276f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
3277c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org    return UINTCONSTANT;
3278c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org}
3279c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org
32804d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.orgint floatsuffix_check(TParseContext* context)
32814d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org{
32824d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org    struct yyguts_t* yyg = (struct yyguts_t*) context->scanner;
32834d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org
32844d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org    if (context->shaderVersion < 300)
32854d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org    {
3286075edd84dd682b91279132317d34b09e8028ae6fJamie Madill        context->error(*yylloc, "Floating-point suffix unsupported prior to GLSL ES 3.00", yytext);
32874d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org        context->recover();
32884d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org        return 0;
32894d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org    }
32904d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org
3291f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    if (!atof_clamp(yytext, &(yylval->lex.f)))
3292f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo        yyextra->warning(*yylloc, "Float overflow", yytext, "");
3293f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
32944d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org    return(FLOATCONSTANT);
32954d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org}
32964d20a846b6ac66392b7c0db08353f21441e90029shannonwoods@chromium.org
32970b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshivoid yyerror(YYLTYPE* lloc, TParseContext* context, const char* reason) {
32980b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshi    context->error(*lloc, reason, yyget_text(context->scanner));
32990b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshi    context->recover();
33000b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshi}
33010b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshi
3302f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Moint int_constant(yyscan_t yyscanner) {
3303f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    struct yyguts_t* yyg = (struct yyguts_t*) yyscanner;
3304f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
3305f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    if (!atoi_clamp(yytext, &(yylval->lex.i)))
3306f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo        yyextra->warning(*yylloc, "Integer overflow", yytext, "");
3307f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    return INTCONSTANT;
3308f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo}
3309f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
3310f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Moint float_constant(yyscan_t yyscanner) {
3311f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    struct yyguts_t* yyg = (struct yyguts_t*) yyscanner;
3312f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
3313f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    if (!atof_clamp(yytext, &(yylval->lex.f)))
3314f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo        yyextra->warning(*yylloc, "Float overflow", yytext, "");
3315f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo    return FLOATCONSTANT;
3316f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo}
3317f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4Zhenyao Mo
3318044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint glslang_initialize(TParseContext* context) {
3319044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyscan_t scanner = NULL;
3320044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (yylex_init_extra(context,&scanner))
3321044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org        return 1;
3322044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3323044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    context->scanner = scanner;
3324044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    return 0;
3325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3326044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3327044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint glslang_finalize(TParseContext* context) {
3328044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyscan_t scanner = context->scanner;
3329044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    if (scanner == NULL) return 0;
3330044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3331044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    context->scanner = NULL;
333273bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    yylex_destroy(scanner);
333373bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org
333473bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    return 0;
3335044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3337d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.comint glslang_scan(size_t count, const char* const string[], const int length[],
3338408c45e703875953dee96d9012f340b8d5bbd68aalokp@chromium.org                 TParseContext* context) {
3339044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org    yyrestart(NULL,context->scanner);
3340075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yyset_column(0,context->scanner);
3341075edd84dd682b91279132317d34b09e8028ae6fJamie Madill    yyset_lineno(1,context->scanner);
334273bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org
334373bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    // Initialize preprocessor.
334473bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    if (!context->preprocessor.init(count, string, length))
334573bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org        return 1;
334673bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org
334773bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    // Define extension macros.
334873bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    const TExtensionBehavior& extBehavior = context->extensionBehavior();
334973bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    for (TExtensionBehavior::const_iterator iter = extBehavior.begin();
335073bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org         iter != extBehavior.end(); ++iter) {
3351e3043b14c6f8a31d4ab2e514782f86124938908balokp@chromium.org        context->preprocessor.predefineMacro(iter->first.c_str(), 1);
335273bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    }
3353cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com    if (context->fragmentPrecisionHigh)
3354cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com        context->preprocessor.predefineMacro("GL_FRAGMENT_PRECISION_HIGH", 1);
3355cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com
33567faf1a14deb3cdfc9f9137de95f9fc1552b603bdZhenyao Mo    context->preprocessor.setMaxTokenSize(GetGlobalMaxTokenSize(context->shaderSpec));
33579f45240c3004ade5fa9ddd7d696d69bcbf77b4b1Jamie Madill
335873bc298e3f0688d40c07c13d94197c4146ae1b49alokp@chromium.org    return 0;
3359044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}
3360044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org
3361