15c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill/* A Bison parser, made by GNU Bison 2.7.1. */ 2044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Bison implementation for Yacc-like parsers in C 405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 5f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com This program is free software: you can redistribute it and/or modify 8044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org it under the terms of the GNU General Public License as published by 905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com the Free Software Foundation, either version 3 of the License, or 1005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com (at your option) any later version. 1105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 12044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org This program is distributed in the hope that it will be useful, 13044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org but WITHOUT ANY WARRANTY; without even the implied warranty of 14044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org GNU General Public License for more details. 1605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 17044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org You should have received a copy of the GNU General Public License 1805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 20044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* As a special exception, you may create a larger work that contains 21044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org part or all of the Bison parser skeleton and distribute that work 22044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org under terms of your choice, so long as that work isn't itself a 23044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org parser generator using the skeleton or a modified version thereof 24044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org as a parser skeleton. Alternatively, if you modify or redistribute 25044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org the parser skeleton itself, you may (at your option) remove this 26044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org special exception, which will cause the skeleton and the resulting 27044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org Bison output files to be licensed under the GNU General Public 28044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org License without this special exception. 2905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 30044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org This special exception was added by the Free Software Foundation in 31044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org version 2.2 of Bison. */ 32044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 33044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* C LALR(1) parser skeleton written by Richard Stallman, by 34044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org simplifying the original so-called "semantic" parser. */ 35044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 36044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* All symbols defined below should begin with yy or YY, to avoid 37044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org infringing on user name space. This should be done even for local 38044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org variables, as they might otherwise be expanded by user macros. 39044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org There are some unavoidable exceptions within include files to 40044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org define necessary library symbols; they are noted "INFRINGES ON 41044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org USER NAME SPACE" below. */ 42044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 43044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Identify Bison output. */ 44044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYBISON 1 45044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Bison version. */ 475c55caf3ae7829741cda145b1542d70cea6cb556Jamie Madill#define YYBISON_VERSION "2.7.1" 48044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 49044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Skeleton name. */ 50044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYSKELETON_NAME "yacc.c" 51044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 52044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Pure parsers. */ 53044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYPURE 1 54044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* Push parsers. */ 5605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#define YYPUSH 0 5705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 5805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* Pull parsers. */ 5905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#define YYPULL 1 6005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 61044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 62044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 63044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 6405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* Copy the first part of user declarations. */ 6505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 6605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 6705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// 6844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. 6905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// Use of this source code is governed by a BSD-style license that can be 7005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// found in the LICENSE file. 7105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// 7205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 7305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// This file is auto-generated by generate_parser.sh. DO NOT EDIT! 7405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 7505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com// Ignore errors in auto-generated code. 7605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#if defined(__GNUC__) 7705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma GCC diagnostic ignored "-Wunused-function" 7805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma GCC diagnostic ignored "-Wunused-variable" 7905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma GCC diagnostic ignored "-Wswitch-enum" 8005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#elif defined(_MSC_VER) 8105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma warning(disable: 4065) 8205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma warning(disable: 4189) 8305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma warning(disable: 4505) 8405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#pragma warning(disable: 4701) 8505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#endif 8605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 8717732823f9c21bdba9cc51ffaceb545ce3857a8cGeoff Lang#include "compiler/translator/SymbolTable.h" 886b9cb25980022d0c792d858bc6f6500c00a6c29dJamie Madill#include "compiler/translator/ParseContext.h" 8905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#include "GLSLANG/ShaderLang.h" 9005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 91b3077d086b365b1d54c3d755df19c6f8f349a562daniel@transgaming.com#define YYENABLE_NLS 0 92b3077d086b365b1d54c3d755df19c6f8f349a562daniel@transgaming.com 9305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#define YYLEX_PARAM context->scanner 9405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 9505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 9605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 975668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 9898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# ifndef YY_NULL 9998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if defined __cplusplus && 201103L <= __cplusplus 10098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_NULL nullptr 10198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# else 10298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_NULL 0 10398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# endif 10498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# endif 10505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 10605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* Enabling verbose error messages. */ 10705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#ifdef YYERROR_VERBOSE 10805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# undef YYERROR_VERBOSE 10905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# define YYERROR_VERBOSE 1 11005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#else 11105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# define YYERROR_VERBOSE 0 11205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#endif 11305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 11498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* In a future release of Bison, this section will be replaced 11598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org by #include "glslang_tab.h". */ 11698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#ifndef YY_YY_GLSLANG_TAB_H_INCLUDED 11798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_YY_GLSLANG_TAB_H_INCLUDED 11898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Enabling traces. */ 11998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#ifndef YYDEBUG 12098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYDEBUG 0 12198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 12298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if YYDEBUG 12398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgextern int yydebug; 12405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#endif 125075edd84dd682b91279132317d34b09e8028ae6fJamie Madill/* "%code requires" blocks. */ 126075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 127075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 128075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YYLTYPE TSourceLoc 129075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YYLTYPE_IS_DECLARED 1 130075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 131075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 132075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 13305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Tokens. */ 135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YYTOKENTYPE 136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYTOKENTYPE 137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Put the tokens into the symbol table, so that GDB and other debuggers 138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org know about them. */ 139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org enum yytokentype { 140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org INVARIANT = 258, 141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org HIGH_PRECISION = 259, 142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org MEDIUM_PRECISION = 260, 143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org LOW_PRECISION = 261, 144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org PRECISION = 262, 145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ATTRIBUTE = 263, 146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org CONST_QUAL = 264, 147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org BOOL_TYPE = 265, 148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org FLOAT_TYPE = 266, 149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org INT_TYPE = 267, 1506b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org UINT_TYPE = 268, 1516b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org BREAK = 269, 1526b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org CONTINUE = 270, 1536b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org DO = 271, 1546b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org ELSE = 272, 1556b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org FOR = 273, 1566b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org IF = 274, 1576b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org DISCARD = 275, 1586b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org RETURN = 276, 1596b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org SWITCH = 277, 1606b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org CASE = 278, 1616b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org DEFAULT = 279, 1626b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org BVEC2 = 280, 1636b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org BVEC3 = 281, 1646b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org BVEC4 = 282, 1656b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org IVEC2 = 283, 1666b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org IVEC3 = 284, 1676b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org IVEC4 = 285, 1686b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org VEC2 = 286, 1696b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org VEC3 = 287, 1706b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org VEC4 = 288, 1718c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org UVEC2 = 289, 1728c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org UVEC3 = 290, 1738c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org UVEC4 = 291, 1748c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX2 = 292, 1758c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX3 = 293, 1768c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX4 = 294, 1778c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org IN_QUAL = 295, 1788c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org OUT_QUAL = 296, 1798c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org INOUT_QUAL = 297, 1808c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org UNIFORM = 298, 1818c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org VARYING = 299, 1828c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX2x3 = 300, 1838c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX3x2 = 301, 1848c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX2x4 = 302, 1858c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX4x2 = 303, 1868c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX3x4 = 304, 1878c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org MATRIX4x3 = 305, 1888c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org CENTROID = 306, 1898c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org FLAT = 307, 1908c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org SMOOTH = 308, 1918c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org STRUCT = 309, 1928c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org VOID_TYPE = 310, 1938c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org WHILE = 311, 1948c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org SAMPLER2D = 312, 1958c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org SAMPLERCUBE = 313, 1968c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org SAMPLER_EXTERNAL_OES = 314, 1978c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org SAMPLER2DRECT = 315, 198fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens SAMPLER2DARRAY = 316, 199fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens ISAMPLER2D = 317, 200fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens ISAMPLER3D = 318, 201fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens ISAMPLERCUBE = 319, 202fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens ISAMPLER2DARRAY = 320, 203fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens USAMPLER2D = 321, 204fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens USAMPLER3D = 322, 205fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens USAMPLERCUBE = 323, 206fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens USAMPLER2DARRAY = 324, 207fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens SAMPLER3D = 325, 208fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens SAMPLER3DRECT = 326, 209fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens SAMPLER2DSHADOW = 327, 2102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens SAMPLERCUBESHADOW = 328, 2112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens SAMPLER2DARRAYSHADOW = 329, 2122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LAYOUT = 330, 2132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens IDENTIFIER = 331, 2142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens TYPE_NAME = 332, 2152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens FLOATCONSTANT = 333, 2162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens INTCONSTANT = 334, 2172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens UINTCONSTANT = 335, 2182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens BOOLCONSTANT = 336, 2192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens FIELD_SELECTION = 337, 2202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_OP = 338, 2212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_OP = 339, 2222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens INC_OP = 340, 2232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens DEC_OP = 341, 2242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LE_OP = 342, 2252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens GE_OP = 343, 2262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens EQ_OP = 344, 2272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens NE_OP = 345, 2282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens AND_OP = 346, 2292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens OR_OP = 347, 2302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens XOR_OP = 348, 2312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens MUL_ASSIGN = 349, 2322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens DIV_ASSIGN = 350, 2332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens ADD_ASSIGN = 351, 2342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens MOD_ASSIGN = 352, 2352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_ASSIGN = 353, 2362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_ASSIGN = 354, 2372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens AND_ASSIGN = 355, 2382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens XOR_ASSIGN = 356, 2392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens OR_ASSIGN = 357, 2402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens SUB_ASSIGN = 358, 2412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_PAREN = 359, 2422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_PAREN = 360, 2432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_BRACKET = 361, 2442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_BRACKET = 362, 2452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_BRACE = 363, 2462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_BRACE = 364, 2472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens DOT = 365, 2482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens COMMA = 366, 2492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens COLON = 367, 2502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens EQUAL = 368, 2512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens SEMICOLON = 369, 2522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens BANG = 370, 2532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens DASH = 371, 2542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens TILDE = 372, 2552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens PLUS = 373, 2562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens STAR = 374, 2572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens SLASH = 375, 2582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens PERCENT = 376, 2592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens LEFT_ANGLE = 377, 2602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens RIGHT_ANGLE = 378, 2612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens VERTICAL_BAR = 379, 2622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens CARET = 380, 2632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens AMPERSAND = 381, 2642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens QUESTION = 382 265044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org }; 266044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 267044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 268044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 269044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 270044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef union YYSTYPE 271536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org{ 27205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 27305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org struct { 275044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org union { 276044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TString *string; 277044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org float f; 278044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int i; 279c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org unsigned int u; 280044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org bool b; 281044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org }; 282044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TSymbol* symbol; 283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } lex; 284044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org struct { 285044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TOperator op; 286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org union { 287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermNode* intermNode; 288044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermNodePair nodePair; 289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermTyped* intermTypedNode; 290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermAggregate* intermAggregate; 291044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org }; 292044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org union { 293044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TPublicType type; 294044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TPrecision precision; 295a5efff9996aab519def50871a60f77645dd4f51cJamie Madill TLayoutQualifier layoutQualifier; 296044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qualifier; 297044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction* function; 298044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param; 29998493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill TField* field; 30098493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill TFieldList* fieldList; 301044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org }; 302044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } interm; 303044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 30405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 30505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 30605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com} YYSTYPE; 30705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# define YYSTYPE_IS_TRIVIAL 1 308044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 309044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTYPE_IS_DECLARED 1 310044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 311044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 312075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 313075edd84dd682b91279132317d34b09e8028ae6fJamie Madilltypedef struct YYLTYPE 314075edd84dd682b91279132317d34b09e8028ae6fJamie Madill{ 315075edd84dd682b91279132317d34b09e8028ae6fJamie Madill int first_line; 316075edd84dd682b91279132317d34b09e8028ae6fJamie Madill int first_column; 317075edd84dd682b91279132317d34b09e8028ae6fJamie Madill int last_line; 318075edd84dd682b91279132317d34b09e8028ae6fJamie Madill int last_column; 319075edd84dd682b91279132317d34b09e8028ae6fJamie Madill} YYLTYPE; 320075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ 321075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YYLTYPE_IS_DECLARED 1 322075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YYLTYPE_IS_TRIVIAL 1 323075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#endif 324075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 32698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#ifdef YYPARSE_PARAM 32798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if defined __STDC__ || defined __cplusplus 32898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgint yyparse (void *YYPARSE_PARAM); 32998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#else 33098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgint yyparse (); 33198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 33298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#else /* ! YYPARSE_PARAM */ 33398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if defined __STDC__ || defined __cplusplus 33498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgint yyparse (TParseContext* context); 33598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#else 33698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgint yyparse (); 33798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 33898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif /* ! YYPARSE_PARAM */ 33998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 34098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ 34198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 342044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Copy the second part of user declarations. */ 343044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3450b67bfbf4aa27b96e6790fefad40633e7bf289beAlok Priyadarshiextern int yylex(YYSTYPE* yylval, YYLTYPE* yylloc, void* yyscanner); 346075edd84dd682b91279132317d34b09e8028ae6fJamie Madillextern void yyerror(YYLTYPE* yylloc, TParseContext* context, const char* reason); 347075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 348075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YYLLOC_DEFAULT(Current, Rhs, N) \ 349075edd84dd682b91279132317d34b09e8028ae6fJamie Madill do { \ 350075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (YYID(N)) { \ 351075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_file = YYRHSLOC(Rhs, 1).first_file; \ 352075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \ 353075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_file = YYRHSLOC(Rhs, N).last_file; \ 354075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_line = YYRHSLOC(Rhs, N).last_line; \ 355075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } \ 356075edd84dd682b91279132317d34b09e8028ae6fJamie Madill else { \ 357075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_file = YYRHSLOC(Rhs, 0).last_file; \ 358075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_line = YYRHSLOC(Rhs, 0).last_line; \ 359075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_file = YYRHSLOC(Rhs, 0).last_file; \ 360075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_line = YYRHSLOC(Rhs, 0).last_line; \ 361075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } \ 362075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } while (0) 363044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 364044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define VERTEX_ONLY(S, L) { \ 365044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->shaderType != SH_VERTEX_SHADER) { \ 366c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com context->error(L, " supported in vertex shaders only ", S); \ 367044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); \ 368044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } \ 369044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 370044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 371044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define FRAG_ONLY(S, L) { \ 372044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->shaderType != SH_FRAGMENT_SHADER) { \ 373c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com context->error(L, " supported in fragment shaders only ", S); \ 374044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); \ 375044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } \ 376044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 377044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3785524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com#define ES2_ONLY(S, L) { \ 3795524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com if (context->shaderVersion != 100) { \ 3805524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com context->error(L, " supported in GLSL ES 1.00 only ", S); \ 3815524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com context->recover(); \ 3825524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com } \ 3835524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com} 3845524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com 3855668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org#define ES3_ONLY(TOKEN, LINE, REASON) { \ 3865524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com if (context->shaderVersion != 300) { \ 3875668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org context->error(LINE, REASON " supported in GLSL ES 3.00 only ", TOKEN); \ 3885524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com context->recover(); \ 3895524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com } \ 3905524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com} 3915524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com 392044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 393044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 394044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef short 395044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# undef short 396044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 397044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 398044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYTYPE_UINT8 399044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef YYTYPE_UINT8 yytype_uint8; 400044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 401044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned char yytype_uint8; 402044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 404044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYTYPE_INT8 405044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef YYTYPE_INT8 yytype_int8; 406044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#elif (defined __STDC__ || defined __C99__FUNC__ \ 407044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 408044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef signed char yytype_int8; 409044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 410044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef short int yytype_int8; 411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 412044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 413044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYTYPE_UINT16 414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef YYTYPE_UINT16 yytype_uint16; 415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 416044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef unsigned short int yytype_uint16; 417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 418044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 419044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYTYPE_INT16 420044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef YYTYPE_INT16 yytype_int16; 421044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgtypedef short int yytype_int16; 423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 424044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 425044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YYSIZE_T 426044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef __SIZE_TYPE__ 427044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSIZE_T __SIZE_TYPE__ 428044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# elif defined size_t 429044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSIZE_T size_t 430044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 431044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 432044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 433044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSIZE_T size_t 434044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 435044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSIZE_T unsigned int 436044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 437044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 438044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 439044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 440044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 441044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_ 44205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# if defined YYENABLE_NLS && YYENABLE_NLS 443044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# if ENABLE_NLS 444044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 44598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 446044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 447044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 448044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YY_ 44998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_(Msgid) Msgid 450044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 451044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 452044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 453f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill#ifndef __attribute__ 454f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill/* This feature is available in gcc versions 2.5 and later. */ 455f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill# if (! defined __GNUC__ || __GNUC__ < 2 \ 456f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) 457f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill# define __attribute__(Spec) /* empty */ 458f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill# endif 459f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill#endif 460f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill 461044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Suppress unused-variable warnings by "using" E. */ 462044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if ! defined lint || defined __GNUC__ 46398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYUSE(E) ((void) (E)) 464044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 46598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYUSE(E) /* empty */ 466044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 467044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 468f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill 469044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Identity function, used to suppress warnings about constant conditions. */ 470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef lint 47198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYID(N) (N) 472044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 473044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 475044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int 47605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.comYYID (int yyi) 477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 478044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic int 47905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.comYYID (yyi) 48005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yyi; 481044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 482044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 48305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com return yyi; 484044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 485044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 486044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 487044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if ! defined yyoverflow || YYERROR_VERBOSE 488044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 489044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The parser invokes alloca or malloc; define the necessary symbols. */ 490044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 491044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef YYSTACK_USE_ALLOCA 492044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# if YYSTACK_USE_ALLOCA 493044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef __GNUC__ 494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC __builtin_alloca 495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# elif defined __BUILTIN_VA_ARG_INCR 496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# elif defined _AIX 498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC __alloca 499044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# elif defined _MSC_VER 500044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define alloca _alloca 502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 503044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC alloca 50498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 506044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 50798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 50898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# ifndef EXIT_SUCCESS 50998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define EXIT_SUCCESS 0 510044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 511044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 516044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef YYSTACK_ALLOC 517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Pacify GCC's `empty if-body' warning. */ 518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYSTACK_ALLOC_MAXIMUM 520044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* The OS might guarantee only one guard page at the bottom of the stack, 521044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org and a page size can be as small as 4096 bytes. So we cannot safely 522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org to allow for a few compiler-allocated temporary stack slots. */ 524044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC YYMALLOC 528044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_FREE YYFREE 529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYSTACK_ALLOC_MAXIMUM 530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 531044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 53298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 533044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org && ! ((defined YYMALLOC || defined malloc) \ 534044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org && (defined YYFREE || defined free))) 535044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 53698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# ifndef EXIT_SUCCESS 53798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define EXIT_SUCCESS 0 538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 540044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYMALLOC 541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYMALLOC malloc 54298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 544044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 545044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 547044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYFREE 548044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYFREE free 54998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 550044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 551044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 552044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 553044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 554044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 556044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 557044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 558044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (! defined yyoverflow \ 559044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org && (! defined __cplusplus \ 560075edd84dd682b91279132317d34b09e8028ae6fJamie Madill || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ 561075edd84dd682b91279132317d34b09e8028ae6fJamie Madill && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 562044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 563044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* A type that is properly aligned for any stack member. */ 564044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgunion yyalloc 565044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 56605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 yyss_alloc; 56705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTYPE yyvs_alloc; 568075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE yyls_alloc; 56905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com}; 570044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 571044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The size of the maximum gap between one aligned stack and the next. */ 572044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 574044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* The size of an array large to enough to hold all stacks, each with 575044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org N elements. */ 576044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYSTACK_BYTES(N) \ 577075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 578075edd84dd682b91279132317d34b09e8028ae6fJamie Madill + 2 * YYSTACK_GAP_MAXIMUM) 579044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 58098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYCOPY_NEEDED 1 581044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 582044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Relocate STACK from its old location to the new one. The 583044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org local variables YYSIZE and YYSTACKSIZE give the old and new number of 584044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org elements in the stack, and YYPTR gives the new location of the 585044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org stack. Advance YYPTR to a properly aligned location for the next 586044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org stack. */ 58705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 588044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org do \ 589044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { \ 590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSIZE_T yynewbytes; \ 59105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 59205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com Stack = &yyptr->Stack_alloc; \ 593044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 594044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyptr += yynewbytes / sizeof (*yyptr); \ 595044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } \ 596044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org while (YYID (0)) 597044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 598044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 599044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 60098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 60198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Copy COUNT objects from SRC to DST. The source and destination do 60298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org not overlap. */ 60398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# ifndef YYCOPY 60498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# if defined __GNUC__ && 1 < __GNUC__ 60598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYCOPY(Dst, Src, Count) \ 60698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 60798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# else 60898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYCOPY(Dst, Src, Count) \ 60998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org do \ 61098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { \ 61198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSIZE_T yyi; \ 61298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org for (yyi = 0; yyi < (Count); yyi++) \ 61398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org (Dst)[yyi] = (Src)[yyi]; \ 61498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } \ 61598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org while (YYID (0)) 61698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# endif 61798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# endif 61898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif /* !YYCOPY_NEEDED */ 61998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 620044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYFINAL -- State number of the termination state. */ 6212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYFINAL 114 622044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYLAST -- Last index in YYTABLE. */ 6232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYLAST 2375 624044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 625044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYNTOKENS -- Number of terminals. */ 6262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYNTOKENS 128 627044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYNNTS -- Number of nonterminals. */ 62878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill#define YYNNTS 91 629044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYNRULES -- Number of rules. */ 6302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYNRULES 250 631044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYNRULES -- Number of states. */ 6322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYNSTATES 373 633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 635044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYUNDEFTOK 2 6362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYMAXUTOK 382 637044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYTRANSLATE(YYX) \ 639044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 640044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 641044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 642044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint8 yytranslate[] = 643044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 644044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 645044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 647044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 648044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 649044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 650044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 651044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 652044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 653044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 655044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 656044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 657044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 658044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 659044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 660044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 661044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 662044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 663044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 664044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 665044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 666044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 667044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 669044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 670044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 672044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 674044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 675044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 677044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 678205fef3389c81637f689585431273cf83af02e94kbr@chromium.org 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 6799bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 680c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 681fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 6822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 125, 126, 127 683044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 684044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 685044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if YYDEBUG 686044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 687044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYRHS. */ 688044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint16 yyprhs[] = 689044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 69078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 69178eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 19, 23, 25, 30, 32, 36, 39, 42, 44, 46, 69278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 48, 52, 55, 58, 61, 63, 66, 70, 73, 75, 693f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 77, 79, 82, 85, 88, 90, 92, 94, 96, 100, 694f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 104, 106, 110, 114, 116, 118, 122, 126, 130, 134, 695f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 136, 140, 144, 146, 148, 150, 152, 156, 158, 162, 696f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 164, 168, 170, 176, 178, 182, 184, 186, 188, 190, 697f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 192, 194, 198, 200, 203, 206, 209, 214, 220, 227, 698a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 237, 240, 243, 245, 247, 250, 254, 258, 261, 267, 699a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 271, 274, 278, 281, 282, 284, 286, 288, 290, 292, 700a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 296, 302, 309, 315, 317, 320, 325, 331, 336, 339, 701a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 341, 344, 346, 348, 350, 352, 354, 357, 359, 362, 702a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 364, 366, 369, 371, 373, 375, 378, 381, 383, 385, 703a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 388, 390, 392, 394, 399, 401, 405, 407, 411, 415, 704a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 417, 422, 424, 426, 428, 430, 432, 434, 436, 438, 705a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 706a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 70728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 7082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 500, 502, 504, 506, 508, 510, 512, 513, 520, 521, 7092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 527, 529, 532, 536, 541, 543, 547, 549, 554, 556, 7102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 558, 560, 562, 564, 566, 568, 570, 572, 575, 576, 7112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 577, 583, 585, 587, 588, 591, 592, 595, 598, 602, 7122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 604, 607, 609, 612, 618, 622, 624, 626, 631, 632, 7132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 639, 640, 649, 650, 658, 660, 662, 664, 665, 668, 7142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 672, 675, 678, 681, 685, 688, 690, 693, 695, 697, 7152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 698 716044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 717044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 718044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 719044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yyrhs[] = 720044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 7212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 215, 0, -1, 76, -1, 77, -1, 76, -1, 130, 7222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 79, -1, 80, -1, 78, -1, 81, -1, 104, 7232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 157, 105, -1, 131, -1, 132, 106, 133, 107, -1, 7242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 134, -1, 132, 110, 129, -1, 132, 85, -1, 132, 7252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 86, -1, 157, -1, 135, -1, 136, -1, 132, 110, 7262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 136, -1, 138, 105, -1, 137, 105, -1, 139, 55, 7272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 139, -1, 139, 155, -1, 138, 111, 155, -1, 7282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 140, 104, -1, 182, -1, 76, -1, 132, -1, 85, 7292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 141, -1, 86, 141, -1, 142, 141, -1, 118, -1, 7302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 116, -1, 115, -1, 141, -1, 143, 119, 141, -1, 7312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 143, 120, 141, -1, 143, -1, 144, 118, 143, -1, 7322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 144, 116, 143, -1, 144, -1, 145, -1, 146, 122, 7332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 145, -1, 146, 123, 145, -1, 146, 87, 145, -1, 7342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 146, 88, 145, -1, 146, -1, 147, 89, 146, -1, 7352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 147, 90, 146, -1, 147, -1, 148, -1, 149, -1, 7362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 150, -1, 151, 91, 150, -1, 151, -1, 152, 93, 7372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 151, -1, 152, -1, 153, 92, 152, -1, 153, -1, 7382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 153, 127, 157, 112, 155, -1, 154, -1, 141, 156, 7392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 155, -1, 113, -1, 94, -1, 95, -1, 96, -1, 7402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 103, -1, 155, -1, 157, 111, 155, -1, 154, -1, 7412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 108, -1, 161, 114, -1, 169, 114, -1, 7, 7422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 177, 181, 114, -1, 174, 159, 186, 109, 114, -1, 7432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 174, 159, 186, 109, 76, 114, -1, 174, 159, 186, 7442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 109, 76, 106, 158, 107, 114, -1, 174, 114, -1, 7452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 162, 105, -1, 164, -1, 163, -1, 164, 166, -1, 7462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 163, 111, 166, -1, 171, 76, 104, -1, 176, 129, 7472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 176, 129, 106, 158, 107, -1, 173, 167, 165, 7482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 167, 165, -1, 173, 167, 168, -1, 167, 168, 7492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 40, -1, 41, -1, 42, -1, 176, -1, 7502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 170, -1, 169, 111, 129, -1, 169, 111, 129, 106, 7512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, -1, 169, 111, 129, 106, 158, 107, -1, 169, 7522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 111, 129, 113, 190, -1, 171, -1, 171, 129, -1, 7532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 171, 129, 106, 107, -1, 171, 129, 106, 158, 107, 7542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 171, 129, 113, 190, -1, 3, 76, -1, 176, 7552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 174, 176, -1, 53, -1, 52, -1, 9, -1, 7562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, -1, 44, -1, 3, 44, -1, 175, -1, 172, 7572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 175, -1, 172, -1, 178, -1, 178, 175, -1, 9, 758a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill -1, 40, -1, 41, -1, 51, 40, -1, 51, 41, 7592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, -1, 181, -1, 177, 181, -1, 4, -1, 7602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 5, -1, 6, -1, 75, 104, 179, 105, -1, 180, 7612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 179, 111, 180, -1, 76, -1, 76, 113, 79, 7622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 76, 113, 80, -1, 182, -1, 182, 106, 158, 7632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, -1, 55, -1, 11, -1, 12, -1, 13, -1, 764a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 10, -1, 31, -1, 32, -1, 33, -1, 25, -1, 765a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, 766a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 767a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 39, -1, 45, -1, 46, -1, 47, -1, 48, -1, 768fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 49, -1, 50, -1, 57, -1, 70, -1, 58, -1, 76928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 61, -1, 62, -1, 63, -1, 64, -1, 65, -1, 7702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 66, -1, 67, -1, 68, -1, 69, -1, 72, -1, 7712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 73, -1, 74, -1, 59, -1, 60, -1, 183, -1, 7722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, -1, -1, 54, 129, 108, 184, 186, 109, -1, 7732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 54, 108, 185, 186, 109, -1, 187, -1, 186, 7742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 187, -1, 176, 188, 114, -1, 174, 176, 188, 114, 7752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 189, -1, 188, 111, 189, -1, 129, -1, 129, 7762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 106, 158, 107, -1, 155, -1, 160, -1, 194, -1, 7772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 193, -1, 191, -1, 203, -1, 204, -1, 207, -1, 7782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 214, -1, 108, 109, -1, -1, -1, 108, 195, 202, 7792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 196, 109, -1, 201, -1, 193, -1, -1, 199, 201, 7802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 200, 193, -1, 108, 109, -1, 108, 202, 7812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 109, -1, 192, -1, 202, 192, -1, 114, -1, 157, 7822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 114, -1, 19, 104, 157, 105, 205, -1, 198, 17, 7832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 198, -1, 198, -1, 157, -1, 171, 129, 113, 190, 7842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 56, 104, 208, 206, 105, 197, -1, -1, 7852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 16, 209, 198, 56, 104, 157, 105, 114, -1, -1, 7862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 18, 104, 210, 211, 213, 105, 197, -1, 203, -1, 7872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 191, -1, 206, -1, -1, 212, 114, -1, 212, 114, 7882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 157, -1, 15, 114, -1, 14, 114, -1, 21, 114, 7892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 21, 157, 114, -1, 20, 114, -1, 216, -1, 7902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 215, 216, -1, 217, -1, 160, -1, -1, 161, 218, 7912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 201, -1 792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 794044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint16 yyrline[] = 796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 79744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 0, 205, 205, 206, 209, 264, 267, 272, 277, 282, 79844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 287, 293, 296, 299, 302, 305, 315, 328, 336, 436, 79944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 439, 447, 450, 456, 460, 467, 473, 482, 490, 493, 80044cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 503, 506, 516, 526, 547, 548, 549, 554, 555, 563, 80144cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 574, 575, 583, 594, 598, 599, 609, 619, 629, 642, 80244cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 643, 653, 666, 670, 674, 678, 679, 692, 693, 706, 80344cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 707, 720, 721, 738, 739, 752, 753, 754, 755, 756, 80444cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 760, 763, 774, 782, 790, 817, 822, 833, 837, 841, 80544cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 845, 852, 907, 910, 917, 925, 946, 967, 977, 1005, 80644cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 1010, 1020, 1025, 1035, 1038, 1041, 1044, 1050, 1057, 1060, 80744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 1064, 1068, 1072, 1079, 1083, 1087, 1094, 1098, 1102, 1123, 80812bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill 1132, 1138, 1141, 1147, 1153, 1160, 1169, 1178, 1186, 1189, 80912bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill 1196, 1200, 1207, 1210, 1214, 1218, 1227, 1236, 1244, 1254, 81074be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1266, 1269, 1272, 1278, 1285, 1288, 1294, 1297, 1300, 1306, 81174be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1309, 1324, 1328, 1332, 1336, 1340, 1344, 1349, 1354, 1359, 81274be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1364, 1369, 1374, 1379, 1384, 1389, 1394, 1399, 1404, 1409, 81374be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1414, 1419, 1424, 1429, 1434, 1439, 1444, 1449, 1453, 1457, 81474be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1461, 1465, 1469, 1473, 1477, 1481, 1485, 1489, 1493, 1497, 81574be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1501, 1505, 1509, 1517, 1525, 1529, 1542, 1542, 1545, 1545, 81674be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1551, 1554, 1570, 1573, 1582, 1586, 1592, 1599, 1614, 1618, 81774be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1622, 1623, 1629, 1630, 1631, 1632, 1633, 1637, 1638, 1638, 81874be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1638, 1648, 1649, 1653, 1653, 1654, 1654, 1659, 1662, 1672, 81974be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1675, 1681, 1682, 1686, 1694, 1698, 1708, 1713, 1730, 1730, 82074be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1735, 1735, 1742, 1742, 1750, 1753, 1759, 1762, 1768, 1772, 82174be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1779, 1786, 1793, 1800, 1811, 1820, 1824, 1831, 1834, 1840, 82274be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill 1840 823044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 824044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 825044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 82698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if YYDEBUG || YYERROR_VERBOSE || 0 827044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 828044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 829044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const char *const yytname[] = 830044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 831044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION", 832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE", 8336b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "UINT_TYPE", 8346b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", 8356b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org "SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", 8368c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org "IVEC4", "VEC2", "VEC3", "VEC4", "UVEC2", "UVEC3", "UVEC4", "MATRIX2", 8378c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", 8388c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org "VARYING", "MATRIX2x3", "MATRIX3x2", "MATRIX2x4", "MATRIX4x2", 8398c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org "MATRIX3x4", "MATRIX4x3", "CENTROID", "FLAT", "SMOOTH", "STRUCT", 8408c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", 841fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens "SAMPLER2DRECT", "SAMPLER2DARRAY", "ISAMPLER2D", "ISAMPLER3D", 842fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens "ISAMPLERCUBE", "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D", 843fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens "USAMPLERCUBE", "USAMPLER2DARRAY", "SAMPLER3D", "SAMPLER3DRECT", 8442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", "LAYOUT", 8452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT", 8462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", 8472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", 8482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", 8492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", 8502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", 8512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", 8522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", 8532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", 8542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "AMPERSAND", "QUESTION", "$accept", "identifier", "variable_identifier", 8552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "primary_expression", "postfix_expression", "integer_expression", 8562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "function_call", "function_call_or_method", "function_call_generic", 8572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens "function_call_header_no_parameters", 858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "function_call_header_with_parameters", "function_call_header", 859044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "function_identifier", "unary_expression", "unary_operator", 860044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "multiplicative_expression", "additive_expression", "shift_expression", 861044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "relational_expression", "equality_expression", "and_expression", 862044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "exclusive_or_expression", "inclusive_or_expression", 863044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "logical_and_expression", "logical_xor_expression", 864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "logical_or_expression", "conditional_expression", 865044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "assignment_expression", "assignment_operator", "expression", 8665668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "constant_expression", "enter_struct", "declaration", 8675668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "function_prototype", "function_declarator", 8685668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "function_header_with_parameters", "function_header", 8695668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "parameter_declarator", "parameter_declaration", "parameter_qualifier", 8705668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "parameter_type_specifier", "init_declarator_list", "single_declaration", 8715668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "fully_specified_type", "interpolation_qualifier", 8725668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org "parameter_type_qualifier", "type_qualifier", "storage_qualifier", 873302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org "type_specifier", "precision_qualifier", "layout_qualifier", 874302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org "layout_qualifier_id_list", "layout_qualifier_id", 875302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org "type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier", 876302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org "$@1", "$@2", "struct_declaration_list", "struct_declaration", 877044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "struct_declarator_list", "struct_declarator", "initializer", 878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "declaration_statement", "statement", "simple_statement", 87905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com "compound_statement", "$@3", "$@4", "statement_no_new_scope", 88083dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com "statement_with_scope", "$@5", "$@6", "compound_statement_no_new_scope", 88183dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com "statement_list", "expression_statement", "selection_statement", 88283dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com "selection_rest_statement", "condition", "iteration_statement", "$@7", 88383dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com "$@8", "$@9", "for_init_statement", "conditionopt", "for_rest_statement", 884044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org "jump_statement", "translation_unit", "external_declaration", 88598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org "function_definition", "$@10", YY_NULL 886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 887044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 889044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef YYPRINT 890044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 891044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org token YYLEX-NUM. */ 892044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint16 yytoknum[] = 893044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 894044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 895044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 896044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 897044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 899044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 900044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 901044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 9035524db0c05c8df6002489a077b18dd6fd5746448shannon.woods%transgaming.com@gtempaccount.com 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 9049bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 9059e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 9062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 375, 376, 377, 378, 379, 380, 381, 382 907044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 908044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 909044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 910044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 911044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint8 yyr1[] = 912044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 9132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 128, 129, 129, 130, 131, 131, 131, 131, 131, 9142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 131, 132, 132, 132, 132, 132, 132, 133, 134, 135, 9152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 135, 136, 136, 137, 137, 138, 138, 139, 140, 140, 9162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 141, 141, 141, 141, 142, 142, 142, 143, 143, 143, 9172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 144, 144, 144, 145, 146, 146, 146, 146, 146, 147, 9182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 147, 147, 148, 149, 150, 151, 151, 152, 152, 153, 9192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 153, 154, 154, 155, 155, 156, 156, 156, 156, 156, 9202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 157, 157, 158, 159, 160, 160, 160, 160, 160, 160, 9212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 160, 161, 162, 162, 163, 163, 164, 165, 165, 166, 9222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 166, 166, 166, 167, 167, 167, 167, 168, 169, 169, 9232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 169, 169, 169, 170, 170, 170, 170, 170, 170, 171, 9242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 171, 172, 172, 173, 174, 174, 174, 174, 174, 174, 9252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 174, 174, 175, 175, 175, 175, 175, 175, 176, 176, 9262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 177, 177, 177, 178, 179, 179, 180, 180, 180, 181, 9272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 181, 182, 182, 182, 182, 182, 182, 182, 182, 182, 9282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 9292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 9302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 9312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 182, 182, 182, 182, 182, 182, 184, 183, 185, 183, 9322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 186, 186, 187, 187, 188, 188, 189, 189, 190, 191, 9332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 192, 192, 193, 193, 193, 193, 193, 194, 195, 196, 9342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 194, 197, 197, 199, 198, 200, 198, 201, 201, 202, 9352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 202, 203, 203, 204, 205, 205, 206, 206, 208, 207, 9362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 209, 207, 210, 207, 211, 211, 212, 212, 213, 213, 9372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 214, 214, 214, 214, 214, 215, 215, 216, 216, 218, 9382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 217 939044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 940044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 941044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint8 yyr2[] = 943044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 94478eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 94578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, 94678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 3, 2, 2, 2, 1, 2, 3, 2, 1, 1, 947f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 1, 2, 2, 2, 1, 1, 1, 1, 3, 3, 948f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 1, 3, 3, 1, 1, 3, 3, 3, 3, 1, 949f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 3, 3, 1, 1, 1, 1, 3, 1, 3, 1, 950f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 951f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 1, 3, 1, 2, 2, 2, 4, 5, 6, 9, 952a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 2, 2, 1, 1, 2, 3, 3, 2, 5, 3, 953a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 2, 3, 2, 0, 1, 1, 1, 1, 1, 3, 954a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 5, 6, 5, 1, 2, 4, 5, 4, 2, 1, 955a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 956a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 957a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 1, 1, 1, 4, 1, 3, 1, 3, 3, 1, 958a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9595668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 96128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1, 1, 1, 1, 1, 1, 0, 6, 0, 5, 9632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1, 2, 3, 4, 1, 3, 1, 4, 1, 1, 9642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 9652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 5, 1, 1, 0, 2, 0, 2, 2, 3, 1, 9662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2, 1, 2, 5, 3, 1, 1, 4, 0, 6, 9672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 8, 0, 7, 1, 1, 1, 0, 2, 3, 9682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2, 2, 2, 3, 2, 1, 2, 1, 1, 0, 9692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 3 970044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 971044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 97298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 97398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org Performed when YYTABLE doesn't specify something else to do. Zero 974044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org means the default is an error. */ 975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint8 yydefact[] = 976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 977a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 0, 0, 130, 131, 132, 0, 114, 122, 145, 142, 978a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 143, 144, 149, 150, 151, 152, 153, 154, 146, 147, 979a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 148, 155, 156, 157, 158, 159, 160, 123, 124, 127, 980a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 115, 161, 162, 163, 164, 165, 166, 0, 112, 111, 9812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 141, 167, 169, 182, 183, 170, 171, 172, 173, 9822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 174, 175, 176, 177, 178, 168, 179, 180, 181, 0, 9832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 185, 248, 249, 0, 83, 93, 0, 98, 103, 119, 9842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 117, 109, 0, 120, 128, 139, 184, 0, 245, 9852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 247, 116, 108, 0, 125, 126, 2, 3, 188, 0, 9862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 74, 0, 81, 93, 113, 94, 95, 96, 84, 9872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 93, 0, 75, 2, 104, 118, 0, 80, 0, 9882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 110, 129, 121, 0, 1, 246, 0, 0, 186, 136, 9892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 134, 0, 250, 85, 90, 92, 97, 0, 99, 9902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 86, 0, 0, 73, 0, 0, 0, 0, 190, 4, 9912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 6, 7, 9, 0, 0, 0, 36, 35, 34, 9922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 5, 11, 30, 13, 18, 19, 0, 0, 24, 0, 9932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 37, 0, 40, 43, 44, 49, 52, 53, 54, 55, 9942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 57, 59, 61, 72, 0, 28, 76, 0, 0, 0, 9952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 133, 0, 0, 0, 230, 0, 0, 0, 0, 0, 9962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 208, 217, 221, 37, 63, 70, 0, 199, 0, 139, 9972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 202, 219, 201, 200, 0, 203, 204, 205, 206, 87, 9982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 89, 91, 0, 0, 105, 0, 198, 107, 0, 196, 9992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 194, 0, 191, 31, 32, 0, 15, 16, 0, 10002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 22, 21, 0, 23, 25, 27, 33, 0, 0, 10012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 140, 189, 0, 137, 138, 135, 241, 240, 10032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 215, 232, 0, 244, 242, 0, 228, 207, 0, 66, 10042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 67, 68, 69, 65, 0, 0, 222, 218, 220, 0, 10052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 100, 0, 102, 106, 0, 0, 0, 192, 0, 77, 10062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 0, 17, 2, 3, 14, 20, 26, 38, 39, 10072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 42, 41, 47, 48, 45, 46, 50, 51, 56, 58, 10082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 0, 187, 0, 0, 0, 0, 0, 243, 0, 10092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 209, 64, 71, 0, 101, 193, 0, 195, 0, 78, 10102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 0, 0, 214, 216, 235, 234, 237, 215, 226, 10112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 88, 197, 0, 62, 0, 236, 10122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 225, 223, 0, 0, 210, 0, 0, 238, 10132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 215, 0, 212, 229, 211, 79, 0, 239, 233, 10142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 224, 227, 231 1015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1016044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYDEFGOTO[NTERM-NUM]. */ 1018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yydefgoto[] = 1019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 10202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 219, 150, 151, 152, 291, 153, 154, 155, 156, 10212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 157, 158, 159, 193, 161, 162, 163, 164, 165, 166, 10222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 167, 168, 169, 170, 171, 172, 194, 195, 274, 196, 10232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 174, 109, 197, 198, 63, 64, 65, 125, 99, 100, 10242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 126, 66, 67, 68, 69, 101, 70, 71, 72, 73, 10252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 74, 120, 121, 75, 175, 77, 178, 117, 137, 138, 10262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 220, 221, 217, 200, 201, 202, 203, 268, 343, 364, 10272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 313, 314, 315, 365, 204, 205, 206, 353, 342, 207, 10282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 319, 260, 316, 337, 350, 351, 208, 78, 79, 80, 10292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 92 1030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org STATE-NUM. */ 10342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYPACT_NINF -309 1035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yypact[] = 1036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 10372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2013, -27, -309, -309, -309, 154, -309, -309, -309, -309, 10382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, 10392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, 10402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, -309, -309, -309, 98, -309, -309, 10412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -40, -309, -309, -309, -309, -309, -309, -309, -309, -309, 10422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, -309, -309, -309, -309, -309, -46, 10432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -42, -23, 8, 5, -87, -309, 91, 14, 10442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1130, -309, -309, 2298, 14, -309, -1, -309, 1938, -309, 10452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, 2298, -309, -309, -309, -309, -309, 13, 10462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, -309, 43, -309, 39, -309, -309, -309, -309, -309, 10472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2162, 124, 94, -309, 51, -14, -309, 66, -309, 2088, 10482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, 1491, -309, -309, 62, 2088, -309, 48, 10492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -83, -309, 358, -309, -309, -309, -309, 94, 2162, -9, 10502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 1200, 1491, -309, 148, 2162, 94, 1683, -309, 89, 10512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, 1491, 1491, 1491, -309, -309, -309, 10522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, 10, -309, -309, -309, 92, 20, 1586, 96, 10532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 1491, 53, -76, -309, -62, 90, -309, -309, -309, 10542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, 101, -61, -309, 95, -309, -309, 1768, 2088, 103, 10552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 47, 82, 84, -309, 97, 99, 93, 1298, 105, 10562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 102, -309, -309, -10, -309, -309, -13, -309, -42, 2, 10572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, 474, -309, -309, -309, -309, 106, 10582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, 1393, 1491, -309, 107, -309, -309, 94, 109, 10592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 4, -309, -58, -309, -309, -309, 22, -309, -309, 1491, 10602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2230, -309, -309, 1491, 112, -309, -309, -309, 1491, 1491, 10612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 10622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 1491, 1491, -309, -309, 1853, -309, -309, -309, -309, -309, 10632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 100, -309, 1491, -309, -309, 36, -309, -309, 590, -309, 10642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, 1491, 1491, -309, -309, -309, 1491, 10652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 113, -309, -309, 42, 1491, 94, -309, -73, -309, 10662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 115, 108, 89, 119, -309, -309, -309, -309, -309, 10672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 53, 53, -309, -309, -309, -309, -62, -62, -309, 104, 10682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 101, 73, -309, 169, 43, 822, 938, 25, -309, 1035, 10692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 590, -309, -309, 120, -309, -309, 121, -309, 1491, -309, 10702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, 1491, 122, -309, -309, -309, -309, 1035, 100, 108, 10712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 94, 2162, 125, 123, -309, -309, 126, -309, 1491, -309, 10722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 117, 129, 212, -309, 139, 706, -309, 141, 29, 1491, 10732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 706, 100, 1491, -309, -309, -309, -309, 142, 108, -309, 10742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309 1075044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1076044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1077044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYPGOTO[NTERM-NUM]. */ 1078044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yypgoto[] = 1079044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 10802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -39, -309, -309, -309, -309, -309, -309, 7, -309, 10812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, 1, -309, -54, -309, -101, -57, -309, 10822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, 9, -11, 3, -309, -110, -126, -309, -138, 10832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -122, -309, 11, 16, -309, -309, -309, 130, 165, 159, 10842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 133, -309, -309, -299, -309, -309, -102, -30, -66, 257, 10852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, 83, -6, 0, -309, -309, -309, -104, -125, 10862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 45, -21, -208, -50, -194, -296, -309, -309, -309, -93, 10872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -308, -309, -309, -90, 6, -47, -309, -309, -67, -309, 10882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309, -309, -309, -309, -309, -309, -309, -309, 193, -309, 10892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -309 1090044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1092044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1093044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org positive, shift that token. If negative, reduce the rule which 109498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org number is the opposite. If YYTABLE_NINF, syntax error. */ 10952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens#define YYTABLE_NINF -214 1096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yytable[] = 1097044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 10982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 89, 123, 173, 110, 282, 216, 135, 226, 215, 10992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 278, 61, 223, 177, 95, 135, 62, 81, 288, 334, 11002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 340, 173, 180, 7, 102, 242, 243, 103, 181, 105, 11012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 352, 250, 235, 328, 127, 135, 86, 87, 340, 106, 11022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 240, 329, 241, 136, 112, 96, 97, 98, 95, 82, 11032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 265, 136, 223, 370, 27, 28, 289, 29, 90, 363, 11042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 244, 245, 127, 129, 363, 37, 251, 111, 88, 218, 11052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 136, 91, 76, 254, 135, 135, 116, 76, 96, 11062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 97, 98, 93, 76, 269, 270, 271, 216, 209, 61, 11072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 281, 292, 131, 272, 62, 227, 228, 212, 275, 132, 11082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 276, 173, 273, 213, 113, -28, 297, 113, 76, 11092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -82, 136, 136, 311, 160, 286, 229, 76, 287, 94, 11102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 230, 118, 199, 119, 317, 232, 278, 290, 76, 223, 11112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 338, 233, 160, 275, 367, 76, 275, 76, 84, 85, 11122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 275, 302, 303, 304, 305, 224, 225, 275, 321, 322, 11132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 318, 122, 135, 286, 371, 130, 325, 323, 2, 3, 11142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 4, 179, 237, 326, 96, 97, 98, 104, 87, 173, 11152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 86, 87, 238, 239, 133, 173, 176, 76, 76, 246, 11162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 247, 339, 255, 256, 275, 331, 300, 301, 136, 306, 11172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 307, 295, 81, -29, 249, 248, 258, 231, 259, 339, 11182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 236, 261, 252, 262, 199, 347, 346, 263, -213, 266, 11192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 358, 267, 279, 160, 283, 285, -141, 341, 173, 275, 11202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 324, 368, 330, -185, 333, 332, 348, 344, 345, 361, 11212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 355, 359, 356, 357, 360, 341, 216, 296, 309, 298, 11222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 299, 160, 160, 160, 160, 160, 160, 160, 160, 160, 11232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 160, 160, 362, 310, 76, 366, 372, 308, 210, 124, 11242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 128, 211, 83, 284, 257, 327, 335, 369, 199, 336, 11252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 349, 115, 0, 0, 320, 110, 0, 0, 0, 0, 11262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 160, 0, 0, 0, 0, 0, 160, 0, 0, 0, 11276b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 11292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 199, 199, 0, 0, 199, 11302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 199, 0, 0, 0, 0, 0, 0, 0, 0, 160, 11312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 199, 0, 0, 11322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 11332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 199, 0, 0, 0, 0, 11342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 199, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 182, 183, 184, 0, 185, 186, 187, 188, 11362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 11372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 11382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 11392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, 189, 42, 43, 44, 45, 46, 11402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 139, 60, 140, 141, 142, 143, 11422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, 114378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 146, 0, 0, 0, 190, 191, 0, 0, 11452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 192, 147, 148, 0, 149, 1, 2, 3, 11462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 4, 5, 6, 7, 8, 9, 10, 11, 182, 183, 11472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 184, 0, 185, 186, 187, 188, 0, 0, 0, 12, 11482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 11492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 23, 24, 25, 26, 27, 28, 0, 29, 30, 31, 11502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 11512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 189, 42, 43, 44, 45, 46, 47, 48, 49, 50, 11522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 51, 52, 53, 54, 55, 0, 56, 57, 58, 59, 11532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 139, 60, 140, 141, 142, 143, 0, 0, 0, 144, 11542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 11562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 190, 277, 0, 0, 0, 0, 192, 147, 11572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 148, 0, 149, 1, 2, 3, 4, 5, 6, 7, 11582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 9, 10, 11, 182, 183, 184, 0, 185, 186, 11592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 187, 188, 0, 0, 0, 12, 13, 14, 15, 16, 11602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 11612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 27, 28, 0, 29, 30, 31, 32, 33, 34, 35, 11622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 36, 37, 38, 39, 40, 41, 189, 42, 43, 44, 11632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 11642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 55, 0, 56, 57, 58, 59, 139, 60, 140, 141, 11652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 142, 143, 0, 0, 0, 144, 145, 0, 0, 0, 1166fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 146, 0, 0, 0, 190, 0, 11682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 192, 147, 148, 0, 149, 1, 11692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 182, 183, 184, 0, 185, 186, 187, 188, 0, 0, 11712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 11722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 21, 22, 23, 24, 25, 26, 27, 28, 0, 29, 11732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 11742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 40, 41, 189, 42, 43, 44, 45, 46, 47, 48, 11752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 49, 50, 51, 52, 53, 54, 55, 0, 56, 57, 11762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 58, 59, 139, 60, 140, 141, 142, 143, 0, 0, 11772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 144, 145, 0, 0, 0, 0, 0, 0, 0, 1178a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 146, 0, 0, 0, 122, 0, 0, 0, 0, 0, 11802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 192, 147, 148, 0, 149, 1, 2, 3, 4, 5, 11812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 6, 7, 8, 9, 10, 11, 182, 183, 184, 0, 11822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 185, 186, 187, 188, 0, 0, 0, 12, 13, 14, 11832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 11842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, 11852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 34, 35, 36, 37, 38, 39, 40, 41, 189, 42, 11862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 11872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 53, 54, 55, 0, 56, 57, 58, 59, 139, 60, 11882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 140, 141, 142, 143, 0, 0, 0, 144, 145, 0, 118928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 11912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 192, 147, 148, 0, 11922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 149, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 11952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 11962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 11972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 11982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 139, 60, 140, 141, 142, 143, 12002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, 12012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 134, 2, 12022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 3, 4, 146, 6, 7, 8, 9, 10, 11, 0, 12032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 192, 147, 148, 0, 149, 0, 0, 0, 1204fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1205fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 22, 23, 24, 25, 26, 27, 28, 0, 29, 30, 1206fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 1207fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 41, 0, 42, 43, 44, 45, 46, 47, 48, 49, 12082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, 12092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 59, 139, 60, 140, 141, 142, 143, 0, 0, 0, 12102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 144, 145, 0, 0, 0, 0, 0, 0, 0, 0, 12112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 2, 3, 4, 0, 0, 146, 12122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 12132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 147, 148, 0, 149, 0, 12, 13, 14, 15, 16, 1214fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 12152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, 12162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 36, 0, 0, 0, 40, 41, 0, 42, 43, 44, 1217fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 12182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 55, 0, 56, 57, 58, 0, 107, 60, 0, 0, 12192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 12202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 12, 13, 14, 15, 16, 12212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 12222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 108, 31, 32, 33, 34, 35, 12232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 36, 0, 0, 0, 40, 41, 0, 42, 43, 44, 12242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 12252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 55, 0, 56, 57, 58, 0, 139, 60, 140, 141, 12262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 142, 143, 0, 0, 0, 144, 145, 0, 0, 0, 12272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 146, 0, 0, 214, 8, 9, 12292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 0, 0, 0, 147, 148, 0, 149, 0, 12302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 12312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 12322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 31, 32, 33, 34, 35, 36, 0, 12332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 40, 41, 0, 42, 43, 44, 45, 46, 12342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 12352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 0, 139, 60, 140, 141, 142, 143, 12362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, 12372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 146, 8, 9, 10, 11, 0, 0, 0, 12392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 264, 147, 148, 0, 149, 0, 12, 13, 1240fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1241fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 24, 25, 26, 0, 0, 0, 0, 0, 31, 32, 1242fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, 1243fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 12442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, 0, 56, 57, 58, 0, 139, 12452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 140, 141, 142, 143, 0, 0, 0, 144, 145, 12462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 12482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 280, 8, 9, 10, 11, 0, 0, 0, 147, 148, 12492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 149, 0, 0, 0, 0, 12, 13, 14, 15, 1250fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 12512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 26, 0, 0, 0, 0, 0, 31, 32, 33, 34, 1252fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 35, 36, 0, 0, 0, 40, 41, 0, 42, 43, 1253fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 12542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 54, 55, 0, 56, 57, 58, 0, 139, 60, 140, 12552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 141, 142, 143, 0, 0, 0, 144, 145, 0, 0, 12569e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 146, 8, 9, 10, 11, 12582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 147, 148, 0, 149, 1259fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1260fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 21, 22, 23, 24, 25, 26, 0, 0, 0, 0, 1261fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 0, 31, 32, 33, 34, 35, 36, 0, 0, 0, 12622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 40, 234, 0, 42, 43, 44, 45, 46, 47, 48, 12632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 49, 50, 51, 52, 53, 54, 55, 0, 56, 57, 12642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 58, 0, 139, 60, 140, 141, 142, 143, 0, 0, 12652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 144, 145, 0, 0, 0, 0, 0, 0, 0, 12662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 134, 2, 3, 4, 12672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 146, 6, 7, 8, 9, 10, 11, 0, 0, 0, 12682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 147, 148, 0, 149, 0, 0, 0, 12, 13, 12692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 12702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 12712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 12722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 12732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 12742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 134, 2, 3, 4, 0, 6, 7, 8, 9, 12762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 12772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 222, 12, 13, 14, 15, 16, 17, 18, 12782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 12792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 12802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 12812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 12822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 0, 60, 0, 0, 0, 0, 12832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 134, 2, 3, 4, 12842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 12852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 253, 12, 13, 12862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 12872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 12882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 12892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 12902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 12912a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 0, 0, 0, 0, 0, 0, 0, 114, 0, 12922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 12942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 312, 12, 13, 14, 15, 16, 17, 18, 12952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 12962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 12972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 12982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 12992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 0, 60, 1, 2, 3, 4, 1300fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 13012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 1302fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1303fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 1304fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 1305fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 13062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 13072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 134, 2, 3, 4, 0, 6, 7, 8, 9, 13082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 13092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 13102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 13112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 13122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 13132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 13142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 0, 60, 2, 3, 4, 0, 13152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 8, 9, 10, 11, 0, 0, 0, 0, 131628043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, 131728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1318fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 25, 26, 0, 0, 0, 0, 0, 31, 32, 33, 1319fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 34, 35, 36, 0, 0, 0, 40, 41, 0, 42, 132028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 13212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 53, 54, 55, 0, 56, 57, 58, 0, 0, 60, 13222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 13232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 12, 13, 14, 15, 16, 13242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 13252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 0, 0, 0, 0, 31, 32, 33, 34, 35, 13262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 36, 0, 0, 0, 40, 41, 0, 42, 43, 44, 13272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 13282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 55, 0, 56, 57, 58, 0, 293, 294, 8, 9, 132928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 133028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 133128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 133228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 0, 0, 0, 31, 32, 33, 34, 35, 36, 0, 133328043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 0, 0, 40, 41, 0, 42, 43, 44, 45, 46, 1334fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 13352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 0, 0, 60 1336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1337044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 133898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#define yypact_value_is_default(Yystate) \ 13392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens (!!((Yystate) == (-309))) 134098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 134198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#define yytable_value_is_error(Yytable_value) \ 134298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYID (0) 134398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 1344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_int16 yycheck[] = 1345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 13462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 0, 40, 92, 113, 70, 213, 132, 109, 146, 131, 13472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 204, 0, 137, 117, 9, 117, 0, 44, 76, 315, 13482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 319, 131, 105, 9, 111, 87, 88, 114, 111, 68, 13492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 338, 92, 158, 106, 100, 137, 76, 77, 337, 69, 13502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 116, 114, 118, 109, 74, 40, 41, 42, 9, 76, 13512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 188, 117, 177, 361, 40, 41, 114, 43, 104, 355, 13522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 122, 123, 128, 102, 360, 51, 127, 73, 108, 135, 13532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 70, 137, 114, 73, 178, 177, 178, 83, 78, 40, 13542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 41, 42, 105, 83, 94, 95, 96, 213, 127, 78, 13552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 212, 229, 106, 103, 78, 85, 86, 106, 111, 113, 13562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 100, 114, 212, 113, 113, 106, 104, 233, 106, 109, 13572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 177, 178, 251, 113, 111, 106, 117, 114, 111, 13582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 110, 108, 122, 76, 262, 105, 320, 105, 128, 254, 13592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 111, 131, 111, 105, 135, 111, 137, 40, 41, 13602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 111, 242, 243, 244, 245, 144, 145, 111, 274, 275, 13612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 114, 108, 254, 111, 362, 104, 114, 279, 4, 5, 13622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 6, 113, 161, 285, 40, 41, 42, 76, 77, 279, 13632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 77, 119, 120, 108, 285, 114, 177, 178, 89, 13642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 90, 319, 79, 80, 111, 112, 240, 241, 254, 246, 13652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 247, 230, 44, 104, 93, 91, 114, 105, 114, 337, 13662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, 104, 107, 104, 204, 331, 328, 114, 108, 104, 13672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 348, 109, 106, 212, 107, 106, 104, 319, 328, 111, 13682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, 359, 107, 104, 314, 56, 104, 107, 107, 17, 13692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 114, 109, 107, 105, 337, 362, 230, 249, 238, 13702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 13712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 249, 250, 113, 250, 254, 114, 114, 248, 128, 94, 13722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 101, 128, 5, 218, 181, 286, 316, 360, 268, 316, 13732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 337, 78, -1, -1, 268, 341, -1, -1, -1, -1, 13742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 279, -1, -1, -1, -1, -1, 285, -1, -1, -1, 1375d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 340, -1, -1, -1, -1, -1, -1, -1, -1, 13772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 315, 316, -1, -1, 319, 13782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 320, -1, -1, -1, -1, -1, -1, -1, -1, 328, 13792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, 337, -1, -1, 13802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 341, -1, -1, -1, -1, -1, -1, -1, -1, 13812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 355, -1, -1, -1, -1, 13822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 360, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, 14, 15, 16, -1, 18, 19, 20, 21, 13842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 13852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 13862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 13872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 13882a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 13892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 13902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, 1391fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 104, -1, -1, -1, 108, 109, -1, -1, 13932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 114, 115, 116, -1, 118, 3, 4, 5, 13942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 13952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 16, -1, 18, 19, 20, 21, -1, -1, -1, 25, 13962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 13972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, 13982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 13992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 14002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, 14012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 76, 77, 78, 79, 80, 81, -1, -1, -1, 85, 14022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, 14042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 108, 109, -1, -1, -1, -1, 114, 115, 14052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 116, -1, 118, 3, 4, 5, 6, 7, 8, 9, 14062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 12, 13, 14, 15, 16, -1, 18, 19, 14072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 20, 21, -1, -1, -1, 25, 26, 27, 28, 29, 14082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 14092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 14102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 14112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 14122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, 14132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 80, 81, -1, -1, -1, 85, 86, -1, -1, -1, 14146b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, 104, -1, -1, -1, 108, -1, 14162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, 114, 115, 116, -1, 118, 3, 14172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 14, 15, 16, -1, 18, 19, 20, 21, -1, -1, 14192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 14202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 14212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 14222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 14232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 64, 65, 66, 67, 68, 69, 70, -1, 72, 73, 14242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 74, 75, 76, 77, 78, 79, 80, 81, -1, -1, 14252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, 1426a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, -1, -1, -1, 108, -1, -1, -1, -1, -1, 14282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 114, 115, 116, -1, 118, 3, 4, 5, 6, 7, 14292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 14302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 18, 19, 20, 21, -1, -1, -1, 25, 26, 27, 14312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 14322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 38, 39, 40, 41, -1, 43, 44, 45, 46, 47, 14332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 14342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 14352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, 14362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 78, 79, 80, 81, -1, -1, -1, 85, 86, -1, 143728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, 14392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, 114, 115, 116, -1, 14402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 118, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 14422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 14432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 14442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 14452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 14462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 14472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 14482a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, 14492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 14502a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 5, 6, 104, 8, 9, 10, 11, 12, 13, -1, 14512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 114, 115, 116, -1, 118, -1, -1, -1, 1452fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1453fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 1454fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 1455fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, 14562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 14572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 75, 76, 77, 78, 79, 80, 81, -1, -1, -1, 14582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, 14592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, 4, 5, 6, -1, -1, 104, 14602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, 14612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 115, 116, -1, 118, -1, 25, 26, 27, 28, 29, 1462fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 14632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 14642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 50, -1, -1, -1, 54, 55, -1, 57, 58, 59, 14652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 14662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, 14672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, 14682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 14692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 14702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, 114, 45, 46, 47, 48, 49, 14712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 50, -1, -1, -1, 54, 55, -1, 57, 58, 59, 1472fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 14732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 70, -1, 72, 73, 74, -1, 76, 77, 78, 79, 14742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 80, 81, -1, -1, -1, 85, 86, -1, -1, -1, 14752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, 104, -1, -1, 107, 10, 11, 14772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, -1, -1, -1, 115, 116, -1, 118, -1, 14782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 14792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 14802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 45, 46, 47, 48, 49, 50, -1, 14812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 54, 55, -1, 57, 58, 59, 60, 61, 14822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 14832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, -1, 76, 77, 78, 79, 80, 81, 14842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, 14852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 104, 10, 11, 12, 13, -1, -1, -1, 14872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 114, 115, 116, -1, 118, -1, 25, 26, 1488fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1489fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 1490fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, 1491fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 14922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, 14932a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, 78, 79, 80, 81, -1, -1, -1, 85, 86, 14942a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, 14962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, 10, 11, 12, 13, -1, -1, -1, 115, 116, 14972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 118, -1, -1, -1, -1, 25, 26, 27, 28, 1498fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 14992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 1500fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 49, 50, -1, -1, -1, 54, 55, -1, 57, 58, 1501fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 15022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 69, 70, -1, 72, 73, 74, -1, 76, 77, 78, 15032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 79, 80, 81, -1, -1, -1, 85, 86, -1, -1, 1504fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 104, 10, 11, 12, 13, 15062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, 115, 116, -1, 118, 1507fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 1508fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, 1509fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens -1, 45, 46, 47, 48, 49, 50, -1, -1, -1, 1510fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 54, 55, -1, 57, 58, 59, 60, 61, 62, 63, 15112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 64, 65, 66, 67, 68, 69, 70, -1, 72, 73, 15122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 74, -1, 76, 77, 78, 79, 80, 81, -1, -1, 15132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, 15142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 15152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, 8, 9, 10, 11, 12, 13, -1, -1, -1, 15162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 115, 116, -1, 118, -1, -1, -1, 25, 26, 15172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 15182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 15192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 15202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 15212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 15222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, 15242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 15252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 109, 25, 26, 27, 28, 29, 30, 31, 15262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 15272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 15282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 15292a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 15302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 15312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 15322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, 15332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, 109, 25, 26, 15342a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 15352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 15362a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 15372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 15382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 15392a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, -1, -1, -1, -1, -1, -1, -1, 0, -1, 15402a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15412a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 15422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 109, 25, 26, 27, 28, 29, 30, 31, 15432a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 15442a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 15452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 15462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 15472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, 75, -1, 77, 3, 4, 5, 6, 1548fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 7, 8, 9, 10, 11, 12, 13, -1, -1, -1, 15492a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, 1550fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1551fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 1552fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 1553fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 15542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 15552a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, 3, 4, 5, 6, -1, 8, 9, 10, 11, 15562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 15572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 15582a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 15592a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 15602a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 15612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 15622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, 75, -1, 77, 4, 5, 6, -1, 15632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, 156428043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens -1, -1, -1, -1, -1, -1, -1, 25, 26, 27, 156528043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 1566fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, 1567fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 48, 49, 50, -1, -1, -1, 54, 55, -1, 57, 156828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 15692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 68, 69, 70, -1, 72, 73, 74, -1, -1, 77, 15702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, 15712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 25, 26, 27, 28, 29, 15722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 15732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 15742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 50, -1, -1, -1, 54, 55, -1, 57, 58, 59, 15752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 15762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 70, -1, 72, 73, 74, -1, 76, 77, 10, 11, 157728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 157828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 157928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 158028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens -1, -1, -1, 45, 46, 47, 48, 49, 50, -1, 158128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens -1, -1, 54, 55, -1, 57, 58, 59, 60, 61, 1582fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 15832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 72, 73, 74, -1, -1, 77 1584044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1585044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1586044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1587044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org symbol of state STATE-NUM. */ 1588044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic const yytype_uint8 yystos[] = 1589044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15916b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 15928c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 15938c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 15949e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 15952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 15962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 77, 160, 161, 162, 163, 164, 169, 170, 171, 172, 15972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 174, 175, 176, 177, 178, 181, 182, 183, 215, 216, 15982a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 217, 44, 76, 177, 40, 41, 76, 77, 108, 129, 15992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, 114, 218, 105, 111, 9, 40, 41, 42, 166, 16002a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 167, 173, 111, 114, 76, 129, 175, 76, 114, 159, 16012a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 176, 181, 175, 106, 0, 216, 181, 185, 108, 76, 16022a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 179, 180, 108, 201, 166, 165, 168, 176, 167, 129, 16032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 104, 106, 113, 108, 3, 174, 176, 186, 187, 76, 16042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 78, 79, 80, 81, 85, 86, 104, 115, 116, 118, 16052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 130, 131, 132, 134, 135, 136, 137, 138, 139, 140, 16062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 16072a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 151, 152, 153, 154, 158, 182, 114, 186, 184, 113, 16082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 111, 14, 15, 16, 18, 19, 20, 21, 56, 16092a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 108, 109, 114, 141, 154, 155, 157, 160, 161, 182, 16102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 191, 192, 193, 194, 202, 203, 204, 207, 214, 129, 16112a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 165, 168, 106, 113, 107, 158, 155, 190, 176, 129, 16122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 188, 189, 109, 187, 141, 141, 157, 85, 86, 106, 16132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 110, 105, 105, 111, 55, 155, 104, 141, 119, 120, 16142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 116, 118, 87, 88, 122, 123, 89, 90, 91, 93, 16152a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 92, 127, 107, 109, 186, 79, 80, 180, 114, 114, 16162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 209, 104, 104, 114, 114, 157, 104, 109, 195, 94, 16172a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 95, 96, 103, 113, 156, 111, 114, 109, 192, 106, 16182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, 158, 190, 107, 188, 106, 111, 114, 76, 114, 16192a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 133, 157, 76, 77, 129, 136, 155, 141, 141, 16202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 143, 143, 145, 145, 145, 145, 146, 146, 150, 151, 16212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 152, 157, 109, 198, 199, 200, 210, 157, 114, 208, 16222a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 202, 155, 155, 158, 107, 114, 158, 189, 106, 114, 16232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 107, 112, 56, 201, 193, 191, 203, 211, 105, 157, 16242a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 171, 174, 206, 196, 107, 107, 158, 155, 104, 206, 16252a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 212, 213, 198, 205, 129, 105, 109, 107, 157, 114, 16262a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 105, 17, 113, 193, 197, 201, 114, 105, 157, 197, 16272a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 198, 190, 114 1628044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org}; 1629044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1630044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyerrok (yyerrstatus = 0) 1631044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define yyclearin (yychar = YYEMPTY) 1632044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYEMPTY (-2) 1633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYEOF 0 1634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1635044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYACCEPT goto yyacceptlab 1636044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYABORT goto yyabortlab 1637044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYERROR goto yyerrorlab 1638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1639044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1640044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Like YYERROR except do call yyerror. This remains here temporarily 1641044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org to ease the transition to the new meaning of YYERROR, for GCC. 164205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com Once GCC version 2 has supplanted version 1, this can go. However, 164305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYFAIL appears to be in use. Nevertheless, it is formally deprecated 164405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com in Bison 2.4.2's NEWS entry, where a plan to phase it out is 164505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com discussed. */ 1646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1647044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYFAIL goto yyerrlab 164805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#if defined YYFAIL 164905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* This is here to suppress warnings from the GCC cpp's 165005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com -Wunused-macros. Normally we don't worry about that warning, but 165105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com some users do, and we want to make it easy for users to remove 165205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYFAIL uses, which will produce warnings from Bison 2.5. */ 165305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#endif 1654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1655044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYRECOVERING() (!!yyerrstatus) 1656044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 165798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#define YYBACKUP(Token, Value) \ 165898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgdo \ 165998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yychar == YYEMPTY) \ 166098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { \ 166198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yychar = (Token); \ 166298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yylval = (Value); \ 166398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYPOPSTACK (yylen); \ 166498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yystate = *yyssp; \ 166598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org goto yybackup; \ 166698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } \ 166798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org else \ 166898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { \ 1669075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror (&yylloc, context, YY_("syntax error: cannot back up")); \ 1670044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYERROR; \ 1671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } \ 1672044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgwhile (YYID (0)) 1673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 167498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Error token number */ 1675044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYTERROR 1 1676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#define YYERRCODE 256 1677044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1678044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1679075edd84dd682b91279132317d34b09e8028ae6fJamie Madill/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1680075edd84dd682b91279132317d34b09e8028ae6fJamie Madill If N is 0, then set CURRENT to the empty location which ends 1681075edd84dd682b91279132317d34b09e8028ae6fJamie Madill the previous symbol: RHS[0] (always defined). */ 1682075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1683075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#ifndef YYLLOC_DEFAULT 1684075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YYLLOC_DEFAULT(Current, Rhs, N) \ 1685075edd84dd682b91279132317d34b09e8028ae6fJamie Madill do \ 1686075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (YYID (N)) \ 1687075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { \ 1688075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1689075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1690075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1691075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1692075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } \ 1693075edd84dd682b91279132317d34b09e8028ae6fJamie Madill else \ 1694075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { \ 1695075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_line = (Current).last_line = \ 1696075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYRHSLOC (Rhs, 0).last_line; \ 1697075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (Current).first_column = (Current).last_column = \ 1698075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYRHSLOC (Rhs, 0).last_column; \ 1699075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } \ 1700075edd84dd682b91279132317d34b09e8028ae6fJamie Madill while (YYID (0)) 1701075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#endif 1702075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1703075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1704075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1705075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1706075edd84dd682b91279132317d34b09e8028ae6fJamie Madill/* YY_LOCATION_PRINT -- Print the location on the stream. 1707075edd84dd682b91279132317d34b09e8028ae6fJamie Madill This macro was not mandated originally: define only if we know 1708075edd84dd682b91279132317d34b09e8028ae6fJamie Madill we won't break user code: when these are the locations we know. */ 1709075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1710044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YY_LOCATION_PRINT 1711075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 1712075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1713075edd84dd682b91279132317d34b09e8028ae6fJamie Madill/* Print *YYLOCP on YYO. Private, do not rely on its existence. */ 1714075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1715075edd84dd682b91279132317d34b09e8028ae6fJamie Madill__attribute__((__unused__)) 1716075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#if (defined __STDC__ || defined __C99__FUNC__ \ 1717075edd84dd682b91279132317d34b09e8028ae6fJamie Madill || defined __cplusplus || defined _MSC_VER) 1718075edd84dd682b91279132317d34b09e8028ae6fJamie Madillstatic unsigned 1719075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) 1720075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#else 1721075edd84dd682b91279132317d34b09e8028ae6fJamie Madillstatic unsigned 1722075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_location_print_ (yyo, yylocp) 1723075edd84dd682b91279132317d34b09e8028ae6fJamie Madill FILE *yyo; 1724075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE const * const yylocp; 1725075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#endif 1726075edd84dd682b91279132317d34b09e8028ae6fJamie Madill{ 1727075edd84dd682b91279132317d34b09e8028ae6fJamie Madill unsigned res = 0; 1728075edd84dd682b91279132317d34b09e8028ae6fJamie Madill int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0; 1729075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (0 <= yylocp->first_line) 1730075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { 1731075edd84dd682b91279132317d34b09e8028ae6fJamie Madill res += fprintf (yyo, "%d", yylocp->first_line); 1732075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (0 <= yylocp->first_column) 1733075edd84dd682b91279132317d34b09e8028ae6fJamie Madill res += fprintf (yyo, ".%d", yylocp->first_column); 1734075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } 1735075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (0 <= yylocp->last_line) 1736075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { 1737075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (yylocp->first_line < yylocp->last_line) 1738075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { 1739075edd84dd682b91279132317d34b09e8028ae6fJamie Madill res += fprintf (yyo, "-%d", yylocp->last_line); 1740075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (0 <= end_col) 1741075edd84dd682b91279132317d34b09e8028ae6fJamie Madill res += fprintf (yyo, ".%d", end_col); 1742075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } 1743075edd84dd682b91279132317d34b09e8028ae6fJamie Madill else if (0 <= end_col && yylocp->first_column < end_col) 1744075edd84dd682b91279132317d34b09e8028ae6fJamie Madill res += fprintf (yyo, "-%d", end_col); 1745075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } 1746075edd84dd682b91279132317d34b09e8028ae6fJamie Madill return res; 1747075edd84dd682b91279132317d34b09e8028ae6fJamie Madill } 1748075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1749075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YY_LOCATION_PRINT(File, Loc) \ 1750075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yy_location_print_ (File, &(Loc)) 1751075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 1752075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# else 1753075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1754075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# endif 1755044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1756044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1757044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1758044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYLEX -- calling `yylex' with the right arguments. */ 1759044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYLEX_PARAM 1760075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) 1761044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1762075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# define YYLEX yylex (&yylval, &yylloc) 1763044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1764044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1765044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Enable debugging if requested. */ 1766044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if YYDEBUG 1767044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1768044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYFPRINTF 1769044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1770044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYFPRINTF fprintf 1771044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 1772044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1773044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYDPRINTF(Args) \ 1774044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgdo { \ 1775044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yydebug) \ 1776044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF Args; \ 1777044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} while (YYID (0)) 1778044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1779044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1780044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgdo { \ 1781044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yydebug) \ 1782044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { \ 1783044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (stderr, "%s ", Title); \ 1784044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yy_symbol_print (stderr, \ 1785075edd84dd682b91279132317d34b09e8028ae6fJamie Madill Type, Value, Location, context); \ 1786044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (stderr, "\n"); \ 1787044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } \ 1788044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} while (YYID (0)) 1789044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1790044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1791044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*--------------------------------. 1792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| Print this symbol on YYOUTPUT. | 1793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`--------------------------------*/ 1794044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*ARGSUSED*/ 1796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1797044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1798044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1799075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context) 1800044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1801044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1802075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context) 1803044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org FILE *yyoutput; 1804044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yytype; 1805044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTYPE const * const yyvaluep; 1806075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE const * const yylocationp; 1807044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParseContext* context; 1808044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1809044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 181098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org FILE *yyo = yyoutput; 181198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYUSE (yyo); 1812044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (!yyvaluep) 1813044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return; 1814075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYUSE (yylocationp); 1815044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYUSE (context); 1816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifdef YYPRINT 1817044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yytype < YYNTOKENS) 1818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1819044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 1820044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYUSE (yyoutput); 1821044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 1822f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill YYUSE (yytype); 1823044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 1824044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1825044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1826044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*--------------------------------. 1827044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| Print this symbol on YYOUTPUT. | 1828044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`--------------------------------*/ 1829044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1830044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1831044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1833075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context) 1834044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1835044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1836075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, context) 1837044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org FILE *yyoutput; 1838044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yytype; 1839044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTYPE const * const yyvaluep; 1840075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE const * const yylocationp; 1841044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParseContext* context; 1842044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1843044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1844044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yytype < YYNTOKENS) 1845044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 1847044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1849075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YY_LOCATION_PRINT (yyoutput, *yylocationp); 1850075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYFPRINTF (yyoutput, ": "); 1851075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context); 1852044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (yyoutput, ")"); 1853044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 1854044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1855044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*------------------------------------------------------------------. 1856044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1857044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| TOP (included). | 1858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`------------------------------------------------------------------*/ 1859044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1860044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1861044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1862044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 186305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.comyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1865044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 186605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.comyy_stack_print (yybottom, yytop) 186705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 *yybottom; 186805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 *yytop; 1869044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1870044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1871044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (stderr, "Stack now"); 187205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com for (; yybottom <= yytop; yybottom++) 187305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { 187405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yybot = *yybottom; 187505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYFPRINTF (stderr, " %d", yybot); 187605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 1877044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (stderr, "\n"); 1878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 1879044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1880044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_STACK_PRINT(Bottom, Top) \ 1881044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgdo { \ 1882044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yydebug) \ 1883044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yy_stack_print ((Bottom), (Top)); \ 1884044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} while (YYID (0)) 1885044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1887044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*------------------------------------------------. 1888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| Report that the YYRULE is going to be reduced. | 1889044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`------------------------------------------------*/ 1890044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1891044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1892044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1893044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1894075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, TParseContext* context) 1895044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1896044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 1897075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyy_reduce_print (yyvsp, yylsp, yyrule, context) 1898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTYPE *yyvsp; 1899075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE *yylsp; 1900044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yyrule; 1901044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParseContext* context; 1902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1903044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1904044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yynrhs = yyr2[yyrule]; 1905044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yyi; 1906044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unsigned long int yylno = yyrline[yyrule]; 1907044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1908044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyrule - 1, yylno); 1909044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* The symbols being reduced. */ 1910044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org for (yyi = 0; yyi < yynrhs; yyi++) 1911044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 191205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYFPRINTF (stderr, " $%d = ", yyi + 1); 1913044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1914044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org &(yyvsp[(yyi + 1) - (yynrhs)]) 1915075edd84dd682b91279132317d34b09e8028ae6fJamie Madill , &(yylsp[(yyi + 1) - (yynrhs)]) , context); 191605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYFPRINTF (stderr, "\n"); 1917044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 1918044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 1919044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1920044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_REDUCE_PRINT(Rule) \ 1921044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgdo { \ 1922044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yydebug) \ 1923075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yy_reduce_print (yyvsp, yylsp, Rule, context); \ 1924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} while (YYID (0)) 1925044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1926044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Nonzero means print parse trace. It is left uninitialized so that 1927044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org multiple parsers can coexist. */ 1928044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yydebug; 1929044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else /* !YYDEBUG */ 1930044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYDPRINTF(Args) 1931044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1932044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_STACK_PRINT(Bottom, Top) 1933044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YY_REDUCE_PRINT(Rule) 1934044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* !YYDEBUG */ 1935044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1936044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1937044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYINITDEPTH -- initial size of the parser's stacks. */ 1938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YYINITDEPTH 1939044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYINITDEPTH 200 1940044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1941044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1943044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if the built-in stack extension method is used). 1944044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1945044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org Do not make this value too large; the results are undefined if 1946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1947044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org evaluated with infinite-precision integer arithmetic. */ 1948044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1949044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef YYMAXDEPTH 1950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define YYMAXDEPTH 10000 1951044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1952044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1953044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if YYERROR_VERBOSE 1955044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef yystrlen 1957044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# if defined __GLIBC__ && defined _STRING_H 1958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define yystrlen strlen 1959044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 1960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Return the length of YYSTR. */ 1961044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1963044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic YYSIZE_T 1964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyystrlen (const char *yystr) 1965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1966044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic YYSIZE_T 1967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyystrlen (yystr) 1968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const char *yystr; 1969044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1970044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1971044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSIZE_T yylen; 1972044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org for (yylen = 0; yystr[yylen]; yylen++) 1973044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org continue; 1974044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yylen; 1975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 1976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 1977044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 1978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1979044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef yystpcpy 1980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1981044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# define yystpcpy stpcpy 1982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 1983044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1984044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDEST. */ 1985044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 1986044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 1987044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic char * 1988044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyystpcpy (char *yydest, const char *yysrc) 1989044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 1990044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic char * 1991044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyystpcpy (yydest, yysrc) 1992044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org char *yydest; 1993044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const char *yysrc; 1994044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 1995044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 1996044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org char *yyd = yydest; 1997044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const char *yys = yysrc; 1998044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 1999044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org while ((*yyd++ = *yys++) != '\0') 2000044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org continue; 2001044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2002044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yyd - 1; 2003044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 2004044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 2005044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 2006044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2007044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef yytnamerr 2008044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 2009044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org quotes and backslashes, so that it's suitable for yyerror. The 2010044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org heuristic is that double-quoting is unnecessary unless the string 2011044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org contains an apostrophe, a comma, or backslash (other than 2012044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org backslash-backslash). YYSTR is taken from yytname. If YYRES is 2013044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org null, do not copy; instead, return the length of what the result 2014044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org would have been. */ 2015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic YYSIZE_T 2016044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyytnamerr (char *yyres, const char *yystr) 2017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 2018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (*yystr == '"') 2019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2020044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSIZE_T yyn = 0; 2021044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org char const *yyp = yystr; 2022044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2023044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org for (;;) 2024044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org switch (*++yyp) 2025044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2026044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case '\'': 2027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case ',': 2028044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto do_not_strip_quotes; 2029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case '\\': 2031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (*++yyp != '\\') 2032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto do_not_strip_quotes; 2033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Fall through. */ 2034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org default: 2035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyres) 2036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyres[yyn] = *yyp; 2037044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn++; 2038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2039044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case '"': 2041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyres) 2042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyres[yyn] = '\0'; 2043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yyn; 2044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org do_not_strip_quotes: ; 2046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2047044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (! yyres) 2049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yystrlen (yystr); 2050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yystpcpy (yyres, yystr) - yyres; 2052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 2053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 2054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 205598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 205698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org about the unexpected token YYTOKEN for the state stack whose top is 205798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSSP. 2058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 205998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 206098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org not large enough to hold the message. In that case, also set 206198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org *YYMSG_ALLOC to the required number of bytes. Return 2 if the 206298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org required number of bytes is too large to store. */ 206398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgstatic int 206498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 206598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yytype_int16 *yyssp, int yytoken) 206698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org{ 206798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 206898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSIZE_T yysize = yysize0; 206998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 207098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Internationalized format string. */ 207198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org const char *yyformat = YY_NULL; 207298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Arguments of yyformat. */ 207398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 207498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Number of reported tokens (one for the "unexpected", one per 207598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org "expected"). */ 207698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yycount = 0; 207798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 207898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* There are many possibilities here to consider: 207998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org - Assume YYFAIL is not used. It's too flawed to consider. See 208098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 208198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org for details. YYERROR is fine as it does not invoke this 208298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org function. 208398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org - If this state is a consistent state with a default action, then 208498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org the only way this function was invoked is if the default action 208598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org is an error action. In that case, don't check for expected 208698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org tokens because there are none. 208798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org - The only way there can be no lookahead present (in yychar) is if 208898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org this state is a consistent state with a default action. Thus, 208998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org detecting the absence of a lookahead is sufficient to determine 209098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org that there is no unexpected or expected token to report. In that 209198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org case, just report a simple "syntax error". 209298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org - Don't assume there isn't a lookahead just because this state is a 209398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org consistent state with a default action. There might have been a 209498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org previous inconsistent state, consistent state with a non-default 209598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org action, or user semantic action that manipulated yychar. 209698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org - Of course, the expected token list depends on states to have 209798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org correct lookahead information, and it depends on the parser not 209898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org to perform extra reductions after fetching a lookahead from the 209998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org scanner and before detecting a syntax error. Thus, state merging 210098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org (from LALR or IELR) and default reductions corrupt the expected 210198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org token list. However, the list is correct for canonical LR with 210298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org one exception: it will still contain any token that will not be 210398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org accepted due to an error action in a later state. 210498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org */ 210598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yytoken != YYEMPTY) 210698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 210798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yyn = yypact[*yyssp]; 210898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyarg[yycount++] = yytname[yytoken]; 210998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (!yypact_value_is_default (yyn)) 211098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 211198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Start YYX at -YYN if negative to avoid negative indexes in 211298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCHECK. In other words, skip the first -YYN actions for 211398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org this state because they are default actions. */ 211498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yyxbegin = yyn < 0 ? -yyn : 0; 211598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Stay within bounds of both yycheck and yytname. */ 211698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yychecklim = YYLAST - yyn + 1; 211798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 211898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yyx; 211998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 212098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org for (yyx = yyxbegin; yyx < yyxend; ++yyx) 212198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 212298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org && !yytable_value_is_error (yytable[yyx + yyn])) 212398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 212498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 212598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 212698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yycount = 1; 212798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysize = yysize0; 212898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org break; 212998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 213098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyarg[yycount++] = yytname[yyx]; 213198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 213298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 213398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (! (yysize <= yysize1 213498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 213598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org return 2; 213698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysize = yysize1; 213798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 213898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 213998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 2140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 214198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 214298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org switch (yycount) 214398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 214498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYCASE_(N, S) \ 214598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org case N: \ 214698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyformat = S; \ 214798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org break 214898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(0, YY_("syntax error")); 214998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(1, YY_("syntax error, unexpected %s")); 215098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 215198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 215298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 215398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 215498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# undef YYCASE_ 215598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 215698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 215798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 215898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 215998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 216098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org return 2; 216198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysize = yysize1; 216298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 216398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 216498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (*yymsg_alloc < yysize) 216598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 216698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org *yymsg_alloc = 2 * yysize; 216798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (! (yysize <= *yymsg_alloc 216898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 216998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 217098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org return 1; 217198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 217298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 217398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Avoid sprintf, as that infringes on the user's name space. 217498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org Don't have undefined behavior even if the translation 217598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org produced a string with the wrong number of "%s"s. */ 217698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 217798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org char *yyp = *yymsg; 217898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yyi = 0; 217998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org while ((*yyp = *yyformat) != '\0') 218098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 218198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 218298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyp += yytnamerr (yyp, yyarg[yyi++]); 218398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyformat += 2; 218498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 218598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org else 218698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 218798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyp++; 218898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyformat++; 218998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 219098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 219198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org return 0; 2192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 2193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* YYERROR_VERBOSE */ 2194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-----------------------------------------------. 2196044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| Release the memory associated to this symbol. | 2197044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-----------------------------------------------*/ 2198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*ARGSUSED*/ 2200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 2201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 2202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 2203075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, TParseContext* context) 2204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 2205044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgstatic void 2206075edd84dd682b91279132317d34b09e8028ae6fJamie Madillyydestruct (yymsg, yytype, yyvaluep, yylocationp, context) 2207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const char *yymsg; 2208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yytype; 2209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTYPE *yyvaluep; 2210075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE *yylocationp; 2211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParseContext* context; 2212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 2213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 2214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYUSE (yyvaluep); 2215075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYUSE (yylocationp); 2216044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYUSE (context); 2217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (!yymsg) 2219044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yymsg = "Deleting"; 2220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 2221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2222f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill YYUSE (yytype); 2223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 2224044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2226044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2227044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 222898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/*----------. 222998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org| yyparse. | 223098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org`----------*/ 2231044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2232044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef YYPARSE_PARAM 2233044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 2234044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 2235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint 2236044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyparse (void *YYPARSE_PARAM) 2237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 2238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint 2239044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyparse (YYPARSE_PARAM) 2240044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org void *YYPARSE_PARAM; 2241044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 2242044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else /* ! YYPARSE_PARAM */ 2243044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if (defined __STDC__ || defined __C99__FUNC__ \ 2244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org || defined __cplusplus || defined _MSC_VER) 2245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint 2246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyparse (TParseContext* context) 2247044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 2248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint 2249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyparse (context) 2250044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParseContext* context; 2251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 2252044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 2253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org{ 225405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* The lookahead symbol. */ 2255044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint yychar; 2256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 225798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 225898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 225998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 226098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 226198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org _Pragma ("GCC diagnostic push") \ 226298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 226398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 226498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 226598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org _Pragma ("GCC diagnostic pop") 226698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#else 226798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org/* Default value used for initialization, for pacifying older GCCs 226898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org or non-GCC compilers. */ 226998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgstatic YYSTYPE yyval_default; 227098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_INITIAL_VALUE(Value) = Value 227198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 2272075edd84dd682b91279132317d34b09e8028ae6fJamie Madillstatic YYLTYPE yyloc_default 2273075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 2274075edd84dd682b91279132317d34b09e8028ae6fJamie Madill = { 1, 1, 1, 1 } 2275075edd84dd682b91279132317d34b09e8028ae6fJamie Madill# endif 2276075edd84dd682b91279132317d34b09e8028ae6fJamie Madill; 227798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 227898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 227998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_IGNORE_MAYBE_UNINITIALIZED_END 228098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 228198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#ifndef YY_INITIAL_VALUE 228298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YY_INITIAL_VALUE(Value) /* Nothing. */ 228398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#endif 228498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 228505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com/* The semantic value of the lookahead symbol. */ 228698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.orgYYSTYPE yylval YY_INITIAL_VALUE(yyval_default); 2287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2288075edd84dd682b91279132317d34b09e8028ae6fJamie Madill/* Location data for the lookahead symbol. */ 2289075edd84dd682b91279132317d34b09e8028ae6fJamie MadillYYLTYPE yylloc = yyloc_default; 2290075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 2291075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 229205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Number of syntax errors so far. */ 229305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yynerrs; 2294536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 229505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yystate; 229605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Number of tokens to shift before error messages enabled. */ 229705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yyerrstatus; 2298536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 229905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* The stacks and their tools: 230005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com `yyss': related to states. 230105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com `yyvs': related to semantic values. 2302075edd84dd682b91279132317d34b09e8028ae6fJamie Madill `yyls': related to locations. 2303536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 230498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org Refer to the stacks through separate pointers, to allow yyoverflow 230505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com to reallocate them elsewhere. */ 2306536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 230705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* The state stack. */ 230805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 yyssa[YYINITDEPTH]; 230905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 *yyss; 231005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yytype_int16 *yyssp; 2311536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 231205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* The semantic value stack. */ 231305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTYPE yyvsa[YYINITDEPTH]; 231405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTYPE *yyvs; 231505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTYPE *yyvsp; 2316536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 2317075edd84dd682b91279132317d34b09e8028ae6fJamie Madill /* The location stack. */ 2318075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE yylsa[YYINITDEPTH]; 2319075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE *yyls; 2320075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE *yylsp; 2321075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 2322075edd84dd682b91279132317d34b09e8028ae6fJamie Madill /* The locations where the error started and ended. */ 2323075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE yyerror_range[3]; 2324075edd84dd682b91279132317d34b09e8028ae6fJamie Madill 232505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSIZE_T yystacksize; 2326536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 232705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yyn; 232805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com int yyresult; 232905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Lookahead token as an internal (translated) token number. */ 233098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yytoken = 0; 2331536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org /* The variables used to return semantic value and location from the 2332536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org action routines. */ 2333536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org YYSTYPE yyval; 2334075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE yyloc; 2335536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 233605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#if YYERROR_VERBOSE 233705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Buffer for error messages, and its allocated size. */ 233805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com char yymsgbuf[128]; 233905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com char *yymsg = yymsgbuf; 234005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 234105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com#endif 234205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 2343075edd84dd682b91279132317d34b09e8028ae6fJamie Madill#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 2344536888b8718e3451e0c5fb964a9c4b682f4950b3apatrick@chromium.org 2345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* The number of symbols on the RHS of the reduced rule. 2346044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org Keep to zero when no symbol should be popped. */ 2347044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int yylen = 0; 2348044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 234998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyssp = yyss = yyssa; 235098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyvsp = yyvs = yyvsa; 2351075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yylsp = yyls = yylsa; 235205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yystacksize = YYINITDEPTH; 235305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 2354044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDPRINTF ((stderr, "Starting parse\n")); 2355044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2356044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = 0; 2357044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyerrstatus = 0; 2358044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yynerrs = 0; 235905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yychar = YYEMPTY; /* Cause a token to be read. */ 2360075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yylsp[0] = yylloc; 2361044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yysetstate; 2362044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2363044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*------------------------------------------------------------. 2364044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yynewstate -- Push a new state, which is found in yystate. | 2365044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`------------------------------------------------------------*/ 2366044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yynewstate: 2367044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* In all cases, when you get here, the value and location stacks 2368044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org have just been pushed. So pushing a state here evens the stacks. */ 2369044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyssp++; 2370044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2371044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yysetstate: 2372044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *yyssp = yystate; 2373044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2374044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyss + yystacksize - 1 <= yyssp) 2375044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2376044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Get the current used size of the three stacks, in elements. */ 2377044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSIZE_T yysize = yyssp - yyss + 1; 2378044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2379044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifdef yyoverflow 2380044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2381044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Give user a chance to reallocate the stack. Use copies of 2382044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org these so that the &'s don't force the real ones into 2383044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org memory. */ 2384044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTYPE *yyvs1 = yyvs; 2385044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yytype_int16 *yyss1 = yyss; 2386075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLTYPE *yyls1 = yyls; 2387044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2388044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Each stack pointer address is followed by the size of the 2389044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org data in use in that stack, in bytes. This used to be a 2390044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org conditional around just the two extra args, but that might 2391044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org be undefined if yyoverflow is a macro. */ 2392044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyoverflow (YY_("memory exhausted"), 2393044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org &yyss1, yysize * sizeof (*yyssp), 2394044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org &yyvs1, yysize * sizeof (*yyvsp), 2395075edd84dd682b91279132317d34b09e8028ae6fJamie Madill &yyls1, yysize * sizeof (*yylsp), 2396044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org &yystacksize); 2397044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2398075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyls = yyls1; 2399044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyss = yyss1; 2400044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyvs = yyvs1; 2401044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2402044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else /* no yyoverflow */ 2403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# ifndef YYSTACK_RELOCATE 2404044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyexhaustedlab; 2405044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# else 2406044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Extend the stack our own way. */ 2407044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (YYMAXDEPTH <= yystacksize) 2408044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyexhaustedlab; 2409044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystacksize *= 2; 2410044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (YYMAXDEPTH < yystacksize) 2411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystacksize = YYMAXDEPTH; 2412044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2413044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yytype_int16 *yyss1 = yyss; 2415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org union yyalloc *yyptr = 2416044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 2417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (! yyptr) 2418044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyexhaustedlab; 241905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTACK_RELOCATE (yyss_alloc, yyss); 242005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYSTACK_RELOCATE (yyvs_alloc, yyvs); 2421075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYSTACK_RELOCATE (yyls_alloc, yyls); 2422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# undef YYSTACK_RELOCATE 2423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyss1 != yyssa) 2424044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTACK_FREE (yyss1); 2425044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2426044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org# endif 2427044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif /* no yyoverflow */ 2428044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2429044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyssp = yyss + yysize - 1; 2430044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyvsp = yyvs + yysize - 1; 2431075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yylsp = yyls + yysize - 1; 2432044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2433044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDPRINTF ((stderr, "Stack size increased to %lu\n", 2434044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (unsigned long int) yystacksize)); 2435044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2436044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyss + yystacksize - 1 <= yyssp) 2437044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYABORT; 2438044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2439044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2440044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 2441044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 244205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com if (yystate == YYFINAL) 244305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com YYACCEPT; 244405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com 2445044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yybackup; 2446044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2447044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-----------. 2448044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yybackup. | 2449044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-----------*/ 2450044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyybackup: 2451044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2452044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Do appropriate processing given the current state. Read a 245305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com lookahead token if we need one and don't already have one. */ 2454044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 245505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* First try to decide what to do without reference to lookahead token. */ 2456044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yypact[yystate]; 245798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yypact_value_is_default (yyn)) 2458044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yydefault; 2459044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 246005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Not known => get a lookahead token if don't already have one. */ 2461044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 246205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 2463044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yychar == YYEMPTY) 2464044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2465044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDPRINTF ((stderr, "Reading a token: ")); 2466044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yychar = YYLEX; 2467044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2468044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2469044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yychar <= YYEOF) 2470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2471044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yychar = yytoken = YYEOF; 2472044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYDPRINTF ((stderr, "Now at end of input.\n")); 2473044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 2475044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2476044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yytoken = YYTRANSLATE (yychar); 2477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 2478044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2479044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2480044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* If the proper action on seeing token YYTOKEN is to reduce or to 2481044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org detect an error, take that action. */ 2482044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn += yytoken; 2483044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 2484044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yydefault; 2485044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yytable[yyn]; 2486044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyn <= 0) 2487044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 248898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yytable_value_is_error (yyn)) 248998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org goto yyerrlab; 2490044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = -yyn; 2491044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyreduce; 2492044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2493044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Count tokens shifted since error; after three, turn off error 2495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org status. */ 2496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyerrstatus) 2497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyerrstatus--; 2498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 249905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Shift the lookahead token. */ 2500044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 2501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 250205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Discard the shifted token. */ 250305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com yychar = YYEMPTY; 2504044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = yyn; 250698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2507044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *++yyvsp = yylval; 250898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YY_IGNORE_MAYBE_UNINITIALIZED_END 2509075edd84dd682b91279132317d34b09e8028ae6fJamie Madill *++yylsp = yylloc; 2510044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yynewstate; 2511044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-----------------------------------------------------------. 2514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yydefault -- do the default action for the current state. | 2515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-----------------------------------------------------------*/ 2516044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyydefault: 2517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yydefact[yystate]; 2518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyn == 0) 2519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyerrlab; 2520044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyreduce; 2521044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-----------------------------. 2524044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyreduce -- Do a reduction. | 2525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-----------------------------*/ 2526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyreduce: 2527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* yyn is the number of a rule to reduce with. */ 2528044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yylen = yyr2[yyn]; 2529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* If YYLEN is nonzero, implement the default value of the action: 2531044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org `$$ = $1'. 2532044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2533044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org Otherwise, the following line sets YYVAL to garbage. 2534044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org This behavior is undocumented and Bison 2535044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org users should not rely upon it. Assigning to YYVAL 2536044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unconditionally makes the parser a bit smaller, and it avoids a 2537044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org GCC warning that YYVAL may be used uninitialized. */ 2538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyval = yyvsp[1-yylen]; 2539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2540075edd84dd682b91279132317d34b09e8028ae6fJamie Madill /* Default location. */ 2541075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); 2542044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_REDUCE_PRINT (yyn); 2543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org switch (yyn) 2544044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 254578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 4: 2546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2547044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2548044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // The symbol table search was done in the lexical phase 254944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens const TSymbol *symbol = (yyvsp[(1) - (1)].lex).symbol; 255044cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens const TVariable *variable = 0; 255144cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 255244cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens if (!symbol) 255344cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 2554075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "undeclared identifier", (yyvsp[(1) - (1)].lex).string->c_str()); 2555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 255644cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens } 255744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens else if (!symbol->isVariable()) 255844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 255944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens context->error((yylsp[(1) - (1)]), "variable expected", (yyvsp[(1) - (1)].lex).string->c_str()); 256044cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens context->recover(); 256144cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens } 256244cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens else 256344cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 2564044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org variable = static_cast<const TVariable*>(symbol); 25652aeb26a4f6e21a923415eb00499795b63a17ef76Jamie Madill 2566aaaec13011abec8ac4cf2b1edddfb558d735f874Nicolas Capens if (context->symbolTable.findBuiltIn(variable->getName(), context->shaderVersion) && 25672aeb26a4f6e21a923415eb00499795b63a17ef76Jamie Madill !variable->getExtension().empty() && 256844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens context->extensionErrorCheck((yylsp[(1) - (1)]), variable->getExtension())) 256944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 25702aeb26a4f6e21a923415eb00499795b63a17ef76Jamie Madill context->recover(); 25712aeb26a4f6e21a923415eb00499795b63a17ef76Jamie Madill } 2572044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 257444cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens if (!variable) 257544cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 257644cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens TType type(EbtFloat, EbpUndefined); 257744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens TVariable *fakeVariable = new TVariable((yyvsp[(1) - (1)].lex).string, type); 257844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens context->symbolTable.declare(*fakeVariable); 257944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens variable = fakeVariable; 258044cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens } 2581044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 258244cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens if (variable->getType().getQualifier() == EvqConst) 258344cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 2584044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion* constArray = variable->getConstPointer(); 2585044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType t(variable->getType()); 2586075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(constArray, t, (yylsp[(1) - (1)])); 258744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens } 258844cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens else 258944cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens { 2590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = context->intermediate.addSymbol(variable->getUniqueId(), 259144cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens variable->getName(), 259244cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens variable->getType(), 259344cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens (yylsp[(1) - (1)])); 259444cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens } 259544cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens 259644cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens // don't delete $1.string, it's used by error recovery, and the pool 259744cc79f67183d9bb36a9586c1a4219448453b9edNicolas Capens // pop will reclaim the memory 259805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2599044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2600044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 260178eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 5: 2602044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2603044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2604044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 260505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2606044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2607044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 260878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 6: 2609044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2610044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2611044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 2612044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setIConst((yyvsp[(1) - (1)].lex).i); 2613075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConst), (yylsp[(1) - (1)])); 261405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2615044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2616044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 261778eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 7: 2618044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2619044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2620044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 2621c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org unionArray->setUConst((yyvsp[(1) - (1)].lex).u); 2622075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtUInt, EbpUndefined, EvqConst), (yylsp[(1) - (1)])); 2623c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org } 2624c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org break; 2625c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 262678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 8: 2627c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 2628c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org { 2629c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 2630044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setFConst((yyvsp[(1) - (1)].lex).f); 2631075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConst), (yylsp[(1) - (1)])); 263205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 263578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 9: 2636044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2637044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 2639044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst((yyvsp[(1) - (1)].lex).b); 2640075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(1) - (1)])); 264105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2642044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2643044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 264478eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 10: 2645044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2647044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(2) - (3)].interm.intermTypedNode); 264805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2649044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2650044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 265178eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 11: 2652044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2653044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 265505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2656044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2657044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 265878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 12: 2659044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2660044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2661075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->addIndexExpression((yyvsp[(1) - (4)].interm.intermTypedNode), (yylsp[(2) - (4)]), (yyvsp[(3) - (4)].interm.intermTypedNode)); 266205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2663044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2664044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 266578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 13: 2666044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2667044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 266905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2670044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 267278eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 14: 2673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2674044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2675075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->addFieldSelectionExpression((yyvsp[(1) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yylsp[(3) - (3)])); 267605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2677044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2678044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 267978eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 15: 2680044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2681044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2682075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->lValueErrorCheck((yylsp[(2) - (2)]), "++", (yyvsp[(1) - (2)].interm.intermTypedNode))) 2683044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2684075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPostIncrement, (yyvsp[(1) - (2)].interm.intermTypedNode), (yylsp[(2) - (2)])); 2685044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2686075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->unaryOpError((yylsp[(2) - (2)]), "++", (yyvsp[(1) - (2)].interm.intermTypedNode)->getCompleteString()); 2687044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2688044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode); 2689044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 269005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2691044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2692044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 269378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 16: 2694044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2695044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2696075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->lValueErrorCheck((yylsp[(2) - (2)]), "--", (yyvsp[(1) - (2)].interm.intermTypedNode))) 2697044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2698075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPostDecrement, (yyvsp[(1) - (2)].interm.intermTypedNode), (yylsp[(2) - (2)])); 2699044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2700075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->unaryOpError((yylsp[(2) - (2)]), "--", (yyvsp[(1) - (2)].interm.intermTypedNode)->getCompleteString()); 2701044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2702044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (2)].interm.intermTypedNode); 2703044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 270405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2705044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2706044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 270778eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 17: 2708044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2709044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2710044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->integerErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode), "[]")) 2711044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2712044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 271305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2714044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2715044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 271678eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 18: 2717044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2718044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2719044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction* fnCall = (yyvsp[(1) - (1)].interm).function; 2720044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TOperator op = fnCall->getBuiltInOp(); 2721044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2722044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (op != EOpNull) 2723044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2724044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2725044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Then this should be a constructor. 2726044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Don't go through the symbol table for constructors. 2727044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Their parameters will be verified algorithmically. 2728044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2729044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType type(EbtVoid, EbpUndefined); // use this to get the type back 2730075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->constructorErrorCheck((yylsp[(1) - (1)]), (yyvsp[(1) - (1)].interm).intermNode, *fnCall, op, &type)) { 2731044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = 0; 2732044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 2733044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2734044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // It's a constructor, of type 'type'. 2735044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2736075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->addConstructor((yyvsp[(1) - (1)].interm).intermNode, &type, op, fnCall, (yylsp[(1) - (1)])); 2737044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2738044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2739044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2740044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2741075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator(0, op, (yylsp[(1) - (1)])); 2742044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2743044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode)->setType(type); 2744044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 2745044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2746044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Not a constructor. Find it in the symbol table. 2747044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2748044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const TFunction* fnCandidate; 2749044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org bool builtIn; 2750075edd84dd682b91279132317d34b09e8028ae6fJamie Madill fnCandidate = context->findFunction((yylsp[(1) - (1)]), fnCall, context->shaderVersion, &builtIn); 2751044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (fnCandidate) { 2752044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2753044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // A declared function. 2754044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2755044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (builtIn && !fnCandidate->getExtension().empty() && 2756075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->extensionErrorCheck((yylsp[(1) - (1)]), fnCandidate->getExtension())) { 2757044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2758044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2759044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org op = fnCandidate->getBuiltInOp(); 2760044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (builtIn && op != EOpNull) { 2761044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2762044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // A function call mapped to a built-in operation. 2763044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2764044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (fnCandidate->getParamCount() == 1) { 2765044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2766044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Treat it like a built-in unary operator. 2767044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 2768075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(op, (yyvsp[(1) - (1)].interm).intermNode, (yylsp[(1) - (1)])); 2769044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2770c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com std::stringstream extraInfoStream; 2771c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com extraInfoStream << "built in unary operator function. Type: " << static_cast<TIntermTyped*>((yyvsp[(1) - (1)].interm).intermNode)->getCompleteString(); 2772c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com std::string extraInfo = extraInfoStream.str(); 2773c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com context->error((yyvsp[(1) - (1)].interm).intermNode->getLine(), " wrong operand type", "Internal Error", extraInfo.c_str()); 2774044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYERROR; 2775044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2776044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 2777075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator((yyvsp[(1) - (1)].interm).intermAggregate, op, (yylsp[(1) - (1)])); 2778044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2779044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 2780044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // This is a real function call 2781044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2782075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.setAggregateOperator((yyvsp[(1) - (1)].interm).intermAggregate, EOpFunctionCall, (yylsp[(1) - (1)])); 2783044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode)->setType(fnCandidate->getReturnType()); 2784044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2785044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // this is how we know whether the given function is a builtIn function or a user defined function 2786044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // if builtIn == false, it's a userDefined -> could be an overloaded builtIn function also 2787044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // if builtIn == true, it's definitely a builtIn function with EOpNull 2788044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (!builtIn) 2789044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode)->getAsAggregate()->setUserDefined(); 2790044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode)->getAsAggregate()->setName(fnCandidate->getMangledName()); 2791044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual; 2793d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.com for (size_t i = 0; i < fnCandidate->getParamCount(); ++i) { 2794044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org qual = fnCandidate->getParam(i).type->getQualifier(); 2795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (qual == EvqOut || qual == EvqInOut) { 2796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->lValueErrorCheck((yyval.interm.intermTypedNode)->getLine(), "assign", (yyval.interm.intermTypedNode)->getAsAggregate()->getSequence()[i]->getAsTyped())) { 2797c6b3b3c74532d218e8d6240ae58bdbc2a2af40admaxvujovic@gmail.com context->error((yyvsp[(1) - (1)].interm).intermNode->getLine(), "Constant value cannot be passed for 'out' or 'inout' parameters.", "Error"); 2798044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2799044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2800044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2801044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2802044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2803044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode)->setType(fnCandidate->getReturnType()); 2804044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 2805044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // error message was put out by PaFindFunction() 2806044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Put on a dummy node for error recovery 2807044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 2808044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setFConst(0.0f); 2809075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConst), (yylsp[(1) - (1)])); 2810044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2811044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2812044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2813044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org delete fnCall; 281405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2815044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 281778eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 19: 2818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2819044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2820044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (1)].interm); 282105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2822044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2823044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 282478eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 20: 2825044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2826044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2827075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(3) - (3)]), "methods are not supported", ""); 2828044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2829044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(3) - (3)].interm); 283005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2831044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 283378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 21: 2834044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2835044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2836044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (2)].interm); 283705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2838044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2839044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 284078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 22: 2841044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2842044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2843044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (2)].interm); 284405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2845044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 284778eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 23: 2848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2849044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2850044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).function = (yyvsp[(1) - (2)].interm.function); 2851044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).intermNode = 0; 285205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2853044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2854044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 285578eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 24: 2856044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2857044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).function = (yyvsp[(1) - (1)].interm.function); 2859044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).intermNode = 0; 286005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2861044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2862044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 286378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 25: 2864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2865044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2866044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param = { 0, new TType((yyvsp[(2) - (2)].interm.intermTypedNode)->getType()) }; 2867044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (2)].interm.function)->addParameter(param); 2868044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).function = (yyvsp[(1) - (2)].interm.function); 2869044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).intermNode = (yyvsp[(2) - (2)].interm.intermTypedNode); 287005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2871044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2872044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 287378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 26: 2874044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2875044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2876044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param = { 0, new TType((yyvsp[(3) - (3)].interm.intermTypedNode)->getType()) }; 2877044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (3)].interm).function->addParameter(param); 2878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).function = (yyvsp[(1) - (3)].interm).function; 2879075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermNode = context->intermediate.growAggregate((yyvsp[(1) - (3)].interm).intermNode, (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 288005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2881044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2882044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 288378eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 27: 2884044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2885044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = (yyvsp[(1) - (2)].interm.function); 288705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2889044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 289078eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 28: 2891044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2892044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 28931885113c0d96837843804d6eb791fe78f8768437shannonwoods@chromium.org (yyval.interm.function) = context->addConstructorFunc((yyvsp[(1) - (1)].interm.type)); 289405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2895044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2896044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 289778eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 29: 2898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2899044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2900075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->reservedErrorCheck((yylsp[(1) - (1)]), *(yyvsp[(1) - (1)].lex).string)) 2901044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType type(EbtVoid, EbpUndefined); 2903044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction *function = new TFunction((yyvsp[(1) - (1)].lex).string, type); 2904044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = function; 290505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2906044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2907044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 290878eb5dfbd88dc39a2b6d54f3f531767f45eca4b2Jamie Madill case 30: 2909044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2910044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2911044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 291205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2913044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2914044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2915f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 31: 2916044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2917044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2918075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->lValueErrorCheck((yylsp[(1) - (2)]), "++", (yyvsp[(2) - (2)].interm.intermTypedNode))) 2919044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2920075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPreIncrement, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)])); 2921044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2922075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->unaryOpError((yylsp[(1) - (2)]), "++", (yyvsp[(2) - (2)].interm.intermTypedNode)->getCompleteString()); 2923044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode); 2925044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 292605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2927044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2928044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2929f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 32: 2930044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2931044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2932075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->lValueErrorCheck((yylsp[(1) - (2)]), "--", (yyvsp[(2) - (2)].interm.intermTypedNode))) 2933044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2934075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath(EOpPreDecrement, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)])); 2935044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2936075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->unaryOpError((yylsp[(1) - (2)]), "--", (yyvsp[(2) - (2)].interm.intermTypedNode)->getCompleteString()); 2937044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode); 2939044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 294005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2941044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2943f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 33: 2944044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2945044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(1) - (2)].interm).op != EOpNull) { 2947075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addUnaryMath((yyvsp[(1) - (2)].interm).op, (yyvsp[(2) - (2)].interm.intermTypedNode), (yylsp[(1) - (2)])); 2948044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2949044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const char* errorOp = ""; 2950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org switch((yyvsp[(1) - (2)].interm).op) { 2951044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case EOpNegative: errorOp = "-"; break; 2952044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org case EOpLogicalNot: errorOp = "!"; break; 2953044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org default: break; 2954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2955075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->unaryOpError((yylsp[(1) - (2)]), errorOp, (yyvsp[(2) - (2)].interm.intermTypedNode)->getCompleteString()); 2956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2957044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode); 2958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 2959044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else 2960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(2) - (2)].interm.intermTypedNode); 296105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2963044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2964f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 34: 2965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2966075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { (yyval.interm).op = EOpNull; } 2967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2969f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 35: 2970044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2971075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { (yyval.interm).op = EOpNegative; } 2972044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2973044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2974f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 36: 2975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2976075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { (yyval.interm).op = EOpLogicalNot; } 2977044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2979f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 37: 2980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 298105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 2982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2983044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2984f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 38: 2985044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2986044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2987075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpMul, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 2988044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 2989075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "*", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 2990044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 2991044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode); 2992044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 299305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 2994044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 2995044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2996f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 39: 2997044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 2998044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 2999075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpDiv, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3000044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3001075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "/", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3002044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3003044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode); 3004044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 300505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3006044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3007044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3008f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 40: 3009044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 301005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3011044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3012044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3013f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 41: 3014044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3016075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpAdd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3018075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "+", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3020044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode); 3021044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 302205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3023044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3024044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3025f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 42: 3026044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3028075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpSub, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3030075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "-", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3032044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode); 3033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 303405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3037f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 43: 3038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 303905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3042f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 44: 3043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 304405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3047f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 45: 3048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3050075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3052075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "<", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3055044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3056075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 305805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3059044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3061f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 46: 3062044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3063044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3064075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThan, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3065044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3066075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), ">", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3067044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3070075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3071044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 307205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3073044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3074044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3075f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 47: 3076044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3077044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3078075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLessThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3079044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3080075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "<=", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3081044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3082044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3083044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3084075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3085044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 308605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3087044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3088044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3089f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 48: 3090044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3092075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpGreaterThanEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3093044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3094075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), ">=", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3095044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3097044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3098075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3099044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 310005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3102044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3103f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 49: 3104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 310505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3106044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3108f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 50: 3109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3110044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3111075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3113075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "==", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3117075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 311905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3120044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3122f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 51: 3123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3125075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpNotEqual, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3127075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "!=", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3131075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 313305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3136f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 52: 3137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 313805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3141f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 53: 3142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 314305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3146f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 54: 3147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 314805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3151f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 55: 3152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3153c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3154c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org break; 3155c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 3156f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 56: 3157c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 3158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3159075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalAnd, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3161075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "&&", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3162044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3163044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3165075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 316705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3170f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 57: 3171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 317205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3174044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3175f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 58: 3176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3177044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3178075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalXor, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3179044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3180075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "^^", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3184075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3185044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 318605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3187044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3188044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3189f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 59: 3190044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 319105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3192044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3194f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 60: 3195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3196044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3197075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addBinaryMath(EOpLogicalOr, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3199075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), "||", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ConstantUnion *unionArray = new ConstantUnion[1]; 3202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org unionArray->setBConst(false); 3203075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConst), (yylsp[(2) - (3)])); 3204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 320505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3208f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 61: 3209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 321005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3213f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 62: 3214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3216075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->boolErrorCheck((yylsp[(2) - (5)]), (yyvsp[(1) - (5)].interm.intermTypedNode))) 3217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3219075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addSelection((yyvsp[(1) - (5)].interm.intermTypedNode), (yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.intermTypedNode), (yylsp[(2) - (5)])); 3220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(3) - (5)].interm.intermTypedNode)->getType() != (yyvsp[(5) - (5)].interm.intermTypedNode)->getType()) 3221044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = 0; 3222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3224075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (5)]), ":", (yyvsp[(3) - (5)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(5) - (5)].interm.intermTypedNode)->getCompleteString()); 3225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3226044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(5) - (5)].interm.intermTypedNode); 3227044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 322805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3229044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3230044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3231f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 63: 3232044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 323305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 3234044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3236f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 64: 3237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3239075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->lValueErrorCheck((yylsp[(2) - (3)]), "assign", (yyvsp[(1) - (3)].interm.intermTypedNode))) 3240044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3241075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addAssign((yyvsp[(2) - (3)].interm).op, (yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3242044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3243075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->assignError((yylsp[(2) - (3)]), "assign", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (3)].interm.intermTypedNode); 3246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 324705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3250f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 65: 3251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 325228b974238cac2f4426d3e3a0ac914c86b025a83cJamie Madill { (yyval.interm).op = EOpAssign; } 3253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3254044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3255f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 66: 3256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 325728b974238cac2f4426d3e3a0ac914c86b025a83cJamie Madill { (yyval.interm).op = EOpMulAssign; } 3258044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3259044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3260f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 67: 3261044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 326228b974238cac2f4426d3e3a0ac914c86b025a83cJamie Madill { (yyval.interm).op = EOpDivAssign; } 3263044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3264044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3265f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 68: 3266044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 326728b974238cac2f4426d3e3a0ac914c86b025a83cJamie Madill { (yyval.interm).op = EOpAddAssign; } 3268044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3269044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3270f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 69: 3271044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 327228b974238cac2f4426d3e3a0ac914c86b025a83cJamie Madill { (yyval.interm).op = EOpSubAssign; } 3273044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3275f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 70: 3276044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3277044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3278044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 327905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3280044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3281044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3282f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 71: 3283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3284044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3285075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermTypedNode) = context->intermediate.addComma((yyvsp[(1) - (3)].interm.intermTypedNode), (yyvsp[(3) - (3)].interm.intermTypedNode), (yylsp[(2) - (3)])); 3286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyval.interm.intermTypedNode) == 0) { 3287075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->binaryOpError((yylsp[(2) - (3)]), ",", (yyvsp[(1) - (3)].interm.intermTypedNode)->getCompleteString(), (yyvsp[(3) - (3)].interm.intermTypedNode)->getCompleteString()); 3288044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(3) - (3)].interm.intermTypedNode); 3290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 329105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3292044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3293044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3294f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 72: 3295044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3296044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3297044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->constErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode))) 3298044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3299044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 330005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3301044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3302044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3303f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 73: 3304044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3305044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3306075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->enterStructDeclaration((yylsp[(1) - (2)]), *(yyvsp[(1) - (2)].lex).string)) 33075668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org context->recover(); 33085668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org (yyval.lex) = (yyvsp[(1) - (2)].lex); 33095668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org } 33105668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org break; 33115668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 3312f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 74: 33135668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 33145668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org { 3315044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction &function = *((yyvsp[(1) - (2)].interm).function); 3316044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3317044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermAggregate *prototype = new TIntermAggregate; 3318044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org prototype->setType(function.getReturnType()); 3319044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org prototype->setName(function.getName()); 3320044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3321d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.com for (size_t i = 0; i < function.getParamCount(); i++) 3322044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3323044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const TParameter ¶m = function.getParam(i); 3324044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (param.name != 0) 3325044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3326ae829e310ffbe72d52a9475a13774f01907436fdalokp@chromium.org TVariable variable(param.name, *param.type); 3327044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3328075edd84dd682b91279132317d34b09e8028ae6fJamie Madill prototype = context->intermediate.growAggregate(prototype, context->intermediate.addSymbol(variable.getUniqueId(), variable.getName(), variable.getType(), (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); 3329044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3330044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 3331044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3332075edd84dd682b91279132317d34b09e8028ae6fJamie Madill prototype = context->intermediate.growAggregate(prototype, context->intermediate.addSymbol(0, "", *param.type, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); 3333044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3334044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3335044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3336044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org prototype->setOp(EOpPrototype); 3337044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = prototype; 33385dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com 33395dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com context->symbolTable.pop(); 334005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3341044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3342044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3343f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 75: 3344044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3345044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3346044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(1) - (2)].interm).intermAggregate) 3347044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (2)].interm).intermAggregate->setOp(EOpDeclaration); 3348044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (2)].interm).intermAggregate; 334905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3350044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3351044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3352f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 76: 3353044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3354044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3355cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com if (((yyvsp[(2) - (4)].interm.precision) == EbpHigh) && (context->shaderType == SH_FRAGMENT_SHADER) && !context->fragmentPrecisionHigh) { 3356075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (4)]), "precision is not supported in fragment shader", "highp"); 3357cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com context->recover(); 3358cbb6b6a0416552b5e3fa8589194288532558ccb8shannon.woods%transgaming.com@gtempaccount.com } 3359d25a6b3699ac031e315eb2f3c7c30abe51f0c018shannon.woods@transgaming.com if (!context->symbolTable.setDefaultPrecision( (yyvsp[(3) - (4)].interm.type), (yyvsp[(2) - (4)].interm.precision) )) { 3360075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (4)]), "illegal type argument for default precision qualifier", getBasicString((yyvsp[(3) - (4)].interm.type).type)); 3361d25a6b3699ac031e315eb2f3c7c30abe51f0c018shannon.woods@transgaming.com context->recover(); 3362d25a6b3699ac031e315eb2f3c7c30abe51f0c018shannon.woods@transgaming.com } 3363044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = 0; 336405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3365044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3366044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3367f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 77: 33685668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 33695668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org { 3370075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY(getQualifierString((yyvsp[(1) - (5)].interm.type).qualifier), (yylsp[(1) - (5)]), "interface blocks"); 337198493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (5)].interm.type), (yylsp[(2) - (5)]), *(yyvsp[(2) - (5)].lex).string, (yyvsp[(3) - (5)].interm.fieldList), NULL, (yyloc), NULL, (yyloc)); 33725668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org } 33735668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org break; 33745668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 3375f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 78: 33765668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 33775668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org { 3378075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY(getQualifierString((yyvsp[(1) - (6)].interm.type).qualifier), (yylsp[(1) - (6)]), "interface blocks"); 337998493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (6)].interm.type), (yylsp[(2) - (6)]), *(yyvsp[(2) - (6)].lex).string, (yyvsp[(3) - (6)].interm.fieldList), (yyvsp[(5) - (6)].lex).string, (yylsp[(5) - (6)]), NULL, (yyloc)); 33805668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org } 33815668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org break; 33825668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 3383f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 79: 33845668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 33855668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org { 3386075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY(getQualifierString((yyvsp[(1) - (9)].interm.type).qualifier), (yylsp[(1) - (9)]), "interface blocks"); 338798493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[(1) - (9)].interm.type), (yylsp[(2) - (9)]), *(yyvsp[(2) - (9)].lex).string, (yyvsp[(3) - (9)].interm.fieldList), (yyvsp[(5) - (9)].lex).string, (yylsp[(5) - (9)]), (yyvsp[(7) - (9)].interm.intermTypedNode), (yylsp[(6) - (9)])); 33885668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org } 33895668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org break; 33905668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 3391f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill case 80: 3392044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3393044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3394a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill context->parseGlobalLayoutQualifier((yyvsp[(1) - (2)].interm.type)); 3395a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill (yyval.interm.intermNode) = 0; 3396a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill } 3397a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill break; 3398a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 3399a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 81: 3400a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 3401a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { 3402044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3403044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Multiple declarations of the same function are allowed. 3404044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3405044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // If this is a definition, the definition production code will check for redefinitions 3406044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // (we don't know at this point if it's a definition or not). 3407044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3408044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Redeclarations are allowed. But, return types and parameter qualifiers must match. 3409044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 341096e7ba17f417a48c1a6c31f3d9fbd5611219d14dshannonwoods@chromium.org TFunction* prevDec = static_cast<TFunction*>(context->symbolTable.find((yyvsp[(1) - (2)].interm.function)->getMangledName(), context->shaderVersion)); 3411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (prevDec) { 3412044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (prevDec->getReturnType() != (yyvsp[(1) - (2)].interm.function)->getReturnType()) { 3413075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (2)]), "overloaded functions must have the same return type", (yyvsp[(1) - (2)].interm.function)->getReturnType().getBasicString()); 3414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3416d64b3dab06c30da1e5dd9ba12667ff86388540e2shannon.woods@transgaming.com for (size_t i = 0; i < prevDec->getParamCount(); ++i) { 3417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (prevDec->getParam(i).type->getQualifier() != (yyvsp[(1) - (2)].interm.function)->getParam(i).type->getQualifier()) { 3418075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (2)]), "overloaded functions must have the same parameter qualifiers", (yyvsp[(1) - (2)].interm.function)->getParam(i).type->getQualifierString()); 3419044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3420044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3421044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3424044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3425d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens // Check for previously declared variables using the same name. 3426d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens // 3427d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens TSymbol *prevSym = context->symbolTable.find((yyvsp[(1) - (2)].interm.function)->getName(), context->shaderVersion); 3428d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens if (prevSym) 3429d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens { 3430d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens if (!prevSym->isFunction()) 3431d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens { 3432d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens context->error((yylsp[(2) - (2)]), "redefinition", (yyvsp[(1) - (2)].interm.function)->getName().c_str(), "function"); 3433d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens context->recover(); 3434d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens } 3435d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens } 3436d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens else 3437d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens { 3438d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens // Insert the unmangled name to detect potential future redefinition as a variable. 3439d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens context->symbolTable.getOuterLevel()->insert((yyvsp[(1) - (2)].interm.function)->getName(), *(yyvsp[(1) - (2)].interm.function)); 3440d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens } 3441d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens 3442d4a9b8ddcd1aab12343d60610e159ba9efb37280Nicolas Capens // 3443044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // If this is a redeclaration, it could also be a definition, 3444044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // in which case, we want to use the variable names from this one, and not the one that's 3445044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // being redeclared. So, pass back up this declaration, not the one in the symbol table. 3446044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3447044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).function = (yyvsp[(1) - (2)].interm.function); 3448044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 34495dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com // We're at the inner scope level of the function's arguments and body statement. 34505dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com // Add the function prototype to the surrounding scope instead. 34515dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com context->symbolTable.getOuterLevel()->insert(*(yyval.interm).function); 345205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3453044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3454044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3455a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 82: 3456044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3457044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3458044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function); 345905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3460044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3461044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3462a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 83: 3463044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3464044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3465044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = (yyvsp[(1) - (1)].interm.function); 346605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3467044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3468044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3469a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 84: 3470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3471044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3472044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Add the parameter 3473044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = (yyvsp[(1) - (2)].interm.function); 3474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(2) - (2)].interm).param.type->getBasicType() != EbtVoid) 3475044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (2)].interm.function)->addParameter((yyvsp[(2) - (2)].interm).param); 3476044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 3477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org delete (yyvsp[(2) - (2)].interm).param.type; 347805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3479044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3480044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3481a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 85: 3482044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3483044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3484044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3485044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Only first parameter of one-parameter functions can be void 3486044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // The check for named parameters not being void is done in parameter_declarator 3487044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3488044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(3) - (3)].interm).param.type->getBasicType() == EbtVoid) { 3489044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3490044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // This parameter > first is void 3491044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 3492075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (3)]), "cannot be an argument type except for '(void)'", "void"); 3493044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3494044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org delete (yyvsp[(3) - (3)].interm).param.type; 3495044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 3496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Add the parameter 3497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = (yyvsp[(1) - (3)].interm.function); 3498044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (3)].interm.function)->addParameter((yyvsp[(3) - (3)].interm).param); 3499044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 350005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3503a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 86: 3504044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3506044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(1) - (3)].interm.type).qualifier != EvqGlobal && (yyvsp[(1) - (3)].interm.type).qualifier != EvqTemporary) { 3507075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (3)]), "no qualifiers allowed for function return", getQualifierString((yyvsp[(1) - (3)].interm.type).qualifier)); 3508044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3509044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3510044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // make sure a sampler is not involved as well... 3511075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->structQualifierErrorCheck((yylsp[(2) - (3)]), (yyvsp[(1) - (3)].interm.type))) 3512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3513044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Add the function as a prototype after parsing it (we do not support recursion) 3515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction *function; 3516044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType type((yyvsp[(1) - (3)].interm.type)); 3517044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org function = new TFunction((yyvsp[(2) - (3)].lex).string, type); 3518044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.function) = function; 35195dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com 35205dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com context->symbolTable.push(); 352105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3524a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 87: 3525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3527044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(1) - (2)].interm.type).type == EbtVoid) { 3528075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (2)]), "illegal use of type 'void'", (yyvsp[(2) - (2)].lex).string->c_str()); 3529044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 3531075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->reservedErrorCheck((yylsp[(2) - (2)]), *(yyvsp[(2) - (2)].lex).string)) 3532044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3533044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param = {(yyvsp[(2) - (2)].lex).string, new TType((yyvsp[(1) - (2)].interm.type))}; 3534044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).param = param; 353505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3536044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3537044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3538a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 88: 3539044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3540044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Check that we can make an array out of this type 3542075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->arrayTypeErrorCheck((yylsp[(3) - (5)]), (yyvsp[(1) - (5)].interm.type))) 3543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3544044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3545075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->reservedErrorCheck((yylsp[(2) - (5)]), *(yyvsp[(2) - (5)].lex).string)) 3546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3547044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3548044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int size; 3549075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->arraySizeErrorCheck((yylsp[(3) - (5)]), (yyvsp[(4) - (5)].interm.intermTypedNode), size)) 3550044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3551044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (5)].interm.type).setArray(true, size); 3552044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3553044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType* type = new TType((yyvsp[(1) - (5)].interm.type)); 3554044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param = { (yyvsp[(2) - (5)].lex).string, type }; 3555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).param = param; 355605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3557044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3558044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3559a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 89: 3560044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3561044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3562044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(3) - (3)].interm); 3563075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->paramErrorCheck((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type)) 3564044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 356505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3566044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3567044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3568a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 90: 3569044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3570044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3571044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(2) - (2)].interm); 3572075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->parameterSamplerErrorCheck((yylsp[(2) - (2)]), (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type)) 3573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3574075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->paramErrorCheck((yylsp[(2) - (2)]), EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type)) 3575044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 357605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3577044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3578044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3579a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 91: 3580044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3581044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3582044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(3) - (3)].interm); 3583075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->paramErrorCheck((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].interm.qualifier), (yyvsp[(2) - (3)].interm.qualifier), (yyval.interm).param.type)) 3584044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 358505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3586044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3587044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3588a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 92: 3589044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3590044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3591044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(2) - (2)].interm); 3592075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->parameterSamplerErrorCheck((yylsp[(2) - (2)]), (yyvsp[(1) - (2)].interm.qualifier), *(yyvsp[(2) - (2)].interm).param.type)) 3593044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3594075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->paramErrorCheck((yylsp[(2) - (2)]), EvqTemporary, (yyvsp[(1) - (2)].interm.qualifier), (yyval.interm).param.type)) 3595044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 359605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3597044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3598044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3599a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 93: 3600044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3601044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3602044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.qualifier) = EvqIn; 360305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3604044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3605044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3606a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 94: 3607044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3608044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3609044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.qualifier) = EvqIn; 361005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3611044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3612044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3613a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 95: 3614044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3615044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3616044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.qualifier) = EvqOut; 361705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3618044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3619044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3620a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 96: 3621044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3622044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3623044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.qualifier) = EvqInOut; 362405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3625044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3626044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3627a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 97: 3628044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3629044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3630044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TParameter param = { 0, new TType((yyvsp[(1) - (1)].interm.type)) }; 3631044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).param = param; 363205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3633044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3634044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3635a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 98: 3636044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3637044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3638044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (1)].interm); 363905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3640044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3641044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3642a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 99: 3643044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3644044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3645502d66f6f6a67350a66608ef337d9d884862bd19Jamie Madill (yyval.interm) = (yyvsp[(1) - (3)].interm); 3646075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseDeclarator((yyval.interm).type, (yyvsp[(1) - (3)].interm).intermAggregate, (yyvsp[(3) - (3)].lex).symbol, (yylsp[(3) - (3)]), *(yyvsp[(3) - (3)].lex).string); 364705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3648044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3649044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3650a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 100: 3651044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3652044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3653044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (5)].interm); 3654075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->parseArrayDeclarator((yyval.interm).type, (yylsp[(3) - (5)]), *(yyvsp[(3) - (5)].lex).string, (yylsp[(4) - (5)]), NULL, NULL); 365505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3656044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3657044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3658a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 101: 3659044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3660044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3661044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (6)].interm); 3662075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseArrayDeclarator((yyval.interm).type, (yylsp[(3) - (6)]), *(yyvsp[(3) - (6)].lex).string, (yylsp[(4) - (6)]), (yyvsp[(1) - (6)].interm).intermNode, (yyvsp[(5) - (6)].interm.intermTypedNode)); 366305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3664044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3665044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3666a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 102: 3667044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3669044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm) = (yyvsp[(1) - (5)].interm); 3670075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseInitDeclarator((yyval.interm).type, (yyvsp[(1) - (5)].interm).intermAggregate, (yylsp[(3) - (5)]), *(yyvsp[(3) - (5)].lex).string, (yylsp[(4) - (5)]), (yyvsp[(5) - (5)].interm.intermTypedNode)); 367105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3672044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3674a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 103: 3675044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3677044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).type = (yyvsp[(1) - (1)].interm.type); 3678075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(1) - (1)]), ""); 367905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3680044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3681044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3682a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 104: 3683044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3684044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 368560ed98109a61a78ae92a41c72364a236d24ce4b8Jamie Madill (yyval.interm).type = (yyvsp[(1) - (2)].interm.type); 3686075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(2) - (2)]), *(yyvsp[(2) - (2)].lex).string); 368705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3688044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3689044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3690a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 105: 3691044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3692044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3693075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (4)]), "unsized array declarations not supported", (yyvsp[(2) - (4)].lex).string->c_str()); 369404277b821c8de290be4e5df9e4f3d26cdb2b605dkbr@chromium.org context->recover(); 369504277b821c8de290be4e5df9e4f3d26cdb2b605dkbr@chromium.org 3696044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).type = (yyvsp[(1) - (4)].interm.type); 3697075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[(2) - (4)]), *(yyvsp[(2) - (4)].lex).string); 369805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3699044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3700044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3701a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 106: 3702044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3703044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3704044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).type = (yyvsp[(1) - (5)].interm.type); 3705075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[(2) - (5)]), *(yyvsp[(2) - (5)].lex).string, (yylsp[(3) - (5)]), (yyvsp[(4) - (5)].interm.intermTypedNode)); 370605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3707044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3708044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3709a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 107: 3710044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3711044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3712044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm).type = (yyvsp[(1) - (4)].interm.type); 3713075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->parseSingleInitDeclaration((yyval.interm).type, (yylsp[(2) - (4)]), *(yyvsp[(2) - (4)].lex).string, (yylsp[(3) - (4)]), (yyvsp[(4) - (4)].interm.intermTypedNode)); 371405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3715044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3716044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3717a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 108: 3718044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3719044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3720075edd84dd682b91279132317d34b09e8028ae6fJamie Madill VERTEX_ONLY("invariant declaration", (yylsp[(1) - (2)])); 3721075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->globalErrorCheck((yylsp[(1) - (2)]), context->symbolTable.atGlobalLevel(), "invariant varying")) 3722eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com context->recover(); 3723075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).type.setBasic(EbtInvariant, EvqInvariantVaryingOut, (yylsp[(2) - (2)])); 3724eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com if (!(yyvsp[(2) - (2)].lex).symbol) 3725eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com { 3726075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(2) - (2)]), "undeclared identifier declared as invariant", (yyvsp[(2) - (2)].lex).string->c_str()); 3727eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com context->recover(); 3728eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com 3729eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com (yyval.interm).intermAggregate = 0; 3730eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com } 3731eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com else 3732eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com { 3733075edd84dd682b91279132317d34b09e8028ae6fJamie Madill TIntermSymbol *symbol = context->intermediate.addSymbol(0, *(yyvsp[(2) - (2)].lex).string, TType((yyval.interm).type), (yylsp[(2) - (2)])); 3734075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm).intermAggregate = context->intermediate.makeAggregate(symbol, (yylsp[(2) - (2)])); 3735eec8efc374cf6dda7af3ebd57192a09f8838a16edaniel@transgaming.com } 373605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3737044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3738044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3739a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 109: 3740044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3741044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3742044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); 3743044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3744044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if ((yyvsp[(1) - (1)].interm.type).array) { 3745075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "not supported", "first-class array"); 3746044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3747044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (1)].interm.type).setArray(false); 3748044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 374905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3750044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3751044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3752a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 110: 3753044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3754044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3755a5efff9996aab519def50871a60f77645dd4f51cJamie Madill (yyval.interm.type) = context->addFullySpecifiedType((yyvsp[(1) - (2)].interm.type).qualifier, (yyvsp[(1) - (2)].interm.type).layoutQualifier, (yyvsp[(2) - (2)].interm.type)); 375605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3757044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3758044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3759a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 111: 3760044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3761044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 37626f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com (yyval.interm.type).qualifier = EvqSmooth; 376305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3764044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3765044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3766a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 112: 3767044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3768044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 37696f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com (yyval.interm.type).qualifier = EvqFlat; 37706f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com } 37716f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com break; 37726f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 3773a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 113: 37746f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 37756f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com { 37766f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com (yyval.interm.qualifier) = EvqConst; 37776f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com } 37786f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com break; 37796f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 3780a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 114: 37816f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 37826f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com { 3783075edd84dd682b91279132317d34b09e8028ae6fJamie Madill VERTEX_ONLY("attribute", (yylsp[(1) - (1)])); 3784075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES2_ONLY("attribute", (yylsp[(1) - (1)])); 3785075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->globalErrorCheck((yylsp[(1) - (1)]), context->symbolTable.atGlobalLevel(), "attribute")) 3786044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3787075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yylsp[(1) - (1)])); 378805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3789044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3790044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3791a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 115: 3792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3794075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES2_ONLY("varying", (yylsp[(1) - (1)])); 3795075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->globalErrorCheck((yylsp[(1) - (1)]), context->symbolTable.atGlobalLevel(), "varying")) 3796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3797044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->shaderType == SH_VERTEX_SHADER) 3798075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yylsp[(1) - (1)])); 3799044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 3800075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yylsp[(1) - (1)])); 380105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3802044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3803044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3804a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 116: 3805044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3806044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3807075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES2_ONLY("varying", (yylsp[(1) - (2)])); 3808075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->globalErrorCheck((yylsp[(1) - (2)]), context->symbolTable.atGlobalLevel(), "invariant varying")) 3809044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 3810044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->shaderType == SH_VERTEX_SHADER) 3811075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingOut, (yylsp[(1) - (2)])); 3812044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 3813075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingIn, (yylsp[(1) - (2)])); 381405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3815044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3817a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 117: 3818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3819044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 382012bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill if ((yyvsp[(1) - (1)].interm.type).qualifier != EvqConst && !context->symbolTable.atGlobalLevel()) { 382112bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill context->error((yylsp[(1) - (1)]), "Local variables can only use the const storage qualifier.", getQualifierString((yyvsp[(1) - (1)].interm.type).qualifier)); 382212bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill context->recover(); 382312bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill } else { 382412bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill (yyval.interm.type).setBasic(EbtVoid, (yyvsp[(1) - (1)].interm.type).qualifier, (yylsp[(1) - (1)])); 382512bea0a9def2fef211c71d83ef591e249ef8bf38Jamie Madill } 38262226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 38272226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 38282226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3829a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 118: 38306f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 38316f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com { 3832f2e0f9bb46d44ed1d743ab79da0d06d0c748513dJamie Madill (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[(1) - (2)]), (yyvsp[(1) - (2)].interm.type).qualifier, (yylsp[(2) - (2)]), (yyvsp[(2) - (2)].interm.type).qualifier); 38336f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com } 38346f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com break; 38356f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 3836a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 119: 38376f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 38386f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com { 3839075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "interpolation qualifier requires a fragment 'in' or vertex 'out' storage qualifier", getInterpolationString((yyvsp[(1) - (1)].interm.type).qualifier)); 38406f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com context->recover(); 38416f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 38426f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3843075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[(1) - (1)])); 38446f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com } 38456f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com break; 38466f273e3a08ecbb4e59ae6cd7ea857114464b8e6eshannon.woods%transgaming.com@gtempaccount.com 3847a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 120: 38482226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 38492226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3850302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3851302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org (yyval.interm.type).layoutQualifier = (yyvsp[(1) - (1)].interm.layoutQualifier); 3852302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3853302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3854302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3855a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 121: 3856302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3857302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 3858075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, (yyvsp[(2) - (2)].interm.type).qualifier, (yylsp[(2) - (2)])); 3859302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org (yyval.interm.type).layoutQualifier = (yyvsp[(1) - (2)].interm.layoutQualifier); 3860302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3861302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3862302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3863a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 122: 3864302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3865302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 38662226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com (yyval.interm.type).qualifier = EvqConst; 38672226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 38682226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 38692226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3870a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 123: 38712226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 38722226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3873075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY("in", (yylsp[(1) - (1)]), "storage qualifier"); 38741957181804a54e227e45122985460232e27622e0Jamie Madill (yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragmentIn : EvqVertexIn; 38752226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 38762226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 38772226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3878a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 124: 38792226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 38802226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3881075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY("out", (yylsp[(1) - (1)]), "storage qualifier"); 38821957181804a54e227e45122985460232e27622e0Jamie Madill (yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragmentOut : EvqVertexOut; 38832226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 38842226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 38852226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3886a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 125: 38872226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 38882226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3889075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY("centroid in", (yylsp[(1) - (2)]), "storage qualifier"); 38906c23946c8bf9cf79079340530102c04be21dff7fJamie Madill if (context->shaderType == SH_VERTEX_SHADER) 38916c23946c8bf9cf79079340530102c04be21dff7fJamie Madill { 3892075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (2)]), "invalid storage qualifier", "it is an error to use 'centroid in' in the vertex shader"); 38936c23946c8bf9cf79079340530102c04be21dff7fJamie Madill context->recover(); 38946c23946c8bf9cf79079340530102c04be21dff7fJamie Madill } 38951957181804a54e227e45122985460232e27622e0Jamie Madill (yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqCentroidIn : EvqVertexIn; 38962226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 38972226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 38982226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3899a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 126: 39002226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 39012226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3902075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY("centroid out", (yylsp[(1) - (2)]), "storage qualifier"); 39036c23946c8bf9cf79079340530102c04be21dff7fJamie Madill if (context->shaderType == SH_FRAGMENT_SHADER) 39046c23946c8bf9cf79079340530102c04be21dff7fJamie Madill { 3905075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (2)]), "invalid storage qualifier", "it is an error to use 'centroid out' in the fragment shader"); 39066c23946c8bf9cf79079340530102c04be21dff7fJamie Madill context->recover(); 39076c23946c8bf9cf79079340530102c04be21dff7fJamie Madill } 39081957181804a54e227e45122985460232e27622e0Jamie Madill (yyval.interm.type).qualifier = (context->shaderType == SH_FRAGMENT_SHADER) ? EvqFragmentOut : EvqCentroidOut; 39092226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com } 39102226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com break; 39112226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 3912a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 127: 39132226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com 39142226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com { 3915075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->globalErrorCheck((yylsp[(1) - (1)]), context->symbolTable.atGlobalLevel(), "uniform")) 3916044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 39172226e04f965055c5d6726ff01bcca08512ea0f4fshannon.woods%transgaming.com@gtempaccount.com (yyval.interm.type).qualifier = EvqUniform; 391805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3919044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3920044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3921a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 128: 3922044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3923044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); 3925dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com 3926dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com if ((yyval.interm.type).precision == EbpUndefined) { 3927dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com (yyval.interm.type).precision = context->symbolTable.getDefaultPrecision((yyvsp[(1) - (1)].interm.type).type); 3928075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->precisionErrorCheck((yylsp[(1) - (1)]), (yyval.interm.type).precision, (yyvsp[(1) - (1)].interm.type).type)) { 3929dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com context->recover(); 3930dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com } 3931dc4b4f85516fec32b746d1841c1df00865d96214zmo@google.com } 393205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3933044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3934044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3935a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 129: 3936044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3937044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(2) - (2)].interm.type); 3939044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).precision = (yyvsp[(1) - (2)].interm.precision); 3940ed14b79dc8e9ec4f4a831bb5213ab67ef01af196Zhenyao Mo 3941ed14b79dc8e9ec4f4a831bb5213ab67ef01af196Zhenyao Mo if (!SupportsPrecision((yyvsp[(2) - (2)].interm.type).type)) { 394274be6a846f1b75296444d8f75b337ad4e93e440dJamie Madill context->error((yylsp[(1) - (2)]), "illegal type for precision qualifier", getBasicString((yyvsp[(2) - (2)].interm.type).type)); 3943ed14b79dc8e9ec4f4a831bb5213ab67ef01af196Zhenyao Mo context->recover(); 3944ed14b79dc8e9ec4f4a831bb5213ab67ef01af196Zhenyao Mo } 394505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3947044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3948a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 130: 3949044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3951044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.precision) = EbpHigh; 395205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3953044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3955a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 131: 3956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3957044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.precision) = EbpMedium; 395905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3961044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3962a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 132: 3963044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 3965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.precision) = EbpLow; 396605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 3967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 3968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 3969a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 133: 3970302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3971302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 3972075edd84dd682b91279132317d34b09e8028ae6fJamie Madill ES3_ONLY("layout", (yylsp[(1) - (4)]), "qualifier"); 3973302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org (yyval.interm.layoutQualifier) = (yyvsp[(3) - (4)].interm.layoutQualifier); 3974302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3975302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3976302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3977a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 134: 3978302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3979302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 3980a5efff9996aab519def50871a60f77645dd4f51cJamie Madill (yyval.interm.layoutQualifier) = (yyvsp[(1) - (1)].interm.layoutQualifier); 3981302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3982302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3983302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3984a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 135: 3985302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3986302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 3987a5efff9996aab519def50871a60f77645dd4f51cJamie Madill (yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[(1) - (3)].interm.layoutQualifier), (yyvsp[(3) - (3)].interm.layoutQualifier)); 3988302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3989302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3990302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3991a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 136: 3992302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3993302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 3994075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (1)].lex).string, (yylsp[(1) - (1)])); 3995302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 3996302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 3997302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 3998a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 137: 3999302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 4000302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 4001075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yylsp[(1) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yylsp[(3) - (3)])); 4002302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 4003302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 4004302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 4005a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 138: 4006302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 4007302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org { 4008075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[(1) - (3)].lex).string, (yylsp[(1) - (3)]), *(yyvsp[(3) - (3)].lex).string, (yyvsp[(3) - (3)].lex).i, (yylsp[(3) - (3)])); 4009302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org } 4010302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org break; 4011302adfef44f2a18b5770315408c23087cf5eff04shannonwoods@chromium.org 4012a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 139: 4013044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4014044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4015044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); 401605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4019a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 140: 4020044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4021044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4022044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(1) - (4)].interm.type); 4023044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4024075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->arrayTypeErrorCheck((yylsp[(2) - (4)]), (yyvsp[(1) - (4)].interm.type))) 4025044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4026044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else { 4027044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int size; 4028075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->arraySizeErrorCheck((yylsp[(2) - (4)]), (yyvsp[(3) - (4)].interm.intermTypedNode), size)) 4029044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4030044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setArray(true, size); 4031044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 403205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4033044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4035a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 141: 4036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4037044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4039075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[(1) - (1)])); 404005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4041044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4043a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 142: 4044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4047075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 404805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4051a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 143: 4052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4055075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)])); 405605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4059a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 144: 4060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4061044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4062044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4063075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)])); 406405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4065044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4066044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4067a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 145: 4068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4070044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4071075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)])); 40726b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org } 40736b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org break; 40746b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 4075a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 146: 40766b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 40776b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org { 40786b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4079075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 4080044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(2); 408105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4082044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4083044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4084a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 147: 4085044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4086044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4087044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4088075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 4089044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(3); 409005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4091044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4092044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4093a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 148: 4094044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4095044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4096044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4097075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 4098044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(4); 409905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4100044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4102a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 149: 4103044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4106075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)])); 4107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(2); 410805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4110044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4111a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 150: 4112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4113044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4115075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)])); 4116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(3); 411705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4119044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4120a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 151: 4121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4122044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4124075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[(1) - (1)])); 4125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(4); 412605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4127044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4129a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 152: 4130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4133075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)])); 4134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(2); 413505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4138a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 153: 4139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4142075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)])); 4143044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(3); 414405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4147a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 154: 4148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4151075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[(1) - (1)])); 4152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).setAggregate(4); 415305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4156a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 155: 4157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 41598c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4160075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)])); 41618c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org (yyval.interm.type).setAggregate(2); 41628c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org } 41638c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org break; 41648c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 4165a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 156: 41668c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 41678c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org { 41688c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4169075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)])); 41708c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org (yyval.interm.type).setAggregate(3); 41718c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org } 41728c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org break; 41738c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 4174a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 157: 41758c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 41768c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org { 41778c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4178075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[(1) - (1)])); 41798c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org (yyval.interm.type).setAggregate(4); 41808c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org } 41818c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org break; 41828c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 4183a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 158: 41848c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org 41858c788e8d35ba20ca19afacbcfe4a6f326b8ecb60shannonwoods@chromium.org { 4186044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4187075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 418809e0988466ea9f3610dfb406f859b634b8e1e188shannonwoods@chromium.org (yyval.interm.type).setMatrix(2, 2); 418905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4190044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4191044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4192a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 159: 4193044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4196075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 419709e0988466ea9f3610dfb406f859b634b8e1e188shannonwoods@chromium.org (yyval.interm.type).setMatrix(3, 3); 419805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4201a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 160: 4202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4203044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4205075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 420609e0988466ea9f3610dfb406f859b634b8e1e188shannonwoods@chromium.org (yyval.interm.type).setMatrix(4, 4); 420705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4210a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 161: 4211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 42139bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4214075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42159bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(2, 3); 42169bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42179bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42189bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4219a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 162: 42209bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42219bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 42229bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4223075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42249bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(3, 2); 42259bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42269bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42279bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4228a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 163: 42299bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42309bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 42319bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4232075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42339bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(2, 4); 42349bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42359bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42369bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4237a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 164: 42389bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42399bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 42409bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4241075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42429bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(4, 2); 42439bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42449bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42459bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4246a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 165: 42479bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42489bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 42499bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4250075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42519bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(3, 4); 42529bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42539bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42549bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4255a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 166: 42569bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42579bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 42589bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4259075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[(1) - (1)])); 42609bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org (yyval.interm.type).setMatrix(4, 3); 42619bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org } 42629bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org break; 42639bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 4264a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 167: 42659bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org 42669bd22fa90f6a16ae279330c802ebdb5e608d9348shannonwoods@chromium.org { 4267044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4268075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[(1) - (1)])); 426905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4270044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4271044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4272a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill case 168: 4273044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4274044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 427528043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4276075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[(1) - (1)])); 427728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens } 427828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens break; 427928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 428028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 169: 428128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 428228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens { 4283044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4284075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[(1) - (1)])); 428505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4286044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4287044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 428828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 170: 4289044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4290044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4291d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4292075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[(1) - (1)])); 4293d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens } 4294d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens break; 4295d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens 429628043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 171: 429728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 429828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens { 429928043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4300075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[(1) - (1)])); 430128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens } 430228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens break; 430328043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 430428043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 172: 4305d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens 4306d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens { 4307d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4308075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[(1) - (1)])); 4309d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens } 4310d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens break; 4311d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens 431228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 173: 4313d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens 4314d273c273892366afcf8676094c1fd1dda5bd0de2Nicolas Capens { 43159e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4316075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[(1) - (1)])); 43179e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens } 43189e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens break; 43199e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 432028043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 174: 432128043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 432228043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens { 432328043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4324075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[(1) - (1)])); 432528043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens } 432628043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens break; 432728043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens 432828043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 175: 43299e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 43309e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens { 43319e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4332075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[(1) - (1)])); 43339e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens } 43349e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens break; 43359e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 433628043ba73df094e40577a882d91c2ff1c26295b3Nicolas Capens case 176: 43379e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens 43389e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0Nicolas Capens { 4339fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4340075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[(1) - (1)])); 4341fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens } 4342fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens break; 4343fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4344fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens case 177: 4345fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4346fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens { 4347fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4348075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[(1) - (1)])); 4349fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens } 4350fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens break; 4351fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4352fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens case 178: 4353fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4354fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens { 4355fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4356075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[(1) - (1)])); 4357fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens } 4358fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens break; 4359fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4360fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens case 179: 4361fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens 4362fc2e6b90636da03d9472267716cbe307c3c90c81Nicolas Capens { 43632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 43642a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[(1) - (1)])); 43652a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens } 43662a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens break; 43672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 180: 43692a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens { 43712a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 43722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[(1) - (1)])); 43732a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens } 43742a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens break; 43752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 181: 43772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens { 43792a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 43802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[(1) - (1)])); 43812a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens } 43822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens break; 43832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 182: 43852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens 43862a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens { 438709c323a40ad0de489eee946bfe171d337616e09czmo@google.com if (!context->supportsExtension("GL_OES_EGL_image_external")) { 4388075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "unsupported type", "samplerExternalOES"); 438909c323a40ad0de489eee946bfe171d337616e09czmo@google.com context->recover(); 439009c323a40ad0de489eee946bfe171d337616e09czmo@google.com } 439109c323a40ad0de489eee946bfe171d337616e09czmo@google.com TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4392075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSamplerExternalOES, qual, (yylsp[(1) - (1)])); 439305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 439409c323a40ad0de489eee946bfe171d337616e09czmo@google.com break; 439509c323a40ad0de489eee946bfe171d337616e09czmo@google.com 43962a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 183: 439709c323a40ad0de489eee946bfe171d337616e09czmo@google.com 439809c323a40ad0de489eee946bfe171d337616e09czmo@google.com { 4399205fef3389c81637f689585431273cf83af02e94kbr@chromium.org if (!context->supportsExtension("GL_ARB_texture_rectangle")) { 4400075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "unsupported type", "sampler2DRect"); 4401205fef3389c81637f689585431273cf83af02e94kbr@chromium.org context->recover(); 4402205fef3389c81637f689585431273cf83af02e94kbr@chromium.org } 4403205fef3389c81637f689585431273cf83af02e94kbr@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4404075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtSampler2DRect, qual, (yylsp[(1) - (1)])); 440505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4406205fef3389c81637f689585431273cf83af02e94kbr@chromium.org break; 4407205fef3389c81637f689585431273cf83af02e94kbr@chromium.org 44082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 184: 4409205fef3389c81637f689585431273cf83af02e94kbr@chromium.org 4410205fef3389c81637f689585431273cf83af02e94kbr@chromium.org { 4411044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type) = (yyvsp[(1) - (1)].interm.type); 4412044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 441305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4414044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4415044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44162a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 185: 4417044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4418044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4419044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4420044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // This is for user defined type names. The lexical phase looked up the 4421044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // type. 4422044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4423044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TType& structure = static_cast<TVariable*>((yyvsp[(1) - (1)].lex).symbol)->getType(); 4424044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4425075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.type).setBasic(EbtStruct, qual, (yylsp[(1) - (1)])); 4426044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.type).userDef = &structure; 442705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4428044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4429044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44302a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 186: 4431044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4432075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { if (context->enterStructDeclaration((yylsp[(2) - (3)]), *(yyvsp[(2) - (3)].lex).string)) context->recover(); } 4433476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org break; 4434476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org 44352a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 187: 4436476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org 4437044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 443898493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.type) = context->addStructure((yylsp[(1) - (6)]), (yylsp[(2) - (6)]), (yyvsp[(2) - (6)].lex).string, (yyvsp[(5) - (6)].interm.fieldList)); 443905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4440044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4441044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 188: 4443476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org 4444075edd84dd682b91279132317d34b09e8028ae6fJamie Madill { if (context->enterStructDeclaration((yylsp[(2) - (2)]), *(yyvsp[(2) - (2)].lex).string)) context->recover(); } 4445476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org break; 4446476541f6351d640deaa0735b7177adda483858c3kbr@chromium.org 44472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 189: 4448044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4449044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 445098493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.type) = context->addStructure((yylsp[(1) - (5)]), (yyloc), NewPoolTString(""), (yyvsp[(4) - (5)].interm.fieldList)); 445105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4452044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4453044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44542a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 190: 4455044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4456044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 445798493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList) = (yyvsp[(1) - (1)].interm.fieldList); 445805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4459044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4460044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44612a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 191: 4462044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4463044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 446498493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList) = (yyvsp[(1) - (2)].interm.fieldList); 446598493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill for (size_t i = 0; i < (yyvsp[(2) - (2)].interm.fieldList)->size(); ++i) { 446698493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill TField* field = (*(yyvsp[(2) - (2)].interm.fieldList))[i]; 446798493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill for (size_t j = 0; j < (yyval.interm.fieldList)->size(); ++j) { 446898493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill if ((*(yyval.interm.fieldList))[j]->name() == field->name()) { 446998493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill context->error((yylsp[(2) - (2)]), "duplicate field name in structure:", "struct", field->name().c_str()); 4470044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4471044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4472044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 447398493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList)->push_back(field); 4474044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 447505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4476044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4477044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44782a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 192: 4479044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4480044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 448198493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[(1) - (3)].interm.type), (yyvsp[(2) - (3)].interm.fieldList)); 448205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4483044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4484044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 44852a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 193: 44865668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 44875668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org { 44885668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org // ES3 Only, but errors should be handled elsewhere 44895668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org (yyvsp[(2) - (4)].interm.type).qualifier = (yyvsp[(1) - (4)].interm.type).qualifier; 4490a5efff9996aab519def50871a60f77645dd4f51cJamie Madill (yyvsp[(2) - (4)].interm.type).layoutQualifier = (yyvsp[(1) - (4)].interm.type).layoutQualifier; 449198493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[(2) - (4)].interm.type), (yyvsp[(3) - (4)].interm.fieldList)); 44925668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org } 44935668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org break; 44945668c5d7131fa7b1851172a1f02c341f9d1285dcshannonwoods@chromium.org 44952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 194: 4496044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4497044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 449898493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList) = NewPoolTFieldList(); 449998493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList)->push_back((yyvsp[(1) - (1)].interm.field)); 450005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4501044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4502044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45032a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 195: 4504044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4505044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 450698493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.fieldList)->push_back((yyvsp[(3) - (3)].interm.field)); 450705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4508044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4509044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45102a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 196: 4511044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4512044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4513075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->reservedErrorCheck((yylsp[(1) - (1)]), *(yyvsp[(1) - (1)].lex).string)) 4514044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4515044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 451698493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill TType* type = new TType(EbtVoid, EbpUndefined); 451798493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.field) = new TField(type, (yyvsp[(1) - (1)].lex).string, (yylsp[(1) - (1)])); 451805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4519044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4520044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45212a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 197: 4522044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4523044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4524075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->reservedErrorCheck((yylsp[(1) - (4)]), *(yyvsp[(1) - (4)].lex).string)) 4525044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4526044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 452798493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill TType* type = new TType(EbtVoid, EbpUndefined); 4528044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org int size; 452998493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill if (context->arraySizeErrorCheck((yylsp[(3) - (4)]), (yyvsp[(3) - (4)].interm.intermTypedNode), size)) 4530044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 453198493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill type->setArraySize(size); 453298493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill 453398493ddc137922a6ce5c8b22ffde0ed2a1fa2b3dJamie Madill (yyval.interm.field) = new TField(type, (yyvsp[(1) - (4)].lex).string, (yylsp[(1) - (4)])); 453405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4535044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4536044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 198: 4538044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4539a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); } 4540044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4541044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 199: 4543044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4544a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4545044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4546044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45472a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 200: 4548f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 4549a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermAggregate); } 4550f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill break; 4551f8dc4fb66d2ee473b6ba37626f02756422863f6cJamie Madill 45522a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 201: 4553044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 455405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4555044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4556044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45572a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 202: 4558044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 455905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4560044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4561044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 203: 4563044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 456405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4565044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4566044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 204: 4568044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 456905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4570044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4571044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45722a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 205: 4573044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45746b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4575044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4576044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 45772a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 206: 4578044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4579a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4580205fef3389c81637f689585431273cf83af02e94kbr@chromium.org break; 4581205fef3389c81637f689585431273cf83af02e94kbr@chromium.org 45822a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 207: 4583205fef3389c81637f689585431273cf83af02e94kbr@chromium.org 4584a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { (yyval.interm.intermAggregate) = 0; } 45856b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org break; 45866b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 45872a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 208: 45886b7099111f6f00493b24dd05680f60c30b60cb7cshannonwoods@chromium.org 4589a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { context->symbolTable.push(); } 4590c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org break; 4591c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 45922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 209: 4593c8100b85aa421a38ca3d70a612539d09c3f39192shannonwoods@chromium.org 4594a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill { context->symbolTable.pop(); } 4595a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill break; 4596a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 45972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 210: 4598a295edfc008a7cd5a72cb94e9da404c6fa35d2f4Jamie Madill 4599044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 46000f4cefe9462e53627f02f10b34d76f8665c72521apatrick@chromium.org if ((yyvsp[(3) - (5)].interm.intermAggregate) != 0) { 4601044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(3) - (5)].interm.intermAggregate)->setOp(EOpSequence); 4602075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyvsp[(3) - (5)].interm.intermAggregate)->setLine((yyloc)); 46030f4cefe9462e53627f02f10b34d76f8665c72521apatrick@chromium.org } 4604044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermAggregate) = (yyvsp[(3) - (5)].interm.intermAggregate); 460505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4606044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4607044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46082a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 211: 4609044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 461005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4611044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4612044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46132a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 212: 4614044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 461505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); } 4616044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4617044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46182a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 213: 4619044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 462083dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com { context->symbolTable.push(); } 462183dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com break; 462283dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 46232a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 214: 462483dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 462583dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } 462683dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com break; 462783dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 46282a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 215: 462983dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 463083dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com { context->symbolTable.push(); } 463183dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com break; 463283dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 46332a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 216: 463483dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 463583dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[(2) - (2)].interm.intermNode); } 463683dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com break; 463783dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 46382a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 217: 463983dc5a78b2efb0b7efcf1719c9b4790e6ebc505ddaniel@transgaming.com 4640044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4641044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = 0; 464205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4643044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4644044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46452a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 218: 4646044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4647044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 46480f4cefe9462e53627f02f10b34d76f8665c72521apatrick@chromium.org if ((yyvsp[(2) - (3)].interm.intermAggregate)) { 4649044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(2) - (3)].interm.intermAggregate)->setOp(EOpSequence); 4650075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyvsp[(2) - (3)].interm.intermAggregate)->setLine((yyloc)); 46510f4cefe9462e53627f02f10b34d76f8665c72521apatrick@chromium.org } 4652044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(2) - (3)].interm.intermAggregate); 465305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4654044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4655044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46562a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 219: 4657044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4658044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4659075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[(1) - (1)].interm.intermNode), (yyloc)); 466005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4661044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4662044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46632a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 220: 4664044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4665044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4666075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermAggregate), (yyvsp[(2) - (2)].interm.intermNode), (yyloc)); 466705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4668044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4669044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46702a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 221: 4671044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 467205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = 0; } 4673044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4674044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46752a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 222: 4676044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 467705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[(1) - (2)].interm.intermTypedNode)); } 4678044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4679044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46802a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 223: 4681044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4682044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4683075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->boolErrorCheck((yylsp[(1) - (5)]), (yyvsp[(3) - (5)].interm.intermTypedNode))) 4684044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4685075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[(3) - (5)].interm.intermTypedNode), (yyvsp[(5) - (5)].interm.nodePair), (yylsp[(1) - (5)])); 468605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4687044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4688044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46892a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 224: 4690044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4691044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4692044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermNode); 4693044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermNode); 469405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4695044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4696044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 46972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 225: 4698044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4699044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4700044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node1 = (yyvsp[(1) - (1)].interm.intermNode); 4701044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node2 = 0; 470205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4703044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4704044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47052a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 226: 4706044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4707044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4708044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 4709044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->boolErrorCheck((yyvsp[(1) - (1)].interm.intermTypedNode)->getLine(), (yyvsp[(1) - (1)].interm.intermTypedNode))) 4710044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 471105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4712044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4713044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47142a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 227: 4715044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4716044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4717044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermNode* intermNode; 4718075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->structQualifierErrorCheck((yylsp[(2) - (4)]), (yyvsp[(1) - (4)].interm.type))) 4719044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4720075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->boolErrorCheck((yylsp[(2) - (4)]), (yyvsp[(1) - (4)].interm.type))) 4721044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4722044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4723075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (!context->executeInitializer((yylsp[(2) - (4)]), *(yyvsp[(2) - (4)].lex).string, (yyvsp[(1) - (4)].interm.type), (yyvsp[(4) - (4)].interm.intermTypedNode), intermNode)) 4724044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(4) - (4)].interm.intermTypedNode); 4725044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else { 4726044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4727044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = 0; 4728044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 472905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4730044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4731044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47322a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 228: 4733044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 473405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { context->symbolTable.push(); ++context->loopNestingLevel; } 4735044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4736044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47372a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 229: 4738044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4739044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4740044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->symbolTable.pop(); 4741075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopWhile, 0, (yyvsp[(4) - (6)].interm.intermTypedNode), 0, (yyvsp[(6) - (6)].interm.intermNode), (yylsp[(1) - (6)])); 4742044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org --context->loopNestingLevel; 474305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4744044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4745044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47462a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 230: 4747044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 474805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { ++context->loopNestingLevel; } 4749044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4750044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47512a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 231: 4752044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4753044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4754075edd84dd682b91279132317d34b09e8028ae6fJamie Madill if (context->boolErrorCheck((yylsp[(8) - (8)]), (yyvsp[(6) - (8)].interm.intermTypedNode))) 4755044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4756044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4757075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopDoWhile, 0, (yyvsp[(6) - (8)].interm.intermTypedNode), 0, (yyvsp[(3) - (8)].interm.intermNode), (yylsp[(4) - (8)])); 4758044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org --context->loopNestingLevel; 475905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4760044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4761044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47622a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 232: 4763044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 476405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com { context->symbolTable.push(); ++context->loopNestingLevel; } 4765044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4766044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47672a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 233: 4768044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4769044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4770044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->symbolTable.pop(); 4771075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[(4) - (7)].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[(5) - (7)].interm.nodePair).node2), (yyvsp[(7) - (7)].interm.intermNode), (yylsp[(1) - (7)])); 4772044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org --context->loopNestingLevel; 477305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4774044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4775044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 234: 4777044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4778044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4779044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); 478005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4781044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4782044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47832a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 235: 4784044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4785044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4786044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); 478705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4788044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4789044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47902a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 236: 4791044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4792044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4793044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = (yyvsp[(1) - (1)].interm.intermTypedNode); 479405bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4795044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4796044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 47972a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 237: 4798044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4799044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4800044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermTypedNode) = 0; 480105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4802044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4803044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48042a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 238: 4805044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4806044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4807044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node1 = (yyvsp[(1) - (2)].interm.intermTypedNode); 4808044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node2 = 0; 480905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4810044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4811044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48122a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 239: 4813044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4814044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4815044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node1 = (yyvsp[(1) - (3)].interm.intermTypedNode); 4816044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.nodePair).node2 = (yyvsp[(3) - (3)].interm.intermTypedNode); 481705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4818044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4819044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48202a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 240: 4821044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4822044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4823044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->loopNestingLevel <= 0) { 4824075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (2)]), "continue statement only allowed in loops", ""); 4825044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4826044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4827075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addBranch(EOpContinue, (yylsp[(1) - (2)])); 482805bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4829044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4830044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48312a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 241: 4832044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4833044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4834044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->loopNestingLevel <= 0) { 4835075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (2)]), "break statement only allowed in loops", ""); 4836044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4837044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4838075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addBranch(EOpBreak, (yylsp[(1) - (2)])); 483905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4840044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4841044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48422a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 242: 4843044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4844044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4845075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yylsp[(1) - (2)])); 4846044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->currentFunctionType->getBasicType() != EbtVoid) { 4847075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (2)]), "non-void function must return a value", "return"); 4848044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4849044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 485005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4851044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4852044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48532a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 243: 4854044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4855044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4856075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addBranch(EOpReturn, (yyvsp[(2) - (3)].interm.intermTypedNode), (yylsp[(1) - (3)])); 4857044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->functionReturnsValue = true; 4858044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->currentFunctionType->getBasicType() == EbtVoid) { 4859075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (3)]), "void function cannot return a value", "return"); 4860044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4861044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else if (*(context->currentFunctionType) != (yyvsp[(2) - (3)].interm.intermTypedNode)->getType()) { 4862075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (3)]), "function return is not matching type:", "return"); 4863044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4864044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 486505bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4866044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4867044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48682a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 244: 4869044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4870044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4871075edd84dd682b91279132317d34b09e8028ae6fJamie Madill FRAG_ONLY("discard", (yylsp[(1) - (2)])); 4872075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.addBranch(EOpKill, (yylsp[(1) - (2)])); 487305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4874044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4875044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48762a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 245: 4877044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4878044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4879044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); 4880044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->treeRoot = (yyval.interm.intermNode); 488105bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4882044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4883044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48842a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 246: 4885044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4886044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4887075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (2)].interm.intermNode), (yyvsp[(2) - (2)].interm.intermNode), (yyloc)); 4888044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->treeRoot = (yyval.interm.intermNode); 488905bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4890044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4891044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48922a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 247: 4893044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4894044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4895044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); 489605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4897044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4898044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 48992a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 248: 4900044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4901044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4902044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode) = (yyvsp[(1) - (1)].interm.intermNode); 490305bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4904044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4905044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 49062a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 249: 4907044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4908044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4909044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TFunction* function = (yyvsp[(1) - (1)].interm).function; 4910a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com 491196e7ba17f417a48c1a6c31f3d9fbd5611219d14dshannonwoods@chromium.org const TSymbol *builtIn = context->symbolTable.findBuiltIn(function->getMangledName(), context->shaderVersion); 4912a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com 4913a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com if (builtIn) 4914a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com { 4915075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "built-in functions cannot be redefined", function->getName().c_str()); 4916a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com context->recover(); 4917a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com } 4918a8833e91e42724823955c15c7629e75c021c0203daniel@transgaming.com 491996e7ba17f417a48c1a6c31f3d9fbd5611219d14dshannonwoods@chromium.org TFunction* prevDec = static_cast<TFunction*>(context->symbolTable.find(function->getMangledName(), context->shaderVersion)); 4920044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4921044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Note: 'prevDec' could be 'function' if this is the first time we've seen function 4922044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // as it would have just been put in the symbol table. Otherwise, we're looking up 4923044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // an earlier occurance. 4924044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4925044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (prevDec->isDefined()) { 4926044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4927044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Then this function already has a body. 4928044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4929075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "function already has a body", function->getName().c_str()); 4930044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4931044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4932044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org prevDec->setDefined(); 4933044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4934044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4935044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Raise error message if main function takes any parameters or return anything other than void 4936044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4937044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (function->getName() == "main") { 4938044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (function->getParamCount() > 0) { 4939075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "function cannot take any parameter(s)", function->getName().c_str()); 4940044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4941044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4942044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (function->getReturnType().getBasicType() != EbtVoid) { 4943075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "", function->getReturnType().getBasicString(), "main function cannot return a value"); 4944044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4945044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4946044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4947044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4948044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4949044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Remember the return type for later checking for RETURN statements. 4950044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4951044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->currentFunctionType = &(prevDec->getReturnType()); 4952044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->functionReturnsValue = false; 4953044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4954044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4955044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Insert parameters into the symbol table. 4956044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // If the parameter has no name, it's not an error, just don't insert it 4957044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // (could be used for unused args). 4958044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4959044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Also, accumulate the list of parameters into the HIL, so lower level code 4960044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // knows where to find parameters. 4961044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4962044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TIntermAggregate* paramNodes = new TIntermAggregate; 49636b04e1b9e8f7034cca0690f3f830e8f29ef2535dshannon.woods@transgaming.com for (size_t i = 0; i < function->getParamCount(); i++) { 4964044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org const TParameter& param = function->getParam(i); 4965044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (param.name != 0) { 4966044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org TVariable *variable = new TVariable(param.name, *param.type); 4967044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4968044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Insert the parameters with name in the symbol table. 4969044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 49701c8480963a2373ee44f01417fc0820a31204df3eshannonwoods@chromium.org if (! context->symbolTable.declare(*variable)) { 4971075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (1)]), "redefinition", variable->getName().c_str()); 4972044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 4973044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org delete variable; 4974044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4975044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4976044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4977044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // Add the parameter to the HIL 4978044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // 4979044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org paramNodes = context->intermediate.growAggregate( 4980044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org paramNodes, 4981044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->intermediate.addSymbol(variable->getUniqueId(), 4982044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org variable->getName(), 4983075edd84dd682b91279132317d34b09e8028ae6fJamie Madill variable->getType(), (yylsp[(1) - (1)])), 4984075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yylsp[(1) - (1)])); 4985044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } else { 4986075edd84dd682b91279132317d34b09e8028ae6fJamie Madill paramNodes = context->intermediate.growAggregate(paramNodes, context->intermediate.addSymbol(0, "", *param.type, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); 4987044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4988044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 4989075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->intermediate.setAggregateOperator(paramNodes, EOpParameters, (yylsp[(1) - (1)])); 4990044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyvsp[(1) - (1)].interm).intermAggregate = paramNodes; 4991044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->loopNestingLevel = 0; 499205bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 4993044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 4994044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 49952a1d8a381d29b906cb143c5834466d66ee032682Nicolas Capens case 250: 4996044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 4997044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 4998044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org //?? Check that all paths return a value if return type != void ? 4999044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // May be best done as post process phase on intermediate code 5000044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (context->currentFunctionType->getBasicType() != EbtVoid && ! context->functionReturnsValue) { 5001075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->error((yylsp[(1) - (3)]), "function does not return a value:", "", (yyvsp[(1) - (3)].interm).function->getName().c_str()); 5002044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org context->recover(); 5003044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 50045dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com 5005075edd84dd682b91279132317d34b09e8028ae6fJamie Madill (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[(1) - (3)].interm).intermAggregate, (yyvsp[(3) - (3)].interm.intermNode), (yyloc)); 5006075edd84dd682b91279132317d34b09e8028ae6fJamie Madill context->intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yylsp[(1) - (3)])); 5007044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[(1) - (3)].interm).function->getMangledName().c_str()); 5008044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org (yyval.interm.intermNode)->getAsAggregate()->setType((yyvsp[(1) - (3)].interm).function->getReturnType()); 5009044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5010044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // store the pragma information for debug and optimize and other vendor specific 5011044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org // information. This information can be queried from the parse tree 50128b851c6db4ba79cbd5b658e799076b8e7a908f6dalokp@chromium.org (yyval.interm.intermNode)->getAsAggregate()->setOptimize(context->pragma().optimize); 50138b851c6db4ba79cbd5b658e799076b8e7a908f6dalokp@chromium.org (yyval.interm.intermNode)->getAsAggregate()->setDebug(context->pragma().debug); 50140f4cefe9462e53627f02f10b34d76f8665c72521apatrick@chromium.org 50155dd6d09f9c695c77c7b3740f3d8da61831febccfdaniel@transgaming.com context->symbolTable.pop(); 501605bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com } 5017044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 5018044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5019044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5020044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5021044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org default: break; 5022044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 502398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* User semantic actions sometimes alter yychar, and that requires 502498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org that yytoken be updated with the new translation. We take the 502598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org approach of translating immediately before every use of yytoken. 502698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org One alternative is translating here after every semantic action, 502798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org but that translation would be missed if the semantic action invokes 502898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 502998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 503098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org incorrect destructor might then be invoked immediately. In the 503198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org case of YYERROR or YYBACKUP, subsequent parser actions might lead 503298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org to an incorrect destructor call or verbose syntax error message 503398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org before the lookahead is translated. */ 5034044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 5035044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5036044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPOPSTACK (yylen); 5037044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yylen = 0; 5038044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_STACK_PRINT (yyss, yyssp); 5039044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5040044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *++yyvsp = yyval; 5041075edd84dd682b91279132317d34b09e8028ae6fJamie Madill *++yylsp = yyloc; 5042044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5043044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Now `shift' the result of the reduction. Determine what state 5044044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org that goes to, based on the state we popped back to and the rule 5045044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org number reduced by. */ 5046044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5047044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yyr1[yyn]; 5048044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5049044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 5050044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 5051044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = yytable[yystate]; 5052044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 5053044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = yydefgoto[yyn - YYNTOKENS]; 5054044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5055044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yynewstate; 5056044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5057044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5058044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*------------------------------------. 5059044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyerrlab -- here on detecting error | 5060044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`------------------------------------*/ 5061044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyerrlab: 506298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Make sure we have latest lookahead translation. See comments at 506398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org user semantic actions for why this is necessary. */ 506498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 506598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org 5066044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* If not already recovering from an error, report this error. */ 5067044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (!yyerrstatus) 5068044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5069044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org ++yynerrs; 5070044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if ! YYERROR_VERBOSE 5071075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror (&yylloc, context, YY_("syntax error")); 5072044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#else 507398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 507498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yyssp, yytoken) 5075044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 507698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org char const *yymsgp = YY_("syntax error"); 507798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org int yysyntax_error_status; 507898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysyntax_error_status = YYSYNTAX_ERROR; 507998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yysyntax_error_status == 0) 508098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yymsgp = yymsg; 508198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org else if (yysyntax_error_status == 1) 508298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 508398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yymsg != yymsgbuf) 508498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YYSTACK_FREE (yymsg); 508598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 508698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (!yymsg) 508798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 508898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yymsg = yymsgbuf; 508998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yymsg_alloc = sizeof yymsgbuf; 509098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysyntax_error_status = 2; 509198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 509298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org else 509398c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 509498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yysyntax_error_status = YYSYNTAX_ERROR; 509598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yymsgp = yymsg; 509698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 509798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 5098075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror (&yylloc, context, yymsgp); 509998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (yysyntax_error_status == 2) 510098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org goto yyexhaustedlab; 5101044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 510298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org# undef YYSYNTAX_ERROR 5103044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 5104044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5105044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5106075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror_range[1] = yylloc; 5107044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5108044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyerrstatus == 3) 5109044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 511005bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* If just tried and failed to reuse lookahead token after an 5111044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org error, discard it. */ 5112044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5113044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yychar <= YYEOF) 5114044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5115044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Return failure if at end of input. */ 5116044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yychar == YYEOF) 5117044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYABORT; 5118044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5119044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org else 5120044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5121044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yydestruct ("Error: discarding", 5122075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yytoken, &yylval, &yylloc, context); 5123044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yychar = YYEMPTY; 5124044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5125044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5126044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 512705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com /* Else will try to reuse lookahead token after shifting the error 5128044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org token. */ 5129044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyerrlab1; 5130044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5131044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5132044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*---------------------------------------------------. 5133044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyerrorlab -- error raised explicitly by YYERROR. | 5134044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`---------------------------------------------------*/ 5135044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyerrorlab: 5136044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5137044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Pacify compilers like GCC when the user code never invokes 5138044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYERROR and the label yyerrorlab therefore never appears in user 5139044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org code. */ 5140044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (/*CONSTCOND*/ 0) 5141044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyerrorlab; 5142044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5143075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror_range[1] = yylsp[1-yylen]; 5144044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Do not reclaim the symbols of the rule which action triggered 5145044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org this YYERROR. */ 5146044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPOPSTACK (yylen); 5147044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yylen = 0; 5148044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_STACK_PRINT (yyss, yyssp); 5149044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = *yyssp; 5150044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyerrlab1; 5151044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5152044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5153044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-------------------------------------------------------------. 5154044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyerrlab1 -- common code for both syntax error and YYERROR. | 5155044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-------------------------------------------------------------*/ 5156044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyerrlab1: 5157044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyerrstatus = 3; /* Each real token shifted decrements this. */ 5158044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5159044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org for (;;) 5160044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5161044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yypact[yystate]; 516298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org if (!yypact_value_is_default (yyn)) 5163044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5164044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn += YYTERROR; 5165044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 5166044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5167044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyn = yytable[yyn]; 5168044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (0 < yyn) 5169044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org break; 5170044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5171044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5172044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5173044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Pop the current state because it cannot handle the error token. */ 5174044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyssp == yyss) 5175044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYABORT; 5176044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5177075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror_range[1] = *yylsp; 5178044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yydestruct ("Error: popping", 5179075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yystos[yystate], yyvsp, yylsp, context); 5180044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPOPSTACK (1); 5181044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = *yyssp; 5182044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_STACK_PRINT (yyss, yyssp); 5183044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5184044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 518598c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 5186044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org *++yyvsp = yylval; 518798c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org YY_IGNORE_MAYBE_UNINITIALIZED_END 5188044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5189075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror_range[2] = yylloc; 5190075edd84dd682b91279132317d34b09e8028ae6fJamie Madill /* Using YYLLOC is tempting, but would change the location of 5191075edd84dd682b91279132317d34b09e8028ae6fJamie Madill the lookahead. YYLOC is available though. */ 5192075edd84dd682b91279132317d34b09e8028ae6fJamie Madill YYLLOC_DEFAULT (yyloc, yyerror_range, 2); 5193075edd84dd682b91279132317d34b09e8028ae6fJamie Madill *++yylsp = yyloc; 5194044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5195044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Shift the error token. */ 5196044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 5197044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5198044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yystate = yyn; 5199044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yynewstate; 5200044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5201044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5202044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-------------------------------------. 5203044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyacceptlab -- YYACCEPT comes here. | 5204044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-------------------------------------*/ 5205044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyacceptlab: 5206044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyresult = 0; 5207044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyreturn; 5208044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5209044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-----------------------------------. 5210044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyabortlab -- YYABORT comes here. | 5211044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-----------------------------------*/ 5212044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyabortlab: 5213044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyresult = 1; 5214044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org goto yyreturn; 5215044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 521698c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org#if !defined yyoverflow || YYERROR_VERBOSE 5217044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org/*-------------------------------------------------. 5218044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org| yyexhaustedlab -- memory exhaustion comes here. | 5219044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org`-------------------------------------------------*/ 5220044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyexhaustedlab: 5221075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yyerror (&yylloc, context, YY_("memory exhausted")); 5222044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yyresult = 2; 5223044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Fall through. */ 5224044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 5225044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5226044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgyyreturn: 522705bc204e87484de42708eda3fe71be824962d15fdaniel@transgaming.com if (yychar != YYEMPTY) 522898c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org { 522998c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org /* Make sure we have latest lookahead translation. See comments at 523098c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org user semantic actions for why this is necessary. */ 523198c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yytoken = YYTRANSLATE (yychar); 523298c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org yydestruct ("Cleanup: discarding lookahead", 5233075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yytoken, &yylval, &yylloc, context); 523498c01b6ab84fa71a65d1a9818263189fce9c7222shannonwoods@chromium.org } 5235044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Do not reclaim the symbols of the rule which action triggered 5236044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org this YYABORT or YYACCEPT. */ 5237044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPOPSTACK (yylen); 5238044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YY_STACK_PRINT (yyss, yyssp); 5239044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org while (yyssp != yyss) 5240044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org { 5241044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org yydestruct ("Cleanup: popping", 5242075edd84dd682b91279132317d34b09e8028ae6fJamie Madill yystos[*yyssp], yyvsp, yylsp, context); 5243044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYPOPSTACK (1); 5244044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org } 5245044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#ifndef yyoverflow 5246044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yyss != yyssa) 5247044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTACK_FREE (yyss); 5248044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 5249044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#if YYERROR_VERBOSE 5250044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org if (yymsg != yymsgbuf) 5251044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org YYSTACK_FREE (yymsg); 5252044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org#endif 5253044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org /* Make sure YYID is used. */ 5254044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return YYID (yyresult); 5255044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 5256044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5257044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5258044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5259044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5260044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org 5261044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.orgint glslang_parse(TParseContext* context) { 5262044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org return yyparse(context); 5263044a5cf8348594de2009331cfc02bd35477caf20alokp@chromium.org} 5264