1f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* A Bison parser, made by GNU Bison 2.5.  */
2f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Bison implementation for Yacc-like parsers in C
4f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
7f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   This program is free software: you can redistribute it and/or modify
8f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   it under the terms of the GNU General Public License as published by
9f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   the Free Software Foundation, either version 3 of the License, or
10f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   (at your option) any later version.
11f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
12f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   This program is distributed in the hope that it will be useful,
13f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   but WITHOUT ANY WARRANTY; without even the implied warranty of
14f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   GNU General Public License for more details.
16f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
17f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   You should have received a copy of the GNU General Public License
18f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
20f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* As a special exception, you may create a larger work that contains
21f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   part or all of the Bison parser skeleton and distribute that work
22f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   under terms of your choice, so long as that work isn't itself a
23f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   parser generator using the skeleton or a modified version thereof
24f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   as a parser skeleton.  Alternatively, if you modify or redistribute
25f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   the parser skeleton itself, you may (at your option) remove this
26f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   special exception, which will cause the skeleton and the resulting
27f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   Bison output files to be licensed under the GNU General Public
28f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   License without this special exception.
29f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
30f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   This special exception was added by the Free Software Foundation in
31f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   version 2.2 of Bison.  */
32f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
33f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* C LALR(1) parser skeleton written by Richard Stallman, by
34f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   simplifying the original so-called "semantic" parser.  */
35f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
36f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* All symbols defined below should begin with yy or YY, to avoid
37f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   infringing on user name space.  This should be done even for local
38f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   variables, as they might otherwise be expanded by user macros.
39f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   There are some unavoidable exceptions within include files to
40f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   define necessary library symbols; they are noted "INFRINGES ON
41f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   USER NAME SPACE" below.  */
42f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
43f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Identify Bison output.  */
44f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYBISON 1
45f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
46f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Bison version.  */
47f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYBISON_VERSION "2.5"
48f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
49f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Skeleton name.  */
50f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYSKELETON_NAME "yacc.c"
51f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
52f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Pure parsers.  */
53f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYPURE 1
54f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
55f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Push parsers.  */
56f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYPUSH 0
57f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
58f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Pull parsers.  */
59f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYPULL 1
60f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
61f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Using locations.  */
62f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYLSP_NEEDED 1
63f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
64f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Substitute the variable and function names.  */
65f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyparse         _mesa_glsl_parse
66f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yylex           _mesa_glsl_lex
67f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyerror         _mesa_glsl_error
68f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yylval          _mesa_glsl_lval
69f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yychar          _mesa_glsl_char
70f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yydebug         _mesa_glsl_debug
71f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yynerrs         _mesa_glsl_nerrs
72f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yylloc          _mesa_glsl_lloc
73f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
74f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy the first part of user declarations.  */
75f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
76f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 268 of yacc.c  */
77f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1 "src/src/glsl/glsl_parser.yy"
78f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
79f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*
80f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Copyright © 2008, 2009 Intel Corporation
81f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
82f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a
83f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * copy of this software and associated documentation files (the "Software"),
84f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * to deal in the Software without restriction, including without limitation
85f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * the rights to use, copy, modify, merge, publish, distribute, sublicense,
86f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * and/or sell copies of the Software, and to permit persons to whom the
87f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software is furnished to do so, subject to the following conditions:
88f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
89f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * The above copyright notice and this permission notice (including the next
90f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * paragraph) shall be included in all copies or substantial portions of the
91f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * Software.
92f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org *
93f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
94f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
95f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
96f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
97f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
98f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
99f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org * DEALINGS IN THE SOFTWARE.
100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org */
101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <stdio.h>
102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <stdlib.h>
103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <string.h>
104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include <assert.h>
105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "ast.h"
107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glsl_parser_extras.h"
108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "glsl_types.h"
109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#include "main/context.h"
110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYLEX_PARAM state->scanner
112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#undef yyerror
114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   _mesa_glsl_error(loc, st, "%s", msg);
118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 268 of yacc.c  */
122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 123 "src/chromium_gensrc/mesa/glsl_parser.cc"
123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Enabling traces.  */
125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYDEBUG
126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYDEBUG 0
127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Enabling verbose error messages.  */
130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYERROR_VERBOSE
131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# undef YYERROR_VERBOSE
132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYERROR_VERBOSE 1
133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYERROR_VERBOSE 1
135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Enabling the token table.  */
138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYTOKEN_TABLE
139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYTOKEN_TABLE 0
140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Tokens.  */
144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYTOKENTYPE
145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYTOKENTYPE
146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   /* Put the tokens into the symbol table, so that GDB and other debuggers
147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      know about them.  */
148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   enum yytokentype {
149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ATTRIBUTE = 258,
150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CONST_TOK = 259,
151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BOOL_TOK = 260,
152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FLOAT_TOK = 261,
153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INT_TOK = 262,
154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UINT_TOK = 263,
155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BREAK = 264,
156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CONTINUE = 265,
157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DO = 266,
158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ELSE = 267,
159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FOR = 268,
160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IF = 269,
161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DISCARD = 270,
162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     RETURN = 271,
163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SWITCH = 272,
164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CASE = 273,
165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DEFAULT = 274,
166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BVEC2 = 275,
167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BVEC3 = 276,
168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BVEC4 = 277,
169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IVEC2 = 278,
170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IVEC3 = 279,
171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IVEC4 = 280,
172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UVEC2 = 281,
173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UVEC3 = 282,
174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UVEC4 = 283,
175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VEC2 = 284,
176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VEC3 = 285,
177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VEC4 = 286,
178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CENTROID = 287,
179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IN_TOK = 288,
180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     OUT_TOK = 289,
181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INOUT_TOK = 290,
182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UNIFORM = 291,
183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VARYING = 292,
184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     NOPERSPECTIVE = 293,
185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FLAT = 294,
186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SMOOTH = 295,
187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT2X2 = 296,
188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT2X3 = 297,
189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT2X4 = 298,
190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT3X2 = 299,
191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT3X3 = 300,
192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT3X4 = 301,
193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT4X2 = 302,
194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT4X3 = 303,
195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MAT4X4 = 304,
196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER1D = 305,
197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2D = 306,
198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER3D = 307,
199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLERCUBE = 308,
200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER1DSHADOW = 309,
201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2DSHADOW = 310,
202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLERCUBESHADOW = 311,
203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER1DARRAY = 312,
204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2DARRAY = 313,
205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER1DARRAYSHADOW = 314,
206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2DARRAYSHADOW = 315,
207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER1D = 316,
208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER2D = 317,
209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER3D = 318,
210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLERCUBE = 319,
211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER1DARRAY = 320,
212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER2DARRAY = 321,
213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER1D = 322,
214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER2D = 323,
215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER3D = 324,
216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLERCUBE = 325,
217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER1DARRAY = 326,
218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER2DARRAY = 327,
219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2DRECT = 328,
220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLER2DRECT = 329,
221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLER2DRECT = 330,
222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER2DRECTSHADOW = 331,
223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLERBUFFER = 332,
224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ISAMPLERBUFFER = 333,
225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USAMPLERBUFFER = 334,
226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLEREXTERNALOES = 335,
227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     STRUCT = 336,
228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VOID_TOK = 337,
229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     WHILE = 338,
230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IDENTIFIER = 339,
231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     TYPE_IDENTIFIER = 340,
232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     NEW_IDENTIFIER = 341,
233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FLOATCONSTANT = 342,
234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INTCONSTANT = 343,
235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UINTCONSTANT = 344,
236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     BOOLCONSTANT = 345,
237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FIELD_SELECTION = 346,
238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LEFT_OP = 347,
239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     RIGHT_OP = 348,
240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INC_OP = 349,
241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DEC_OP = 350,
242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LE_OP = 351,
243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     GE_OP = 352,
244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     EQ_OP = 353,
245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     NE_OP = 354,
246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     AND_OP = 355,
247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     OR_OP = 356,
248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     XOR_OP = 357,
249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MUL_ASSIGN = 358,
250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DIV_ASSIGN = 359,
251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ADD_ASSIGN = 360,
252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MOD_ASSIGN = 361,
253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LEFT_ASSIGN = 362,
254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     RIGHT_ASSIGN = 363,
255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     AND_ASSIGN = 364,
256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     XOR_ASSIGN = 365,
257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     OR_ASSIGN = 366,
258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SUB_ASSIGN = 367,
259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INVARIANT = 368,
260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LOWP = 369,
261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     MEDIUMP = 370,
262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     HIGHP = 371,
263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SUPERP = 372,
264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRECISION = 373,
265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VERSION_TOK = 374,
266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     EXTENSION = 375,
267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LINE = 376,
268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     COLON = 377,
269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     EOL = 378,
270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INTERFACE = 379,
271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     OUTPUT = 380,
272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRAGMA_DEBUG_ON = 381,
273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRAGMA_DEBUG_OFF = 382,
274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRAGMA_OPTIMIZE_ON = 383,
275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRAGMA_OPTIMIZE_OFF = 384,
276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PRAGMA_INVARIANT_ALL = 385,
277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LAYOUT_TOK = 386,
278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ASM = 387,
279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CLASS = 388,
280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UNION = 389,
281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ENUM = 390,
282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     TYPEDEF = 391,
283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     TEMPLATE = 392,
284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     THIS = 393,
285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PACKED_TOK = 394,
286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     GOTO = 395,
287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INLINE_TOK = 396,
288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     NOINLINE = 397,
289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     VOLATILE = 398,
290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PUBLIC_TOK = 399,
291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     STATIC = 400,
292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     EXTERN = 401,
293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     EXTERNAL = 402,
294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     LONG_TOK = 403,
295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SHORT_TOK = 404,
296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DOUBLE_TOK = 405,
297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     HALF = 406,
298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FIXED_TOK = 407,
299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UNSIGNED = 408,
300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     INPUT_TOK = 409,
301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     OUPTUT = 410,
302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     HVEC2 = 411,
303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     HVEC3 = 412,
304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     HVEC4 = 413,
305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DVEC2 = 414,
306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DVEC3 = 415,
307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     DVEC4 = 416,
308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FVEC2 = 417,
309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FVEC3 = 418,
310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FVEC4 = 419,
311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SAMPLER3DRECT = 420,
312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     SIZEOF = 421,
313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     CAST = 422,
314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     NAMESPACE = 423,
315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     USING = 424,
316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ERROR_TOK = 425,
317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     COMMON = 426,
318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     PARTITION = 427,
319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ACTIVE = 428,
320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     FILTER = 429,
321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE1D = 430,
322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE2D = 431,
323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE3D = 432,
324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGECUBE = 433,
325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE1DARRAY = 434,
326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE2DARRAY = 435,
327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGE1D = 436,
328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGE2D = 437,
329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGE3D = 438,
330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGECUBE = 439,
331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGE1DARRAY = 440,
332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGE2DARRAY = 441,
333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGE1D = 442,
334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGE2D = 443,
335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGE3D = 444,
336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGECUBE = 445,
337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGE1DARRAY = 446,
338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGE2DARRAY = 447,
339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE1DSHADOW = 448,
340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE2DSHADOW = 449,
341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGEBUFFER = 450,
342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IIMAGEBUFFER = 451,
343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     UIMAGEBUFFER = 452,
344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE1DARRAYSHADOW = 453,
345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     IMAGE2DARRAYSHADOW = 454,
346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ROW_MAJOR = 455
347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   };
348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Tokens.  */
350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ATTRIBUTE 258
351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CONST_TOK 259
352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BOOL_TOK 260
353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLOAT_TOK 261
354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INT_TOK 262
355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UINT_TOK 263
356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BREAK 264
357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CONTINUE 265
358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DO 266
359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ELSE 267
360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FOR 268
361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IF 269
362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DISCARD 270
363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define RETURN 271
364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SWITCH 272
365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CASE 273
366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DEFAULT 274
367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BVEC2 275
368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BVEC3 276
369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BVEC4 277
370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IVEC2 278
371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IVEC3 279
372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IVEC4 280
373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UVEC2 281
374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UVEC3 282
375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UVEC4 283
376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VEC2 284
377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VEC3 285
378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VEC4 286
379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CENTROID 287
380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IN_TOK 288
381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define OUT_TOK 289
382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INOUT_TOK 290
383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UNIFORM 291
384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VARYING 292
385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define NOPERSPECTIVE 293
386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLAT 294
387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SMOOTH 295
388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT2X2 296
389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT2X3 297
390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT2X4 298
391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT3X2 299
392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT3X3 300
393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT3X4 301
394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT4X2 302
395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT4X3 303
396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MAT4X4 304
397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER1D 305
398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2D 306
399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER3D 307
400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLERCUBE 308
401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER1DSHADOW 309
402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2DSHADOW 310
403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLERCUBESHADOW 311
404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER1DARRAY 312
405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2DARRAY 313
406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER1DARRAYSHADOW 314
407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2DARRAYSHADOW 315
408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER1D 316
409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER2D 317
410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER3D 318
411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLERCUBE 319
412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER1DARRAY 320
413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER2DARRAY 321
414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER1D 322
415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER2D 323
416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER3D 324
417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLERCUBE 325
418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER1DARRAY 326
419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER2DARRAY 327
420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2DRECT 328
421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLER2DRECT 329
422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLER2DRECT 330
423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER2DRECTSHADOW 331
424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLERBUFFER 332
425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ISAMPLERBUFFER 333
426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USAMPLERBUFFER 334
427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLEREXTERNALOES 335
428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define STRUCT 336
429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VOID_TOK 337
430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define WHILE 338
431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IDENTIFIER 339
432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define TYPE_IDENTIFIER 340
433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define NEW_IDENTIFIER 341
434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FLOATCONSTANT 342
435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INTCONSTANT 343
436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UINTCONSTANT 344
437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define BOOLCONSTANT 345
438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FIELD_SELECTION 346
439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LEFT_OP 347
440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define RIGHT_OP 348
441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INC_OP 349
442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DEC_OP 350
443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LE_OP 351
444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define GE_OP 352
445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EQ_OP 353
446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define NE_OP 354
447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define AND_OP 355
448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define OR_OP 356
449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define XOR_OP 357
450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MUL_ASSIGN 358
451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DIV_ASSIGN 359
452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ADD_ASSIGN 360
453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MOD_ASSIGN 361
454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LEFT_ASSIGN 362
455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define RIGHT_ASSIGN 363
456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define AND_ASSIGN 364
457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define XOR_ASSIGN 365
458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define OR_ASSIGN 366
459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SUB_ASSIGN 367
460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INVARIANT 368
461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LOWP 369
462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define MEDIUMP 370
463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define HIGHP 371
464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SUPERP 372
465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRECISION 373
466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VERSION_TOK 374
467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EXTENSION 375
468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LINE 376
469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define COLON 377
470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EOL 378
471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INTERFACE 379
472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define OUTPUT 380
473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA_DEBUG_ON 381
474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA_DEBUG_OFF 382
475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA_OPTIMIZE_ON 383
476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA_OPTIMIZE_OFF 384
477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PRAGMA_INVARIANT_ALL 385
478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LAYOUT_TOK 386
479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ASM 387
480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CLASS 388
481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UNION 389
482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ENUM 390
483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define TYPEDEF 391
484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define TEMPLATE 392
485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define THIS 393
486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PACKED_TOK 394
487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define GOTO 395
488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INLINE_TOK 396
489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define NOINLINE 397
490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define VOLATILE 398
491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PUBLIC_TOK 399
492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define STATIC 400
493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EXTERN 401
494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define EXTERNAL 402
495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define LONG_TOK 403
496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SHORT_TOK 404
497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DOUBLE_TOK 405
498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define HALF 406
499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FIXED_TOK 407
500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UNSIGNED 408
501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define INPUT_TOK 409
502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define OUPTUT 410
503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define HVEC2 411
504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define HVEC3 412
505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define HVEC4 413
506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DVEC2 414
507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DVEC3 415
508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define DVEC4 416
509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FVEC2 417
510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FVEC3 418
511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FVEC4 419
512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SAMPLER3DRECT 420
513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define SIZEOF 421
514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define CAST 422
515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define NAMESPACE 423
516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define USING 424
517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ERROR_TOK 425
518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define COMMON 426
519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define PARTITION 427
520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ACTIVE 428
521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define FILTER 429
522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE1D 430
523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE2D 431
524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE3D 432
525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGECUBE 433
526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE1DARRAY 434
527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE2DARRAY 435
528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGE1D 436
529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGE2D 437
530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGE3D 438
531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGECUBE 439
532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGE1DARRAY 440
533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGE2DARRAY 441
534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGE1D 442
535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGE2D 443
536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGE3D 444
537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGECUBE 445
538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGE1DARRAY 446
539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGE2DARRAY 447
540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE1DSHADOW 448
541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE2DSHADOW 449
542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGEBUFFER 450
543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IIMAGEBUFFER 451
544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define UIMAGEBUFFER 452
545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE1DARRAYSHADOW 453
546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define IMAGE2DARRAYSHADOW 454
547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define ROW_MAJOR 455
548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef union YYSTYPE
554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 293 of yacc.c  */
557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 59 "src/src/glsl/glsl_parser.yy"
558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   int n;
560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   float real;
561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   const char *identifier;
562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   struct ast_type_qualifier type_qualifier;
564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_node *node;
566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_type_specifier *type_specifier;
567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_fully_specified_type *fully_specified_type;
568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_function *function;
569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_parameter_declarator *parameter_declarator;
570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_function_definition *function_definition;
571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_compound_statement *compound_statement;
572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_expression *expression;
573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_declarator_list *declarator_list;
574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_struct_specifier *struct_specifier;
575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_declaration *declaration;
576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_switch_body *switch_body;
577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_case_label *case_label;
578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_case_label_list *case_label_list;
579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_case_statement *case_statement;
580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   ast_case_statement_list *case_statement_list;
581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   struct {
583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      ast_node *cond;
584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      ast_expression *rest;
585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   } for_rest_statement;
586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   struct {
588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      ast_node *then_statement;
589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      ast_node *else_statement;
590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   } selection_rest_statement;
591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 293 of yacc.c  */
595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 596 "src/chromium_gensrc/mesa/glsl_parser.cc"
596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} YYSTYPE;
597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSTYPE_IS_TRIVIAL 1
598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define yystype YYSTYPE /* obsolescent; will be withdrawn */
599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSTYPE_IS_DECLARED 1
600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef struct YYLTYPE
604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int first_line;
606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int first_column;
607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int last_line;
608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int last_column;
609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} YYLTYPE;
610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYLTYPE_IS_DECLARED 1
612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYLTYPE_IS_TRIVIAL 1
613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy the second part of user declarations.  */
617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 343 of yacc.c  */
620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 621 "src/chromium_gensrc/mesa/glsl_parser.cc"
621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef short
623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# undef short
624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYTYPE_UINT8
627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef YYTYPE_UINT8 yytype_uint8;
628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned char yytype_uint8;
630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYTYPE_INT8
633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef YYTYPE_INT8 yytype_int8;
634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#elif (defined __STDC__ || defined __C99__FUNC__ \
635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef signed char yytype_int8;
637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef short int yytype_int8;
639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYTYPE_UINT16
642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef YYTYPE_UINT16 yytype_uint16;
643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef unsigned short int yytype_uint16;
645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYTYPE_INT16
648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef YYTYPE_INT16 yytype_int16;
649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgtypedef short int yytype_int16;
651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYSIZE_T
654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifdef __SIZE_TYPE__
655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSIZE_T __SIZE_TYPE__
656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# elif defined size_t
657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSIZE_T size_t
658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSIZE_T size_t
662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# else
663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSIZE_T unsigned int
664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_
670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# if defined YYENABLE_NLS && YYENABLE_NLS
671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if ENABLE_NLS
672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YY_(msgid) dgettext ("bison-runtime", msgid)
674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef YY_
677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YY_(msgid) msgid
678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Suppress unused-variable warnings by "using" E.  */
682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if ! defined lint || defined __GNUC__
683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYUSE(e) ((void) (e))
684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYUSE(e) /* empty */
686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Identity function, used to suppress warnings about constant conditions.  */
689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef lint
690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYID(n) (n)
691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int
695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYID (int yyi)
696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int
698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYID (yyi)
699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyi;
700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return yyi;
703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if ! defined yyoverflow || YYERROR_VERBOSE
707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The parser invokes alloca or malloc; define the necessary symbols.  */
709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifdef YYSTACK_USE_ALLOCA
711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if YYSTACK_USE_ALLOCA
712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   ifdef __GNUC__
713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    define YYSTACK_ALLOC __builtin_alloca
714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   elif defined __BUILTIN_VA_ARG_INCR
715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   elif defined _AIX
717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    define YYSTACK_ALLOC __alloca
718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   elif defined _MSC_VER
719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    define alloca _alloca
721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   else
722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    define YYSTACK_ALLOC alloca
723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#     ifndef EXIT_SUCCESS
727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#      define EXIT_SUCCESS 0
728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#     endif
729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    endif
730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   endif
731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifdef YYSTACK_ALLOC
735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   /* Pacify GCC's `empty if-body' warning.  */
736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  ifndef YYSTACK_ALLOC_MAXIMUM
738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The OS might guarantee only one guard page at the bottom of the stack,
739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       and a page size can be as small as 4096 bytes.  So we cannot safely
740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       to allow for a few compiler-allocated temporary stack slots.  */
742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# else
745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSTACK_ALLOC YYMALLOC
746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYSTACK_FREE YYFREE
747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  ifndef YYSTACK_ALLOC_MAXIMUM
748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       && ! ((defined YYMALLOC || defined malloc) \
752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     && (defined YYFREE || defined free)))
753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   ifndef EXIT_SUCCESS
755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#    define EXIT_SUCCESS 0
756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   endif
757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  ifndef YYMALLOC
759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYMALLOC malloc
760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   endif
764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  ifndef YYFREE
766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYFREE free
767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgvoid free (void *); /* INFRINGES ON USER NAME SPACE */
770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   endif
771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (! defined yyoverflow \
777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     && (! defined __cplusplus \
778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* A type that is properly aligned for any stack member.  */
782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgunion yyalloc
783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yytype_int16 yyss_alloc;
785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSTYPE yyvs_alloc;
786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYLTYPE yyls_alloc;
787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The size of the maximum gap between one aligned stack and the next.  */
790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The size of an array large to enough to hold all stacks, each with
793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   N elements.  */
794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSTACK_BYTES(N) \
795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      + 2 * YYSTACK_GAP_MAXIMUM)
797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYCOPY_NEEDED 1
799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Relocate STACK from its old location to the new one.  The
801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   local variables YYSIZE and YYSTACKSIZE give the old and new number of
802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   elements in the stack, and YYPTR gives the new location of the
803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   stack.  Advance YYPTR to a properly aligned location for the next
804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   stack.  */
805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    do									\
807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      {									\
808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYSIZE_T yynewbytes;						\
809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	Stack = &yyptr->Stack_alloc;					\
811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyptr += yynewbytes / sizeof (*yyptr);				\
813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }									\
814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    while (YYID (0))
815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy COUNT objects from FROM to TO.  The source and destination do
820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   not overlap.  */
821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef YYCOPY
822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if defined __GNUC__ && 1 < __GNUC__
823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYCOPY(To, From, Count) \
824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  else
826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define YYCOPY(To, From, Count)		\
827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      do					\
828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{					\
829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  YYSIZE_T yyi;				\
830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  for (yyi = 0; yyi < (Count); yyi++)	\
831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    (To)[yyi] = (From)[yyi];		\
832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}					\
833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      while (YYID (0))
834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* !YYCOPY_NEEDED */
837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYFINAL -- State number of the termination state.  */
839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYFINAL  5
840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYLAST -- Last index in YYTABLE.  */
841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYLAST   3101
842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYNTOKENS -- Number of terminals.  */
844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYNTOKENS  225
845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYNNTS -- Number of nonterminals.  */
846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYNNTS  103
847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYNRULES -- Number of rules.  */
848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYNRULES  318
849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYNRULES -- Number of states.  */
850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYNSTATES  483
851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYUNDEFTOK  2
854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYMAXUTOK   455
855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYTRANSLATE(YYX)						\
857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint8 yytranslate[] =
861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,   209,     2,     2,     2,   213,   216,     2,
866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     201,   202,   211,   207,   206,   208,   205,   212,     2,     2,
867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,   220,   222,
868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     214,   221,   215,   219,     2,     2,     2,     2,     2,     2,
869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,   203,     2,   204,   217,     2,     2,     2,     2,     2,
872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,   223,   218,   224,   210,     2,     2,     2,
875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     195,   196,   197,   198,   199,   200
908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYDEBUG
911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   YYRHS.  */
913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yyprhs[] =
914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     3,     4,     9,    10,    14,    17,    20,    23,
916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      26,    29,    30,    33,    35,    37,    39,    45,    47,    50,
917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    54,    56,    58,    60,    62,    64,    68,    70,    75,
918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    81,    84,    87,    89,    91,    93,    97,   100,   103,
919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     106,   108,   111,   115,   118,   120,   122,   124,   127,   130,
920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     133,   135,   138,   142,   145,   147,   150,   153,   156,   158,
921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     160,   162,   164,   166,   170,   174,   178,   180,   184,   188,
922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     190,   194,   198,   200,   204,   208,   212,   216,   218,   222,
923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     226,   228,   232,   234,   238,   240,   244,   246,   250,   252,
924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     256,   258,   262,   264,   270,   272,   276,   278,   280,   282,
925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     284,   286,   288,   290,   292,   294,   296,   298,   300,   304,
926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     306,   309,   312,   317,   319,   322,   324,   326,   329,   333,
927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     337,   340,   346,   350,   353,   357,   360,   361,   363,   365,
928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     367,   369,   371,   375,   381,   388,   396,   405,   411,   413,
929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     416,   421,   427,   434,   442,   447,   450,   452,   455,   460,
930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     462,   466,   468,   472,   474,   476,   478,   480,   482,   484,
931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     486,   488,   490,   493,   495,   498,   501,   505,   507,   509,
932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     511,   513,   516,   518,   520,   523,   526,   528,   530,   533,
933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     535,   539,   544,   546,   548,   550,   552,   554,   556,   558,
934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     560,   562,   564,   566,   568,   570,   572,   574,   576,   578,
935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     580,   582,   584,   586,   588,   590,   592,   594,   596,   598,
936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     600,   602,   604,   606,   608,   610,   612,   614,   616,   618,
937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     620,   622,   624,   626,   628,   630,   632,   634,   636,   638,
938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     640,   642,   644,   646,   648,   650,   652,   654,   656,   658,
939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     660,   662,   664,   666,   668,   670,   676,   681,   683,   686,
940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     690,   692,   696,   698,   703,   705,   707,   709,   711,   713,
941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     715,   717,   719,   721,   723,   726,   727,   732,   734,   736,
942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     739,   743,   745,   748,   750,   753,   759,   763,   765,   767,
943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     772,   778,   781,   785,   789,   792,   794,   797,   800,   803,
944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     805,   808,   814,   822,   829,   831,   833,   835,   836,   839,
945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     843,   846,   849,   852,   856,   859,   861,   863,   865,   867,
946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     870,   877,   885,   887,   890,   891,   893,   899,   904
947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yyrhs[] =
951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     226,     0,    -1,    -1,   228,   230,   227,   233,    -1,    -1,
953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     119,    88,   123,    -1,   126,   123,    -1,   127,   123,    -1,
954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     128,   123,    -1,   129,   123,    -1,   130,   123,    -1,    -1,
955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     230,   232,    -1,    84,    -1,    85,    -1,    86,    -1,   120,
956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     231,   122,   231,   123,    -1,   321,    -1,   233,   321,    -1,
957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    -1,    86,    -1,   234,    -1,    88,    -1,    89,    -1,
958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      87,    -1,    90,    -1,   201,   265,   202,    -1,   235,    -1,
959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     236,   203,   237,   204,    -1,   238,    -1,   236,   205,   231,
960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   236,    94,    -1,   236,    95,    -1,   265,    -1,   239,
961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   240,    -1,   236,   205,   245,    -1,   242,   202,    -1,
962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     241,   202,    -1,   243,    82,    -1,   243,    -1,   243,   263,
963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   242,   206,   263,    -1,   244,   201,    -1,   287,    -1,
964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     234,    -1,    91,    -1,   247,   202,    -1,   246,   202,    -1,
965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     248,    82,    -1,   248,    -1,   248,   263,    -1,   247,   206,
966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     263,    -1,   234,   201,    -1,   236,    -1,    94,   249,    -1,
967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      95,   249,    -1,   250,   249,    -1,   207,    -1,   208,    -1,
968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     209,    -1,   210,    -1,   249,    -1,   251,   211,   249,    -1,
969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     251,   212,   249,    -1,   251,   213,   249,    -1,   251,    -1,
970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     252,   207,   251,    -1,   252,   208,   251,    -1,   252,    -1,
971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     253,    92,   252,    -1,   253,    93,   252,    -1,   253,    -1,
972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     254,   214,   253,    -1,   254,   215,   253,    -1,   254,    96,
973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     253,    -1,   254,    97,   253,    -1,   254,    -1,   255,    98,
974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     254,    -1,   255,    99,   254,    -1,   255,    -1,   256,   216,
975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     255,    -1,   256,    -1,   257,   217,   256,    -1,   257,    -1,
976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     258,   218,   257,    -1,   258,    -1,   259,   100,   258,    -1,
977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     259,    -1,   260,   102,   259,    -1,   260,    -1,   261,   101,
978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     260,    -1,   261,    -1,   261,   219,   265,   220,   263,    -1,
979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     262,    -1,   249,   264,   263,    -1,   221,    -1,   103,    -1,
980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     104,    -1,   106,    -1,   105,    -1,   112,    -1,   107,    -1,
981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     108,    -1,   109,    -1,   110,    -1,   111,    -1,   263,    -1,
982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     265,   206,   263,    -1,   262,    -1,   268,   222,    -1,   276,
983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,    -1,   118,   291,   288,   222,    -1,   323,    -1,   269,
984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,    -1,   271,    -1,   270,    -1,   271,   273,    -1,   270,
985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     206,   273,    -1,   278,   234,   201,    -1,   287,   231,    -1,
986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     287,   231,   203,   266,   204,    -1,   284,   274,   272,    -1,
987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     274,   272,    -1,   284,   274,   275,    -1,   274,   275,    -1,
988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    33,    -1,    34,    -1,    35,    -1,   287,    -1,   277,
989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   276,   206,   231,    -1,   276,   206,   231,   203,   204,
990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   276,   206,   231,   203,   266,   204,    -1,   276,   206,
991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     231,   203,   204,   221,   297,    -1,   276,   206,   231,   203,
992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     266,   204,   221,   297,    -1,   276,   206,   231,   221,   297,
993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   278,    -1,   278,   231,    -1,   278,   231,   203,   204,
994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   278,   231,   203,   266,   204,    -1,   278,   231,   203,
995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     204,   221,   297,    -1,   278,   231,   203,   266,   204,   221,
996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     297,    -1,   278,   231,   221,   297,    -1,   113,   234,    -1,
997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     287,    -1,   285,   287,    -1,   131,   201,   280,   202,    -1,
998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     281,    -1,   280,   206,   281,    -1,   231,    -1,   231,   221,
999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      88,    -1,   282,    -1,   200,    -1,   139,    -1,    40,    -1,
1000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      39,    -1,    38,    -1,     4,    -1,   286,    -1,   279,    -1,
1001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     279,   286,    -1,   283,    -1,   283,   286,    -1,   113,   286,
1002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   113,   283,   286,    -1,   113,    -1,     4,    -1,     3,
1003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    37,    -1,    32,    37,    -1,    33,    -1,    34,    -1,
1004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,    33,    -1,    32,    34,    -1,    36,    -1,   288,    -1,
1005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     291,   288,    -1,   289,    -1,   289,   203,   204,    -1,   289,
1006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     203,   266,   204,    -1,   290,    -1,   292,    -1,    85,    -1,
1007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      82,    -1,     6,    -1,     7,    -1,     8,    -1,     5,    -1,
1008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      29,    -1,    30,    -1,    31,    -1,    20,    -1,    21,    -1,
1009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
1010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      27,    -1,    28,    -1,    41,    -1,    42,    -1,    43,    -1,
1011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    -1,    45,    -1,    46,    -1,    47,    -1,    48,    -1,
1012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      49,    -1,    50,    -1,    51,    -1,    73,    -1,    52,    -1,
1013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      53,    -1,    80,    -1,    54,    -1,    55,    -1,    76,    -1,
1014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
1015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    -1,    61,    -1,    62,    -1,    74,    -1,    63,    -1,
1016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    -1,    65,    -1,    66,    -1,    78,    -1,    67,    -1,
1017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      68,    -1,    75,    -1,    69,    -1,    70,    -1,    71,    -1,
1018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      72,    -1,    79,    -1,   116,    -1,   115,    -1,   114,    -1,
1019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      81,   231,   223,   293,   224,    -1,    81,   223,   293,   224,
1020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   294,    -1,   293,   294,    -1,   287,   295,   222,    -1,
1021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     296,    -1,   295,   206,   296,    -1,   231,    -1,   231,   203,
1022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     266,   204,    -1,   263,    -1,   267,    -1,   301,    -1,   300,
1023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   298,    -1,   306,    -1,   307,    -1,   310,    -1,   316,
1024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   320,    -1,   223,   224,    -1,    -1,   223,   302,   305,
1025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     224,    -1,   304,    -1,   300,    -1,   223,   224,    -1,   223,
1026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     305,   224,    -1,   299,    -1,   305,   299,    -1,   222,    -1,
1027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     265,   222,    -1,    14,   201,   265,   202,   308,    -1,   299,
1028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      12,   299,    -1,   299,    -1,   265,    -1,   278,   231,   221,
1029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     297,    -1,    17,   201,   265,   202,   311,    -1,   223,   224,
1030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   223,   315,   224,    -1,    18,   265,   220,    -1,    19,
1031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     220,    -1,   312,    -1,   313,   312,    -1,   313,   299,    -1,
1032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     314,   299,    -1,   314,    -1,   315,   314,    -1,    83,   201,
1033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     309,   202,   303,    -1,    11,   299,    83,   201,   265,   202,
1034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,    -1,    13,   201,   317,   319,   202,   303,    -1,   306,
1035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   298,    -1,   309,    -1,    -1,   318,   222,    -1,   318,
1036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   265,    -1,    10,   222,    -1,     9,   222,    -1,    16,
1037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,    -1,    16,   265,   222,    -1,    15,   222,    -1,   322,
1038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   267,    -1,   229,    -1,   327,    -1,   268,   304,    -1,
1039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      36,    86,   223,   324,   224,   222,    -1,   279,    36,    86,
1040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     223,   324,   224,   222,    -1,   326,    -1,   326,   324,    -1,
1041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    36,    -1,   279,   325,   287,   295,   222,    -1,   325,
1042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     287,   295,   222,    -1,   279,    36,   222,    -1
1043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yyrline[] =
1047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   243,   243,   242,   254,   256,   309,   310,   311,   312,
1049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     313,   325,   327,   331,   332,   333,   337,   346,   354,   365,
1050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     366,   370,   377,   384,   391,   398,   405,   412,   413,   419,
1051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     423,   430,   436,   445,   449,   453,   454,   463,   464,   468,
1052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     469,   473,   479,   491,   495,   501,   508,   518,   519,   523,
1053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     524,   528,   534,   546,   557,   558,   564,   570,   580,   581,
1054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     582,   583,   587,   588,   594,   600,   609,   610,   616,   625,
1055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     626,   632,   641,   642,   648,   654,   660,   669,   670,   676,
1056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     685,   686,   695,   696,   705,   706,   715,   716,   725,   726,
1057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     735,   736,   745,   746,   755,   756,   765,   766,   767,   768,
1058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     769,   770,   771,   772,   773,   774,   775,   779,   783,   799,
1059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     803,   808,   812,   818,   825,   829,   830,   834,   839,   847,
1060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     861,   871,   886,   893,   898,   909,   922,   925,   930,   935,
1061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     944,   948,   949,   959,   969,   979,   989,   999,  1013,  1020,
1062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1029,  1038,  1047,  1056,  1065,  1074,  1088,  1095,  1106,  1113,
1063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1114,  1124,  1192,  1238,  1260,  1265,  1273,  1278,  1283,  1291,
1064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1299,  1300,  1301,  1306,  1307,  1312,  1317,  1323,  1331,  1336,
1065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1341,  1346,  1352,  1357,  1362,  1367,  1372,  1380,  1384,  1392,
1066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1393,  1399,  1408,  1414,  1420,  1429,  1430,  1431,  1432,  1433,
1067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1434,  1435,  1436,  1437,  1438,  1439,  1440,  1441,  1442,  1443,
1068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1444,  1445,  1446,  1447,  1448,  1449,  1450,  1451,  1452,  1453,
1069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1454,  1455,  1456,  1457,  1458,  1459,  1460,  1461,  1462,  1463,
1070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1464,  1465,  1466,  1467,  1468,  1469,  1470,  1471,  1472,  1473,
1071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1474,  1475,  1476,  1477,  1478,  1479,  1480,  1481,  1482,  1483,
1072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1484,  1485,  1489,  1499,  1509,  1522,  1529,  1538,  1543,  1551,
1073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1566,  1571,  1579,  1585,  1594,  1598,  1604,  1605,  1609,  1610,
1074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1611,  1612,  1613,  1614,  1618,  1625,  1624,  1638,  1639,  1643,
1075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1649,  1658,  1668,  1680,  1686,  1695,  1704,  1709,  1717,  1721,
1076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1739,  1747,  1752,  1760,  1765,  1773,  1781,  1789,  1797,  1805,
1077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1813,  1821,  1828,  1835,  1845,  1846,  1850,  1852,  1858,  1863,
1078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1872,  1878,  1884,  1890,  1896,  1905,  1906,  1907,  1908,  1912,
1079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1926,  1942,  1965,  1970,  1978,  1980,  1984,  1999,  2016
1080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const char *const yytname[] =
1087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "$end", "error", "$undefined", "ATTRIBUTE", "CONST_TOK", "BOOL_TOK",
1089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "FLOAT_TOK", "INT_TOK", "UINT_TOK", "BREAK", "CONTINUE", "DO", "ELSE",
1090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "BVEC2",
1091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "UVEC2", "UVEC3", "UVEC4",
1092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "VEC2", "VEC3", "VEC4", "CENTROID", "IN_TOK", "OUT_TOK", "INOUT_TOK",
1093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "UNIFORM", "VARYING", "NOPERSPECTIVE", "FLAT", "SMOOTH", "MAT2X2",
1094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3",
1095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "MAT4X4", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
1096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
1097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
1098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
1099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
1100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
1101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "USAMPLER2DARRAY", "SAMPLER2DRECT", "ISAMPLER2DRECT", "USAMPLER2DRECT",
1102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "SAMPLER2DRECTSHADOW", "SAMPLERBUFFER", "ISAMPLERBUFFER",
1103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "USAMPLERBUFFER", "SAMPLEREXTERNALOES", "STRUCT", "VOID_TOK", "WHILE",
1104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "IDENTIFIER", "TYPE_IDENTIFIER", "NEW_IDENTIFIER", "FLOATCONSTANT",
1105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
1106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
1107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
1108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP",
1110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "HIGHP", "SUPERP", "PRECISION", "VERSION_TOK", "EXTENSION", "LINE",
1111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "COLON", "EOL", "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON",
1112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF",
1113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "PRAGMA_INVARIANT_ALL", "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM",
1114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK",
1115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL",
1116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED",
1117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3",
1118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "DVEC4", "FVEC2", "FVEC3", "FVEC4", "SAMPLER3DRECT", "SIZEOF", "CAST",
1119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "NAMESPACE", "USING", "ERROR_TOK", "COMMON", "PARTITION", "ACTIVE",
1120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "FILTER", "IMAGE1D", "IMAGE2D", "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY",
1121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "IMAGE2DARRAY", "IIMAGE1D", "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE",
1122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "IIMAGE1DARRAY", "IIMAGE2DARRAY", "UIMAGE1D", "UIMAGE2D", "UIMAGE3D",
1123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "UIMAGECUBE", "UIMAGE1DARRAY", "UIMAGE2DARRAY", "IMAGE1DSHADOW",
1124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "IMAGE2DSHADOW", "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER",
1125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "IMAGE1DARRAYSHADOW", "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'",
1126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'",
1127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'",
1128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "'{'", "'}'", "$accept", "translation_unit", "$@1", "version_statement",
1129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "pragma_statement", "extension_statement_list", "any_identifier",
1130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "extension_statement", "external_declaration_list",
1131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "variable_identifier", "primary_expression", "postfix_expression",
1132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "integer_expression", "function_call", "function_call_or_method",
1133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "function_call_generic", "function_call_header_no_parameters",
1134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "function_call_header_with_parameters", "function_call_header",
1135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "function_identifier", "method_call_generic",
1136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "method_call_header_no_parameters", "method_call_header_with_parameters",
1137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "method_call_header", "unary_expression", "unary_operator",
1138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "multiplicative_expression", "additive_expression", "shift_expression",
1139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "relational_expression", "equality_expression", "and_expression",
1140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "exclusive_or_expression", "inclusive_or_expression",
1141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "logical_and_expression", "logical_xor_expression",
1142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "logical_or_expression", "conditional_expression",
1143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "assignment_expression", "assignment_operator", "expression",
1144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "constant_expression", "declaration", "function_prototype",
1145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "function_declarator", "function_header_with_parameters",
1146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "function_header", "parameter_declarator", "parameter_declaration",
1147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "parameter_qualifier", "parameter_type_specifier",
1148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "init_declarator_list", "single_declaration", "fully_specified_type",
1149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
1150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "uniform_block_layout_qualifier", "interpolation_qualifier",
1151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "parameter_type_qualifier", "type_qualifier", "storage_qualifier",
1152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "type_specifier", "type_specifier_no_prec", "type_specifier_nonarray",
1153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "basic_type_specifier_nonarray", "precision_qualifier",
1154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "struct_specifier", "struct_declaration_list", "struct_declaration",
1155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "struct_declarator_list", "struct_declarator", "initializer",
1156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "declaration_statement", "statement", "simple_statement",
1157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "compound_statement", "$@2", "statement_no_new_scope",
1158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "compound_statement_no_new_scope", "statement_list",
1159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "expression_statement", "selection_statement",
1160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "selection_rest_statement", "condition", "switch_statement",
1161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "switch_body", "case_label", "case_label_list", "case_statement",
1162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "case_statement_list", "iteration_statement", "for_init_statement",
1163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "conditionopt", "for_rest_statement", "jump_statement",
1164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "external_declaration", "function_definition", "uniform_block",
1165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  "member_list", "uniformopt", "member_declaration", "layout_defaults", 0
1166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
1168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifdef YYPRINT
1170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   token YYLEX-NUM.  */
1172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yytoknum[] =
1173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     455,    40,    41,    91,    93,    46,    44,    43,    45,    33,
1195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     126,    42,    47,    37,    60,    62,    38,    94,   124,    63,
1196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      58,    61,    59,   123,   125
1197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
1199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yyr1[] =
1202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   225,   227,   226,   228,   228,   229,   229,   229,   229,
1204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     229,   230,   230,   231,   231,   231,   232,   233,   233,   234,
1205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     234,   235,   235,   235,   235,   235,   235,   236,   236,   236,
1206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     236,   236,   236,   237,   238,   239,   239,   240,   240,   241,
1207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     241,   242,   242,   243,   244,   244,   244,   245,   245,   246,
1208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     246,   247,   247,   248,   249,   249,   249,   249,   250,   250,
1209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     250,   250,   251,   251,   251,   251,   252,   252,   252,   253,
1210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     253,   253,   254,   254,   254,   254,   254,   255,   255,   255,
1211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     256,   256,   257,   257,   258,   258,   259,   259,   260,   260,
1212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     261,   261,   262,   262,   263,   263,   264,   264,   264,   264,
1213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     264,   264,   264,   264,   264,   264,   264,   265,   265,   266,
1214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     267,   267,   267,   267,   268,   269,   269,   270,   270,   271,
1215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     272,   272,   273,   273,   273,   273,   274,   274,   274,   274,
1216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     275,   276,   276,   276,   276,   276,   276,   276,   277,   277,
1217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     277,   277,   277,   277,   277,   277,   278,   278,   279,   280,
1218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     280,   281,   281,   281,   282,   282,   283,   283,   283,   284,
1219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     285,   285,   285,   285,   285,   285,   285,   285,   286,   286,
1220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     286,   286,   286,   286,   286,   286,   286,   287,   287,   288,
1221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     288,   288,   289,   289,   289,   290,   290,   290,   290,   290,
1222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     290,   290,   291,   291,   291,   292,   292,   293,   293,   294,
1228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     295,   295,   296,   296,   297,   298,   299,   299,   300,   300,
1229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     300,   300,   300,   300,   301,   302,   301,   303,   303,   304,
1230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     304,   305,   305,   306,   306,   307,   308,   308,   309,   309,
1231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     310,   311,   311,   312,   312,   313,   313,   314,   314,   315,
1232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     315,   316,   316,   316,   317,   317,   318,   318,   319,   319,
1233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     320,   320,   320,   320,   320,   321,   321,   321,   321,   322,
1234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     323,   323,   324,   324,   325,   325,   326,   326,   327
1235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint8 yyr2[] =
1239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     2,     0,     4,     0,     3,     2,     2,     2,     2,
1241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     0,     2,     1,     1,     1,     5,     1,     2,     1,
1242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     3,     1,     4,     1,
1243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     2,     2,     1,     1,     1,     3,     2,     2,     2,
1244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     2,     3,     2,     1,     1,     1,     2,     2,     2,
1245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     2,     3,     2,     1,     2,     2,     2,     1,     1,
1246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     3,     3,     3,     1,     3,     3,     1,
1247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
1248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     3,     1,     3,     1,     3,     1,     3,     1,     3,
1249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     3,     1,     5,     1,     3,     1,     1,     1,     1,
1250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
1251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     4,     1,     2,     1,     1,     2,     3,     3,
1252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     5,     3,     2,     3,     2,     0,     1,     1,     1,
1253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     3,     5,     6,     7,     8,     5,     1,     2,
1254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       4,     5,     6,     7,     4,     2,     1,     2,     4,     1,
1255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
1256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     2,     1,     2,     2,     3,     1,     1,     1,
1257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     2,     1,     1,     2,     2,     1,     1,     2,     1,
1258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     1,     5,     4,     1,     2,     3,
1265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     3,     1,     4,     1,     1,     1,     1,     1,     1,
1266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       1,     1,     1,     1,     2,     0,     4,     1,     1,     2,
1267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     1,     2,     1,     2,     5,     3,     1,     1,     4,
1268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       5,     2,     3,     3,     2,     1,     2,     2,     2,     1,
1269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     5,     7,     6,     1,     1,     1,     0,     2,     3,
1270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       2,     2,     2,     3,     2,     1,     1,     1,     1,     2,
1271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       6,     7,     1,     2,     0,     1,     5,     4,     3
1272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   Performed when YYTABLE doesn't specify something else to do.  Zero
1276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   means the default is an error.  */
1277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yydefact[] =
1278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       4,     0,     0,    11,     0,     1,     2,     5,     0,     0,
1280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      12,    13,    14,    15,     0,   169,   168,   189,   186,   187,
1281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     188,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     190,   191,   192,     0,   172,   173,   176,   170,   158,   157,
1283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     156,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     211,   212,   214,   215,   217,   218,   220,   221,   222,   223,
1285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     224,   226,   227,   229,   230,   231,   232,   234,   235,   237,
1286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     238,   239,   240,   213,   228,   236,   219,   225,   233,   241,
1287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     216,     0,   185,   184,   167,   244,   243,   242,     0,     0,
1288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   307,     3,   306,     0,     0,
1289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     116,   126,     0,   131,   138,   161,   163,     0,   160,   146,
1290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     177,   179,   182,     0,   183,    17,   305,   113,   308,     0,
1291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     174,   175,   171,     0,     0,     0,   176,    19,    20,   145,
1292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   165,     0,     6,     7,     8,     9,    10,     0,    18,
1293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     110,     0,   309,   114,   126,   159,   127,   128,   129,   117,
1294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   126,     0,   111,    13,    15,   139,     0,   176,   162,
1295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     164,   147,     0,   178,     0,   314,     0,     0,   247,     0,
1296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     166,     0,   155,   154,   151,     0,   149,   153,     0,     0,
1297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,    24,    22,    23,
1298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    46,     0,     0,     0,    58,    59,    60,    61,   273,
1299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     265,   269,    21,    27,    54,    29,    34,    35,     0,     0,
1300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,     0,    62,     0,    66,    69,    72,    77,    80,    82,
1301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    86,    88,    90,    92,    94,   107,     0,   255,     0,
1302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     161,   146,   258,   271,   257,   256,     0,   259,   260,   261,
1303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     262,   263,   118,   123,   125,   130,     0,   132,     0,     0,
1304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     119,     0,   318,   180,    62,   109,     0,    44,    16,   315,
1305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     314,     0,     0,   314,   252,     0,   250,   246,   248,     0,
1306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     112,     0,   148,     0,   301,   300,     0,     0,     0,   304,
1307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     302,     0,     0,     0,    55,    56,     0,   264,     0,    31,
1308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,     0,     0,    38,    37,     0,   185,    41,    43,    97,
1309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      98,   100,    99,   102,   103,   104,   105,   106,   101,    96,
1310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,    57,     0,     0,     0,     0,     0,     0,     0,     0,
1311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   274,   176,   270,   272,   120,   122,   124,
1313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   140,     0,   254,   144,   314,   181,     0,     0,
1314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   313,     0,     0,   249,   245,   152,   150,     0,   295,
1315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     294,   297,     0,   303,     0,   167,   278,     0,   161,     0,
1316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      26,     0,     0,    33,    30,     0,    36,     0,     0,    50,
1317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      42,    95,    63,    64,    65,    67,    68,    70,    71,    75,
1318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      76,    73,    74,    78,    79,    81,    83,    85,    87,    89,
1319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      91,     0,   108,     0,   133,     0,   137,     0,   141,     0,
1320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   310,     0,     0,   251,     0,   296,     0,     0,     0,
1321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   266,    28,    53,    48,    47,     0,   185,
1322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      51,     0,     0,     0,   134,   142,     0,     0,     0,   317,
1323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     253,     0,   298,     0,   277,   275,     0,   280,     0,   268,
1324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     291,   267,    52,    93,   121,   135,     0,   143,   311,   316,
1325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   299,   293,     0,     0,     0,   281,   285,     0,   289,
1326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   279,   136,   292,   276,     0,   284,   287,   286,   288,
1327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     282,   290,   283
1328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYDEFGOTO[NTERM-NUM].  */
1331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yydefgoto[] =
1332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,     2,     9,     3,    95,     6,   264,    10,    96,   202,
1334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     203,   204,   372,   205,   206,   207,   208,   209,   210,   211,
1335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     376,   377,   378,   379,   212,   213,   214,   215,   216,   217,
1336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     218,   219,   220,   221,   222,   223,   224,   225,   226,   310,
1337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     227,   256,   228,   229,    99,   100,   101,   243,   149,   150,
1338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     244,   102,   103,   104,   230,   175,   176,   177,   106,   151,
1339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     107,   108,   257,   110,   111,   112,   113,   114,   167,   168,
1340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     265,   266,   345,   232,   233,   234,   235,   288,   450,   451,
1341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     236,   237,   238,   445,   369,   239,   447,   467,   468,   469,
1342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     470,   240,   361,   417,   418,   241,   115,   116,   117,   261,
1343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     262,   263,   118
1344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   STATE-NUM.  */
1348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYPACT_NINF -373
1349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yypact[] =
1350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     -75,   -37,    53,  -373,   -50,  -373,   -19,  -373,   160,  2970,
1352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,   -36,  -373,  -373,  -373,  -373,  -373,
1353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,   130,  -373,  -373,    28,  -373,  -373,  -373,
1355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   -58,  -373,  -373,    43,  -373,  -373,  -373,   147,     0,
1360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      17,    20,    26,    46,   -26,  -373,  2970,  -373,  -166,   -15,
1361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -8,     2,  -128,  -373,   196,   173,   198,  1003,  -373,  -373,
1362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,     5,  -373,  1225,  -373,  -373,  -373,  -373,  -373,   160,
1363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,   -20,  1003,    10,  -373,  -373,  -373,  -373,
1364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     198,  -373,  1225,  -373,  -373,  -373,  -373,  -373,   -54,  -373,
1365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   460,  -373,  -373,   100,  -373,  -373,  -373,  -373,  -373,
1366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1003,   181,   160,  -373,    19,    35,  -162,    38,   -78,  -373,
1367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  2180,  -373,    95,    -3,   160,   559,  -373,  1003,
1368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,    42,  -373,  -373,    21,  -157,  -373,  -373,    47,    49,
1369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    1347,    40,    64,    50,  1875,    75,    90,  -373,  -373,  -373,
1370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  2568,  2568,  2568,  -373,  -373,  -373,  -373,  -373,
1371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,  -373,    96,  -373,   -52,  -373,  -373,  -373,    48,  -114,
1372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    2759,    98,   -42,  2568,    83,   -53,   101,   -76,   113,    84,
1373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,   201,   204,   -89,  -373,  -373,  -122,  -373,    81,
1374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   106,  -373,  -373,  -373,  -373,   682,  -373,  -373,  -373,
1375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,   160,  1003,  -149,  2280,  2568,
1376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,    87,  -373,  -373,  -373,  -373,   104,  -373,  -373,  -373,
1377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     273,    91,  1003,   -25,   108,  -113,  -373,  -373,  -373,   781,
1378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   226,  -373,   -54,  -373,  -373,   252,  1776,  2568,  -373,
1379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -111,  2568,  2083,  -373,  -373,   -45,  -373,  1347,  -373,
1380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  2568,   196,  -373,  -373,  2568,   134,  -373,  -373,  -373,
1381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    2568,  -373,  2568,  2568,  2568,  2568,  2568,  2568,  2568,  2568,
1383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    2568,  2568,  2568,  2568,  2568,  2568,  2568,  2568,  2568,  2568,
1384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    2568,  2568,  2568,  -373,   251,  -373,  -373,   135,  -373,  -373,
1385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    2471,  2568,   129,   149,  -373,  -373,    -3,  -373,  1003,   132,
1386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     160,  -373,  2568,   160,  -373,  -373,  -373,  -373,   150,  -373,
1387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  2083,   -34,  -373,   -24,   309,   151,   160,   198,   156,
1388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   904,   155,   151,  -373,   162,  -373,   159,   -22,  2856,
1389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,    83,    83,   -53,   -53,   101,
1390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     101,   101,   101,   -76,   -76,   113,    84,    85,    86,   201,
1391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     204,  -107,  -373,  2568,   143,   161,  -373,  2568,   145,   144,
1392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     160,  -373,   -86,   163,  -373,  2568,  -373,   148,   167,  1347,
1393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     152,   153,  1568,  -373,  -373,  -373,  -373,  -373,  2568,   169,
1394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  2568,   168,  2568,   157,  -373,  2568,   154,   -80,  -373,
1395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   -21,  2568,  1568,   361,  -373,    -5,  -373,  2568,  -373,
1396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  2568,  -373,  -373,  -373,
1397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     158,   151,  -373,  1347,  2568,   164,  -373,  -373,  1126,  1347,
1398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -2,  -373,  -373,  -373,  -373,  -101,  -373,  -373,  -373,  -373,
1399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  1347,  -373
1400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYPGOTO[NTERM-NUM].  */
1403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yypgoto[] =
1404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,    -7,  -373,  -373,   -79,
1406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,  -373,
1407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,     4,  -373,   -92,   -70,  -130,   -95,
1408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    55,    56,    51,    57,    58,  -373,  -152,  -158,  -373,
1409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -175,  -230,     6,    29,  -373,  -373,  -373,   136,   241,   236,
1410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     146,  -373,  -373,  -243,    -6,  -373,   116,  -373,   -77,  -373,
1411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,   -82,    -9,   -74,  -373,  -373,   302,  -373,   224,  -145,
1412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -321,    41,  -286,   114,  -176,  -372,  -373,  -373,   -48,   298,
1413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     109,   121,  -373,  -373,    39,  -373,  -373,   -69,  -373,   -68,
1414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    -373,  -373,  -373,  -373,  -373,  -373,   305,  -373,  -373,  -229,
1415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     165,  -373,  -373
1416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   positive, shift that token.  If negative, reduce the rule which
1420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYTABLE_NINF -313
1422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yytable[] =
1423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     109,    14,   131,   105,   276,   129,   145,   130,   251,   281,
1425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     255,   259,   330,   464,   465,    97,   464,   465,   343,   286,
1426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     319,   320,   268,   159,   160,   157,    11,    12,    13,   412,
1427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      11,    12,    13,   259,   351,   146,   147,   148,    98,   163,
1428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     367,   248,   289,   290,     1,   272,    15,    16,   170,   273,
1429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     449,     4,   297,     5,   340,   406,   140,   141,   171,   249,
1430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     336,   299,   300,   301,   302,   303,   304,   305,   306,   307,
1431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     308,   449,   341,     7,   125,    33,    34,    35,   152,   126,
1432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,    38,    39,    40,   332,   172,   119,   109,   294,   438,
1433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     105,   344,   295,   353,   153,   332,   255,   156,   161,   332,
1434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     333,     8,    97,   362,   145,   332,    94,   364,   366,   354,
1435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     405,   363,   164,   431,   123,   166,   373,   409,   367,   482,
1436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     353,   435,   413,   133,   268,    98,   353,   127,    94,   128,
1437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     331,   174,   231,   146,   147,   148,   439,   380,   321,   322,
1438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     134,   245,   459,   135,   252,   247,   173,   455,   159,   136,
1439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     457,   291,   381,   292,   315,   316,   401,   370,   166,   260,
1440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     166,   332,   471,   120,   121,   124,   254,   122,   419,   137,
1441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     472,   231,   332,   432,   402,   138,    15,    16,   420,   309,
1442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     427,   460,   332,   344,   428,   332,   366,   143,   255,   389,
1443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     390,   391,   392,   317,   318,   336,   284,   285,   144,  -312,
1444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     255,    15,    16,   165,  -115,    33,    34,    35,   162,   158,
1445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,   323,   324,   375,   146,   147,   148,   311,   258,   466,
1446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     -19,   430,   480,   385,   386,    15,    16,   231,   393,   394,
1447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      33,    34,    35,   169,   126,    37,   -20,   245,   337,   250,
1448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     441,   277,   271,   444,    11,    12,    13,   387,   388,   344,
1449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     293,   255,   254,   350,    33,    34,    35,   260,   334,    37,
1450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     166,    85,    86,    87,   270,   278,   174,   461,   231,   274,
1451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     452,   275,   279,   453,   231,   344,   282,   368,   344,   231,
1452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     154,    12,   155,   131,   287,   374,   159,   474,   130,   475,
1453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     344,   283,   477,   479,   312,   313,   314,   -45,   344,   298,
1454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     325,   328,   326,   140,   327,   479,   329,   -44,   347,   259,
1455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     346,   352,    15,    16,   356,   349,   382,   383,   384,   254,
1456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
1457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     254,   254,   254,   254,   254,   358,   -39,   251,   403,   410,
1458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     260,    33,    34,    35,   254,   126,    37,    38,    39,    40,
1459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     407,   415,   231,   408,   411,   368,   254,   332,   422,   424,
1460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     421,   426,   231,   425,   433,   434,   436,   440,   437,   443,
1461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     442,   -49,   454,   463,   448,   446,   458,   395,   456,   398,
1462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     473,   396,   338,   397,   476,   242,   399,   246,   400,   357,
1463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     132,   359,   339,   269,   414,   462,   142,   371,   360,   478,
1464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     416,   139,   481,     0,     0,     0,     0,   254,     0,     0,
1465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     231,     0,     0,   231,     0,     0,     0,     0,     0,     0,
1466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   348,     0,     0,     0,     0,
1467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,   231,     0,     0,     0,     0,     0,
1468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,   231,     0,     0,     0,     0,   231,
1470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     231,     0,     0,    15,    16,    17,    18,    19,    20,   178,
1471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     179,   180,   231,   181,   182,   183,   184,   185,     0,     0,
1472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,    32,    33,    34,    35,     0,    36,    37,    38,    39,
1474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,   186,   127,    83,   128,   187,   188,   189,
1479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     190,   191,     0,     0,   192,   193,     0,     0,     0,     0,
1480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,    17,    18,    19,    20,     0,     0,
1481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,    84,    85,    86,    87,     0,    88,    21,
1482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,    94,     0,     0,     0,     0,     0,     0,     0,     0,
1484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      81,    82,     0,     0,    83,     0,     0,     0,     0,     0,
1489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   194,     0,     0,     0,     0,     0,   195,   196,   197,
1491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     198,     0,     0,    85,    86,    87,     0,     0,     0,     0,
1492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   199,   200,   201,    15,    16,    17,    18,    19,
1493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      20,   178,   179,   180,     0,   181,   182,   183,   184,   185,
1494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,    21,    22,    23,    24,    25,    26,    27,    28,
1495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      29,    30,    31,    32,    33,    34,    35,     0,    36,    37,
1496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      78,    79,    80,    81,    82,   186,   127,    83,   128,   187,
1501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     188,   189,   190,   191,     0,     0,   192,   193,     0,     0,
1502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   267,     0,     0,    17,    18,    19,    20,
1503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,    84,    85,    86,    87,     0,
1504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      88,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    32,    94,     0,     0,     0,     0,     0,     0,
1506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,    41,    42,    43,    44,    45,    46,    47,    48,
1507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      79,    80,    81,    82,     0,     0,    83,     0,     0,     0,
1511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   194,     0,     0,     0,     0,     0,   195,
1513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     196,   197,   198,     0,     0,    85,    86,    87,     0,     0,
1514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,   199,   200,   335,    15,    16,    17,
1515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      18,    19,    20,   178,   179,   180,     0,   181,   182,   183,
1516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     184,   185,     0,     0,    21,    22,    23,    24,    25,    26,
1517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      27,    28,    29,    30,    31,    32,    33,    34,    35,     0,
1518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      76,    77,    78,    79,    80,    81,    82,   186,   127,    83,
1523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     128,   187,   188,   189,   190,   191,     0,     0,   192,   193,
1524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   355,     0,     0,    17,    18,
1525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      19,    20,     0,     0,     0,     0,     0,    84,    85,    86,
1526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      87,     0,    88,    21,    22,    23,    24,    25,    26,    27,
1527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      28,    29,    30,    31,    32,    94,     0,     0,     0,     0,
1528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
1529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    78,    79,    80,    81,    82,     0,     0,    83,     0,
1533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   194,     0,     0,     0,     0,
1535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   195,   196,   197,   198,     0,     0,    85,    86,    87,
1536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,   199,   200,   423,    15,
1537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      16,    17,    18,    19,    20,   178,   179,   180,     0,   181,
1538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     182,   183,   184,   185,   464,   465,    21,    22,    23,    24,
1539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      35,     0,    36,    37,    38,    39,    40,    41,    42,    43,
1541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,    82,   186,
1545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     127,    83,   128,   187,   188,   189,   190,   191,     0,     0,
1546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     192,   193,     0,     0,     0,     0,     0,     0,     0,     0,
1547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      17,    18,    19,    20,     0,     0,     0,     0,     0,    84,
1548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,    87,     0,    88,    21,    22,    23,    24,    25,
1549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      26,    27,    28,    29,    30,    31,    32,    94,     0,     0,
1550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,    41,    42,    43,    44,
1551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      75,    76,    77,    78,    79,    80,    81,    82,     0,     0,
1555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,   194,     0,     0,
1557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   195,   196,   197,   198,     0,     0,     0,
1558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,   199,   200,
1559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      15,    16,    17,    18,    19,    20,   178,   179,   180,     0,
1560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     181,   182,   183,   184,   185,     0,     0,    21,    22,    23,
1561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      34,    35,     0,    36,    37,    38,    39,    40,    41,    42,
1563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     186,   127,    83,   128,   187,   188,   189,   190,   191,     0,
1568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   192,   193,     0,     0,     0,     0,     0,     0,     0,
1569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,    87,     0,    88,     0,     0,     0,     0,
1571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,    94,     0,
1572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,   194,     0,
1579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,   195,   196,   197,   198,     0,     0,
1580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,   199,
1581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     200,    15,    16,    17,    18,    19,    20,   178,   179,   180,
1582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   181,   182,   183,   184,   185,     0,     0,    21,    22,
1583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      33,    34,    35,     0,    36,    37,    38,    39,    40,    41,
1585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      82,   186,   127,    83,   128,   187,   188,   189,   190,   191,
1590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   192,   193,     0,     0,     0,     0,     0,     0,
1591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,    84,    85,    86,    87,     0,    88,     0,     0,     0,
1593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,    94,
1594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
1601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   195,   196,   197,   198,    15,
1602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      16,    17,    18,    19,    20,     0,     0,     0,     0,     0,
1603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     199,   141,     0,     0,     0,     0,    21,    22,    23,    24,
1604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      35,     0,    36,    37,    38,    39,    40,    41,    42,    43,
1606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,    82,     0,
1610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     127,    83,   128,   187,   188,   189,   190,   191,     0,     0,
1611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     192,   193,     0,     0,     0,     0,     0,     0,     0,     0,
1612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      17,    18,    19,    20,     0,     0,     0,     0,     0,    84,
1613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,    87,     0,    88,    21,    22,    23,    24,    25,
1614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      26,    27,    28,    29,    30,    31,    32,    94,     0,     0,
1615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,    41,    42,    43,    44,
1616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      75,    76,    77,    78,    79,    80,    81,    82,     0,   127,
1620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      83,   128,   187,   188,   189,   190,   191,     0,     0,   192,
1621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     193,     0,     0,     0,     0,     0,     0,   194,     0,     0,
1622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   195,   196,   197,   198,     0,     0,    85,
1623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      86,    87,     0,     0,     0,     0,     0,     0,   199,     0,
1624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,   194,     0,     0,     0,
1632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   195,   196,   197,   198,    15,    16,    17,    18,
1633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      19,    20,     0,     0,     0,     0,     0,   280,     0,     0,
1634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
1635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      28,    29,    30,    31,    32,    33,    34,    35,     0,   126,
1636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    78,    79,    80,    81,    82,     0,   127,    83,   128,
1641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     187,   188,   189,   190,   191,     0,     0,   192,   193,     0,
1642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,    17,    18,    19,    20,     0,
1643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,   365,    85,    86,    87,
1644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,    32,     0,     0,    94,     0,     0,     0,     0,     0,
1646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,     0,   127,    83,   128,   187,   188,   189,
1651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     190,   191,     0,     0,   192,   193,     0,     0,     0,     0,
1652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,   194,    17,    18,    19,    20,     0,
1653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     195,   196,   197,   198,    85,    86,    87,     0,     0,     0,
1654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,    32,     0,     0,     0,     0,     0,     0,     0,     0,
1656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,     0,   127,    83,   128,   187,   188,   189,
1661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     190,   191,     0,     0,   192,   193,     0,     0,     0,     0,
1662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   194,     0,     0,   253,     0,     0,   195,   196,   197,
1663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     198,     0,     0,     0,    85,    86,    87,     0,     0,     0,
1664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,    17,    18,    19,    20,
1672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   194,     0,     0,   342,     0,     0,   195,   196,   197,
1673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     198,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    32,     0,     0,     0,     0,     0,     0,     0,
1675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,    41,    42,    43,    44,    45,    46,    47,    48,
1676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      79,    80,    81,    82,     0,   127,    83,   128,   187,   188,
1680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     189,   190,   191,     0,     0,   192,   193,     0,     0,     0,
1681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,    17,    18,    19,    20,     0,     0,     0,
1682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,    85,    86,    87,    21,    22,
1683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,    41,
1685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      82,     0,   127,    83,   128,   187,   188,   189,   190,   191,
1690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   192,   193,     0,     0,     0,     0,     0,     0,
1691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,   194,     0,     0,   404,     0,     0,   195,   196,
1692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     197,   198,    85,    86,    87,     0,     0,     0,     0,     0,
1693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,    17,    18,    19,    20,     0,   194,
1701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,   195,   196,   197,   198,    21,
1702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      81,   296,     0,   127,    83,   128,   187,   188,   189,   190,
1709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     191,     0,     0,   192,   193,     0,     0,     0,     0,     0,
1710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,    17,    18,    19,    20,     0,     0,     0,     0,     0,
1711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,    85,    86,    87,    21,    22,    23,    24,
1712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,    32,     0,     0,
1713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,    41,    42,    43,
1714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,   429,     0,
1718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     127,    83,   128,   187,   188,   189,   190,   191,     0,     0,
1719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     192,   193,     0,     0,     0,     0,     0,     0,     0,     0,
1720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     194,     0,     0,     0,     0,     0,   195,   196,   197,   198,
1721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,    87,    15,    16,    17,    18,    19,    20,     0,
1722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,    32,    33,    34,    35,     0,    36,    37,    38,    39,
1725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,     0,     0,    83,     0,   194,     0,     0,
1730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,   195,   196,   197,   198,     0,     0,     0,
1731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,    84,    85,    86,    87,     0,    88,     0,
1733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,     0,     0,     0,     0,     0,    89,    90,    91,    92,
1734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      93,    94
1735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
1736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yypact_value_is_default(yystate) \
1738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  ((yystate) == (-373))
1739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yytable_value_is_error(yytable_value) \
1741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYID (0)
1742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
1743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_int16 yycheck[] =
1744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
1745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       9,     8,    84,     9,   180,    84,     4,    84,    86,   184,
1746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     162,    36,   101,    18,    19,     9,    18,    19,   248,   194,
1747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      96,    97,   167,   105,   106,   104,    84,    85,    86,   350,
1748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,    36,   263,    33,    34,    35,     9,   113,
1749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     283,   203,    94,    95,   119,   202,     3,     4,   130,   206,
1750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     422,    88,   210,     0,   203,   341,   222,   223,   132,   221,
1751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     236,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     112,   443,   221,   123,    81,    32,    33,    34,   206,    36,
1753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,    38,    39,    40,   206,   139,   122,    96,   202,   410,
1754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      96,   249,   206,   206,   222,   206,   248,   104,   107,   206,
1755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   120,    96,   278,     4,   206,   131,   282,   283,   222,
1756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     340,   222,   119,   220,    86,   124,   291,   346,   361,   220,
1757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     206,   407,   352,   123,   269,    96,   206,    84,   131,    86,
1758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     219,   138,   141,    33,    34,    35,   222,   295,   214,   215,
1759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     123,   150,   222,   123,   222,   152,   200,   433,   230,   123,
1760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     436,   203,   310,   205,   207,   208,   331,   202,   167,   165,
1761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     169,   206,   448,    33,    34,   223,   162,    37,   202,   123,
1762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     456,   180,   206,   403,   332,   201,     3,     4,   202,   221,
1763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,   202,   206,   341,   206,   206,   361,   202,   340,   319,
1764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     320,   321,   322,    92,    93,   371,   192,   193,   206,   224,
1765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     352,     3,     4,   223,   202,    32,    33,    34,   203,    36,
1766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,    98,    99,   292,    33,    34,    35,   213,   123,   224,
1767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     201,   379,   224,   315,   316,     3,     4,   236,   323,   324,
1768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,    33,    34,   223,    36,    37,   201,   246,   245,   201,
1769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     415,   201,   221,   419,    84,    85,    86,   317,   318,   407,
1770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,   403,   248,   262,    32,    33,    34,   263,    36,    37,
1771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     269,   114,   115,   116,   222,   201,   273,   442,   277,   222,
1772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     428,   222,   222,   431,   283,   433,   201,   283,   436,   288,
1773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,   365,   224,   292,   368,   463,   365,   464,
1774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     448,   201,   468,   469,   211,   212,   213,   201,   456,   201,
1775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     216,   100,   217,   222,   218,   481,   102,   201,   204,    36,
1776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     223,   203,     3,     4,    88,   224,   312,   313,   314,   315,
1777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     326,   327,   328,   329,   330,    83,   202,    86,   203,   348,
1779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     346,    32,    33,    34,   340,    36,    37,    38,    39,    40,
1780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     221,   201,   361,   204,   222,   361,   352,   206,   202,   204,
1781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     367,   202,   371,   201,   221,   204,   221,   204,   224,   202,
1782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   202,   204,    12,   221,   223,   222,   325,   221,   328,
1783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   326,   246,   327,   220,   144,   329,   151,   330,   273,
1784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      88,   277,   246,   169,   353,   443,    98,   288,   277,   468,
1785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     361,    96,   470,    -1,    -1,    -1,    -1,   403,    -1,    -1,
1786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     419,    -1,    -1,   422,    -1,    -1,    -1,    -1,    -1,    -1,
1787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,    -1,    -1,
1788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,   443,    -1,    -1,    -1,    -1,    -1,
1789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,   463,    -1,    -1,    -1,    -1,   468,
1791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     469,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
1792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      10,    11,   481,    13,    14,    15,    16,    17,    -1,    -1,
1793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    32,    33,    34,    -1,    36,    37,    38,    39,
1795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      90,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
1801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,    -1,
1802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   113,   114,   115,   116,    -1,   118,    20,
1803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      81,    82,    -1,    -1,    85,    -1,    -1,    -1,    -1,    -1,
1810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   201,    -1,    -1,    -1,    -1,    -1,   207,   208,   209,
1812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     210,    -1,    -1,   114,   115,   116,    -1,    -1,    -1,    -1,
1813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,   222,   223,   224,     3,     4,     5,     6,     7,
1814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       8,     9,    10,    11,    -1,    13,    14,    15,    16,    17,
1815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
1816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      28,    29,    30,    31,    32,    33,    34,    -1,    36,    37,
1817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      88,    89,    90,    91,    -1,    -1,    94,    95,    -1,    -1,
1823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   224,    -1,    -1,     5,     6,     7,     8,
1824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   113,   114,   115,   116,    -1,
1825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     118,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      29,    30,    31,   131,    -1,    -1,    -1,    -1,    -1,    -1,
1827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    48,
1828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      79,    80,    81,    82,    -1,    -1,    85,    -1,    -1,    -1,
1832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,    -1,   207,
1834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     208,   209,   210,    -1,    -1,   114,   115,   116,    -1,    -1,
1835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,   222,   223,   224,     3,     4,     5,
1836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       6,     7,     8,     9,    10,    11,    -1,    13,    14,    15,
1837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      16,    17,    -1,    -1,    20,    21,    22,    23,    24,    25,
1838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
1839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      86,    87,    88,    89,    90,    91,    -1,    -1,    94,    95,
1845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   224,    -1,    -1,     5,     6,
1846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       7,     8,    -1,    -1,    -1,    -1,    -1,   113,   114,   115,
1847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     116,    -1,   118,    20,    21,    22,    23,    24,    25,    26,
1848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      27,    28,    29,    30,    31,   131,    -1,    -1,    -1,    -1,
1849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    41,    42,    43,    44,    45,    46,
1850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    78,    79,    80,    81,    82,    -1,    -1,    85,    -1,
1854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,    -1,
1856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   207,   208,   209,   210,    -1,    -1,   114,   115,   116,
1857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,   222,   223,   224,     3,
1858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       4,     5,     6,     7,     8,     9,    10,    11,    -1,    13,
1859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      34,    -1,    36,    37,    38,    39,    40,    41,    42,    43,
1862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,    87,    88,    89,    90,    91,    -1,    -1,
1867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,   113,
1869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     114,   115,   116,    -1,   118,    20,    21,    22,    23,    24,
1870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,   131,    -1,    -1,
1871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,
1872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      75,    76,    77,    78,    79,    80,    81,    82,    -1,    -1,
1876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,    -1,
1878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   207,   208,   209,   210,    -1,    -1,    -1,
1879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   222,   223,
1880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       3,     4,     5,     6,     7,     8,     9,    10,    11,    -1,
1881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
1882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      33,    34,    -1,    36,    37,    38,    39,    40,    41,    42,
1884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
1889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     113,   114,   115,   116,    -1,   118,    -1,    -1,    -1,    -1,
1892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,
1893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,
1900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,   207,   208,   209,   210,    -1,    -1,
1901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   222,
1902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     223,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
1904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      32,    33,    34,    -1,    36,    37,    38,    39,    40,    41,
1906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
1912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   113,   114,   115,   116,    -1,   118,    -1,    -1,    -1,
1914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
1915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,
1922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   207,   208,   209,   210,     3,
1923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       4,     5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,
1924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   223,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
1925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      34,    -1,    36,    37,    38,    39,    40,    41,    42,    43,
1927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,    82,    -1,
1931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,    87,    88,    89,    90,    91,    -1,    -1,
1932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,   113,
1934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     114,   115,   116,    -1,   118,    20,    21,    22,    23,    24,
1935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      25,    26,    27,    28,    29,    30,    31,   131,    -1,    -1,
1936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44,
1937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      75,    76,    77,    78,    79,    80,    81,    82,    -1,    84,
1941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      85,    86,    87,    88,    89,    90,    91,    -1,    -1,    94,
1942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      95,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,    -1,
1943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   207,   208,   209,   210,    -1,    -1,   114,
1944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     115,   116,    -1,    -1,    -1,    -1,    -1,    -1,   222,    -1,
1945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,    -1,    -1,
1953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,   207,   208,   209,   210,     3,     4,     5,     6,
1954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       7,     8,    -1,    -1,    -1,    -1,    -1,   222,    -1,    -1,
1955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
1956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      27,    28,    29,    30,    31,    32,    33,    34,    -1,    36,
1957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      77,    78,    79,    80,    81,    82,    -1,    84,    85,    86,
1962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      87,    88,    89,    90,    91,    -1,    -1,    94,    95,    -1,
1963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,
1964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,   113,   114,   115,   116,
1965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,
1967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,    -1,    84,    85,    86,    87,    88,    89,
1972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      90,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
1973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,   201,     5,     6,     7,     8,    -1,
1974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     207,   208,   209,   210,   114,   115,   116,    -1,    -1,    -1,
1975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,    -1,    84,    85,    86,    87,    88,    89,
1982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      90,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
1983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   201,    -1,    -1,   204,    -1,    -1,   207,   208,   209,
1984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     210,    -1,    -1,    -1,   114,   115,   116,    -1,    -1,    -1,
1985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,     5,     6,     7,     8,
1993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,   201,    -1,    -1,   204,    -1,    -1,   207,   208,   209,
1994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     210,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    48,
1997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      79,    80,    81,    82,    -1,    84,    85,    86,    87,    88,
2001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      89,    90,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,
2002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,     5,     6,     7,     8,    -1,    -1,    -1,
2003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   114,   115,   116,    20,    21,
2004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
2006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      82,    -1,    84,    85,    86,    87,    88,    89,    90,    91,
2011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
2012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,   201,    -1,    -1,   204,    -1,    -1,   207,   208,
2013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     209,   210,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
2014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1,   201,
2022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,   207,   208,   209,   210,    20,
2023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      81,    82,    -1,    84,    85,    86,    87,    88,    89,    90,
2030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,
2031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,     5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,
2032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   114,   115,   116,    20,    21,    22,    23,
2033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
2034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,
2035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      74,    75,    76,    77,    78,    79,    80,    81,    82,    -1,
2039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      84,    85,    86,    87,    88,    89,    90,    91,    -1,    -1,
2040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     201,    -1,    -1,    -1,    -1,    -1,   207,   208,   209,   210,
2042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     114,   115,   116,     3,     4,     5,     6,     7,     8,    -1,
2043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      30,    31,    32,    33,    34,    -1,    36,    37,    38,    39,
2046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,    -1,    -1,    85,    -1,   201,    -1,    -1,
2051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   207,   208,   209,   210,    -1,    -1,    -1,
2052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,   113,   114,   115,   116,    -1,   118,    -1,
2054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      -1,    -1,    -1,    -1,    -1,    -1,   126,   127,   128,   129,
2055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     130,   131
2056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
2057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   symbol of state STATE-NUM.  */
2060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic const yytype_uint16 yystos[] =
2061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       0,   119,   226,   228,    88,     0,   230,   123,   120,   227,
2063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     232,    84,    85,    86,   231,     3,     4,     5,     6,     7,
2064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       8,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      29,    30,    31,    32,    33,    34,    36,    37,    38,    39,
2066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      80,    81,    82,    85,   113,   114,   115,   116,   118,   126,
2071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     127,   128,   129,   130,   131,   229,   233,   267,   268,   269,
2072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     270,   271,   276,   277,   278,   279,   283,   285,   286,   287,
2073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     288,   289,   290,   291,   292,   321,   322,   323,   327,   122,
2074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      33,    34,    37,    86,   223,   231,    36,    84,    86,   234,
2075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     283,   286,   291,   123,   123,   123,   123,   123,   201,   321,
2076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   223,   304,   202,   206,     4,    33,    34,    35,   273,
2077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     274,   284,   206,   222,    84,    86,   231,   234,    36,   286,
2078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     286,   287,   203,   288,   231,   223,   287,   293,   294,   223,
2079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     286,   288,   139,   200,   231,   280,   281,   282,     9,    10,
2080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      11,    13,    14,    15,    16,    17,    83,    87,    88,    89,
2081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      90,    91,    94,    95,   201,   207,   208,   209,   210,   222,
2082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     223,   224,   234,   235,   236,   238,   239,   240,   241,   242,
2083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     243,   244,   249,   250,   251,   252,   253,   254,   255,   256,
2084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     257,   258,   259,   260,   261,   262,   263,   265,   267,   268,
2085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     279,   287,   298,   299,   300,   301,   305,   306,   307,   310,
2086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     316,   320,   273,   272,   275,   287,   274,   231,   203,   221,
2087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     201,    86,   222,   204,   249,   262,   266,   287,   123,    36,
2088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     279,   324,   325,   326,   231,   295,   296,   224,   294,   293,
2089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   221,   202,   206,   222,   222,   299,   201,   201,   222,
2090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     222,   265,   201,   201,   249,   249,   265,   224,   302,    94,
2091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      95,   203,   205,   202,   202,   206,    82,   263,   201,   103,
2092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     104,   105,   106,   107,   108,   109,   110,   111,   112,   221,
2093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     264,   249,   211,   212,   213,   207,   208,    92,    93,    96,
2094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      97,   214,   215,    98,    99,   216,   217,   218,   100,   102,
2095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     101,   219,   206,   222,    36,   224,   299,   231,   272,   275,
2096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     203,   221,   204,   266,   263,   297,   223,   204,   325,   224,
2097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     287,   324,   203,   206,   222,   224,    88,   281,    83,   298,
2098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     306,   317,   265,   222,   265,   113,   265,   278,   279,   309,
2099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,   305,   237,   265,   231,   234,   245,   246,   247,   248,
2100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     263,   263,   249,   249,   249,   251,   251,   252,   252,   253,
2101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     253,   253,   253,   254,   254,   255,   256,   257,   258,   259,
2102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     260,   265,   263,   203,   204,   266,   297,   221,   204,   324,
2103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     287,   222,   295,   266,   296,   201,   309,   318,   319,   202,
2104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,   231,   202,   224,   204,   201,   202,   202,   206,    82,
2105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     263,   220,   266,   221,   204,   297,   221,   224,   295,   222,
2106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     204,   265,   222,   202,   299,   308,   223,   311,   221,   300,
2107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     303,   304,   263,   263,   204,   297,   221,   297,   222,   222,
2108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     202,   265,   303,    12,    18,    19,   224,   312,   313,   314,
2109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     315,   297,   297,   222,   299,   265,   220,   299,   312,   299,
2110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     224,   314,   220
2111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org};
2112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyerrok		(yyerrstatus = 0)
2114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define yyclearin	(yychar = YYEMPTY)
2115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYEMPTY		(-2)
2116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYEOF		0
2117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYACCEPT	goto yyacceptlab
2119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYABORT		goto yyabortlab
2120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYERROR		goto yyerrorlab
2121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Like YYERROR except do call yyerror.  This remains here temporarily
2124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   to ease the transition to the new meaning of YYERROR, for GCC.
2125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   Once GCC version 2 has supplanted version 1, this can go.  However,
2126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   discussed.  */
2129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYFAIL		goto yyerrlab
2131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined YYFAIL
2132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* This is here to suppress warnings from the GCC cpp's
2133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     -Wunused-macros.  Normally we don't worry about that warning, but
2134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     some users do, and we want to make it easy for users to remove
2135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYRECOVERING()  (!!yyerrstatus)
2139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYBACKUP(Token, Value)					\
2141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo								\
2142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yychar == YYEMPTY && yylen == 1)				\
2143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {								\
2144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yychar = (Token);						\
2145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yylval = (Value);						\
2146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYPOPSTACK (1);						\
2147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      goto yybackup;						\
2148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }								\
2149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  else								\
2150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {								\
2151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyerror (&yylloc, state, YY_("syntax error: cannot back up")); \
2152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYERROR;							\
2153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }								\
2154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgwhile (YYID (0))
2155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYTERROR	1
2158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYERRCODE	256
2159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   If N is 0, then set CURRENT to the empty location which ends
2163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   the previous symbol: RHS[0] (always defined).  */
2164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYLLOC_DEFAULT
2167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYLLOC_DEFAULT(Current, Rhs, N)				\
2168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    do									\
2169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (YYID (N))                                                    \
2170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{								\
2171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
2172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
2173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
2174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
2175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}								\
2176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      else								\
2177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{								\
2178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).first_line   = (Current).last_line   =		\
2179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    YYRHSLOC (Rhs, 0).last_line;				\
2180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (Current).first_column = (Current).last_column =		\
2181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    YYRHSLOC (Rhs, 0).last_column;				\
2182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}								\
2183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    while (YYID (0))
2184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YY_LOCATION_PRINT -- Print the location on the stream.
2188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   This macro was not mandated originally: define only if we know
2189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   we won't break user code: when these are the locations we know.  */
2190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YY_LOCATION_PRINT
2192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YY_LOCATION_PRINT(File, Loc)			\
2194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     fprintf (File, "%d.%d-%d.%d",			\
2195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (Loc).first_line, (Loc).first_column,	\
2196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (Loc).last_line,  (Loc).last_column)
2197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# else
2198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYLEX -- calling `yylex' with the right arguments.  */
2204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYLEX_PARAM
2206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYLEX yylex (&yylval, &yylloc, scanner)
2209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Enable debugging if requested.  */
2212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYDEBUG
2213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef YYFPRINTF
2215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  define YYFPRINTF fprintf
2217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYDPRINTF(Args)			\
2220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo {						\
2221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yydebug)					\
2222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYFPRINTF Args;				\
2223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} while (YYID (0))
2224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
2226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo {									  \
2227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yydebug)								  \
2228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {									  \
2229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYFPRINTF (stderr, "%s ", Title);					  \
2230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yy_symbol_print (stderr,						  \
2231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  Type, Value, Location, state); \
2232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYFPRINTF (stderr, "\n");						  \
2233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }									  \
2234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} while (YYID (0))
2235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*--------------------------------.
2238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| Print this symbol on YYOUTPUT.  |
2239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`--------------------------------*/
2240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*ARGSUSED*/
2242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct _mesa_glsl_parse_state *state)
2246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, state)
2249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    FILE *yyoutput;
2250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yytype;
2251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE const * const yyvaluep;
2252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE const * const yylocationp;
2253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct _mesa_glsl_parse_state *state;
2254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (!yyvaluep)
2257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return;
2258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (yylocationp);
2259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (state);
2260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifdef YYPRINT
2261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yytype < YYNTOKENS)
2262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# else
2264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (yyoutput);
2265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  switch (yytype)
2267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      default:
2269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	break;
2270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*--------------------------------.
2275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| Print this symbol on YYOUTPUT.  |
2276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`--------------------------------*/
2277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct _mesa_glsl_parse_state *state)
2282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, state)
2285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    FILE *yyoutput;
2286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yytype;
2287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE const * const yyvaluep;
2288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE const * const yylocationp;
2289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct _mesa_glsl_parse_state *state;
2290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yytype < YYNTOKENS)
2293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  else
2295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_LOCATION_PRINT (yyoutput, *yylocationp);
2298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYFPRINTF (yyoutput, ": ");
2299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, state);
2300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYFPRINTF (yyoutput, ")");
2301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*------------------------------------------------------------------.
2304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yy_stack_print -- Print the state stack from its BOTTOM up to its |
2305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| TOP (included).                                                   |
2306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`------------------------------------------------------------------*/
2307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_stack_print (yybottom, yytop)
2315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yytype_int16 *yybottom;
2316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yytype_int16 *yytop;
2317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYFPRINTF (stderr, "Stack now");
2320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  for (; yybottom <= yytop; yybottom++)
2321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      int yybot = *yybottom;
2323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYFPRINTF (stderr, " %d", yybot);
2324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYFPRINTF (stderr, "\n");
2326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_STACK_PRINT(Bottom, Top)				\
2329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo {								\
2330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yydebug)							\
2331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_stack_print ((Bottom), (Top));				\
2332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} while (YYID (0))
2333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*------------------------------------------------.
2336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| Report that the YYRULE is going to be reduced.  |
2337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`------------------------------------------------*/
2338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, struct _mesa_glsl_parse_state *state)
2343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyy_reduce_print (yyvsp, yylsp, yyrule, state)
2346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE *yyvsp;
2347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE *yylsp;
2348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyrule;
2349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct _mesa_glsl_parse_state *state;
2350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yynrhs = yyr2[yyrule];
2353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yyi;
2354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  unsigned long int yylno = yyrline[yyrule];
2355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	     yyrule - 1, yylno);
2357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* The symbols being reduced.  */
2358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  for (yyi = 0; yyi < yynrhs; yyi++)
2359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		       &(yyvsp[(yyi + 1) - (yynrhs)])
2363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		       , &(yylsp[(yyi + 1) - (yynrhs)])		       , state);
2364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYFPRINTF (stderr, "\n");
2365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_REDUCE_PRINT(Rule)		\
2369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgdo {					\
2370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yydebug)				\
2371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yy_reduce_print (yyvsp, yylsp, Rule, state); \
2372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org} while (YYID (0))
2373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Nonzero means print parse trace.  It is left uninitialized so that
2375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   multiple parsers can coexist.  */
2376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yydebug;
2377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else /* !YYDEBUG */
2378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYDPRINTF(Args)
2379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_STACK_PRINT(Bottom, Top)
2381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YY_REDUCE_PRINT(Rule)
2382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* !YYDEBUG */
2383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYINITDEPTH -- initial size of the parser's stacks.  */
2386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef	YYINITDEPTH
2387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYINITDEPTH 200
2388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   if the built-in stack extension method is used).
2392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   Do not make this value too large; the results are undefined if
2394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   evaluated with infinite-precision integer arithmetic.  */
2396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef YYMAXDEPTH
2398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYMAXDEPTH 10000
2399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYERROR_VERBOSE
2403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef yystrlen
2405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if defined __GLIBC__ && defined _STRING_H
2406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define yystrlen strlen
2407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  else
2408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Return the length of YYSTR.  */
2409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic YYSIZE_T
2412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyystrlen (const char *yystr)
2413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic YYSIZE_T
2415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyystrlen (yystr)
2416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    const char *yystr;
2417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSIZE_T yylen;
2420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  for (yylen = 0; yystr[yylen]; yylen++)
2421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    continue;
2422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return yylen;
2423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
2425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef yystpcpy
2428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#   define yystpcpy stpcpy
2430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  else
2431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   YYDEST.  */
2433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic char *
2436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyystpcpy (char *yydest, const char *yysrc)
2437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic char *
2439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyystpcpy (yydest, yysrc)
2440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yydest;
2441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    const char *yysrc;
2442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  char *yyd = yydest;
2445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  const char *yys = yysrc;
2446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  while ((*yyd++ = *yys++) != '\0')
2448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    continue;
2449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return yyd - 1;
2451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  endif
2453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef yytnamerr
2456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   quotes and backslashes, so that it's suitable for yyerror.  The
2458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   heuristic is that double-quoting is unnecessary unless the string
2459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   contains an apostrophe, a comma, or backslash (other than
2460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   null, do not copy; instead, return the length of what the result
2462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   would have been.  */
2463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic YYSIZE_T
2464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyytnamerr (char *yyres, const char *yystr)
2465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (*yystr == '"')
2467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYSIZE_T yyn = 0;
2469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      char const *yyp = yystr;
2470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      for (;;)
2472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	switch (*++yyp)
2473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  {
2474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  case '\'':
2475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  case ',':
2476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    goto do_not_strip_quotes;
2477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  case '\\':
2479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    if (*++yyp != '\\')
2480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      goto do_not_strip_quotes;
2481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    /* Fall through.  */
2482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  default:
2483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    if (yyres)
2484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      yyres[yyn] = *yyp;
2485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    yyn++;
2486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    break;
2487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  case '"':
2489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    if (yyres)
2490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      yyres[yyn] = '\0';
2491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    return yyn;
2492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  }
2493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    do_not_strip_quotes: ;
2494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (! yyres)
2497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return yystrlen (yystr);
2498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return yystpcpy (yyres, yystr) - yyres;
2500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   about the unexpected token YYTOKEN for the state stack whose top is
2505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   YYSSP.
2506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   not large enough to hold the message.  In that case, also set
2509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   required number of bytes is too large to store.  */
2511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic int
2512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yytype_int16 *yyssp, int yytoken)
2514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSIZE_T yysize = yysize0;
2517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSIZE_T yysize1;
2518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Internationalized format string. */
2520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  const char *yyformat = 0;
2521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Arguments of yyformat. */
2522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Number of reported tokens (one for the "unexpected", one per
2524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     "expected"). */
2525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yycount = 0;
2526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* There are many possibilities here to consider:
2528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       for details.  YYERROR is fine as it does not invoke this
2531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       function.
2532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     - If this state is a consistent state with a default action, then
2533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       the only way this function was invoked is if the default action
2534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       is an error action.  In that case, don't check for expected
2535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       tokens because there are none.
2536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     - The only way there can be no lookahead present (in yychar) is if
2537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       this state is a consistent state with a default action.  Thus,
2538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       detecting the absence of a lookahead is sufficient to determine
2539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       that there is no unexpected or expected token to report.  In that
2540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       case, just report a simple "syntax error".
2541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     - Don't assume there isn't a lookahead just because this state is a
2542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       consistent state with a default action.  There might have been a
2543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       previous inconsistent state, consistent state with a non-default
2544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       action, or user semantic action that manipulated yychar.
2545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     - Of course, the expected token list depends on states to have
2546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       correct lookahead information, and it depends on the parser not
2547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       to perform extra reductions after fetching a lookahead from the
2548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       scanner and before detecting a syntax error.  Thus, state merging
2549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       (from LALR or IELR) and default reductions corrupt the expected
2550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       token list.  However, the list is correct for canonical LR with
2551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       one exception: it will still contain any token that will not be
2552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       accepted due to an error action in a later state.
2553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  */
2554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yytoken != YYEMPTY)
2555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      int yyn = yypact[*yyssp];
2557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyarg[yycount++] = yytname[yytoken];
2558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (!yypact_value_is_default (yyn))
2559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        {
2560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          /* Start YYX at -YYN if negative to avoid negative indexes in
2561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org             YYCHECK.  In other words, skip the first -YYN actions for
2562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org             this state because they are default actions.  */
2563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          int yyxbegin = yyn < 0 ? -yyn : 0;
2564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          /* Stay within bounds of both yycheck and yytname.  */
2565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          int yychecklim = YYLAST - yyn + 1;
2566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          int yyx;
2568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                && !yytable_value_is_error (yytable[yyx + yyn]))
2572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              {
2573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                  {
2575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                    yycount = 1;
2576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                    yysize = yysize0;
2577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                    break;
2578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                  }
2579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yyarg[yycount++] = yytname[yyx];
2580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                if (! (yysize <= yysize1
2582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                  return 2;
2584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yysize = yysize1;
2585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              }
2586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        }
2587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  switch (yycount)
2590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYCASE_(N, S)                      \
2592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      case N:                               \
2593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        yyformat = S;                       \
2594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      break
2595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(0, YY_("syntax error"));
2596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(1, YY_("syntax error, unexpected %s"));
2597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# undef YYCASE_
2602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yysize1 = yysize + yystrlen (yyformat);
2605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    return 2;
2607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yysize = yysize1;
2608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (*yymsg_alloc < yysize)
2610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      *yymsg_alloc = 2 * yysize;
2612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (! (yysize <= *yymsg_alloc
2613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      return 1;
2616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Avoid sprintf, as that infringes on the user's name space.
2619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     Don't have undefined behavior even if the translation
2620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     produced a string with the wrong number of "%s"s.  */
2621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  {
2622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    char *yyp = *yymsg;
2623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyi = 0;
2624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    while ((*yyp = *yyformat) != '\0')
2625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        {
2627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          yyp += yytnamerr (yyp, yyarg[yyi++]);
2628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          yyformat += 2;
2629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        }
2630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      else
2631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        {
2632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          yyp++;
2633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          yyformat++;
2634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        }
2635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  }
2636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return 0;
2637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* YYERROR_VERBOSE */
2639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-----------------------------------------------.
2641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| Release the memory associated to this symbol.  |
2642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-----------------------------------------------*/
2643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*ARGSUSED*/
2645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, struct _mesa_glsl_parse_state *state)
2649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgstatic void
2651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyydestruct (yymsg, yytype, yyvaluep, yylocationp, state)
2652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    const char *yymsg;
2653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yytype;
2654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE *yyvaluep;
2655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE *yylocationp;
2656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct _mesa_glsl_parse_state *state;
2657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (yyvaluep);
2660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (yylocationp);
2661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYUSE (state);
2662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (!yymsg)
2664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yymsg = "Deleting";
2665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  switch (yytype)
2668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      default:
2671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	break;
2672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Prevent warnings from -Wmissing-prototypes.  */
2677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYPARSE_PARAM
2678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined __STDC__ || defined __cplusplus
2679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yyparse (void *YYPARSE_PARAM);
2680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yyparse ();
2682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else /* ! YYPARSE_PARAM */
2684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined __STDC__ || defined __cplusplus
2685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yyparse (struct _mesa_glsl_parse_state *state);
2686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yyparse ();
2688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* ! YYPARSE_PARAM */
2690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*----------.
2693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyparse.  |
2694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`----------*/
2695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef YYPARSE_PARAM
2697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint
2700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyparse (void *YYPARSE_PARAM)
2701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint
2703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyparse (YYPARSE_PARAM)
2704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    void *YYPARSE_PARAM;
2705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else /* ! YYPARSE_PARAM */
2707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \
2708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     || defined __cplusplus || defined _MSC_VER)
2709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint
2710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyparse (struct _mesa_glsl_parse_state *state)
2711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
2712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint
2713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyparse (state)
2714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    struct _mesa_glsl_parse_state *state;
2715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The lookahead symbol.  */
2719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgint yychar;
2720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* The semantic value of the lookahead symbol.  */
2722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYSTYPE yylval;
2723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Location data for the lookahead symbol.  */
2725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgYYLTYPE yylloc;
2726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Number of syntax errors so far.  */
2728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yynerrs;
2729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yystate;
2731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* Number of tokens to shift before error messages enabled.  */
2732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    int yyerrstatus;
2733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The stacks and their tools:
2735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       `yyss': related to states.
2736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       `yyvs': related to semantic values.
2737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       `yyls': related to locations.
2738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       Refer to the stacks thru separate pointers, to allow yyoverflow
2740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org       to reallocate them elsewhere.  */
2741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The state stack.  */
2743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yytype_int16 yyssa[YYINITDEPTH];
2744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yytype_int16 *yyss;
2745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yytype_int16 *yyssp;
2746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The semantic value stack.  */
2748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE yyvsa[YYINITDEPTH];
2749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE *yyvs;
2750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTYPE *yyvsp;
2751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The location stack.  */
2753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE yylsa[YYINITDEPTH];
2754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE *yyls;
2755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE *yylsp;
2756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    /* The locations where the error started and ended.  */
2758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYLTYPE yyerror_range[3];
2759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSIZE_T yystacksize;
2761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yyn;
2763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yyresult;
2764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Lookahead token as an internal (translated) token number.  */
2765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yytoken;
2766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* The variables used to return semantic value and location from the
2767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     action routines.  */
2768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSTYPE yyval;
2769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYLTYPE yyloc;
2770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYERROR_VERBOSE
2772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Buffer for error messages, and its allocated size.  */
2773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  char yymsgbuf[128];
2774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  char *yymsg = yymsgbuf;
2775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* The number of symbols on the RHS of the reduced rule.
2781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     Keep to zero when no symbol should be popped.  */
2782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  int yylen = 0;
2783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yytoken = 0;
2785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyss = yyssa;
2786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyvs = yyvsa;
2787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyls = yylsa;
2788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystacksize = YYINITDEPTH;
2789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYDPRINTF ((stderr, "Starting parse\n"));
2791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystate = 0;
2793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerrstatus = 0;
2794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yynerrs = 0;
2795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yychar = YYEMPTY; /* Cause a token to be read.  */
2796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Initialize stack pointers.
2798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     Waste one element of value and location stack
2799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     so that they stay on the same level as the state stack.
2800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     The wasted elements are never initialized.  */
2801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyssp = yyss;
2802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyvsp = yyvs;
2803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylsp = yyls;
2804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Initialize the default location before parsing starts.  */
2807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylloc.first_line   = yylloc.last_line   = 1;
2808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylloc.first_column = yylloc.last_column = 1;
2809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
2810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* User initialization code.  */
2812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1590 of yacc.c  */
2814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 48 "src/src/glsl/glsl_parser.yy"
2815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org{
2816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   yylloc.first_line = 1;
2817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   yylloc.first_column = 1;
2818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   yylloc.last_line = 1;
2819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   yylloc.last_column = 1;
2820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   yylloc.source = 0;
2821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
2822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1590 of yacc.c  */
2824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2825 "src/chromium_gensrc/mesa/glsl_parser.cc"
2825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylsp[0] = yylloc;
2826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yysetstate;
2828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*------------------------------------------------------------.
2830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yynewstate -- Push a new state, which is found in yystate.  |
2831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`------------------------------------------------------------*/
2832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org yynewstate:
2833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* In all cases, when you get here, the value and location stacks
2834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     have just been pushed.  So pushing a state here evens the stacks.  */
2835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyssp++;
2836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org yysetstate:
2838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *yyssp = yystate;
2839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyss + yystacksize - 1 <= yyssp)
2841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Get the current used size of the three stacks, in elements.  */
2843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYSIZE_T yysize = yyssp - yyss + 1;
2844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifdef yyoverflow
2846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      {
2847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Give user a chance to reallocate the stack.  Use copies of
2848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   these so that the &'s don't force the real ones into
2849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memory.  */
2850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYSTYPE *yyvs1 = yyvs;
2851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yytype_int16 *yyss1 = yyss;
2852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYLTYPE *yyls1 = yyls;
2853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	/* Each stack pointer address is followed by the size of the
2855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   data in use in that stack, in bytes.  This used to be a
2856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   conditional around just the two extra args, but that might
2857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   be undefined if yyoverflow is a macro.  */
2858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyoverflow (YY_("memory exhausted"),
2859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    &yyss1, yysize * sizeof (*yyssp),
2860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    &yyvs1, yysize * sizeof (*yyvsp),
2861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    &yyls1, yysize * sizeof (*yylsp),
2862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    &yystacksize);
2863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyls = yyls1;
2865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyss = yyss1;
2866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yyvs = yyvs1;
2867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }
2868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else /* no yyoverflow */
2869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# ifndef YYSTACK_RELOCATE
2870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      goto yyexhaustedlab;
2871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# else
2872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Extend the stack our own way.  */
2873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (YYMAXDEPTH <= yystacksize)
2874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	goto yyexhaustedlab;
2875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yystacksize *= 2;
2876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (YYMAXDEPTH < yystacksize)
2877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yystacksize = YYMAXDEPTH;
2878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      {
2880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	yytype_int16 *yyss1 = yyss;
2881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	union yyalloc *yyptr =
2882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (! yyptr)
2884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  goto yyexhaustedlab;
2885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYSTACK_RELOCATE (yyss_alloc, yyss);
2886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYSTACK_RELOCATE (yyls_alloc, yyls);
2888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#  undef YYSTACK_RELOCATE
2889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	if (yyss1 != yyssa)
2890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  YYSTACK_FREE (yyss1);
2891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }
2892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# endif
2893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif /* no yyoverflow */
2894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyssp = yyss + yysize - 1;
2896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyvsp = yyvs + yysize - 1;
2897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yylsp = yyls + yysize - 1;
2898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  (unsigned long int) yystacksize));
2901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (yyss + yystacksize - 1 <= yyssp)
2903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYABORT;
2904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yystate == YYFINAL)
2909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYACCEPT;
2910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yybackup;
2912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-----------.
2914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yybackup.  |
2915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-----------*/
2916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyybackup:
2917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Do appropriate processing given the current state.  Read a
2919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     lookahead token if we need one and don't already have one.  */
2920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* First try to decide what to do without reference to lookahead token.  */
2922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyn = yypact[yystate];
2923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yypact_value_is_default (yyn))
2924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    goto yydefault;
2925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Not known => get a lookahead token if don't already have one.  */
2927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
2929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yychar == YYEMPTY)
2930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYDPRINTF ((stderr, "Reading a token: "));
2932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yychar = YYLEX;
2933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yychar <= YYEOF)
2936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yychar = yytoken = YYEOF;
2938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYDPRINTF ((stderr, "Now at end of input.\n"));
2939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  else
2941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yytoken = YYTRANSLATE (yychar);
2943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* If the proper action on seeing token YYTOKEN is to reduce or to
2947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     detect an error, take that action.  */
2948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyn += yytoken;
2949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    goto yydefault;
2951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyn = yytable[yyn];
2952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyn <= 0)
2953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
2954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (yytable_value_is_error (yyn))
2955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        goto yyerrlab;
2956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyn = -yyn;
2957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      goto yyreduce;
2958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
2959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Count tokens shifted since error; after three, turn off error
2961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     status.  */
2962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyerrstatus)
2963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yyerrstatus--;
2964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Shift the lookahead token.  */
2966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Discard the shifted token.  */
2969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yychar = YYEMPTY;
2970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystate = yyn;
2972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yyvsp = yylval;
2973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yylsp = yylloc;
2974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yynewstate;
2975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-----------------------------------------------------------.
2978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yydefault -- do the default action for the current state.  |
2979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-----------------------------------------------------------*/
2980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyydefault:
2981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyn = yydefact[yystate];
2982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyn == 0)
2983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    goto yyerrlab;
2984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yyreduce;
2985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-----------------------------.
2988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyreduce -- Do a reduction.  |
2989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-----------------------------*/
2990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyreduce:
2991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* yyn is the number of a rule to reduce with.  */
2992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylen = yyr2[yyn];
2993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* If YYLEN is nonzero, implement the default value of the action:
2995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     `$$ = $1'.
2996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
2997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     Otherwise, the following line sets YYVAL to garbage.
2998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     This behavior is undocumented and Bison
2999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     users should not rely upon it.  Assigning to YYVAL
3000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     unconditionally makes the parser a bit smaller, and it avoids a
3001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     GCC warning that YYVAL may be used uninitialized.  */
3002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyval = yyvsp[1-yylen];
3003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Default location.  */
3005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_REDUCE_PRINT (yyn);
3007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  switch (yyn)
3008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        case 2:
3010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 243 "src/src/glsl/glsl_parser.yy"
3013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   _mesa_glsl_initialize_types(state);
3015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 3:
3019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 247 "src/src/glsl/glsl_parser.yy"
3022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   delete state->symbols;
3024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols = new(ralloc_parent(state)) glsl_symbol_table;
3025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   _mesa_glsl_initialize_types(state);
3026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 5:
3030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 257 "src/src/glsl/glsl_parser.yy"
3033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   bool supported = false;
3035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   switch ((yyvsp[(2) - (3)].n)) {
3037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 100:
3038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      state->es_shader = true;
3039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      supported = state->ctx->API == API_OPENGLES2 ||
3040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		          state->ctx->Extensions.ARB_ES2_compatibility;
3041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      break;
3042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 110:
3043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 120:
3044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      /* FINISHME: Once the OpenGL 3.0 'forward compatible' context or
3045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       * the OpenGL 3.2 Core context is supported, this logic will need
3046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       * change.  Older versions of GLSL are no longer supported
3047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       * outside the compatibility contexts of 3.x.
3048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       */
3049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 130:
3050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 140:
3051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 150:
3052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 330:
3053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 400:
3054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 410:
3055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   case 420:
3056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      supported = _mesa_is_desktop_gl(state->ctx) &&
3057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			  ((unsigned) (yyvsp[(2) - (3)].n)) <= state->ctx->Const.GLSLVersion;
3058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      break;
3059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   default:
3060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      supported = false;
3061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      break;
3062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->language_version = (yyvsp[(2) - (3)].n);
3065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->version_string =
3066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      ralloc_asprintf(state, "GLSL%s %d.%02d",
3067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			      state->es_shader ? " ES" : "",
3068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			      state->language_version / 100,
3069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			      state->language_version % 100);
3070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!supported) {
3072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(2) - (3)]), state, "%s is not supported. "
3073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "Supported versions are: %s\n",
3074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       state->version_string,
3075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       state->supported_version_string);
3076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (state->language_version >= 140) {
3079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      state->ARB_uniform_buffer_object_enable = true;
3080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 10:
3085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 314 "src/src/glsl/glsl_parser.yy"
3088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (state->language_version == 110) {
3090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_warning(& (yylsp[(1) - (2)]), state,
3091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "pragma `invariant(all)' not supported in %s",
3092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 state->version_string);
3093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else {
3094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      state->all_invariant = true;
3095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 16:
3100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 338 "src/src/glsl/glsl_parser.yy"
3103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) {
3105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
3106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 17:
3111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 347 "src/src/glsl/glsl_parser.yy"
3114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* FINISHME: The NULL test is required because pragmas are set to
3116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    * FINISHME: NULL. (See production rule for external_declaration.)
3117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    */
3118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if ((yyvsp[(1) - (1)].node) != NULL)
3119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      state->translation_unit.push_tail(& (yyvsp[(1) - (1)].node)->link);
3120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 18:
3124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 355 "src/src/glsl/glsl_parser.yy"
3127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* FINISHME: The NULL test is required because pragmas are set to
3129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    * FINISHME: NULL. (See production rule for external_declaration.)
3130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    */
3131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if ((yyvsp[(2) - (2)].node) != NULL)
3132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      state->translation_unit.push_tail(& (yyvsp[(2) - (2)].node)->link);
3133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 21:
3137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 371 "src/src/glsl/glsl_parser.yy"
3140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL);
3143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.identifier = (yyvsp[(1) - (1)].identifier);
3145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 22:
3149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 378 "src/src/glsl/glsl_parser.yy"
3152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL);
3155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.int_constant = (yyvsp[(1) - (1)].n);
3157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 23:
3161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 385 "src/src/glsl/glsl_parser.yy"
3164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL);
3167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.uint_constant = (yyvsp[(1) - (1)].n);
3169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 24:
3173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 392 "src/src/glsl/glsl_parser.yy"
3176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL);
3179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.float_constant = (yyvsp[(1) - (1)].real);
3181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 25:
3185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 399 "src/src/glsl/glsl_parser.yy"
3188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL);
3191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.bool_constant = (yyvsp[(1) - (1)].n);
3193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 26:
3197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 406 "src/src/glsl/glsl_parser.yy"
3200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(2) - (3)].expression);
3202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 28:
3206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 414 "src/src/glsl/glsl_parser.yy"
3209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL);
3212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 29:
3217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 420 "src/src/glsl/glsl_parser.yy"
3220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (1)].expression);
3222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 30:
3226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 424 "src/src/glsl/glsl_parser.yy"
3229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL);
3232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->primary_expression.identifier = (yyvsp[(3) - (3)].identifier);
3234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 31:
3238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 431 "src/src/glsl/glsl_parser.yy"
3241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL);
3244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 32:
3249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 437 "src/src/glsl/glsl_parser.yy"
3252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL);
3255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 36:
3260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 455 "src/src/glsl/glsl_parser.yy"
3263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
3266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 41:
3271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 474 "src/src/glsl/glsl_parser.yy"
3274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (2)].expression);
3276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->expressions.push_tail(& (yyvsp[(2) - (2)].expression)->link);
3278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 42:
3282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 480 "src/src/glsl/glsl_parser.yy"
3285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (3)].expression);
3287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->expressions.push_tail(& (yyvsp[(3) - (3)].expression)->link);
3289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 44:
3293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 496 "src/src/glsl/glsl_parser.yy"
3296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier));
3299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   	}
3301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 45:
3304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 502 "src/src/glsl/glsl_parser.yy"
3307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
3310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_function_expression(callee);
3311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   	}
3313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 46:
3316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 509 "src/src/glsl/glsl_parser.yy"
3319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier));
3322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_function_expression(callee);
3323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   	}
3325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 51:
3328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 529 "src/src/glsl/glsl_parser.yy"
3331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (2)].expression);
3333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->expressions.push_tail(& (yyvsp[(2) - (2)].expression)->link);
3335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 52:
3339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 535 "src/src/glsl/glsl_parser.yy"
3342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (3)].expression);
3344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->expressions.push_tail(& (yyvsp[(3) - (3)].expression)->link);
3346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 53:
3350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 547 "src/src/glsl/glsl_parser.yy"
3353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (2)].identifier));
3356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_function_expression(callee);
3357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org   	}
3359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 55:
3362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 559 "src/src/glsl/glsl_parser.yy"
3365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL);
3368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 56:
3373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 565 "src/src/glsl/glsl_parser.yy"
3376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL);
3379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 57:
3384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 571 "src/src/glsl/glsl_parser.yy"
3387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL);
3390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 58:
3395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 580 "src/src/glsl/glsl_parser.yy"
3398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_plus; }
3399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 59:
3402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 581 "src/src/glsl/glsl_parser.yy"
3405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_neg; }
3406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 60:
3409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 582 "src/src/glsl/glsl_parser.yy"
3412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_logic_not; }
3413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 61:
3416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 583 "src/src/glsl/glsl_parser.yy"
3419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_bit_not; }
3420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 63:
3423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 589 "src/src/glsl/glsl_parser.yy"
3426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 64:
3434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 595 "src/src/glsl/glsl_parser.yy"
3437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 65:
3445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 601 "src/src/glsl/glsl_parser.yy"
3448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 67:
3456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 611 "src/src/glsl/glsl_parser.yy"
3459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 68:
3467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 617 "src/src/glsl/glsl_parser.yy"
3470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 70:
3478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 627 "src/src/glsl/glsl_parser.yy"
3481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 71:
3489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 633 "src/src/glsl/glsl_parser.yy"
3492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 73:
3500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 643 "src/src/glsl/glsl_parser.yy"
3503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 74:
3511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 649 "src/src/glsl/glsl_parser.yy"
3514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 75:
3522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 655 "src/src/glsl/glsl_parser.yy"
3525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 76:
3533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 661 "src/src/glsl/glsl_parser.yy"
3536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 78:
3544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 671 "src/src/glsl/glsl_parser.yy"
3547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 79:
3555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 677 "src/src/glsl/glsl_parser.yy"
3558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 81:
3566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 687 "src/src/glsl/glsl_parser.yy"
3569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 83:
3577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 697 "src/src/glsl/glsl_parser.yy"
3580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 85:
3588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 707 "src/src/glsl/glsl_parser.yy"
3591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 87:
3599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 717 "src/src/glsl/glsl_parser.yy"
3602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 89:
3610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 727 "src/src/glsl/glsl_parser.yy"
3613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 91:
3621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 737 "src/src/glsl/glsl_parser.yy"
3624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression));
3627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 93:
3632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 747 "src/src/glsl/glsl_parser.yy"
3635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[(1) - (5)].expression), (yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].expression));
3638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 95:
3643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 757 "src/src/glsl/glsl_parser.yy"
3646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = new(ctx) ast_expression((yyvsp[(2) - (3)].n), (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL);
3649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->set_location(yylloc);
3650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 96:
3654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 765 "src/src/glsl/glsl_parser.yy"
3657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_assign; }
3658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 97:
3661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 766 "src/src/glsl/glsl_parser.yy"
3664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_mul_assign; }
3665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 98:
3668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 767 "src/src/glsl/glsl_parser.yy"
3671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_div_assign; }
3672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 99:
3675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 768 "src/src/glsl/glsl_parser.yy"
3678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_mod_assign; }
3679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 100:
3682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 769 "src/src/glsl/glsl_parser.yy"
3685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_add_assign; }
3686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 101:
3689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 770 "src/src/glsl/glsl_parser.yy"
3692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_sub_assign; }
3693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 102:
3696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 771 "src/src/glsl/glsl_parser.yy"
3699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_ls_assign; }
3700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 103:
3703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 772 "src/src/glsl/glsl_parser.yy"
3706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_rs_assign; }
3707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 104:
3710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 773 "src/src/glsl/glsl_parser.yy"
3713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_and_assign; }
3714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 105:
3717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 774 "src/src/glsl/glsl_parser.yy"
3720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_xor_assign; }
3721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 106:
3724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 775 "src/src/glsl/glsl_parser.yy"
3727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.n) = ast_or_assign; }
3728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 107:
3731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 780 "src/src/glsl/glsl_parser.yy"
3734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression) = (yyvsp[(1) - (1)].expression);
3736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 108:
3740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 784 "src/src/glsl/glsl_parser.yy"
3743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) {
3746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (yyval.expression) = new(ctx) ast_expression(ast_sequence, NULL, NULL, NULL);
3747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (yyval.expression)->set_location(yylloc);
3748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (yyval.expression)->expressions.push_tail(& (yyvsp[(1) - (3)].expression)->link);
3749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else {
3750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      (yyval.expression) = (yyvsp[(1) - (3)].expression);
3751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
3752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.expression)->expressions.push_tail(& (yyvsp[(3) - (3)].expression)->link);
3754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 110:
3758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 804 "src/src/glsl/glsl_parser.yy"
3761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->pop_scope();
3763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(1) - (2)].function);
3764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 111:
3768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 809 "src/src/glsl/glsl_parser.yy"
3771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(1) - (2)].declarator_list);
3773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 112:
3777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 813 "src/src/glsl/glsl_parser.yy"
3780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(3) - (4)].type_specifier)->precision = (yyvsp[(2) - (4)].n);
3782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(3) - (4)].type_specifier)->is_precision_statement = true;
3783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(3) - (4)].type_specifier);
3784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 113:
3788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 819 "src/src/glsl/glsl_parser.yy"
3791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(1) - (1)].node);
3793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 117:
3797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 835 "src/src/glsl/glsl_parser.yy"
3800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function) = (yyvsp[(1) - (2)].function);
3802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link);
3803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 118:
3807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 840 "src/src/glsl/glsl_parser.yy"
3810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function) = (yyvsp[(1) - (3)].function);
3812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link);
3813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 119:
3817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 848 "src/src/glsl/glsl_parser.yy"
3820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function) = new(ctx) ast_function();
3823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function)->set_location(yylloc);
3824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function)->return_type = (yyvsp[(1) - (3)].fully_specified_type);
3825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function)->identifier = (yyvsp[(2) - (3)].identifier);
3826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_function(new(state) ir_function((yyvsp[(2) - (3)].identifier)));
3828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->push_scope();
3829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 120:
3833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 862 "src/src/glsl/glsl_parser.yy"
3836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->set_location(yylloc);
3840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type();
3841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->set_location(yylloc);
3842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->specifier = (yyvsp[(1) - (2)].type_specifier);
3843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->identifier = (yyvsp[(2) - (2)].identifier);
3844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 121:
3848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 872 "src/src/glsl/glsl_parser.yy"
3851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->set_location(yylloc);
3855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type();
3856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->set_location(yylloc);
3857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->specifier = (yyvsp[(1) - (5)].type_specifier);
3858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->identifier = (yyvsp[(2) - (5)].identifier);
3859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->is_array = true;
3860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->array_size = (yyvsp[(4) - (5)].expression);
3861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 122:
3865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 887 "src/src/glsl/glsl_parser.yy"
3868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
3870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = (yyvsp[(3) - (3)].parameter_declarator);
3872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier);
3873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 123:
3877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 894 "src/src/glsl/glsl_parser.yy"
3880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator);
3882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier);
3883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 124:
3887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 899 "src/src/glsl/glsl_parser.yy"
3890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i;
3893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->set_location(yylloc);
3896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type();
3897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (3)].type_qualifier);
3898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->specifier = (yyvsp[(3) - (3)].type_specifier);
3899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 125:
3903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 910 "src/src/glsl/glsl_parser.yy"
3906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator();
3909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->set_location(yylloc);
3910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type = new(ctx) ast_fully_specified_type();
3911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier);
3912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.parameter_declarator)->type->specifier = (yyvsp[(2) - (2)].type_specifier);
3913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 126:
3917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 922 "src/src/glsl/glsl_parser.yy"
3920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 127:
3926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 926 "src/src/glsl/glsl_parser.yy"
3929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.in = 1;
3932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 128:
3936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 931 "src/src/glsl/glsl_parser.yy"
3939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.out = 1;
3942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 129:
3946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 936 "src/src/glsl/glsl_parser.yy"
3949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
3951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.in = 1;
3952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.out = 1;
3953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 132:
3957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 950 "src/src/glsl/glsl_parser.yy"
3960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL);
3963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
3964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (3)].declarator_list);
3966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
3967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (3)].identifier), ir_var_auto));
3968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 133:
3972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 960 "src/src/glsl/glsl_parser.yy"
3975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL);
3978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
3979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (5)].declarator_list);
3981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
3982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (5)].identifier), ir_var_auto));
3983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
3985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 134:
3987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
3989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 970 "src/src/glsl/glsl_parser.yy"
3990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
3991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
3992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL);
3993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
3994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
3995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (6)].declarator_list);
3996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
3997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (6)].identifier), ir_var_auto));
3998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
3999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 135:
4002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 980 "src/src/glsl/glsl_parser.yy"
4005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression));
4008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
4009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (7)].declarator_list);
4011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (7)].identifier), ir_var_auto));
4013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 136:
4017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 990 "src/src/glsl/glsl_parser.yy"
4020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (8)].identifier), true, (yyvsp[(5) - (8)].expression), (yyvsp[(8) - (8)].expression));
4023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
4024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (8)].declarator_list);
4026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (8)].identifier), ir_var_auto));
4028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 137:
4032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1000 "src/src/glsl/glsl_parser.yy"
4035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression));
4038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
4039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (5)].declarator_list);
4041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[(3) - (5)].identifier), ir_var_auto));
4043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 138:
4047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1014 "src/src/glsl/glsl_parser.yy"
4050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* Empty declaration list is valid. */
4053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (1)].fully_specified_type));
4054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 139:
4059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1021 "src/src/glsl/glsl_parser.yy"
4062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
4065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (2)].fully_specified_type));
4067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 140:
4073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1030 "src/src/glsl/glsl_parser.yy"
4076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL);
4079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (4)].fully_specified_type));
4081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 141:
4087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1039 "src/src/glsl/glsl_parser.yy"
4090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL);
4093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (5)].fully_specified_type));
4095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 142:
4101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1048 "src/src/glsl/glsl_parser.yy"
4104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression));
4107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (6)].fully_specified_type));
4109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 143:
4115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1057 "src/src/glsl/glsl_parser.yy"
4118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (7)].identifier), true, (yyvsp[(4) - (7)].expression), (yyvsp[(7) - (7)].expression));
4121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (7)].fully_specified_type));
4123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 144:
4129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1066 "src/src/glsl/glsl_parser.yy"
4132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
4135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[(1) - (4)].fully_specified_type));
4137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 145:
4143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1075 "src/src/glsl/glsl_parser.yy"
4146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL);
4149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list(NULL);
4151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
4152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->invariant = true;
4153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_tail(&decl->link);
4155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 146:
4159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1089 "src/src/glsl/glsl_parser.yy"
4162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
4165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type)->set_location(yylloc);
4166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type)->specifier = (yyvsp[(1) - (1)].type_specifier);
4167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 147:
4171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1096 "src/src/glsl/glsl_parser.yy"
4174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type();
4177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type)->set_location(yylloc);
4178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type)->qualifier = (yyvsp[(1) - (2)].type_qualifier);
4179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.fully_specified_type)->specifier = (yyvsp[(2) - (2)].type_specifier);
4180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 148:
4184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1107 "src/src/glsl/glsl_parser.yy"
4187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier);
4189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 150:
4193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1115 "src/src/glsl/glsl_parser.yy"
4196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(1) - (3)].type_qualifier);
4198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).merge_qualifier(& (yylsp[(3) - (3)]), state, (yyvsp[(3) - (3)].type_qualifier))) {
4199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
4200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 151:
4205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1125 "src/src/glsl/glsl_parser.yy"
4208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* Layout qualifiers for ARB_fragment_coord_conventions. */
4212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).flags.i && state->ARB_fragment_coord_conventions_enable) {
4213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (strcmp((yyvsp[(1) - (1)].identifier), "origin_upper_left") == 0) {
4214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 (yyval.type_qualifier).flags.q.origin_upper_left = 1;
4215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "pixel_center_integer") == 0) {
4216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 (yyval.type_qualifier).flags.q.pixel_center_integer = 1;
4217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if ((yyval.type_qualifier).flags.i && state->ARB_fragment_coord_conventions_warn) {
4220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
4221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    "GL_ARB_fragment_coord_conventions layout "
4222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				    "identifier `%s' used\n", (yyvsp[(1) - (1)].identifier));
4223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* Layout qualifiers for AMD/ARB_conservative_depth. */
4227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).flags.i &&
4228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       (state->AMD_conservative_depth_enable ||
4229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	        state->ARB_conservative_depth_enable)) {
4230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (strcmp((yyvsp[(1) - (1)].identifier), "depth_any") == 0) {
4231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.depth_any = 1;
4232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "depth_greater") == 0) {
4233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.depth_greater = 1;
4234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "depth_less") == 0) {
4235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.depth_less = 1;
4236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "depth_unchanged") == 0) {
4237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.depth_unchanged = 1;
4238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if ((yyval.type_qualifier).flags.i && state->AMD_conservative_depth_warn) {
4241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
4242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "GL_AMD_conservative_depth "
4243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].identifier));
4244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if ((yyval.type_qualifier).flags.i && state->ARB_conservative_depth_warn) {
4246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
4247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "GL_ARB_conservative_depth "
4248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].identifier));
4249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* See also uniform_block_layout_qualifier. */
4253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).flags.i && state->ARB_uniform_buffer_object_enable) {
4254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (strcmp((yyvsp[(1) - (1)].identifier), "std140") == 0) {
4255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.std140 = 1;
4256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "shared") == 0) {
4257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.shared = 1;
4258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      } else if (strcmp((yyvsp[(1) - (1)].identifier), "column_major") == 0) {
4259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         (yyval.type_qualifier).flags.q.column_major = 1;
4260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if ((yyval.type_qualifier).flags.i && state->ARB_uniform_buffer_object_warn) {
4263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	         _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
4264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "#version 140 / GL_ARB_uniform_buffer_object "
4265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	                            "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].identifier));
4266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).flags.i) {
4270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "unrecognized layout identifier "
4271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "`%s'\n", (yyvsp[(1) - (1)].identifier));
4272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
4273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 152:
4278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1193 "src/src/glsl/glsl_parser.yy"
4281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (state->ARB_explicit_attrib_location_enable) {
4285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      /* FINISHME: Handle 'index' once GL_ARB_blend_func_exteneded and
4286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       * FINISHME: GLSL 1.30 (or later) are supported.
4287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	       */
4288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (strcmp("location", (yyvsp[(1) - (3)].identifier)) == 0) {
4289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 (yyval.type_qualifier).flags.q.explicit_location = 1;
4290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 if ((yyvsp[(3) - (3)].n) >= 0) {
4292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    (yyval.type_qualifier).location = (yyvsp[(3) - (3)].n);
4293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 } else {
4294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    _mesa_glsl_error(& (yylsp[(3) - (3)]), state,
4295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				     "invalid location %d specified\n", (yyvsp[(3) - (3)].n));
4296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    YYERROR;
4297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 }
4298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      }
4299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (strcmp("index", (yyvsp[(1) - (3)].identifier)) == 0) {
4301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 (yyval.type_qualifier).flags.q.explicit_index = 1;
4302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 if ((yyvsp[(3) - (3)].n) >= 0) {
4304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    (yyval.type_qualifier).index = (yyvsp[(3) - (3)].n);
4305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		 } else {
4306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		    _mesa_glsl_error(& (yylsp[(3) - (3)]), state,
4307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		                     "invalid index %d specified\n", (yyvsp[(3) - (3)].n));
4308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                    YYERROR;
4309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                 }
4310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              }
4311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* If the identifier didn't match any known layout identifiers,
4314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    * emit an error.
4315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    */
4316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!(yyval.type_qualifier).flags.i) {
4317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (3)]), state, "unrecognized layout identifier "
4318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "`%s'\n", (yyvsp[(1) - (3)].identifier));
4319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
4320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else if (state->ARB_explicit_attrib_location_warn) {
4321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_warning(& (yylsp[(1) - (3)]), state,
4322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "GL_ARB_explicit_attrib_location layout "
4323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "identifier `%s' used\n", (yyvsp[(1) - (3)].identifier));
4324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 153:
4329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1239 "src/src/glsl/glsl_parser.yy"
4332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(1) - (1)].type_qualifier);
4334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   /* Layout qualifiers for ARB_uniform_buffer_object. */
4335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!state->ARB_uniform_buffer_object_enable) {
4336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (1)]), state,
4337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "#version 140 / GL_ARB_uniform_buffer_object "
4338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].type_qualifier));
4339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else if (state->ARB_uniform_buffer_object_warn) {
4340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_warning(& (yylsp[(1) - (1)]), state,
4341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "#version 140 / GL_ARB_uniform_buffer_object "
4342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "layout qualifier `%s' is used\n", (yyvsp[(1) - (1)].type_qualifier));
4343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
4344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 154:
4348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1261 "src/src/glsl/glsl_parser.yy"
4351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.row_major = 1;
4354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 155:
4358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1266 "src/src/glsl/glsl_parser.yy"
4361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.packed = 1;
4364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 156:
4368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1274 "src/src/glsl/glsl_parser.yy"
4371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.smooth = 1;
4374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 157:
4378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1279 "src/src/glsl/glsl_parser.yy"
4381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.flat = 1;
4384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 158:
4388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1284 "src/src/glsl/glsl_parser.yy"
4391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.noperspective = 1;
4394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 159:
4398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1292 "src/src/glsl/glsl_parser.yy"
4401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.constant = 1;
4404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 162:
4408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1302 "src/src/glsl/glsl_parser.yy"
4411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
4413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
4414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 164:
4418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1308 "src/src/glsl/glsl_parser.yy"
4421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier);
4423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i;
4424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 165:
4428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1313 "src/src/glsl/glsl_parser.yy"
4431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier);
4433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.invariant = 1;
4434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 166:
4438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1318 "src/src/glsl/glsl_parser.yy"
4441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier);
4443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i;
4444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.invariant = 1;
4445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 167:
4449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1324 "src/src/glsl/glsl_parser.yy"
4452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.invariant = 1;
4455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 168:
4459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1332 "src/src/glsl/glsl_parser.yy"
4462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.constant = 1;
4465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 169:
4469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1337 "src/src/glsl/glsl_parser.yy"
4472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.attribute = 1;
4475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 170:
4479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1342 "src/src/glsl/glsl_parser.yy"
4482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.varying = 1;
4485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 171:
4489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1347 "src/src/glsl/glsl_parser.yy"
4492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.centroid = 1;
4495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.varying = 1;
4496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 172:
4500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1353 "src/src/glsl/glsl_parser.yy"
4503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.in = 1;
4506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 173:
4510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1358 "src/src/glsl/glsl_parser.yy"
4513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.out = 1;
4516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 174:
4520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1363 "src/src/glsl/glsl_parser.yy"
4523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.in = 1;
4526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 175:
4530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1368 "src/src/glsl/glsl_parser.yy"
4533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.out = 1;
4536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 176:
4540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1373 "src/src/glsl/glsl_parser.yy"
4543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier)));
4545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_qualifier).flags.q.uniform = 1;
4546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 177:
4550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1381 "src/src/glsl/glsl_parser.yy"
4553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = (yyvsp[(1) - (1)].type_specifier);
4555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 178:
4559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1385 "src/src/glsl/glsl_parser.yy"
4562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier);
4564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n);
4565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 180:
4569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1394 "src/src/glsl/glsl_parser.yy"
4572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier);
4574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->is_array = true;
4575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->array_size = NULL;
4576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 181:
4580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1400 "src/src/glsl/glsl_parser.yy"
4583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier);
4585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->is_array = true;
4586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->array_size = (yyvsp[(3) - (4)].expression);
4587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 182:
4591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1409 "src/src/glsl/glsl_parser.yy"
4594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier));
4597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->set_location(yylloc);
4598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 183:
4602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1415 "src/src/glsl/glsl_parser.yy"
4605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier));
4608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->set_location(yylloc);
4609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 184:
4613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1421 "src/src/glsl/glsl_parser.yy"
4616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
4617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
4618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier));
4619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.type_specifier)->set_location(yylloc);
4620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
4621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 185:
4624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1429 "src/src/glsl/glsl_parser.yy"
4627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "void"; }
4628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 186:
4631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1430 "src/src/glsl/glsl_parser.yy"
4634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "float"; }
4635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 187:
4638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1431 "src/src/glsl/glsl_parser.yy"
4641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "int"; }
4642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 188:
4645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1432 "src/src/glsl/glsl_parser.yy"
4648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "uint"; }
4649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 189:
4652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1433 "src/src/glsl/glsl_parser.yy"
4655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "bool"; }
4656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 190:
4659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1434 "src/src/glsl/glsl_parser.yy"
4662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "vec2"; }
4663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 191:
4666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1435 "src/src/glsl/glsl_parser.yy"
4669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "vec3"; }
4670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 192:
4673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1436 "src/src/glsl/glsl_parser.yy"
4676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "vec4"; }
4677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 193:
4680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1437 "src/src/glsl/glsl_parser.yy"
4683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "bvec2"; }
4684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 194:
4687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1438 "src/src/glsl/glsl_parser.yy"
4690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "bvec3"; }
4691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 195:
4694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1439 "src/src/glsl/glsl_parser.yy"
4697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "bvec4"; }
4698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 196:
4701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1440 "src/src/glsl/glsl_parser.yy"
4704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "ivec2"; }
4705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 197:
4708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1441 "src/src/glsl/glsl_parser.yy"
4711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "ivec3"; }
4712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 198:
4715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1442 "src/src/glsl/glsl_parser.yy"
4718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "ivec4"; }
4719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 199:
4722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1443 "src/src/glsl/glsl_parser.yy"
4725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "uvec2"; }
4726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 200:
4729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1444 "src/src/glsl/glsl_parser.yy"
4732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "uvec3"; }
4733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 201:
4736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1445 "src/src/glsl/glsl_parser.yy"
4739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "uvec4"; }
4740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 202:
4743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1446 "src/src/glsl/glsl_parser.yy"
4746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat2"; }
4747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 203:
4750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1447 "src/src/glsl/glsl_parser.yy"
4753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat2x3"; }
4754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 204:
4757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1448 "src/src/glsl/glsl_parser.yy"
4760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat2x4"; }
4761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 205:
4764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1449 "src/src/glsl/glsl_parser.yy"
4767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat3x2"; }
4768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 206:
4771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1450 "src/src/glsl/glsl_parser.yy"
4774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat3"; }
4775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 207:
4778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1451 "src/src/glsl/glsl_parser.yy"
4781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat3x4"; }
4782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 208:
4785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1452 "src/src/glsl/glsl_parser.yy"
4788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat4x2"; }
4789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 209:
4792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1453 "src/src/glsl/glsl_parser.yy"
4795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat4x3"; }
4796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 210:
4799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1454 "src/src/glsl/glsl_parser.yy"
4802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "mat4"; }
4803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 211:
4806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1455 "src/src/glsl/glsl_parser.yy"
4809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler1D"; }
4810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 212:
4813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1456 "src/src/glsl/glsl_parser.yy"
4816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2D"; }
4817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 213:
4820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1457 "src/src/glsl/glsl_parser.yy"
4823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2DRect"; }
4824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 214:
4827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1458 "src/src/glsl/glsl_parser.yy"
4830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler3D"; }
4831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 215:
4834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1459 "src/src/glsl/glsl_parser.yy"
4837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "samplerCube"; }
4838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 216:
4841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1460 "src/src/glsl/glsl_parser.yy"
4844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "samplerExternalOES"; }
4845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 217:
4848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1461 "src/src/glsl/glsl_parser.yy"
4851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler1DShadow"; }
4852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 218:
4855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1462 "src/src/glsl/glsl_parser.yy"
4858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2DShadow"; }
4859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 219:
4862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1463 "src/src/glsl/glsl_parser.yy"
4865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2DRectShadow"; }
4866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 220:
4869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1464 "src/src/glsl/glsl_parser.yy"
4872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "samplerCubeShadow"; }
4873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 221:
4876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1465 "src/src/glsl/glsl_parser.yy"
4879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler1DArray"; }
4880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 222:
4883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1466 "src/src/glsl/glsl_parser.yy"
4886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2DArray"; }
4887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 223:
4890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1467 "src/src/glsl/glsl_parser.yy"
4893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler1DArrayShadow"; }
4894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 224:
4897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1468 "src/src/glsl/glsl_parser.yy"
4900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "sampler2DArrayShadow"; }
4901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 225:
4904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1469 "src/src/glsl/glsl_parser.yy"
4907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "samplerBuffer"; }
4908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 226:
4911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1470 "src/src/glsl/glsl_parser.yy"
4914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler1D"; }
4915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 227:
4918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1471 "src/src/glsl/glsl_parser.yy"
4921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler2D"; }
4922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 228:
4925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1472 "src/src/glsl/glsl_parser.yy"
4928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler2DRect"; }
4929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 229:
4932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1473 "src/src/glsl/glsl_parser.yy"
4935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler3D"; }
4936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 230:
4939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1474 "src/src/glsl/glsl_parser.yy"
4942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isamplerCube"; }
4943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 231:
4946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1475 "src/src/glsl/glsl_parser.yy"
4949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler1DArray"; }
4950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 232:
4953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1476 "src/src/glsl/glsl_parser.yy"
4956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isampler2DArray"; }
4957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 233:
4960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1477 "src/src/glsl/glsl_parser.yy"
4963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "isamplerBuffer"; }
4964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 234:
4967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1478 "src/src/glsl/glsl_parser.yy"
4970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler1D"; }
4971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 235:
4974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1479 "src/src/glsl/glsl_parser.yy"
4977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler2D"; }
4978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 236:
4981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1480 "src/src/glsl/glsl_parser.yy"
4984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler2DRect"; }
4985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4986f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4987f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 237:
4988f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4989f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4990f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1481 "src/src/glsl/glsl_parser.yy"
4991f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler3D"; }
4992f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
4993f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4994f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 238:
4995f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
4996f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
4997f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1482 "src/src/glsl/glsl_parser.yy"
4998f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usamplerCube"; }
4999f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5000f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5001f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 239:
5002f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5003f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5004f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1483 "src/src/glsl/glsl_parser.yy"
5005f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler1DArray"; }
5006f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5007f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5008f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 240:
5009f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5010f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5011f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1484 "src/src/glsl/glsl_parser.yy"
5012f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usampler2DArray"; }
5013f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5014f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5015f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 241:
5016f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5017f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5018f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1485 "src/src/glsl/glsl_parser.yy"
5019f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.identifier) = "usamplerBuffer"; }
5020f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5021f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5022f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 242:
5023f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5024f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5025f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1489 "src/src/glsl/glsl_parser.yy"
5026f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5027f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     if (!state->es_shader && state->language_version < 130)
5028f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
5029f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				         "precision qualifier forbidden "
5030f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "in %s (1.30 or later "
5031f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "required)\n",
5032f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 state->version_string);
5033f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5034f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     (yyval.n) = ast_precision_high;
5035f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  }
5036f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5037f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5038f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 243:
5039f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5040f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5041f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1499 "src/src/glsl/glsl_parser.yy"
5042f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5043f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     if (!state->es_shader && state->language_version < 130)
5044f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
5045f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "precision qualifier forbidden "
5046f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "in %s (1.30 or later "
5047f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "required)\n",
5048f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 state->version_string);
5049f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5050f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     (yyval.n) = ast_precision_medium;
5051f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  }
5052f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5053f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5054f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 244:
5055f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5056f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5057f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1509 "src/src/glsl/glsl_parser.yy"
5058f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5059f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     if (!state->es_shader && state->language_version < 130)
5060f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			_mesa_glsl_error(& (yylsp[(1) - (1)]), state,
5061f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "precision qualifier forbidden "
5062f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "in %s (1.30 or later "
5063f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 "required)\n",
5064f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					 state->version_string);
5065f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5066f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		     (yyval.n) = ast_precision_low;
5067f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  }
5068f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5069f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5070f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 245:
5071f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5072f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5073f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1523 "src/src/glsl/glsl_parser.yy"
5074f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5075f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5076f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].declarator_list));
5077f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.struct_specifier)->set_location(yylloc);
5078f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->add_type((yyvsp[(2) - (5)].identifier), glsl_type::void_type);
5079f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5080f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5081f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5082f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 246:
5083f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5084f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5085f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1530 "src/src/glsl/glsl_parser.yy"
5086f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5087f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5088f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].declarator_list));
5089f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.struct_specifier)->set_location(yylloc);
5090f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5091f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5092f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5093f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 247:
5094f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5095f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5096f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1539 "src/src/glsl/glsl_parser.yy"
5097f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5098f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (1)].declarator_list);
5099f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(1) - (1)].declarator_list)->link.self_link();
5100f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5101f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5102f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5103f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 248:
5104f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5105f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5106f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1544 "src/src/glsl/glsl_parser.yy"
5107f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5108f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (2)].declarator_list);
5109f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link);
5110f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5111f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5112f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5113f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 249:
5114f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5115f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5116f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1552 "src/src/glsl/glsl_parser.yy"
5117f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5118f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5119f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
5120f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->set_location(yylloc);
5121f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5122f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->specifier = (yyvsp[(1) - (3)].type_specifier);
5123f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list(type);
5124f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
5125f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5126f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_degenerate_list_at_head(& (yyvsp[(2) - (3)].declaration)->link);
5127f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5128f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5129f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5130f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 250:
5131f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5132f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5133f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1567 "src/src/glsl/glsl_parser.yy"
5134f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5135f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration) = (yyvsp[(1) - (1)].declaration);
5136f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(1) - (1)].declaration)->link.self_link();
5137f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5138f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5139f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5140f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 251:
5141f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5142f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5143f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1572 "src/src/glsl/glsl_parser.yy"
5144f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5145f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration) = (yyvsp[(1) - (3)].declaration);
5146f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link);
5147f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5148f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5149f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5150f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 252:
5151f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5152f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5153f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1580 "src/src/glsl/glsl_parser.yy"
5154f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5155f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5156f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL);
5157f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration)->set_location(yylloc);
5158f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5159f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5160f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5161f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 253:
5162f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5163f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5164f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1586 "src/src/glsl/glsl_parser.yy"
5165f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5166f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5167f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL);
5168f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declaration)->set_location(yylloc);
5169f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5170f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5171f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5172f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 256:
5173f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5174f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5175f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1604 "src/src/glsl/glsl_parser.yy"
5176f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); }
5177f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5178f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5179f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 264:
5180f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5181f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5182f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1619 "src/src/glsl/glsl_parser.yy"
5183f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5184f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5185f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL);
5186f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement)->set_location(yylloc);
5187f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5188f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5189f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5190f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 265:
5191f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5192f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5193f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1625 "src/src/glsl/glsl_parser.yy"
5194f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5195f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->push_scope();
5196f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5197f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5198f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5199f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 266:
5200f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5201f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5202f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1629 "src/src/glsl/glsl_parser.yy"
5203f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5204f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5205f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(3) - (4)].node));
5206f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement)->set_location(yylloc);
5207f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->pop_scope();
5208f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5209f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5210f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5211f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 267:
5212f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5213f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5214f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1638 "src/src/glsl/glsl_parser.yy"
5215f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); }
5216f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5217f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5218f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 269:
5219f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5220f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5221f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1644 "src/src/glsl/glsl_parser.yy"
5222f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5223f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5224f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL);
5225f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement)->set_location(yylloc);
5226f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5227f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5228f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5229f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 270:
5230f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5231f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5232f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1650 "src/src/glsl/glsl_parser.yy"
5233f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5234f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5235f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node));
5236f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.compound_statement)->set_location(yylloc);
5237f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5238f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5239f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5240f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 271:
5241f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5242f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5243f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1659 "src/src/glsl/glsl_parser.yy"
5244f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5245f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if ((yyvsp[(1) - (1)].node) == NULL) {
5246f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n");
5247f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      assert((yyvsp[(1) - (1)].node) != NULL);
5248f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5249f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5250f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(1) - (1)].node);
5251f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->link.self_link();
5252f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5253f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5254f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5255f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 272:
5256f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5257f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5258f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1669 "src/src/glsl/glsl_parser.yy"
5259f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5260f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if ((yyvsp[(2) - (2)].node) == NULL) {
5261f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n");
5262f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      assert((yyvsp[(2) - (2)].node) != NULL);
5263f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5264f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (yyvsp[(1) - (2)].node);
5265f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].node)->link);
5266f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5267f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5268f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5269f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 273:
5270f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5271f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5272f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1681 "src/src/glsl/glsl_parser.yy"
5273f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5274f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5275f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_expression_statement(NULL);
5276f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5277f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5278f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5279f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5280f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 274:
5281f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5282f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5283f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1687 "src/src/glsl/glsl_parser.yy"
5284f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5285f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5286f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression));
5287f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5288f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5289f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5290f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5291f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 275:
5292f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5293f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5294f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1696 "src/src/glsl/glsl_parser.yy"
5295f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5296f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement,
5297f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						   (yyvsp[(5) - (5)].selection_rest_statement).else_statement);
5298f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5299f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5300f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5301f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5302f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 276:
5303f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5304f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5305f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1705 "src/src/glsl/glsl_parser.yy"
5306f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5307f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node);
5308f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node);
5309f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5310f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5311f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5312f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 277:
5313f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5314f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5315f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1710 "src/src/glsl/glsl_parser.yy"
5316f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5317f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node);
5318f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.selection_rest_statement).else_statement = NULL;
5319f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5320f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5321f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5322f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 278:
5323f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5324f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5325f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1718 "src/src/glsl/glsl_parser.yy"
5326f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5327f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression);
5328f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5329f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5330f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5331f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 279:
5332f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5333f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5334f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1722 "src/src/glsl/glsl_parser.yy"
5335f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5336f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5337f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression));
5338f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_declarator_list *declarator = new(ctx) ast_declarator_list((yyvsp[(1) - (4)].fully_specified_type));
5339f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   decl->set_location(yylloc);
5340f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   declarator->set_location(yylloc);
5341f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5342f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   declarator->declarations.push_tail(&decl->link);
5343f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = declarator;
5344f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5345f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5346f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5347f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 280:
5348f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5349f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5350f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1740 "src/src/glsl/glsl_parser.yy"
5351f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5352f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(state) ast_switch_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].switch_body));
5353f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5354f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5355f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5356f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5357f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 281:
5358f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5359f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5360f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1748 "src/src/glsl/glsl_parser.yy"
5361f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5362f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.switch_body) = new(state) ast_switch_body(NULL);
5363f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.switch_body)->set_location(yylloc);
5364f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5365f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5366f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5367f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 282:
5368f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5369f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5370f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1753 "src/src/glsl/glsl_parser.yy"
5371f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5372f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.switch_body) = new(state) ast_switch_body((yyvsp[(2) - (3)].case_statement_list));
5373f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.switch_body)->set_location(yylloc);
5374f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5375f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5376f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5377f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 283:
5378f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5379f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5380f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1761 "src/src/glsl/glsl_parser.yy"
5381f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5382f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label) = new(state) ast_case_label((yyvsp[(2) - (3)].expression));
5383f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label)->set_location(yylloc);
5384f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5385f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5386f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5387f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 284:
5388f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5389f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5390f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1766 "src/src/glsl/glsl_parser.yy"
5391f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5392f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label) = new(state) ast_case_label(NULL);
5393f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label)->set_location(yylloc);
5394f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5395f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5396f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5397f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 285:
5398f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5399f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5400f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1774 "src/src/glsl/glsl_parser.yy"
5401f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5402f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_case_label_list *labels = new(state) ast_case_label_list();
5403f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5404f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   labels->labels.push_tail(& (yyvsp[(1) - (1)].case_label)->link);
5405f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label_list) = labels;
5406f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label_list)->set_location(yylloc);
5407f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5408f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5409f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5410f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 286:
5411f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5412f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5413f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1782 "src/src/glsl/glsl_parser.yy"
5414f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5415f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label_list) = (yyvsp[(1) - (2)].case_label_list);
5416f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_label_list)->labels.push_tail(& (yyvsp[(2) - (2)].case_label)->link);
5417f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5418f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5419f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5420f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 287:
5421f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5422f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5423f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1790 "src/src/glsl/glsl_parser.yy"
5424f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5425f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_case_statement *stmts = new(state) ast_case_statement((yyvsp[(1) - (2)].case_label_list));
5426f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   stmts->set_location(yylloc);
5427f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5428f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   stmts->stmts.push_tail(& (yyvsp[(2) - (2)].node)->link);
5429f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement) = stmts;
5430f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5431f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5432f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5433f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 288:
5434f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5435f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5436f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1798 "src/src/glsl/glsl_parser.yy"
5437f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5438f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement) = (yyvsp[(1) - (2)].case_statement);
5439f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement)->stmts.push_tail(& (yyvsp[(2) - (2)].node)->link);
5440f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5441f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5442f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5443f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 289:
5444f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5445f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5446f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1806 "src/src/glsl/glsl_parser.yy"
5447f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5448f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_case_statement_list *cases= new(state) ast_case_statement_list();
5449f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   cases->set_location(yylloc);
5450f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5451f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   cases->cases.push_tail(& (yyvsp[(1) - (1)].case_statement)->link);
5452f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement_list) = cases;
5453f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5454f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5455f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5456f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 290:
5457f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5458f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5459f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1814 "src/src/glsl/glsl_parser.yy"
5460f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5461f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement_list) = (yyvsp[(1) - (2)].case_statement_list);
5462f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.case_statement_list)->cases.push_tail(& (yyvsp[(2) - (2)].case_statement)->link);
5463f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5464f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5465f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5466f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 291:
5467f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5468f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5469f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1822 "src/src/glsl/glsl_parser.yy"
5470f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5471f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5472f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while,
5473f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   					    NULL, (yyvsp[(3) - (5)].node), NULL, (yyvsp[(5) - (5)].node));
5474f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5475f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5476f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5477f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5478f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 292:
5479f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5480f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5481f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1829 "src/src/glsl/glsl_parser.yy"
5482f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5483f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5484f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while,
5485f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						    NULL, (yyvsp[(5) - (7)].expression), NULL, (yyvsp[(2) - (7)].node));
5486f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5487f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5488f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5489f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5490f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 293:
5491f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5492f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5493f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1836 "src/src/glsl/glsl_parser.yy"
5494f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5495f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5496f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for,
5497f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org						    (yyvsp[(3) - (6)].node), (yyvsp[(4) - (6)].for_rest_statement).cond, (yyvsp[(4) - (6)].for_rest_statement).rest, (yyvsp[(6) - (6)].node));
5498f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5499f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5500f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5501f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5502f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 297:
5503f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5504f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5505f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1852 "src/src/glsl/glsl_parser.yy"
5506f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5507f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = NULL;
5508f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5509f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5510f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5511f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 298:
5512f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5513f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5514f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1859 "src/src/glsl/glsl_parser.yy"
5515f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5516f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node);
5517f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.for_rest_statement).rest = NULL;
5518f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5519f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5520f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5521f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 299:
5522f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5523f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5524f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1864 "src/src/glsl/glsl_parser.yy"
5525f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5526f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node);
5527f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression);
5528f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5529f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5530f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5531f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 300:
5532f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5533f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5534f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1873 "src/src/glsl/glsl_parser.yy"
5535f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5536f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5537f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL);
5538f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5539f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5540f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5541f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5542f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 301:
5543f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5544f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5545f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1879 "src/src/glsl/glsl_parser.yy"
5546f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5547f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5548f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL);
5549f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5550f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5551f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5552f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5553f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 302:
5554f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5555f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5556f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1885 "src/src/glsl/glsl_parser.yy"
5557f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5558f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5559f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL);
5560f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5561f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5562f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5563f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5564f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 303:
5565f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5566f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5567f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1891 "src/src/glsl/glsl_parser.yy"
5568f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5569f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5570f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression));
5571f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5572f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5573f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5574f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5575f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 304:
5576f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5577f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5578f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1897 "src/src/glsl/glsl_parser.yy"
5579f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5580f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5581f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL);
5582f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node)->set_location(yylloc);
5583f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5584f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5585f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5586f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 305:
5587f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5588f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5589f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1905 "src/src/glsl/glsl_parser.yy"
5590f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = (yyvsp[(1) - (1)].function_definition); }
5591f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5592f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5593f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 306:
5594f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5595f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5596f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1906 "src/src/glsl/glsl_parser.yy"
5597f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = (yyvsp[(1) - (1)].node); }
5598f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5599f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5600f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 307:
5601f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5602f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5603f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1907 "src/src/glsl/glsl_parser.yy"
5604f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = NULL; }
5605f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5606f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5607f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 308:
5608f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5609f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5610f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1908 "src/src/glsl/glsl_parser.yy"
5611f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    { (yyval.node) = NULL; }
5612f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5613f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5614f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 309:
5615f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5616f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5617f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1913 "src/src/glsl/glsl_parser.yy"
5618f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5619f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5620f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function_definition) = new(ctx) ast_function_definition();
5621f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function_definition)->set_location(yylloc);
5622f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function_definition)->prototype = (yyvsp[(1) - (2)].function);
5623f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.function_definition)->body = (yyvsp[(2) - (2)].compound_statement);
5624f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5625f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   state->symbols->pop_scope();
5626f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5627f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5628f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5629f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 310:
5630f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5631f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5632f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1927 "src/src/glsl/glsl_parser.yy"
5633f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5634f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5635f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_uniform_block(*state->default_uniform_qualifier,
5636f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org					   (yyvsp[(2) - (6)].identifier), (yyvsp[(4) - (6)].declarator_list));
5637f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5638f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!state->ARB_uniform_buffer_object_enable) {
5639f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (6)]), state,
5640f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "#version 140 / GL_ARB_uniform_buffer_object "
5641f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "required for defining uniform blocks\n");
5642f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else if (state->ARB_uniform_buffer_object_warn) {
5643f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_warning(& (yylsp[(1) - (6)]), state,
5644f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "#version 140 / GL_ARB_uniform_buffer_object "
5645f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "required for defining uniform blocks\n");
5646f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5647f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5648f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5649f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5650f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 311:
5651f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5652f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5653f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1943 "src/src/glsl/glsl_parser.yy"
5654f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5655f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5656f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5657f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_type_qualifier qual = *state->default_uniform_qualifier;
5658f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!qual.merge_qualifier(& (yylsp[(1) - (7)]), state, (yyvsp[(1) - (7)].type_qualifier))) {
5659f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
5660f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5661f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.node) = new(ctx) ast_uniform_block(qual, (yyvsp[(3) - (7)].identifier), (yyvsp[(5) - (7)].declarator_list));
5662f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5663f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!state->ARB_uniform_buffer_object_enable) {
5664f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_error(& (yylsp[(1) - (7)]), state,
5665f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "#version 140 / GL_ARB_uniform_buffer_object "
5666f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org			       "required for defining uniform blocks\n");
5667f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   } else if (state->ARB_uniform_buffer_object_warn) {
5668f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      _mesa_glsl_warning(& (yylsp[(1) - (7)]), state,
5669f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "#version 140 / GL_ARB_uniform_buffer_object "
5670f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org				 "required for defining uniform blocks\n");
5671f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5672f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5673f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5674f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5675f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 312:
5676f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5677f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5678f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1966 "src/src/glsl/glsl_parser.yy"
5679f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5680f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (1)].declarator_list);
5681f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(1) - (1)].declarator_list)->link.self_link();
5682f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5683f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5684f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5685f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 313:
5686f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5687f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5688f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1971 "src/src/glsl/glsl_parser.yy"
5689f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5690f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = (yyvsp[(1) - (2)].declarator_list);
5691f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyvsp[(2) - (2)].declarator_list)->link.insert_before(& (yyval.declarator_list)->link);
5692f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5693f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5694f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5695f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 316:
5696f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5697f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5698f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 1985 "src/src/glsl/glsl_parser.yy"
5699f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5700f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5701f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
5702f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->set_location(yylloc);
5703f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5704f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->qualifier = (yyvsp[(1) - (5)].type_qualifier);
5705f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->qualifier.flags.q.uniform = true;
5706f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->specifier = (yyvsp[(3) - (5)].type_specifier);
5707f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list(type);
5708f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
5709f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->ubo_qualifiers_valid = true;
5710f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5711f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_degenerate_list_at_head(& (yyvsp[(4) - (5)].declaration)->link);
5712f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5713f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5714f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5715f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 317:
5716f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5717f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5718f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2000 "src/src/glsl/glsl_parser.yy"
5719f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5720f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   void *ctx = state;
5721f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
5722f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->set_location(yylloc);
5723f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5724f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->qualifier.flags.q.uniform = true;
5725f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   type->specifier = (yyvsp[(2) - (4)].type_specifier);
5726f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list) = new(ctx) ast_declarator_list(type);
5727f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->set_location(yylloc);
5728f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->ubo_qualifiers_valid = true;
5729f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5730f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   (yyval.declarator_list)->declarations.push_degenerate_list_at_head(& (yyvsp[(3) - (4)].declaration)->link);
5731f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5732f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5733f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5734f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  case 318:
5735f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5736f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5737f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 2017 "src/src/glsl/glsl_parser.yy"
5738f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5739f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   if (!state->default_uniform_qualifier->merge_qualifier(& (yylsp[(1) - (3)]), state,
5740f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org								  (yyvsp[(1) - (3)].type_qualifier))) {
5741f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      YYERROR;
5742f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	   }
5743f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5744f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    break;
5745f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5746f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5747f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5748f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/* Line 1806 of yacc.c  */
5749f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#line 5750 "src/chromium_gensrc/mesa/glsl_parser.cc"
5750f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      default: break;
5751f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5752f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* User semantic actions sometimes alter yychar, and that requires
5753f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     that yytoken be updated with the new translation.  We take the
5754f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     approach of translating immediately before every use of yytoken.
5755f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     One alternative is translating here after every semantic action,
5756f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     but that translation would be missed if the semantic action invokes
5757f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
5758f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
5759f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     incorrect destructor might then be invoked immediately.  In the
5760f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     case of YYERROR or YYBACKUP, subsequent parser actions might lead
5761f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     to an incorrect destructor call or verbose syntax error message
5762f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     before the lookahead is translated.  */
5763f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5764f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5765f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYPOPSTACK (yylen);
5766f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylen = 0;
5767f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_STACK_PRINT (yyss, yyssp);
5768f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5769f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yyvsp = yyval;
5770f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yylsp = yyloc;
5771f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5772f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Now `shift' the result of the reduction.  Determine what state
5773f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     that goes to, based on the state we popped back to and the rule
5774f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     number reduced by.  */
5775f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5776f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyn = yyr1[yyn];
5777f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5778f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5779f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5780f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yystate = yytable[yystate];
5781f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  else
5782f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    yystate = yydefgoto[yyn - YYNTOKENS];
5783f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5784f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yynewstate;
5785f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5786f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5787f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*------------------------------------.
5788f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyerrlab -- here on detecting error |
5789f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`------------------------------------*/
5790f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyerrlab:
5791f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Make sure we have latest lookahead translation.  See comments at
5792f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     user semantic actions for why this is necessary.  */
5793f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
5794f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5795f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* If not already recovering from an error, report this error.  */
5796f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (!yyerrstatus)
5797f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5798f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      ++yynerrs;
5799f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if ! YYERROR_VERBOSE
5800f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyerror (&yylloc, state, YY_("syntax error"));
5801f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#else
5802f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
5803f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                                        yyssp, yytoken)
5804f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      {
5805f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        char const *yymsgp = YY_("syntax error");
5806f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        int yysyntax_error_status;
5807f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        yysyntax_error_status = YYSYNTAX_ERROR;
5808f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (yysyntax_error_status == 0)
5809f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          yymsgp = yymsg;
5810f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        else if (yysyntax_error_status == 1)
5811f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          {
5812f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            if (yymsg != yymsgbuf)
5813f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              YYSTACK_FREE (yymsg);
5814f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
5815f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            if (!yymsg)
5816f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              {
5817f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yymsg = yymsgbuf;
5818f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yymsg_alloc = sizeof yymsgbuf;
5819f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yysyntax_error_status = 2;
5820f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              }
5821f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org            else
5822f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              {
5823f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yysyntax_error_status = YYSYNTAX_ERROR;
5824f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                yymsgp = yymsg;
5825f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org              }
5826f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          }
5827f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        yyerror (&yylloc, state, yymsgp);
5828f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org        if (yysyntax_error_status == 2)
5829f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org          goto yyexhaustedlab;
5830f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      }
5831f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org# undef YYSYNTAX_ERROR
5832f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
5833f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5834f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5835f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerror_range[1] = yylloc;
5836f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5837f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyerrstatus == 3)
5838f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5839f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* If just tried and failed to reuse lookahead token after an
5840f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	 error, discard it.  */
5841f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5842f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (yychar <= YYEOF)
5843f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{
5844f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  /* Return failure if at end of input.  */
5845f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  if (yychar == YYEOF)
5846f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    YYABORT;
5847f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5848f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      else
5849f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{
5850f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  yydestruct ("Error: discarding",
5851f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		      yytoken, &yylval, &yylloc, state);
5852f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  yychar = YYEMPTY;
5853f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5854f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5855f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5856f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Else will try to reuse lookahead token after shifting the error
5857f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     token.  */
5858f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yyerrlab1;
5859f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5860f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5861f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*---------------------------------------------------.
5862f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyerrorlab -- error raised explicitly by YYERROR.  |
5863f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`---------------------------------------------------*/
5864f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyerrorlab:
5865f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5866f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Pacify compilers like GCC when the user code never invokes
5867f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     YYERROR and the label yyerrorlab therefore never appears in user
5868f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     code.  */
5869f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (/*CONSTCOND*/ 0)
5870f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     goto yyerrorlab;
5871f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5872f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerror_range[1] = yylsp[1-yylen];
5873f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Do not reclaim the symbols of the rule which action triggered
5874f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     this YYERROR.  */
5875f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYPOPSTACK (yylen);
5876f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yylen = 0;
5877f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_STACK_PRINT (yyss, yyssp);
5878f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystate = *yyssp;
5879f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yyerrlab1;
5880f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5881f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5882f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-------------------------------------------------------------.
5883f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyerrlab1 -- common code for both syntax error and YYERROR.  |
5884f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-------------------------------------------------------------*/
5885f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyerrlab1:
5886f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
5887f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5888f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  for (;;)
5889f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5890f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyn = yypact[yystate];
5891f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (!yypact_value_is_default (yyn))
5892f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	{
5893f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  yyn += YYTERROR;
5894f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5895f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    {
5896f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      yyn = yytable[yyn];
5897f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	      if (0 < yyn)
5898f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		break;
5899f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	    }
5900f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	}
5901f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5902f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Pop the current state because it cannot handle the error token.  */
5903f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      if (yyssp == yyss)
5904f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org	YYABORT;
5905f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5906f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yyerror_range[1] = *yylsp;
5907f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yydestruct ("Error: popping",
5908f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  yystos[yystate], yyvsp, yylsp, state);
5909f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYPOPSTACK (1);
5910f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yystate = *yyssp;
5911f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YY_STACK_PRINT (yyss, yyssp);
5912f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5913f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5914f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yyvsp = yylval;
5915f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5916f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerror_range[2] = yylloc;
5917f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Using YYLLOC is tempting, but would change the location of
5918f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     the lookahead.  YYLOC is available though.  */
5919f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
5920f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  *++yylsp = yyloc;
5921f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5922f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Shift the error token.  */
5923f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5924f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5925f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yystate = yyn;
5926f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yynewstate;
5927f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5928f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5929f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-------------------------------------.
5930f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyacceptlab -- YYACCEPT comes here.  |
5931f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-------------------------------------*/
5932f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyacceptlab:
5933f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyresult = 0;
5934f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yyreturn;
5935f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5936f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-----------------------------------.
5937f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyabortlab -- YYABORT comes here.  |
5938f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-----------------------------------*/
5939f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyabortlab:
5940f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyresult = 1;
5941f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  goto yyreturn;
5942f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5943f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if !defined(yyoverflow) || YYERROR_VERBOSE
5944f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org/*-------------------------------------------------.
5945f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org| yyexhaustedlab -- memory exhaustion comes here.  |
5946f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org`-------------------------------------------------*/
5947f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyexhaustedlab:
5948f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyerror (&yylloc, state, YY_("memory exhausted"));
5949f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  yyresult = 2;
5950f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Fall through.  */
5951f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
5952f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5953f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.orgyyreturn:
5954f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yychar != YYEMPTY)
5955f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5956f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      /* Make sure we have latest lookahead translation.  See comments at
5957f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org         user semantic actions for why this is necessary.  */
5958f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yytoken = YYTRANSLATE (yychar);
5959f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yydestruct ("Cleanup: discarding lookahead",
5960f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org                  yytoken, &yylval, &yylloc, state);
5961f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5962f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Do not reclaim the symbols of the rule which action triggered
5963f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org     this YYABORT or YYACCEPT.  */
5964f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YYPOPSTACK (yylen);
5965f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  YY_STACK_PRINT (yyss, yyssp);
5966f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  while (yyssp != yyss)
5967f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    {
5968f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      yydestruct ("Cleanup: popping",
5969f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org		  yystos[*yyssp], yyvsp, yylsp, state);
5970f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org      YYPOPSTACK (1);
5971f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    }
5972f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#ifndef yyoverflow
5973f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yyss != yyssa)
5974f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTACK_FREE (yyss);
5975f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
5976f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#if YYERROR_VERBOSE
5977f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  if (yymsg != yymsgbuf)
5978f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org    YYSTACK_FREE (yymsg);
5979f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org#endif
5980f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  /* Make sure YYID is used.  */
5981f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org  return YYID (yyresult);
5982f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org}
5983f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5984f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5985f2304cf60bf51f05cc720689e8b89958f25ca5dakbr@chromium.org
5986