1eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* A Bison parser, made by GNU Bison 3.0.4. */ 2e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens 3eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Bison implementation for Yacc-like parsers in C 4eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 5eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 6894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman This program is free software: you can redistribute it and/or modify 8894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman it under the terms of the GNU General Public License as published by 919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman the Free Software Foundation, either version 3 of the License, or 1019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman (at your option) any later version. 11eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 12894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman This program is distributed in the hope that it will be useful, 13894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman but WITHOUT ANY WARRANTY; without even the implied warranty of 14894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman GNU General Public License for more details. 16eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 17894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman You should have received a copy of the GNU General Public License 1819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 20894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* As a special exception, you may create a larger work that contains 21894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman part or all of the Bison parser skeleton and distribute that work 22894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman under terms of your choice, so long as that work isn't itself a 23894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman parser generator using the skeleton or a modified version thereof 24894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman as a parser skeleton. Alternatively, if you modify or redistribute 25894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman the parser skeleton itself, you may (at your option) remove this 26894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman special exception, which will cause the skeleton and the resulting 27894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman Bison output files to be licensed under the GNU General Public 28894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman License without this special exception. 29eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 30894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman This special exception was added by the Free Software Foundation in 31894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman version 2.2 of Bison. */ 32894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 33894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* C LALR(1) parser skeleton written by Richard Stallman, by 34894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman simplifying the original so-called "semantic" parser. */ 35894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 36894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* All symbols defined below should begin with yy or YY, to avoid 37894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman infringing on user name space. This should be done even for local 38894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman variables, as they might otherwise be expanded by user macros. 39894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman There are some unavoidable exceptions within include files to 40894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman define necessary library symbols; they are noted "INFRINGES ON 41894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman USER NAME SPACE" below. */ 42894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Identify Bison output. */ 44894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define YYBISON 1 45894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Bison version. */ 47eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYBISON_VERSION "3.0.4" 48894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 49894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Skeleton name. */ 50894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define YYSKELETON_NAME "yacc.c" 51894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 52894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Pure parsers. */ 53894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define YYPURE 1 54894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* Push parsers. */ 5619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define YYPUSH 0 5719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 5819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* Pull parsers. */ 5919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define YYPULL 1 6019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 61894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 62894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 63894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 6419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* Copy the first part of user declarations. */ 6519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 6619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 670bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Copyright 2016 The SwiftShader Authors. All Rights Reserved. 6819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman// 690bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Licensed under the Apache License, Version 2.0 (the "License"); 700bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// you may not use this file except in compliance with the License. 710bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// You may obtain a copy of the License at 7219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman// 730bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// http://www.apache.org/licenses/LICENSE-2.0 740bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// 750bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Unless required by applicable law or agreed to in writing, software 760bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// distributed under the License is distributed on an "AS IS" BASIS, 770bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 780bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// See the License for the specific language governing permissions and 790bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// limitations under the License. 8019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 8166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// This file is auto-generated by generate_parser.sh. DO NOT EDIT! 8266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 8366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman// Ignore errors in auto-generated code. 8466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#if defined(__GNUC__) 8566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma GCC diagnostic ignored "-Wunused-function" 8666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma GCC diagnostic ignored "-Wunused-variable" 8766b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma GCC diagnostic ignored "-Wswitch-enum" 8866b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#elif defined(_MSC_VER) 8966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma warning(disable: 4065) 9066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma warning(disable: 4189) 9166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma warning(disable: 4505) 9266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#pragma warning(disable: 4701) 9366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman#endif 9419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 95cc863da574ed5079b055574127fe5788a9a0fc33Nicolas Capens#include "SymbolTable.h" 96cc863da574ed5079b055574127fe5788a9a0fc33Nicolas Capens#include "ParseHelper.h" 9719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 98d4ae863d01d5f448dbbba6be4ecc161971a2324fJohn Bauman#define YYENABLE_NLS 0 99d4ae863d01d5f448dbbba6be4ecc161971a2324fJohn Bauman 10019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 10119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 102eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# ifndef YY_NULLPTR 103eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined __cplusplus && 201103L <= __cplusplus 104eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_NULLPTR nullptr 105eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# else 106eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_NULLPTR 0 107eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 108eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 10919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 11019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* Enabling verbose error messages. */ 11119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifdef YYERROR_VERBOSE 11219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman# undef YYERROR_VERBOSE 11319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman# define YYERROR_VERBOSE 1 11419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#else 11519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman# define YYERROR_VERBOSE 0 11619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif 11719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 118eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* In a future release of Bison, this section will be replaced 119eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich by #include "glslang_tab.h". */ 120eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_YY_GLSLANG_TAB_H_INCLUDED 121eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_YY_GLSLANG_TAB_H_INCLUDED 122eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Debug traces. */ 123eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YYDEBUG 124eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYDEBUG 0 125eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 126eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if YYDEBUG 127eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichextern int yydebug; 12819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif 12915ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu/* "%code requires" blocks. */ 13015ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 13115ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 13215ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu#define YYLTYPE TSourceLoc 13315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu#define YYLTYPE_IS_DECLARED 1 13415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 13515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 13615ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 137eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Token type. */ 138894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YYTOKENTYPE 139894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYTOKENTYPE 140eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich enum yytokentype 141eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 142eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich INVARIANT = 258, 143eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich HIGH_PRECISION = 259, 144eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MEDIUM_PRECISION = 260, 145eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LOW_PRECISION = 261, 146eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich PRECISION = 262, 147eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ATTRIBUTE = 263, 148eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich CONST_QUAL = 264, 149eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BOOL_TYPE = 265, 150eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FLOAT_TYPE = 266, 151eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich INT_TYPE = 267, 152eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UINT_TYPE = 268, 153eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BREAK = 269, 154eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich CONTINUE = 270, 155eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DO = 271, 156eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ELSE = 272, 157eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FOR = 273, 158eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IF = 274, 159eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DISCARD = 275, 160eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RETURN = 276, 161eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SWITCH = 277, 162eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich CASE = 278, 163eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DEFAULT = 279, 164eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BVEC2 = 280, 165eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BVEC3 = 281, 166eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BVEC4 = 282, 167eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IVEC2 = 283, 168eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IVEC3 = 284, 169eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IVEC4 = 285, 170eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VEC2 = 286, 171eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VEC3 = 287, 172eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VEC4 = 288, 173eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UVEC2 = 289, 174eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UVEC3 = 290, 175eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UVEC4 = 291, 176eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX2 = 292, 177eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX3 = 293, 178eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX4 = 294, 179eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IN_QUAL = 295, 180eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich OUT_QUAL = 296, 181eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich INOUT_QUAL = 297, 182eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UNIFORM = 298, 183eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VARYING = 299, 184eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX2x3 = 300, 185eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX3x2 = 301, 186eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX2x4 = 302, 187eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX4x2 = 303, 188eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX3x4 = 304, 189eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MATRIX4x3 = 305, 190eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich CENTROID = 306, 191eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FLAT = 307, 192eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SMOOTH = 308, 193eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich STRUCT = 309, 194eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VOID_TYPE = 310, 195eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich WHILE = 311, 196eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER2D = 312, 197eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLERCUBE = 313, 198eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER_EXTERNAL_OES = 314, 199eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER2DRECT = 315, 200eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER2DARRAY = 316, 201eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ISAMPLER2D = 317, 202eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ISAMPLER3D = 318, 203eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ISAMPLERCUBE = 319, 204eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ISAMPLER2DARRAY = 320, 205eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich USAMPLER2D = 321, 206eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich USAMPLER3D = 322, 207eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich USAMPLERCUBE = 323, 208eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich USAMPLER2DARRAY = 324, 209eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER3D = 325, 210eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER3DRECT = 326, 211eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER2DSHADOW = 327, 212eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLERCUBESHADOW = 328, 213eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SAMPLER2DARRAYSHADOW = 329, 214eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LAYOUT = 330, 215eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich IDENTIFIER = 331, 216eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TYPE_NAME = 332, 217eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FLOATCONSTANT = 333, 218eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich INTCONSTANT = 334, 219eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich UINTCONSTANT = 335, 220eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BOOLCONSTANT = 336, 221eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FIELD_SELECTION = 337, 222eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_OP = 338, 223eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_OP = 339, 224eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich INC_OP = 340, 225eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DEC_OP = 341, 226eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LE_OP = 342, 227eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich GE_OP = 343, 228eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich EQ_OP = 344, 229eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich NE_OP = 345, 230eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich AND_OP = 346, 231eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich OR_OP = 347, 232eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich XOR_OP = 348, 233eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MUL_ASSIGN = 349, 234eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DIV_ASSIGN = 350, 235eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ADD_ASSIGN = 351, 236eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich MOD_ASSIGN = 352, 237eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_ASSIGN = 353, 238eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_ASSIGN = 354, 239eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich AND_ASSIGN = 355, 240eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich XOR_ASSIGN = 356, 241eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich OR_ASSIGN = 357, 242eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SUB_ASSIGN = 358, 243eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_PAREN = 359, 244eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_PAREN = 360, 245eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_BRACKET = 361, 246eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_BRACKET = 362, 247eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_BRACE = 363, 248eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_BRACE = 364, 249eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DOT = 365, 250eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich COMMA = 366, 251eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich COLON = 367, 252eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich EQUAL = 368, 253eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SEMICOLON = 369, 254eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich BANG = 370, 255eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich DASH = 371, 256eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TILDE = 372, 257eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich PLUS = 373, 258eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich STAR = 374, 259eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich SLASH = 375, 260eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich PERCENT = 376, 261eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich LEFT_ANGLE = 377, 262eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich RIGHT_ANGLE = 378, 263eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VERTICAL_BAR = 379, 264eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich CARET = 380, 265eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich AMPERSAND = 381, 266eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich QUESTION = 382 267eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich }; 268894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 269894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 270eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Value type. */ 271894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 272eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 273eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichunion YYSTYPE 274894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 27519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 27619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 277894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman struct { 278894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman union { 279894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TString *string; 280894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman float f; 281894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman int i; 2822c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens unsigned int u; 283894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman bool b; 284894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman }; 285894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TSymbol* symbol; 286894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } lex; 287894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman struct { 288894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TOperator op; 289894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman union { 290894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TIntermNode* intermNode; 291894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TIntermNodePair nodePair; 292894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TIntermTyped* intermTypedNode; 293894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TIntermAggregate* intermAggregate; 29476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu TIntermSwitch* intermSwitch; 29576a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu TIntermCase* intermCase; 296894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman }; 297894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman union { 298894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TPublicType type; 299894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TPrecision precision; 3007d626796531874d308706c46a32942d71c85a7f8Nicolas Capens TLayoutQualifier layoutQualifier; 301894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qualifier; 302894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TFunction* function; 303894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TParameter param; 304a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu TField* field; 305a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu TFieldList* fieldList; 306894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman }; 307894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } interm; 308894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 30919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 310eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 31119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 312eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichtypedef union YYSTYPE YYSTYPE; 31319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman# define YYSTYPE_IS_TRIVIAL 1 314894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTYPE_IS_DECLARED 1 315894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 316894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 317eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Location type. */ 31815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 319eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichtypedef struct YYLTYPE YYLTYPE; 320eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstruct YYLTYPE 32115ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu{ 32215ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu int first_line; 32315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu int first_column; 32415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu int last_line; 32515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu int last_column; 326eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 32715ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu# define YYLTYPE_IS_DECLARED 1 32815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu# define YYLTYPE_IS_TRIVIAL 1 32915ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu#endif 33015ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 331894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 332eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 333eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichint yyparse (TParseContext* context, void* yyscanner); 334eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 335eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ 336eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 337894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Copy the second part of user declarations. */ 338894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 339894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 34015ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetuextern int yylex(YYSTYPE* yylval, YYLTYPE* yylloc, void* yyscanner); 341eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichextern void yyerror(YYLTYPE* lloc, TParseContext* context, void* scanner, const char* reason); 34215ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 343253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu#define YYLLOC_DEFAULT(Current, Rhs, N) \ 344253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu do { \ 345253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu if (N) { \ 346253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).first_file = YYRHSLOC(Rhs, 1).first_file; \ 347253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \ 348253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).last_file = YYRHSLOC(Rhs, N).last_file; \ 349253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).last_line = YYRHSLOC(Rhs, N).last_line; \ 350253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu } \ 351253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu else { \ 352253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).first_file = YYRHSLOC(Rhs, 0).last_file; \ 353253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).first_line = YYRHSLOC(Rhs, 0).last_line; \ 354253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).last_file = YYRHSLOC(Rhs, 0).last_file; \ 355253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (Current).last_line = YYRHSLOC(Rhs, 0).last_line; \ 356253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu } \ 357253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu } while (0) 358894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 359894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define FRAG_VERT_ONLY(S, L) { \ 3600a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() != GL_FRAGMENT_SHADER && \ 3610a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->getShaderType() != GL_VERTEX_SHADER) { \ 36266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman context->error(L, " supported in vertex/fragment shaders only ", S); \ 363894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); \ 364894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } \ 365894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 366894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 367894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define VERTEX_ONLY(S, L) { \ 3680a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() != GL_VERTEX_SHADER) { \ 36966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman context->error(L, " supported in vertex shaders only ", S); \ 370894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); \ 371894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } \ 372894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 373894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 374894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define FRAG_ONLY(S, L) { \ 3750a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() != GL_FRAGMENT_SHADER) { \ 37666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman context->error(L, " supported in fragment shaders only ", S); \ 377894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); \ 378894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } \ 379894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 380894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 381c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens#define ES2_ONLY(S, L) { \ 3820a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderVersion() != 100) { \ 383c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens context->error(L, " supported in GLSL ES 1.00 only ", S); \ 384c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens context->recover(); \ 385c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens } \ 386c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens} 387c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens 3883e9e208b8f2cedb9e45a369d3e8c97456336f70cAlexis Hetu#define ES3_ONLY(TOKEN, LINE, REASON) { \ 3890a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderVersion() != 300) { \ 3903e9e208b8f2cedb9e45a369d3e8c97456336f70cAlexis Hetu context->error(LINE, REASON " supported in GLSL ES 3.00 only ", TOKEN); \ 391c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens context->recover(); \ 392c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens } \ 393c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens} 394c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens 395894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 396894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 397894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef short 398894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# undef short 399894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 400894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 401894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef YYTYPE_UINT8 402894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef YYTYPE_UINT8 yytype_uint8; 403894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 404894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef unsigned char yytype_uint8; 405894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 406894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 407894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef YYTYPE_INT8 408894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef YYTYPE_INT8 yytype_int8; 409894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 410eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichtypedef signed char yytype_int8; 411894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 412894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 413894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef YYTYPE_UINT16 414894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef YYTYPE_UINT16 yytype_uint16; 415894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 416894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef unsigned short int yytype_uint16; 417894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 418894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 419894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef YYTYPE_INT16 420894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef YYTYPE_INT16 yytype_int16; 421894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 422894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef short int yytype_int16; 423894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 424894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 425894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YYSIZE_T 426894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef __SIZE_TYPE__ 427894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSIZE_T __SIZE_TYPE__ 428894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# elif defined size_t 429894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSIZE_T size_t 430eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# elif ! defined YYSIZE_T 431894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 432894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSIZE_T size_t 433894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 434894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSIZE_T unsigned int 435894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 436894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 437894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 438894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 439894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 440894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YY_ 441eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined YYENABLE_NLS && YYENABLE_NLS 442894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# if ENABLE_NLS 443894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 444eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 445894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 446894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 447894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YY_ 448eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_(Msgid) Msgid 449eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 450eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 451eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 452eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_ATTRIBUTE 453eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if (defined __GNUC__ \ 454eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 455eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 456eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_ATTRIBUTE(Spec) __attribute__(Spec) 457eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# else 458eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_ATTRIBUTE(Spec) /* empty */ 459eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 460eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 461eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 462eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_ATTRIBUTE_PURE 463eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 464eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 465eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 466eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_ATTRIBUTE_UNUSED 467eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 468eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 469eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 470eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if !defined _Noreturn \ 471eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 472eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined _MSC_VER && 1200 <= _MSC_VER 473eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define _Noreturn __declspec (noreturn) 474eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# else 475eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 476894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 477894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 478894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 479894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Suppress unused-variable warnings by "using" E. */ 480894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if ! defined lint || defined __GNUC__ 481eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYUSE(E) ((void) (E)) 482894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 483eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYUSE(E) /* empty */ 484894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 485894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 486eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 487eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 488eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 489eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich _Pragma ("GCC diagnostic push") \ 490eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 491eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 492eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 493eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich _Pragma ("GCC diagnostic pop") 494894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 495eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_INITIAL_VALUE(Value) Value 496894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 497eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 498eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 499eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_IGNORE_MAYBE_UNINITIALIZED_END 500894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 501eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YY_INITIAL_VALUE 502eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_INITIAL_VALUE(Value) /* Nothing. */ 503eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 504eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 505894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 506894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if ! defined yyoverflow || YYERROR_VERBOSE 507894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 508894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* The parser invokes alloca or malloc; define the necessary symbols. */ 509894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 510894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef YYSTACK_USE_ALLOCA 511894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# if YYSTACK_USE_ALLOCA 512894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef __GNUC__ 513894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC __builtin_alloca 514894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# elif defined __BUILTIN_VA_ARG_INCR 515894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 516894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# elif defined _AIX 517894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC __alloca 518894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# elif defined _MSC_VER 519894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 520894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define alloca _alloca 521894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 522894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC alloca 523eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 524894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 525eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 526eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# ifndef EXIT_SUCCESS 527eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define EXIT_SUCCESS 0 528894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 529894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 530894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 531894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 532894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 533894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 534894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef YYSTACK_ALLOC 535eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Pacify GCC's 'empty if-body' warning. */ 536eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 537894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YYSTACK_ALLOC_MAXIMUM 538894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* The OS might guarantee only one guard page at the bottom of the stack, 539894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman and a page size can be as small as 4096 bytes. So we cannot safely 540894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 541894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman to allow for a few compiler-allocated temporary stack slots. */ 542894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 543894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 544894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 545894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC YYMALLOC 546894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_FREE YYFREE 547894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YYSTACK_ALLOC_MAXIMUM 548894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 549894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 550eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 551894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman && ! ((defined YYMALLOC || defined malloc) \ 552eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && (defined YYFREE || defined free))) 553894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 554eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# ifndef EXIT_SUCCESS 555eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define EXIT_SUCCESS 0 556894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 557894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 558894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YYMALLOC 559894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYMALLOC malloc 560eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if ! defined malloc && ! defined EXIT_SUCCESS 561894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 562894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 563894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 564894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YYFREE 565894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYFREE free 566eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if ! defined free && ! defined EXIT_SUCCESS 567894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 568894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 569894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 570894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 571894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 572894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 573894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 574894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if (! defined yyoverflow \ 575894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman && (! defined __cplusplus \ 576eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ 577eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 578894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 579894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* A type that is properly aligned for any stack member. */ 580894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanunion yyalloc 581894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 58219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yytype_int16 yyss_alloc; 58319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSTYPE yyvs_alloc; 58415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLTYPE yyls_alloc; 58519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman}; 586894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 587894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* The size of the maximum gap between one aligned stack and the next. */ 588894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 589894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 590894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* The size of an array large to enough to hold all stacks, each with 591894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman N elements. */ 592894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYSTACK_BYTES(N) \ 59315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 59415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu + 2 * YYSTACK_GAP_MAXIMUM) 595894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 596eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYCOPY_NEEDED 1 597894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 598894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Relocate STACK from its old location to the new one. The 599894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman local variables YYSIZE and YYSTACKSIZE give the old and new number of 600894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman elements in the stack, and YYPTR gives the new location of the 601894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman stack. Advance YYPTR to a properly aligned location for the next 602894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman stack. */ 603eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 604eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich do \ 605eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 606eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yynewbytes; \ 607eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 608eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Stack = &yyptr->Stack_alloc; \ 609eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 610eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyptr += yynewbytes / sizeof (*yyptr); \ 611eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 612eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich while (0) 613894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 614894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 615894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 616eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 617eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Copy COUNT objects from SRC to DST. The source and destination do 618eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich not overlap. */ 619eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# ifndef YYCOPY 620eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined __GNUC__ && 1 < __GNUC__ 621eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYCOPY(Dst, Src, Count) \ 622eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 623eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# else 624eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYCOPY(Dst, Src, Count) \ 625eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich do \ 626eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 627eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yyi; \ 628eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich for (yyi = 0; yyi < (Count); yyi++) \ 629eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Dst)[yyi] = (Src)[yyi]; \ 630eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 631eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich while (0) 632eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 633eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 634eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif /* !YYCOPY_NEEDED */ 635eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 636894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYFINAL -- State number of the termination state. */ 6374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYFINAL 113 638894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYLAST -- Last index in YYTABLE. */ 6394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYLAST 2530 640894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 641894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYNTOKENS -- Number of terminals. */ 642b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu#define YYNTOKENS 128 643894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYNNTS -- Number of nonterminals. */ 64476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu#define YYNNTS 93 645894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYNRULES -- Number of rules. */ 6464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYNRULES 273 647eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* YYNSTATES -- Number of states. */ 6484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYNSTATES 414 649894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 650eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 651eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich by yylex, with out-of-bounds checking. */ 652894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define YYUNDEFTOK 2 653b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu#define YYMAXUTOK 382 654894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 655eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYTRANSLATE(YYX) \ 656894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 657894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 658eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 659eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich as returned by yylex, without out-of-bounds checking. */ 660894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_uint8 yytranslate[] = 661894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 662894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 663894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 664894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 665894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 666894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 667894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 668894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 669894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 670894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 671894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 672894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 673894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 674894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 675894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 676894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 677894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 678894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 679894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 680894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 681894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 682894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 683894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 684894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 685894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 686894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 687894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 688894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 689894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 690894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 691894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 692894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 693894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 694894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 695894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 696b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 6973c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 698b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 699b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 700b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 125, 126, 127 701894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 702894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 703894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if YYDEBUG 704eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 705894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_uint16 yyrline[] = 706894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 7073bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 0, 229, 229, 249, 252, 257, 262, 267, 272, 278, 7083bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 281, 284, 287, 290, 293, 299, 307, 318, 322, 330, 7093bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 333, 339, 343, 350, 356, 365, 373, 379, 386, 396, 7103bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 399, 402, 405, 415, 416, 417, 418, 426, 427, 431, 7113bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 435, 443, 444, 447, 453, 454, 458, 465, 466, 469, 7123bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 472, 475, 481, 482, 485, 491, 492, 499, 500, 507, 7133bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 508, 515, 516, 522, 523, 529, 530, 536, 537, 543, 7143bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 544, 552, 553, 554, 555, 557, 558, 559, 562, 565, 7153bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 568, 571, 577, 580, 591, 599, 607, 610, 616, 623, 7163bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 627, 631, 635, 642, 648, 651, 658, 666, 687, 713, 7173bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 723, 751, 756, 766, 771, 781, 784, 787, 790, 796, 7183bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 803, 806, 810, 814, 819, 824, 831, 835, 839, 843, 7193bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 848, 853, 857, 864, 874, 880, 883, 889, 895, 902, 7203bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 911, 920, 928, 931, 938, 942, 946, 951, 959, 962, 7213bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 966, 970, 979, 988, 996, 1006, 1018, 1021, 1024, 1030, 7223bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 1037, 1040, 1046, 1049, 1052, 1058, 1061, 1066, 1081, 1085, 7233bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 1089, 1093, 1097, 1101, 1106, 1111, 1116, 1121, 1126, 1131, 7243bb01956196ed0e7c8fce2e8fe45afb25e455fd9Alexis Hetu 1136, 1141, 1146, 1151, 1156, 1161, 1167, 1173, 1179, 1185, 7254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1191, 1197, 1203, 1209, 1215, 1220, 1225, 1234, 1243, 1248, 7264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1253, 1258, 1263, 1268, 1273, 1278, 1283, 1288, 1293, 1298, 7274676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1303, 1308, 1313, 1326, 1326, 1329, 1329, 1335, 1338, 1354, 7284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1357, 1366, 1370, 1376, 1383, 1398, 1402, 1406, 1407, 1413, 7294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1414, 1415, 1416, 1417, 1418, 1419, 1423, 1424, 1424, 1424, 7304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1434, 1435, 1439, 1439, 1440, 1440, 1445, 1448, 1458, 1461, 7314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1467, 1468, 1472, 1480, 1484, 1491, 1491, 1498, 1501, 1508, 7324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1513, 1528, 1528, 1533, 1533, 1540, 1540, 1548, 1551, 1557, 7334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1560, 1566, 1570, 1577, 1580, 1583, 1586, 1589, 1598, 1602, 7344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1609, 1612, 1618, 1618 735894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 736894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 737894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 738eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if YYDEBUG || YYERROR_VERBOSE || 0 739894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 740894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 741894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const char *const yytname[] = 742894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 743894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION", 744894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE", 7453c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "UINT_TYPE", 7463c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", 7473c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens "SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", 748e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens "IVEC4", "VEC2", "VEC3", "VEC4", "UVEC2", "UVEC3", "UVEC4", "MATRIX2", 749e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", 750b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "VARYING", "MATRIX2x3", "MATRIX3x2", "MATRIX2x4", "MATRIX4x2", 751b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "MATRIX3x4", "MATRIX4x3", "CENTROID", "FLAT", "SMOOTH", "STRUCT", 752b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", "SAMPLER_EXTERNAL_OES", 753b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "SAMPLER2DRECT", "SAMPLER2DARRAY", "ISAMPLER2D", "ISAMPLER3D", 754b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "ISAMPLERCUBE", "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D", 755b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "USAMPLERCUBE", "USAMPLER2DARRAY", "SAMPLER3D", "SAMPLER3DRECT", 756b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", "LAYOUT", 757b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "IDENTIFIER", "TYPE_NAME", "FLOATCONSTANT", "INTCONSTANT", 758b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", 759b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", 760b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", 761b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", 762b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", 7632c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", 7642c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", 7652c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", 7662c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "AMPERSAND", "QUESTION", "$accept", "variable_identifier", 7672c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "primary_expression", "postfix_expression", "integer_expression", 7682c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens "function_call", "function_call_or_method", "function_call_generic", 769894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "function_call_header_no_parameters", 770894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "function_call_header_with_parameters", "function_call_header", 771894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "function_identifier", "unary_expression", "unary_operator", 772894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "multiplicative_expression", "additive_expression", "shift_expression", 773894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "relational_expression", "equality_expression", "and_expression", 774894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "exclusive_or_expression", "inclusive_or_expression", 775894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "logical_and_expression", "logical_xor_expression", 776894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "logical_or_expression", "conditional_expression", 777894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "assignment_expression", "assignment_operator", "expression", 778a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "constant_expression", "enter_struct", "declaration", 779a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "function_prototype", "function_declarator", 780a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "function_header_with_parameters", "function_header", 781a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "parameter_declarator", "parameter_declaration", "parameter_qualifier", 782a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "parameter_type_specifier", "init_declarator_list", "single_declaration", 783a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "fully_specified_type", "interpolation_qualifier", 784a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "parameter_type_qualifier", "type_qualifier", "storage_qualifier", 785a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "type_specifier", "precision_qualifier", "layout_qualifier", 786a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu "layout_qualifier_id_list", "layout_qualifier_id", 7877d626796531874d308706c46a32942d71c85a7f8Nicolas Capens "type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier", 7887d626796531874d308706c46a32942d71c85a7f8Nicolas Capens "$@1", "$@2", "struct_declaration_list", "struct_declaration", 789894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "struct_declarator_list", "struct_declarator", "initializer", 790894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "declaration_statement", "statement", "simple_statement", 79166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman "compound_statement", "$@3", "$@4", "statement_no_new_scope", 79266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman "statement_with_scope", "$@5", "$@6", "compound_statement_no_new_scope", 79319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman "statement_list", "expression_statement", "selection_statement", 79476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu "selection_rest_statement", "switch_statement", "$@7", "case_label", 79576a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu "condition", "iteration_statement", "$@8", "$@9", "$@10", 79676a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu "for_init_statement", "conditionopt", "for_rest_statement", 797894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman "jump_statement", "translation_unit", "external_declaration", 798eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich "function_definition", "$@11", YY_NULLPTR 799894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 800894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 801894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 802894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef YYPRINT 803eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* YYTOKNUM[NUM] -- (External) token number corresponding to the 804eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (internal) symbol number NUM (which must be that of a token). */ 805894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_uint16 yytoknum[] = 806894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 807894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 808894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 809894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 810894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 811894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 812894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 813894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 814894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 815894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 816c6841851785cab1f3fd19b8aae8e8a8fe7dd7b99Nicolas Capens 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 8177d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 818b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 819b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 375, 376, 377, 378, 379, 380, 381, 382 820894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 821894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 822894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 8234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYPACT_NINF -344 824894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 825eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define yypact_value_is_default(Yystate) \ 8264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu (!!((Yystate) == (-344))) 827894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 8284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu#define YYTABLE_NINF -233 829894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 830eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define yytable_value_is_error(Yytable_value) \ 831eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 0 832894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 833eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 834eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich STATE-NUM. */ 835894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_int16 yypact[] = 836894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 8374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 2168, 120, -344, -344, -344, 146, -344, -344, -344, -344, 8384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 8394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, 8404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, 127, -344, -344, 8414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -41, -344, -344, -344, -344, -344, -344, -344, -344, -344, 8424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, -344, -344, -84, 8434676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -68, -57, -39, 1, -89, -344, 41, 14, 8444676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1187, -344, -344, 2453, 14, -344, 15, -344, 2093, -344, 8454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, 14, -344, 2453, -344, -344, 18, -344, 8464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, -344, 26, -344, 10, -344, -344, -344, -344, -344, 8474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 2317, 113, 60, -344, -66, -344, 31, -344, 2243, -344, 8484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, 1257, -344, -344, -344, -45, -344, 2243, 46, 8494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -21, -344, 415, -344, -344, -344, -344, 68, 2317, -42, 8504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 1355, 1646, -344, 188, 2317, 89, 1838, -344, 85, 8514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, 1646, 1646, 1646, -344, -344, 8524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, 39, -344, -344, -344, 74, 8534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -17, 1741, 96, -344, 1646, 37, -37, 91, -61, 87, 8544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 81, 71, 116, 115, -64, -344, 102, -344, -344, 8554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 2243, 1923, 105, -344, 47, 97, 99, -344, 110, 131, 8564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 124, 1453, 138, 1646, 132, 142, 140, -344, -344, 123, 8574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -77, -344, -68, 143, -344, -344, -344, -344, 8584676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 531, -344, -344, -344, -344, -344, -344, 144, -344, -344, 8594676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1548, 1646, 141, 148, -344, -344, 89, 145, -9, -344, 8604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -58, -344, -344, -344, -13, -344, -344, 1646, 2385, -344, 8614676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 1646, 152, -344, -344, -344, 1646, 1646, 1646, 1646, 8624676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 8634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1646, 1646, 1646, 1646, 1646, 1646, -344, 2008, -344, -344, 8644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, 150, -344, 1646, -344, -344, -7, 8654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1646, 147, -344, -344, -344, 647, -344, -344, -344, -344, 8664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, 1646, 1646, -344, 8674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, 1646, 149, 153, -344, 1646, 151, 5, 1646, 8684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 89, -344, -70, -344, -344, 158, 157, -344, 165, -344, 8694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, 37, 37, -37, -37, 91, 91, 8704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 91, 91, -61, -61, 87, 65, 81, 71, 116, 115, 8714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, -344, 214, 26, 879, 995, -8, -344, 4, -344, 8724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1092, 647, -344, -344, 164, 1646, 159, -344, 1646, -344, 8734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 166, -344, 1646, -344, -344, 1646, 170, -344, -344, -344, 8744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 1092, 150, -344, 157, 200, 2317, 172, 169, -344, 8754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 1646, -344, -344, 173, -344, 1646, -344, 167, 174, 8764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 265, -344, 175, 171, 763, -344, -344, 177, 9, 1646, 8774676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 763, 150, -344, 1646, -344, -344, -344, -344, 178, 157, 8784676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344 879894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 880894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 881eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 882eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Performed when YYTABLE does not specify something else to do. Zero 883eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich means the default is an error. */ 884eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic const yytype_uint16 yydefact[] = 885eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 886eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 0, 0, 146, 147, 148, 0, 128, 138, 162, 159, 887eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 160, 161, 166, 167, 168, 169, 170, 171, 163, 164, 888eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 165, 172, 173, 174, 175, 176, 177, 139, 140, 143, 889eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 129, 178, 179, 180, 181, 182, 183, 0, 126, 125, 8904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 158, 184, 185, 186, 187, 189, 190, 191, 192, 8914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 193, 194, 195, 196, 197, 188, 198, 199, 200, 0, 8924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 202, 271, 272, 0, 95, 105, 0, 110, 116, 133, 8934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 131, 123, 0, 134, 144, 155, 201, 0, 268, 8944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 270, 130, 122, 0, 136, 0, 141, 142, 0, 205, 8954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 86, 0, 93, 105, 127, 106, 107, 108, 96, 8964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 105, 0, 87, 117, 132, 0, 92, 0, 124, 8974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 145, 135, 0, 1, 269, 137, 0, 203, 0, 152, 8984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 150, 0, 273, 97, 102, 104, 109, 0, 111, 8994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 98, 0, 0, 85, 0, 0, 0, 0, 207, 2, 9004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 6, 4, 5, 7, 28, 0, 0, 0, 156, 35, 9014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 34, 36, 33, 3, 9, 29, 11, 16, 17, 0, 9024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 22, 0, 37, 0, 41, 44, 47, 52, 55, 9034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 59, 61, 63, 65, 67, 84, 0, 26, 88, 9044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 149, 0, 0, 0, 253, 0, 0, 9054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 227, 236, 240, 37, 9064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 69, 82, 0, 216, 0, 144, 219, 238, 218, 217, 9074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 220, 221, 222, 223, 224, 225, 99, 101, 103, 9084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 215, 121, 0, 213, 0, 211, 9094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 208, 30, 31, 0, 13, 14, 0, 0, 20, 9104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 19, 0, 158, 23, 25, 32, 0, 0, 0, 0, 911eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 157, 0, 206, 153, 9134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 154, 151, 264, 263, 234, 255, 0, 267, 265, 0, 9144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 248, 251, 226, 0, 72, 73, 75, 74, 9154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 78, 79, 80, 81, 76, 71, 0, 0, 241, 9164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 237, 239, 0, 0, 0, 115, 0, 118, 0, 0, 9174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 209, 0, 89, 8, 0, 15, 27, 12, 18, 9184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 24, 38, 39, 40, 43, 42, 45, 46, 50, 51, 9194676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 53, 54, 56, 58, 60, 62, 64, 66, 9204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 204, 0, 0, 0, 0, 0, 266, 0, 247, 9214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 228, 70, 83, 0, 0, 112, 119, 0, 210, 9224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 212, 0, 90, 10, 0, 0, 233, 235, 258, 9234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 257, 260, 234, 245, 249, 0, 0, 0, 0, 100, 9244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 113, 0, 120, 214, 0, 68, 0, 259, 0, 0, 9254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 244, 242, 0, 0, 0, 229, 114, 0, 0, 261, 9264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 234, 246, 0, 231, 252, 230, 91, 0, 262, 9274676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 256, 243, 250, 254 928eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 929eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 930eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYPGOTO[NTERM-NUM]. */ 931894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_int16 yypgoto[] = 932894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 9334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -344, -344, -344, -344, -344, 48, -344, -344, 9344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, 70, -344, -56, -49, -123, -53, 28, 29, 9354676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 27, 32, 30, 33, -344, -110, -128, -344, -138, -119, 9364676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 11, 17, -344, -344, -344, 168, 201, 197, 176, 9374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -326, 7, -344, -105, 13, -69, 294, -344, 9384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, 117, 0, -344, -344, -344, -344, -103, -121, 76, 9394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -10, -215, -40, -203, -314, -86, -344, -344, -97, -343, 9404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -344, -344, -87, 23, -36, -344, -344, -344, -344, -344, 9414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -60, -344, -344, -344, -344, -344, -344, -344, -344, -344, 9424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 232, -344, -344 943894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 944894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 945eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYDEFGOTO[NTERM-NUM]. */ 946eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic const yytype_int16 yydefgoto[] = 947eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 9484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 153, 154, 155, 315, 156, 157, 158, 159, 160, 9494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 161, 162, 199, 164, 165, 166, 167, 168, 169, 170, 9504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 171, 172, 173, 174, 175, 200, 201, 297, 202, 177, 9514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 108, 203, 204, 63, 64, 65, 125, 99, 100, 126, 9524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 66, 67, 68, 69, 101, 70, 71, 72, 73, 74, 9534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 120, 121, 178, 76, 77, 180, 118, 137, 138, 228, 9544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 229, 225, 206, 207, 208, 209, 285, 378, 405, 342, 9554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 343, 344, 406, 210, 211, 212, 391, 213, 392, 214, 9564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 377, 215, 350, 274, 345, 371, 388, 389, 216, 78, 9574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 79, 80, 92 958eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 959eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 960eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 961eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich positive, shift that token. If negative, reduce the rule whose 962eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich number is the opposite. If YYTABLE_NINF, syntax error. */ 963894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_int16 yytable[] = 964894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 9654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 109, 176, 135, 224, 123, 305, 301, 83, 234, 9664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 95, 61, 223, 135, 84, 181, 231, 62, 312, 95, 9674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 90, 176, 102, 7, 375, 103, 253, 254, 264, 390, 9684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 368, 127, 135, 243, 298, 88, 362, 299, 130, 136, 9694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 131, 96, 97, 98, 363, 375, 91, 132, 93, 136, 9704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 96, 97, 98, 279, 27, 28, 313, 29, 411, 127, 9714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 231, 255, 256, 265, 220, 37, 226, 89, 136, 179, 9724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 221, 94, 110, 281, 135, 135, 267, 75, 249, 9734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 404, 250, 105, 176, 183, 116, 404, 111, 240, 61, 9744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 184, 357, 314, 224, 241, 62, 115, 372, 298, 316, 9754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 304, 310, 298, 298, 311, -94, 347, 75, 373, 9764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 176, 136, 136, 320, 408, 298, 310, 104, 75, 359, 9774676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 298, 112, 205, 119, 235, 236, 117, 340, 75, 7, 9784676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 328, 329, 330, 331, 122, 75, 129, 75, 346, 133, 9794676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 380, 83, 348, 382, 217, 237, 231, 84, 301, 238, 9804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 2, 3, 4, 96, 97, 98, 246, 247, 248, 182, 9814676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 27, 28, 135, 29, 81, 227, 396, 86, 87, 352, 9824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 353, 37, 38, 39, 251, 252, 257, 258, 224, 239, 9834676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 75, 163, 354, 269, 270, 298, 365, 412, -27, 9844676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 360, 259, 176, 324, 325, 261, 82, 7, 136, 176, 9854676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 244, 163, 326, 327, 332, 333, 260, 262, 263, 266, 9864676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 205, 272, 374, 273, 275, 232, 233, 286, 287, 288, 9874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 289, 290, 291, 292, 293, 294, 295, 224, 27, 28, 9884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 224, 29, 81, 374, 245, 276, 296, 385, 277, 37, 9894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 38, 39, 280, 384, 282, 376, 283, -26, 398, 284, 9904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 302, 309, 176, 224, 306, 307, 367, -21, -232, 349, 9914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 356, 409, 355, 163, 358, 364, 376, 75, 298, -28, 9924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 366, 379, 381, 383, 386, 224, 393, 394, 395, 400, 9934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 397, 399, 401, 196, 403, 205, 319, 334, 336, 335, 9944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 163, 407, 413, 338, 337, 124, 218, 339, 128, 85, 9954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 361, 271, 308, 410, 219, 369, 402, 109, 351, 370, 9964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 114, 387, 0, 0, 0, 0, 321, 322, 323, 163, 9974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 9984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 163, 163, 163, 163, 163, 0, 0, 0, 0, 0, 9994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 205, 205, 0, 0, 0, 0, 10004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 205, 205, 0, 0, 0, 0, 0, 0, 0, 0, 1001dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 205, 163, 0, 0, 0, 75, 0, 0, 163, 1003a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 10054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 10074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 3, 4, 5, 6, 7, 8, 9, 10, 11, 185, 10084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 186, 187, 163, 188, 189, 190, 191, 192, 193, 194, 10094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 10104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 22, 23, 24, 25, 26, 27, 28, 0, 29, 30, 10114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 10124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41, 195, 42, 43, 44, 45, 46, 47, 48, 49, 10134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, 10144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 59, 139, 60, 140, 141, 142, 143, 144, 0, 0, 10154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, 10164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 10174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 10184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 149, 150, 151, 152, 1, 2, 3, 4, 5, 6, 10194676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 7, 8, 9, 10, 11, 185, 186, 187, 0, 188, 10204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 189, 190, 191, 192, 193, 194, 12, 13, 14, 15, 10214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 10224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 26, 27, 28, 0, 29, 30, 31, 32, 33, 34, 10234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 37, 38, 39, 40, 41, 195, 42, 43, 10244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 10254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 54, 55, 0, 56, 57, 58, 59, 139, 60, 140, 10264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 141, 142, 143, 144, 0, 0, 145, 146, 0, 0, 1027e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 147, 0, 0, 0, 196, 10294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 300, 0, 0, 0, 0, 198, 149, 150, 151, 152, 10304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 11, 185, 186, 187, 0, 188, 189, 190, 191, 192, 10324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 193, 194, 12, 13, 14, 15, 16, 17, 18, 19, 10334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 10344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 10354676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 39, 40, 41, 195, 42, 43, 44, 45, 46, 47, 10364676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, 10374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 139, 60, 140, 141, 142, 143, 144, 10384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 145, 146, 0, 0, 0, 0, 0, 0, 1039e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 147, 0, 0, 0, 196, 0, 0, 0, 0, 10414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 198, 149, 150, 151, 152, 1, 2, 3, 4, 10424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 5, 6, 7, 8, 9, 10, 11, 185, 186, 187, 10434676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 188, 189, 190, 191, 192, 193, 194, 12, 13, 10444676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 10454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 10464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, 40, 41, 195, 10474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 10484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 59, 139, 10494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60, 140, 141, 142, 143, 144, 0, 0, 145, 146, 1050e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 10524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 122, 0, 0, 0, 0, 0, 198, 149, 150, 10534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 151, 152, 1, 2, 3, 4, 5, 6, 7, 8, 10544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 9, 10, 11, 185, 186, 187, 0, 188, 189, 190, 10554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 191, 192, 193, 194, 12, 13, 14, 15, 16, 17, 10564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 10574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, 10584676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 37, 38, 39, 40, 41, 195, 42, 43, 44, 45, 10594676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 10604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 56, 57, 58, 59, 139, 60, 140, 141, 142, 10614676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 143, 144, 0, 0, 145, 146, 0, 0, 0, 0, 1062407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 10644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 198, 149, 150, 151, 152, 1, 2, 10654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 1066407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 10684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 22, 23, 24, 25, 26, 27, 28, 0, 29, 30, 10694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 10704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41, 0, 42, 43, 44, 45, 46, 47, 48, 49, 10714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, 10724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 59, 139, 60, 140, 141, 142, 143, 144, 0, 0, 10734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, 10744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 134, 2, 3, 4, 147, 10754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 6, 7, 8, 9, 10, 11, 0, 0, 0, 198, 10764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 149, 150, 151, 152, 0, 0, 0, 12, 13, 14, 1077407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 10784676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 25, 26, 27, 28, 0, 29, 30, 31, 32, 33, 10794676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 34, 35, 36, 37, 38, 39, 40, 41, 0, 42, 10804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 10814676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 53, 54, 55, 0, 56, 57, 58, 59, 139, 60, 10824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 140, 141, 142, 143, 144, 0, 0, 145, 146, 0, 1083ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10844676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 2, 3, 4, 0, 0, 147, 8, 9, 10, 10854676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 11, 0, 0, 0, 0, 0, 0, 149, 150, 151, 10864676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 152, 0, 12, 13, 14, 15, 16, 17, 18, 19, 10874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 10884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 31, 32, 33, 34, 35, 36, 0, 0, 10894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 40, 41, 0, 42, 43, 44, 45, 46, 47, 10904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, 10914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 0, 106, 60, 0, 0, 8, 9, 10, 10924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 10944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 10954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 107, 31, 32, 33, 34, 35, 36, 0, 0, 10964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 40, 41, 0, 42, 43, 44, 45, 46, 47, 10974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, 10984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 0, 139, 60, 140, 141, 142, 143, 144, 10994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 145, 146, 0, 0, 0, 0, 0, 0, 1100ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 147, 0, 0, 148, 8, 9, 10, 11, 0, 11024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 149, 150, 151, 152, 0, 0, 0, 0, 11034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 11044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 22, 23, 24, 25, 26, 0, 0, 0, 0, 0, 11054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 31, 32, 33, 34, 35, 36, 0, 0, 0, 40, 11064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41, 0, 42, 43, 44, 45, 46, 47, 48, 49, 11074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, 11084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 139, 60, 140, 141, 142, 143, 144, 0, 0, 11094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, 11104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 11114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 222, 8, 9, 10, 11, 0, 0, 0, 11124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 149, 150, 151, 152, 0, 0, 0, 0, 12, 13, 1113407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1114407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 24, 25, 26, 0, 0, 0, 0, 0, 31, 32, 1115407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, 11164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 11174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 0, 139, 11184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60, 140, 141, 142, 143, 144, 0, 0, 145, 146, 11191aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 147, 8, 9, 11214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 10, 11, 0, 0, 0, 0, 0, 278, 149, 150, 11224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 151, 152, 0, 12, 13, 14, 15, 16, 17, 18, 11234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 19, 20, 21, 22, 23, 24, 25, 26, 0, 0, 11244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 31, 32, 33, 34, 35, 36, 0, 11254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 40, 41, 0, 42, 43, 44, 45, 46, 11264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11274676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 56, 57, 58, 0, 139, 60, 140, 141, 142, 143, 11284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 144, 0, 0, 145, 146, 0, 0, 0, 0, 0, 11291aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 147, 0, 0, 303, 8, 9, 10, 11, 11314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 149, 150, 151, 152, 0, 0, 0, 11321aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1133407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 21, 22, 23, 24, 25, 26, 0, 0, 0, 0, 1134407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 31, 32, 33, 34, 35, 36, 0, 0, 0, 11354676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 40, 41, 0, 42, 43, 44, 45, 46, 47, 48, 11364676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 49, 50, 51, 52, 53, 54, 55, 0, 56, 57, 11374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 58, 0, 139, 60, 140, 141, 142, 143, 144, 0, 11384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 145, 146, 0, 0, 0, 0, 0, 0, 0, 11394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 147, 8, 9, 10, 11, 0, 0, 0, 0, 0, 11414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 149, 150, 151, 152, 0, 12, 13, 14, 15, 11424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 11434676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 26, 0, 0, 0, 0, 0, 31, 32, 33, 34, 11444676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 0, 0, 0, 40, 242, 0, 42, 43, 11454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 11464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 54, 55, 0, 56, 57, 58, 0, 139, 60, 140, 11474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 141, 142, 143, 144, 0, 0, 145, 146, 0, 0, 11484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 134, 2, 3, 4, 147, 6, 7, 8, 9, 11504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 10, 11, 0, 0, 0, 0, 149, 150, 151, 152, 11514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 1152407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1153407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 11544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 11554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 56, 57, 58, 59, 0, 60, 0, 0, 0, 0, 11574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 134, 2, 3, 4, 1158407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 11594676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 230, 12, 13, 1160407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1161407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 1162407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 11634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 11644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 11654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 134, 2, 3, 4, 0, 6, 7, 8, 9, 1167407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 268, 12, 13, 14, 15, 16, 17, 18, 1169407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1170407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 11714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 11724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 56, 57, 58, 59, 0, 60, 0, 0, 0, 0, 11744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 113, 0, 0, 1, 2, 3, 4, 1175407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 11764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 341, 12, 13, 1177407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1178407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 1179407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 11804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 11814676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 11824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1183407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1184407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 1185407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1186407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 11874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 38, 39, 40, 41, 0, 42, 43, 44, 45, 46, 11884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, 0, 11894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 56, 57, 58, 59, 0, 60, 134, 2, 3, 4, 11904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 6, 7, 8, 9, 10, 11, 0, 0, 0, 11914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 11924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 11934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 24, 25, 26, 27, 28, 0, 29, 30, 31, 32, 11944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 11954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 11964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 59, 0, 11974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60, 2, 3, 4, 0, 0, 0, 8, 9, 10, 11984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 12004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 20, 21, 22, 23, 24, 25, 26, 0, 0, 0, 12014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 31, 32, 33, 34, 35, 36, 0, 0, 12024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 40, 41, 0, 42, 43, 44, 45, 46, 47, 12034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 50, 51, 52, 53, 54, 55, 0, 56, 12044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 0, 0, 60, 8, 9, 10, 11, 0, 12054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 12074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 22, 23, 24, 25, 26, 0, 0, 0, 0, 0, 12084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 31, 32, 33, 34, 35, 36, 0, 0, 0, 40, 12094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41, 0, 42, 43, 44, 45, 46, 47, 48, 49, 12104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 50, 51, 52, 53, 54, 55, 0, 56, 57, 58, 12114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 317, 60, 8, 9, 10, 11, 318, 0, 0, 12124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 12134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 12144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 24, 25, 26, 0, 0, 0, 0, 0, 31, 32, 12154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 0, 0, 0, 40, 41, 0, 12164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 12174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, 0, 56, 57, 58, 0, 0, 12184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 60 1219894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 1220894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1221894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_int16 yycheck[] = 1222894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 12234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 70, 112, 108, 132, 92, 221, 210, 1, 147, 12244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 9, 0, 131, 118, 1, 118, 137, 0, 76, 9, 12254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 131, 111, 9, 350, 114, 87, 88, 92, 372, 12264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 344, 100, 137, 161, 111, 76, 106, 114, 104, 108, 12274676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 106, 40, 41, 42, 114, 371, 114, 113, 105, 118, 12284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 40, 41, 42, 191, 40, 41, 114, 43, 401, 128, 12294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 181, 122, 123, 127, 106, 51, 135, 108, 137, 114, 12304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 70, 113, 111, 73, 193, 180, 181, 180, 78, 116, 12314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 394, 118, 69, 193, 105, 85, 400, 74, 105, 78, 12324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 111, 306, 105, 221, 111, 78, 83, 105, 111, 237, 12334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 100, 220, 111, 111, 111, 114, 105, 114, 108, 105, 12344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 220, 180, 181, 241, 105, 111, 111, 76, 118, 114, 12354676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 111, 106, 122, 76, 85, 86, 108, 265, 128, 9, 12364676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 253, 254, 255, 256, 108, 135, 76, 137, 276, 108, 12374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 355, 134, 280, 358, 76, 106, 267, 134, 351, 110, 12384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 4, 5, 6, 40, 41, 42, 119, 120, 121, 113, 12394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 40, 41, 267, 43, 44, 76, 381, 40, 41, 297, 12404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 298, 51, 52, 53, 83, 84, 89, 90, 306, 105, 12414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 180, 181, 112, 302, 79, 80, 111, 112, 403, 104, 12424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 309, 126, 302, 249, 250, 124, 76, 9, 267, 309, 12434676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 131, 251, 252, 257, 258, 125, 91, 93, 107, 12444676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 210, 114, 350, 114, 104, 145, 146, 94, 95, 96, 12454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 97, 98, 99, 100, 101, 102, 103, 355, 40, 41, 12464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 358, 43, 44, 371, 164, 104, 113, 365, 114, 51, 12474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 104, 362, 112, 350, 104, 104, 386, 109, 12484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 106, 106, 362, 381, 113, 107, 343, 105, 108, 112, 12494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 107, 399, 113, 193, 113, 107, 371, 267, 111, 104, 12504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 56, 107, 113, 107, 104, 403, 76, 105, 109, 105, 12514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 107, 114, 17, 108, 113, 285, 238, 259, 261, 260, 12524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 220, 114, 114, 263, 262, 94, 128, 264, 101, 5, 12534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 310, 184, 226, 400, 128, 345, 392, 376, 285, 345, 12544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 78, 371, -1, -1, -1, -1, 246, 247, 248, 249, 12554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 12564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 260, 261, 262, 263, 264, -1, -1, -1, -1, -1, 12574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, 344, 345, -1, -1, -1, -1, 12584676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 350, 351, -1, -1, -1, -1, -1, -1, -1, -1, 1259a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 371, 302, -1, -1, -1, 376, -1, -1, 309, 1261e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12624676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, 12634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 12654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 12664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 15, 16, 362, 18, 19, 20, 21, 22, 23, 24, 12674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 12684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 12694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 12704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 12714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 12724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 76, 77, 78, 79, 80, 81, 82, -1, -1, 12734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, 12744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 12754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 108, 109, -1, -1, -1, -1, 114, 12764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 115, 116, 117, 118, 3, 4, 5, 6, 7, 8, 12774676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 9, 10, 11, 12, 13, 14, 15, 16, -1, 18, 12784676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 12794676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 12804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 39, 40, 41, -1, 43, 44, 45, 46, 47, 48, 12814676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 12824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 12834676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 12844676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, 1285e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12864676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, 104, -1, -1, -1, 108, 12874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 109, -1, -1, -1, -1, 114, 115, 116, 117, 118, 12884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 13, 14, 15, 16, -1, 18, 19, 20, 21, 22, 12904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 12914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 12924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 12934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 12944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, 12954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 12964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, 1297e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 104, -1, -1, -1, 108, -1, -1, -1, -1, 12994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 114, 115, 116, 117, 118, 3, 4, 5, 6, 13004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 13014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 13024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 13034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 13044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 13054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 13064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, 13074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 78, 79, 80, 81, 82, -1, -1, 85, 86, 13084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, 13104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 108, -1, -1, -1, -1, -1, 114, 115, 116, 13114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 117, 118, 3, 4, 5, 6, 7, 8, 9, 10, 13124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 11, 12, 13, 14, 15, 16, -1, 18, 19, 20, 13134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 13144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 13154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41, -1, 43, 44, 45, 46, 47, 48, 49, 50, 13164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 13174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 13184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 13194676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, 13204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, 13224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 114, 115, 116, 117, 118, 3, 4, 13234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 13244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13254676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 13264676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 13274676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 13284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, 13294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 13304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 75, 76, 77, 78, 79, 80, 81, 82, -1, -1, 13314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, 3, 4, 5, 6, 104, 13334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 8, 9, 10, 11, 12, 13, -1, -1, -1, 114, 13344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 115, 116, 117, 118, -1, -1, -1, 25, 26, 27, 1335e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 1336e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 38, 39, 40, 41, -1, 43, 44, 45, 46, 47, 13374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, 13384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 1339e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, 1340e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 78, 79, 80, 81, 82, -1, -1, 85, 86, -1, 1341e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 4, 5, 6, -1, -1, 104, 10, 11, 12, 13434676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 13, -1, -1, -1, -1, -1, -1, 115, 116, 117, 13444676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 118, -1, 25, 26, 27, 28, 29, 30, 31, 32, 13454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, 13464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 45, 46, 47, 48, 49, 50, -1, -1, 13474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 54, 55, -1, 57, 58, 59, 60, 61, 62, 13484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, 13494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 73, 74, -1, 76, 77, -1, -1, 10, 11, 12, 13504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1351407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 13524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, 13534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 114, 45, 46, 47, 48, 49, 50, -1, -1, 13544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 54, 55, -1, 57, 58, 59, 60, 61, 62, 1355407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, 13564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 73, 74, -1, 76, 77, 78, 79, 80, 81, 82, 1357407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, 1358407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13594676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 104, -1, -1, 107, 10, 11, 12, 13, -1, 13604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 115, 116, 117, 118, -1, -1, -1, -1, 13614676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 13624676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 13634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 45, 46, 47, 48, 49, 50, -1, -1, -1, 54, 13644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, 13654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 13664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 76, 77, 78, 79, 80, 81, 82, -1, -1, 13674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 13694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 107, 10, 11, 12, 13, -1, -1, -1, 13704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 115, 116, 117, 118, -1, -1, -1, -1, 25, 26, 13714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 13724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 13734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, 13744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 13754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, 13764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 78, 79, 80, 81, 82, -1, -1, 85, 86, 1377ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13784676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, 104, 10, 11, 13794676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, -1, -1, -1, -1, -1, 114, 115, 116, 13804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 117, 118, -1, 25, 26, 27, 28, 29, 30, 31, 1381ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 32, 33, 34, 35, 36, 37, 38, 39, -1, -1, 1382ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu -1, -1, -1, 45, 46, 47, 48, 49, 50, -1, 13834676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 54, 55, -1, 57, 58, 59, 60, 61, 1384ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 1385ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 72, 73, 74, -1, 76, 77, 78, 79, 80, 81, 1386ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, 1387ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 104, -1, -1, 107, 10, 11, 12, 13, 13894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 115, 116, 117, 118, -1, -1, -1, 13904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 13914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, 13924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 45, 46, 47, 48, 49, 50, -1, -1, -1, 13934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 54, 55, -1, 57, 58, 59, 60, 61, 62, 63, 13944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 64, 65, 66, 67, 68, 69, 70, -1, 72, 73, 13954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 74, -1, 76, 77, 78, 79, 80, 81, 82, -1, 13964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, 13971aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 10, 11, 12, 13, -1, -1, -1, -1, -1, 13994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 115, 116, 117, 118, -1, 25, 26, 27, 28, 14001aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 1401407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 1402407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 49, 50, -1, -1, -1, 54, 55, -1, 57, 58, 14034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 1404407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 69, 70, -1, 72, 73, 74, -1, 76, 77, 78, 1405407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 79, 80, 81, 82, -1, -1, 85, 86, -1, -1, 14061aa4b61c904cdab3530991f35f7979f14723821cVeranika Liaukevich -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 3, 4, 5, 6, 104, 8, 9, 10, 11, 14084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 12, 13, -1, -1, -1, -1, 115, 116, 117, 118, 14094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 14104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 14114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 14124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 14134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 14144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 1415407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 14164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, 14174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, 109, 25, 26, 1418407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1419407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 1420407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 14214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 1422407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 1423407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1424407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, 3, 4, 5, 6, -1, 8, 9, 10, 11, 1425407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 1426407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, 109, 25, 26, 27, 28, 29, 30, 31, 1427407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 1428407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 14294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 1430407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 1431407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 72, 73, 74, 75, -1, 77, -1, -1, -1, -1, 14324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 0, -1, -1, 3, 4, 5, 6, 14334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 7, 8, 9, 10, 11, 12, 13, -1, -1, -1, 1434407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, -1, -1, -1, -1, -1, 109, 25, 26, 1435407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1436407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 1437407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 14384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 1439407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 14404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1441407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 14424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, 25, 26, 27, 28, 29, 30, 31, 1443407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 1444407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 14454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 52, 53, 54, 55, -1, 57, 58, 59, 60, 61, 1446407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 62, 63, 64, 65, 66, 67, 68, 69, 70, -1, 1447407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 72, 73, 74, 75, -1, 77, 3, 4, 5, 6, 14484676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, 1449407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, 1450407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1451407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 37, 38, 39, 40, 41, -1, 43, 44, 45, 46, 1452407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 14534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 1454407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, 75, -1, 14554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 4, 5, 6, -1, -1, -1, 10, 11, 12, 14564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, 14584676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 33, 34, 35, 36, 37, 38, 39, -1, -1, -1, 14594676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, 45, 46, 47, 48, 49, 50, -1, -1, 14604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 54, 55, -1, 57, 58, 59, 60, 61, 62, 14614676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 63, 64, 65, 66, 67, 68, 69, 70, -1, 72, 14624676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 73, 74, -1, -1, 77, 10, 11, 12, 13, -1, 14634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 14654676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, 14664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 45, 46, 47, 48, 49, 50, -1, -1, -1, 54, 14674676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 55, -1, 57, 58, 59, 60, 61, 62, 63, 64, 14684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 14694676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, 76, 77, 10, 11, 12, 13, 82, -1, -1, 14704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, 14714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 14724676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, 14734676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 47, 48, 49, 50, -1, -1, -1, 54, 55, -1, 14744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 14754676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 67, 68, 69, 70, -1, 72, 73, 74, -1, -1, 14764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77 1477894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 1478894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1479eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1480eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich symbol of state STATE-NUM. */ 1481894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic const yytype_uint8 yystos[] = 1482894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1483894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14843c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 12, 13, 25, 26, 27, 28, 29, 30, 31, 32, 1485e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 148655a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 14874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 14884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 14894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 77, 159, 160, 161, 162, 163, 168, 169, 170, 171, 14904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 173, 174, 175, 176, 177, 180, 181, 182, 217, 218, 14914676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 219, 44, 76, 171, 174, 176, 40, 41, 76, 108, 14924676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 114, 220, 105, 111, 9, 40, 41, 42, 165, 14934676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 166, 172, 111, 114, 76, 174, 76, 114, 158, 175, 14944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 180, 174, 106, 0, 218, 174, 180, 108, 184, 76, 14954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 178, 179, 108, 200, 165, 164, 167, 175, 166, 76, 14964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 106, 113, 108, 3, 173, 175, 185, 186, 76, 14974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 78, 79, 80, 81, 82, 85, 86, 104, 107, 115, 14984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 116, 117, 118, 129, 130, 131, 133, 134, 135, 136, 14994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 15004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 147, 148, 149, 150, 151, 152, 153, 157, 180, 114, 15014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 183, 185, 113, 105, 111, 14, 15, 16, 18, 19, 15024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 20, 21, 22, 23, 24, 56, 108, 109, 114, 140, 15034676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 153, 154, 156, 159, 160, 180, 190, 191, 192, 193, 15044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 201, 202, 203, 205, 207, 209, 216, 76, 164, 167, 15054676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 106, 113, 107, 157, 154, 189, 175, 76, 187, 188, 15064676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 109, 186, 140, 140, 156, 85, 86, 106, 110, 105, 15074676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 105, 111, 55, 154, 104, 140, 119, 120, 121, 116, 15084676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 118, 83, 84, 87, 88, 122, 123, 89, 90, 126, 15094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 125, 124, 91, 93, 92, 127, 107, 185, 109, 79, 15104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 80, 179, 114, 114, 211, 104, 104, 114, 114, 156, 15114676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 104, 157, 112, 104, 109, 194, 94, 95, 96, 97, 15124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 98, 99, 100, 101, 102, 103, 113, 155, 111, 114, 15134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 109, 191, 106, 107, 157, 189, 113, 107, 187, 106, 15144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 111, 114, 76, 114, 105, 132, 156, 76, 82, 135, 15154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 154, 140, 140, 140, 142, 142, 143, 143, 144, 144, 15164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 144, 144, 145, 145, 146, 147, 148, 149, 150, 151, 15174676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 156, 109, 197, 198, 199, 212, 156, 114, 156, 112, 15184676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 210, 201, 154, 154, 157, 113, 107, 189, 113, 114, 15194676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 157, 188, 106, 114, 107, 112, 56, 200, 192, 190, 15204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 202, 213, 105, 105, 156, 170, 173, 208, 195, 107, 15214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 189, 113, 189, 107, 157, 154, 104, 208, 214, 215, 15224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 197, 204, 206, 76, 105, 109, 189, 107, 156, 114, 15234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 105, 17, 193, 113, 192, 196, 200, 114, 105, 156, 15244676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 196, 197, 189, 114 1525894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}; 1526894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1527eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1528eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic const yytype_uint8 yyr1[] = 1529eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 1530eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 0, 128, 129, 130, 130, 130, 130, 130, 130, 131, 1531eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 131, 131, 131, 131, 131, 132, 133, 134, 134, 135, 1532eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 135, 136, 136, 137, 137, 138, 139, 139, 139, 140, 1533eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 140, 140, 140, 141, 141, 141, 141, 142, 142, 142, 1534eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 1535eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 145, 145, 146, 146, 146, 147, 147, 148, 148, 149, 1536eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, 1537eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 1538eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 155, 155, 156, 156, 157, 158, 159, 159, 159, 159, 1539eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 159, 159, 159, 160, 161, 161, 162, 162, 163, 164, 1540eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 164, 165, 165, 165, 165, 166, 166, 166, 166, 167, 1541eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 1542eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 169, 169, 169, 170, 170, 171, 171, 172, 173, 173, 1543eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 1544eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 174, 174, 174, 174, 175, 175, 176, 176, 176, 177, 1545eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 178, 178, 179, 179, 179, 180, 180, 180, 181, 181, 1546eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 1547eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 1548eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 1549eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 15504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 181, 181, 181, 183, 182, 184, 182, 185, 185, 186, 15514676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 186, 187, 187, 188, 188, 189, 190, 191, 191, 192, 15524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 192, 192, 192, 192, 192, 192, 193, 194, 195, 193, 15534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 196, 196, 198, 197, 199, 197, 200, 200, 201, 201, 15544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 202, 202, 203, 204, 204, 206, 205, 207, 207, 208, 15554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 208, 210, 209, 211, 209, 212, 209, 213, 213, 214, 15564676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 214, 215, 215, 216, 216, 216, 216, 216, 217, 217, 15574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 218, 218, 220, 219 1558eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 1559894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1560eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 1561eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic const yytype_uint8 yyr2[] = 1562eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 1563eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 0, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1564eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, 1565eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2, 2, 1, 2, 3, 2, 1, 1, 1, 1, 1566eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 1567eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1568eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 1569eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 1570eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1571eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 1, 1, 3, 1, 2, 2, 2, 4, 5, 1572eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 6, 9, 2, 2, 1, 1, 2, 3, 3, 2, 1573eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 5, 3, 2, 3, 2, 0, 1, 1, 1, 1, 1574eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 3, 6, 7, 8, 5, 1, 2, 5, 6, 1575eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 7, 4, 2, 1, 2, 1, 1, 1, 1, 1, 1576eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2, 1, 2, 1, 1, 2, 2, 3, 1, 1, 1577eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 2, 2, 1, 1, 2, 1, 1, 1, 4, 1578eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 3, 1, 3, 3, 1, 3, 4, 1, 1, 1579eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1580eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1581eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1582eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15834676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 1, 1, 0, 6, 0, 5, 1, 2, 3, 15844676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 4, 1, 3, 1, 4, 1, 1, 1, 1, 1, 15854676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 1, 1, 1, 1, 1, 2, 0, 0, 5, 15864676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 1, 0, 2, 0, 2, 2, 3, 1, 2, 15874676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 2, 5, 3, 1, 0, 6, 3, 2, 1, 15884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 4, 0, 6, 0, 8, 0, 7, 1, 1, 1, 15894676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 0, 2, 3, 2, 2, 2, 3, 2, 1, 2, 15904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 1, 1, 0, 3 1591eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich}; 1592894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1593894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1594eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define yyerrok (yyerrstatus = 0) 1595eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define yyclearin (yychar = YYEMPTY) 1596eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYEMPTY (-2) 1597eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYEOF 0 1598894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1599eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYACCEPT goto yyacceptlab 1600eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYABORT goto yyabortlab 1601eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYERROR goto yyerrorlab 1602894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1603894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1604eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYRECOVERING() (!!yyerrstatus) 1605894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1606eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYBACKUP(Token, Value) \ 1607eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichdo \ 1608eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yychar == YYEMPTY) \ 1609eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 1610eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yychar = (Token); \ 1611eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yylval = (Value); \ 1612eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYPOPSTACK (yylen); \ 1613eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yystate = *yyssp; \ 1614eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto yybackup; \ 1615eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 1616eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else \ 1617eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 1618eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror (&yylloc, context, yyscanner, YY_("syntax error: cannot back up")); \ 1619eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYERROR; \ 1620eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 1621eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichwhile (0) 1622eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1623eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Error token number */ 1624eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYTERROR 1 1625eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYERRCODE 256 1626894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1627894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1628894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1629894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman If N is 0, then set CURRENT to the empty location which ends 1630894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman the previous symbol: RHS[0] (always defined). */ 1631894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1632894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YYLLOC_DEFAULT 1633eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYLLOC_DEFAULT(Current, Rhs, N) \ 1634eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich do \ 1635eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (N) \ 1636eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 1637eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1638eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1639eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1640eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1641eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 1642eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else \ 1643eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 1644eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).first_line = (Current).last_line = \ 1645eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYRHSLOC (Rhs, 0).last_line; \ 1646eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (Current).first_column = (Current).last_column = \ 1647eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYRHSLOC (Rhs, 0).last_column; \ 1648eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 1649eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich while (0) 1650894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 1651894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1652eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1653eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1654eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1655eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Enable debugging if requested. */ 1656eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if YYDEBUG 1657eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1658eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# ifndef YYFPRINTF 1659eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1660eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYFPRINTF fprintf 1661eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 1662eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1663eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYDPRINTF(Args) \ 1664eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichdo { \ 1665eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yydebug) \ 1666eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYFPRINTF Args; \ 1667eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich} while (0) 1668eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1669894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1670894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YY_LOCATION_PRINT -- Print the location on the stream. 1671894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman This macro was not mandated originally: define only if we know 1672894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman we won't break user code: when these are the locations we know. */ 1673894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1674894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YY_LOCATION_PRINT 1675eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 1676894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1677eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Print *YYLOCP on YYO. Private, do not rely on its existence. */ 1678894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1679eced26a12537825c00dcdd8e74e110b3e838a08fVeranika LiaukevichYY_ATTRIBUTE_UNUSED 1680eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic unsigned 1681eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) 1682eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 1683eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unsigned res = 0; 1684eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0; 1685eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 <= yylocp->first_line) 1686eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1687eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich res += YYFPRINTF (yyo, "%d", yylocp->first_line); 1688eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 <= yylocp->first_column) 1689eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich res += YYFPRINTF (yyo, ".%d", yylocp->first_column); 1690eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 1691eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 <= yylocp->last_line) 1692eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1693eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yylocp->first_line < yylocp->last_line) 1694eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1695eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich res += YYFPRINTF (yyo, "-%d", yylocp->last_line); 1696eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 <= end_col) 1697eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich res += YYFPRINTF (yyo, ".%d", end_col); 1698eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 1699eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else if (0 <= end_col && yylocp->first_column < end_col) 1700eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich res += YYFPRINTF (yyo, "-%d", end_col); 1701eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 1702eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return res; 1703eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 1704894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1705eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_LOCATION_PRINT(File, Loc) \ 1706eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_location_print_ (File, &(Loc)) 1707894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1708eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# else 1709eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1710894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1711eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#endif 1712894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1713894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1714eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1715eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichdo { \ 1716eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yydebug) \ 1717eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { \ 1718eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYFPRINTF (stderr, "%s ", Title); \ 1719eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_symbol_print (stderr, \ 1720eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Type, Value, Location, context, yyscanner); \ 1721eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYFPRINTF (stderr, "\n"); \ 1722eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } \ 1723eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich} while (0) 1724894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1725894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1726eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/*----------------------------------------. 1727eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich| Print this symbol's value on YYOUTPUT. | 1728eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich`----------------------------------------*/ 1729894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1730894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic void 1731eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context, void* yyscanner) 1732894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1733eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FILE *yyo = yyoutput; 1734eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYUSE (yyo); 173515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYUSE (yylocationp); 1736894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYUSE (context); 1737eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYUSE (yyscanner); 1738eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!yyvaluep) 1739eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return; 1740894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifdef YYPRINT 1741894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yytype < YYNTOKENS) 1742894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1743894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1744eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYUSE (yytype); 1745894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1746894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1747894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1748894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*--------------------------------. 1749894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| Print this symbol on YYOUTPUT. | 1750894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`--------------------------------*/ 1751894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1752894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic void 1753eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context, void* yyscanner) 1754894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1755eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYFPRINTF (yyoutput, "%s %s (", 1756eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 1757894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 175815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YY_LOCATION_PRINT (yyoutput, *yylocationp); 175915ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYFPRINTF (yyoutput, ": "); 1760eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context, yyscanner); 1761894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYFPRINTF (yyoutput, ")"); 1762894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1763894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1764894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*------------------------------------------------------------------. 1765894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1766894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| TOP (included). | 1767894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`------------------------------------------------------------------*/ 1768894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1769894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic void 177019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumanyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1771894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1772894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYFPRINTF (stderr, "Stack now"); 177319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman for (; yybottom <= yytop; yybottom++) 177419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman { 177519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yybot = *yybottom; 177619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYFPRINTF (stderr, " %d", yybot); 177719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 1778894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYFPRINTF (stderr, "\n"); 1779894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1780894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1781eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_STACK_PRINT(Bottom, Top) \ 1782eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichdo { \ 1783eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yydebug) \ 1784eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_stack_print ((Bottom), (Top)); \ 1785eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich} while (0) 1786894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1787894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1788894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*------------------------------------------------. 1789894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| Report that the YYRULE is going to be reduced. | 1790894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`------------------------------------------------*/ 1791894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1792894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic void 1793eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, TParseContext* context, void* yyscanner) 1794894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1795eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unsigned long int yylno = yyrline[yyrule]; 1796894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman int yynrhs = yyr2[yyrule]; 1797894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman int yyi; 1798894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1799eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyrule - 1, yylno); 1800894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* The symbols being reduced. */ 1801894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman for (yyi = 0; yyi < yynrhs; yyi++) 1802894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 180319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYFPRINTF (stderr, " $%d = ", yyi + 1); 1804eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_symbol_print (stderr, 1805eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yystos[yyssp[yyi + 1 - yynrhs]], 1806eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich &(yyvsp[(yyi + 1) - (yynrhs)]) 1807eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich , &(yylsp[(yyi + 1) - (yynrhs)]) , context, yyscanner); 180819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYFPRINTF (stderr, "\n"); 1809894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 1810894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1811894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1812eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YY_REDUCE_PRINT(Rule) \ 1813eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichdo { \ 1814eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yydebug) \ 1815eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yy_reduce_print (yyssp, yyvsp, yylsp, Rule, context, yyscanner); \ 1816eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich} while (0) 1817894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1818894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Nonzero means print parse trace. It is left uninitialized so that 1819894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman multiple parsers can coexist. */ 1820894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanint yydebug; 1821894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else /* !YYDEBUG */ 1822894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYDPRINTF(Args) 1823894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1824894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YY_STACK_PRINT(Bottom, Top) 1825894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YY_REDUCE_PRINT(Rule) 1826894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif /* !YYDEBUG */ 1827894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1828894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1829894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYINITDEPTH -- initial size of the parser's stacks. */ 1830eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#ifndef YYINITDEPTH 1831894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYINITDEPTH 200 1832894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 1833894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1834894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1835894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if the built-in stack extension method is used). 1836894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1837894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman Do not make this value too large; the results are undefined if 1838894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1839894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman evaluated with infinite-precision integer arithmetic. */ 1840894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1841894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef YYMAXDEPTH 1842894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define YYMAXDEPTH 10000 1843894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 1844894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1845894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1846894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if YYERROR_VERBOSE 1847894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1848894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef yystrlen 1849894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# if defined __GLIBC__ && defined _STRING_H 1850894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define yystrlen strlen 1851894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 1852894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Return the length of YYSTR. */ 1853894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic YYSIZE_T 1854894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyystrlen (const char *yystr) 1855894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1856894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSIZE_T yylen; 1857894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman for (yylen = 0; yystr[yylen]; yylen++) 1858894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman continue; 1859894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return yylen; 1860894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1861894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1862894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1863894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1864894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef yystpcpy 1865894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1866894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# define yystpcpy stpcpy 1867894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 1868894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1869894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDEST. */ 1870894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic char * 1871894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyystpcpy (char *yydest, const char *yysrc) 1872894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1873894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman char *yyd = yydest; 1874894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman const char *yys = yysrc; 1875894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1876894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman while ((*yyd++ = *yys++) != '\0') 1877894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman continue; 1878894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1879894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return yyd - 1; 1880894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1881894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1882894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1883894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1884894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef yytnamerr 1885894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1886894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman quotes and backslashes, so that it's suitable for yyerror. The 1887894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman heuristic is that double-quoting is unnecessary unless the string 1888894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman contains an apostrophe, a comma, or backslash (other than 1889894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman backslash-backslash). YYSTR is taken from yytname. If YYRES is 1890894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman null, do not copy; instead, return the length of what the result 1891894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman would have been. */ 1892894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic YYSIZE_T 1893894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyytnamerr (char *yyres, const char *yystr) 1894894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 1895894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (*yystr == '"') 1896894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 1897894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSIZE_T yyn = 0; 1898894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman char const *yyp = yystr; 1899894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1900894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman for (;;) 1901eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich switch (*++yyp) 1902eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1903eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case '\'': 1904eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case ',': 1905eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto do_not_strip_quotes; 1906eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1907eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case '\\': 1908eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (*++yyp != '\\') 1909eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto do_not_strip_quotes; 1910eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Fall through. */ 1911eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich default: 1912eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yyres) 1913eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyres[yyn] = *yyp; 1914eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyn++; 1915eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich break; 1916eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1917eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case '"': 1918eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yyres) 1919eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyres[yyn] = '\0'; 1920eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return yyn; 1921eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 1922894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman do_not_strip_quotes: ; 1923894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 1924894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1925894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (! yyres) 1926894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return yystrlen (yystr); 1927894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1928894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return yystpcpy (yyres, yystr) - yyres; 1929894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 1930894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 1931894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1932eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 1933eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich about the unexpected token YYTOKEN for the state stack whose top is 1934eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSSP. 1935894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 1936eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 1937eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich not large enough to hold the message. In that case, also set 1938eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich *YYMSG_ALLOC to the required number of bytes. Return 2 if the 1939eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich required number of bytes is too large to store. */ 1940eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic int 1941eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 1942eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytype_int16 *yyssp, int yytoken) 1943eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich{ 1944eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 1945eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yysize = yysize0; 1946eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1947eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Internationalized format string. */ 1948eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich const char *yyformat = YY_NULLPTR; 1949eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Arguments of yyformat. */ 1950eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1951eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Number of reported tokens (one for the "unexpected", one per 1952eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich "expected"). */ 1953eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yycount = 0; 1954eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1955eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* There are many possibilities here to consider: 1956eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich - If this state is a consistent state with a default action, then 1957eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich the only way this function was invoked is if the default action 1958eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich is an error action. In that case, don't check for expected 1959eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich tokens because there are none. 1960eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich - The only way there can be no lookahead present (in yychar) is if 1961eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich this state is a consistent state with a default action. Thus, 1962eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich detecting the absence of a lookahead is sufficient to determine 1963eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich that there is no unexpected or expected token to report. In that 1964eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case, just report a simple "syntax error". 1965eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich - Don't assume there isn't a lookahead just because this state is a 1966eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich consistent state with a default action. There might have been a 1967eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich previous inconsistent state, consistent state with a non-default 1968eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich action, or user semantic action that manipulated yychar. 1969eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich - Of course, the expected token list depends on states to have 1970eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich correct lookahead information, and it depends on the parser not 1971eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich to perform extra reductions after fetching a lookahead from the 1972eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich scanner and before detecting a syntax error. Thus, state merging 1973eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (from LALR or IELR) and default reductions corrupt the expected 1974eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich token list. However, the list is correct for canonical LR with 1975eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich one exception: it will still contain any token that will not be 1976eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich accepted due to an error action in a later state. 1977eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich */ 1978eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yytoken != YYEMPTY) 1979eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1980eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yyn = yypact[*yyssp]; 1981eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyarg[yycount++] = yytname[yytoken]; 1982eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!yypact_value_is_default (yyn)) 1983eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1984eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Start YYX at -YYN if negative to avoid negative indexes in 1985eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCHECK. In other words, skip the first -YYN actions for 1986eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich this state because they are default actions. */ 1987eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yyxbegin = yyn < 0 ? -yyn : 0; 1988eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Stay within bounds of both yycheck and yytname. */ 1989eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yychecklim = YYLAST - yyn + 1; 1990eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1991eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yyx; 1992eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 1993eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1994eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 1995eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && !yytable_value_is_error (yytable[yyx + yyn])) 1996eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1997eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1998eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 1999eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yycount = 1; 2000eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysize = yysize0; 2001eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich break; 2002eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2003eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyarg[yycount++] = yytname[yyx]; 2004eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2005eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 2006eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (! (yysize <= yysize1 2007eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 2008eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return 2; 2009eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysize = yysize1; 2010eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2011eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2012eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2013894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2014eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2015eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich switch (yycount) 2016eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2017eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYCASE_(N, S) \ 2018eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case N: \ 2019eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyformat = S; \ 2020eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich break 2021eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(0, YY_("syntax error")); 2022eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(1, YY_("syntax error, unexpected %s")); 2023eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 2024eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 2025eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 2026eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 2027eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# undef YYCASE_ 2028eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2029eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2030eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2031eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 2032eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 2033eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return 2; 2034eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysize = yysize1; 2035eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2036eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2037eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (*yymsg_alloc < yysize) 2038eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2039eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich *yymsg_alloc = 2 * yysize; 2040eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (! (yysize <= *yymsg_alloc 2041eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 2042eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 2043eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return 1; 2044eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2045eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2046eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Avoid sprintf, as that infringes on the user's name space. 2047eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Don't have undefined behavior even if the translation 2048eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich produced a string with the wrong number of "%s"s. */ 2049eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2050eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich char *yyp = *yymsg; 2051eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yyi = 0; 2052eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich while ((*yyp = *yyformat) != '\0') 2053eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 2054eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2055eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyp += yytnamerr (yyp, yyarg[yyi++]); 2056eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyformat += 2; 2057eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2058eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else 2059eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 2060eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyp++; 2061eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyformat++; 2062eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2063eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 2064eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return 0; 2065894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 2066894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif /* YYERROR_VERBOSE */ 2067894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2068894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-----------------------------------------------. 2069894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| Release the memory associated to this symbol. | 2070894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-----------------------------------------------*/ 2071894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2072894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanstatic void 2073eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, TParseContext* context, void* yyscanner) 2074894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 2075894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYUSE (yyvaluep); 207615ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYUSE (yylocationp); 2077894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYUSE (context); 2078eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYUSE (yyscanner); 2079894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (!yymsg) 2080894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yymsg = "Deleting"; 2081894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 2082894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2083eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2084eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYUSE (yytype); 2085eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_END 2086894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 2087894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2088894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2089894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2090894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2091eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/*----------. 2092eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich| yyparse. | 2093eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich`----------*/ 2094894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2095894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanint 2096eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichyyparse (TParseContext* context, void* yyscanner) 2097894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman{ 209819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* The lookahead symbol. */ 2099894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanint yychar; 2100894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2101eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 210219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman/* The semantic value of the lookahead symbol. */ 2103eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/* Default value used for initialization, for pacifying older GCCs 2104eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich or non-GCC compilers. */ 2105eced26a12537825c00dcdd8e74e110b3e838a08fVeranika LiaukevichYY_INITIAL_VALUE (static YYSTYPE yyval_default;) 2106eced26a12537825c00dcdd8e74e110b3e838a08fVeranika LiaukevichYYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); 2107894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 210815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu/* Location data for the lookahead symbol. */ 2109eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevichstatic YYLTYPE yyloc_default 2110eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 2111eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich = { 1, 1, 1, 1 } 2112eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# endif 2113eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich; 2114eced26a12537825c00dcdd8e74e110b3e838a08fVeranika LiaukevichYYLTYPE yylloc = yyloc_default; 211515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 211619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Number of syntax errors so far. */ 211719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yynerrs; 2118894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 211919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yystate; 212019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Number of tokens to shift before error messages enabled. */ 212119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yyerrstatus; 2122894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 212319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* The stacks and their tools: 2124eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 'yyss': related to states. 2125eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 'yyvs': related to semantic values. 2126eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 'yyls': related to locations. 2127894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2128eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich Refer to the stacks through separate pointers, to allow yyoverflow 212919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman to reallocate them elsewhere. */ 2130894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 213119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* The state stack. */ 213219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yytype_int16 yyssa[YYINITDEPTH]; 213319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yytype_int16 *yyss; 213419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yytype_int16 *yyssp; 2135894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 213619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* The semantic value stack. */ 213719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSTYPE yyvsa[YYINITDEPTH]; 213819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSTYPE *yyvs; 213919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSTYPE *yyvsp; 2140894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 214115ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu /* The location stack. */ 214215ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLTYPE yylsa[YYINITDEPTH]; 214315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLTYPE *yyls; 214415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLTYPE *yylsp; 214515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 214615ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu /* The locations where the error started and ended. */ 2147eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYLTYPE yyerror_range[3]; 214815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu 214919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSIZE_T yystacksize; 2150894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 215119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yyn; 215219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman int yyresult; 215319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Lookahead token as an internal (translated) token number. */ 2154eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yytoken = 0; 2155894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* The variables used to return semantic value and location from the 2156894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman action routines. */ 2157894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSTYPE yyval; 215815ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLTYPE yyloc; 2159894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 216019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#if YYERROR_VERBOSE 216119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Buffer for error messages, and its allocated size. */ 216219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman char yymsgbuf[128]; 216319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman char *yymsg = yymsgbuf; 216419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 216519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif 216619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 216715ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 2168894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2169894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* The number of symbols on the RHS of the reduced rule. 2170894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman Keep to zero when no symbol should be popped. */ 2171894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman int yylen = 0; 2172894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2173eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyssp = yyss = yyssa; 2174eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyvsp = yyvs = yyvsa; 2175eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yylsp = yyls = yylsa; 217619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yystacksize = YYINITDEPTH; 217719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 2178894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDPRINTF ((stderr, "Starting parse\n")); 2179894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2180894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = 0; 2181894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyerrstatus = 0; 2182894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yynerrs = 0; 218319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yychar = YYEMPTY; /* Cause a token to be read. */ 2184eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yylsp[0] = yylloc; 2185894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yysetstate; 2186894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2187894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*------------------------------------------------------------. 2188894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yynewstate -- Push a new state, which is found in yystate. | 2189894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`------------------------------------------------------------*/ 2190894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yynewstate: 2191894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* In all cases, when you get here, the value and location stacks 2192894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman have just been pushed. So pushing a state here evens the stacks. */ 2193894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyssp++; 2194894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2195894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yysetstate: 2196894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman *yyssp = yystate; 2197894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2198894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyss + yystacksize - 1 <= yyssp) 2199894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2200894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Get the current used size of the three stacks, in elements. */ 2201894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSIZE_T yysize = yyssp - yyss + 1; 2202894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2203894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef yyoverflow 2204894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2205eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Give user a chance to reallocate the stack. Use copies of 2206eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich these so that the &'s don't force the real ones into 2207eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich memory. */ 2208eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTYPE *yyvs1 = yyvs; 2209eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytype_int16 *yyss1 = yyss; 2210eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYLTYPE *yyls1 = yyls; 2211eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2212eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Each stack pointer address is followed by the size of the 2213eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich data in use in that stack, in bytes. This used to be a 2214eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich conditional around just the two extra args, but that might 2215eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich be undefined if yyoverflow is a macro. */ 2216eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyoverflow (YY_("memory exhausted"), 2217eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich &yyss1, yysize * sizeof (*yyssp), 2218eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich &yyvs1, yysize * sizeof (*yyvsp), 2219eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich &yyls1, yysize * sizeof (*yylsp), 2220eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich &yystacksize); 2221eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2222eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyls = yyls1; 2223eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyss = yyss1; 2224eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyvs = yyvs1; 2225894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2226894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else /* no yyoverflow */ 2227894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# ifndef YYSTACK_RELOCATE 2228894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyexhaustedlab; 2229894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# else 2230894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Extend the stack our own way. */ 2231894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (YYMAXDEPTH <= yystacksize) 2232eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto yyexhaustedlab; 2233894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystacksize *= 2; 2234894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (YYMAXDEPTH < yystacksize) 2235eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yystacksize = YYMAXDEPTH; 2236894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2237894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2238eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytype_int16 *yyss1 = yyss; 2239eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich union yyalloc *yyptr = 2240eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 2241eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (! yyptr) 2242eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto yyexhaustedlab; 2243eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTACK_RELOCATE (yyss_alloc, yyss); 2244eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTACK_RELOCATE (yyvs_alloc, yyvs); 2245eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTACK_RELOCATE (yyls_alloc, yyls); 2246894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# undef YYSTACK_RELOCATE 2247eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yyss1 != yyssa) 2248eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTACK_FREE (yyss1); 2249894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2250894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman# endif 2251894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif /* no yyoverflow */ 2252894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2253894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyssp = yyss + yysize - 1; 2254894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyvsp = yyvs + yysize - 1; 225515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu yylsp = yyls + yysize - 1; 2256894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2257894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDPRINTF ((stderr, "Stack size increased to %lu\n", 2258eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (unsigned long int) yystacksize)); 2259894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2260894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyss + yystacksize - 1 <= yyssp) 2261eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYABORT; 2262894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2263894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2264894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 2265894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 226619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman if (yystate == YYFINAL) 226719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman YYACCEPT; 226819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 2269894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yybackup; 2270894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2271894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-----------. 2272894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yybackup. | 2273894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-----------*/ 2274894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyybackup: 2275894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2276894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Do appropriate processing given the current state. Read a 227719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman lookahead token if we need one and don't already have one. */ 2278894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 227919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* First try to decide what to do without reference to lookahead token. */ 2280894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = yypact[yystate]; 2281eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yypact_value_is_default (yyn)) 2282894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yydefault; 2283894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 228419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Not known => get a lookahead token if don't already have one. */ 2285894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 228619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 2287894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yychar == YYEMPTY) 2288894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2289894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDPRINTF ((stderr, "Reading a token: ")); 2290eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yychar = yylex (&yylval, &yylloc, yyscanner); 2291894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2292894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2293894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yychar <= YYEOF) 2294894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2295894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yychar = yytoken = YYEOF; 2296894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYDPRINTF ((stderr, "Now at end of input.\n")); 2297894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2298894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 2299894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2300894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yytoken = YYTRANSLATE (yychar); 2301894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 2302894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2303894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2304894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* If the proper action on seeing token YYTOKEN is to reduce or to 2305894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman detect an error, take that action. */ 2306894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn += yytoken; 2307894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 2308894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yydefault; 2309894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = yytable[yyn]; 2310894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyn <= 0) 2311894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2312eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yytable_value_is_error (yyn)) 2313eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto yyerrlab; 2314894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = -yyn; 2315894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyreduce; 2316894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2317894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2318894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Count tokens shifted since error; after three, turn off error 2319894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman status. */ 2320894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyerrstatus) 2321894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyerrstatus--; 2322894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 232319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Shift the lookahead token. */ 2324894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 2325894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 232619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Discard the shifted token. */ 232719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman yychar = YYEMPTY; 2328894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2329894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = yyn; 2330eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2331894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman *++yyvsp = yylval; 2332eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_END 233315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu *++yylsp = yylloc; 2334894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yynewstate; 2335894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2336894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2337894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-----------------------------------------------------------. 2338894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yydefault -- do the default action for the current state. | 2339894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-----------------------------------------------------------*/ 2340894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyydefault: 2341894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = yydefact[yystate]; 2342894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyn == 0) 2343894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyerrlab; 2344894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyreduce; 2345894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2346894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2347894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-----------------------------. 2348894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyreduce -- Do a reduction. | 2349894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-----------------------------*/ 2350894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyreduce: 2351894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* yyn is the number of a rule to reduce with. */ 2352894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yylen = yyr2[yyn]; 2353894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2354894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* If YYLEN is nonzero, implement the default value of the action: 2355eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich '$$ = $1'. 2356894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2357894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman Otherwise, the following line sets YYVAL to garbage. 2358894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman This behavior is undocumented and Bison 2359894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman users should not rely upon it. Assigning to YYVAL 2360894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman unconditionally makes the parser a bit smaller, and it avoids a 2361894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman GCC warning that YYVAL may be used uninitialized. */ 2362894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyval = yyvsp[1-yylen]; 2363894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 236415ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu /* Default location. */ 236515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); 2366894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_REDUCE_PRINT (yyn); 2367894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (yyn) 2368894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2369894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case 2: 2370894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2371894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2372894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // The symbol table search was done in the lexical phase 2373eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich const TVariable *variable = context->getNamedVariable((yylsp[0]), (yyvsp[0].lex).string, (yyvsp[0].lex).symbol); 2374894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2375894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // don't delete $1.string, it's used by error recovery, and the pool 2376894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // pop will reclaim the memory 2377894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 23787cbb1de26de993b59381f9752c04cd55951fc645Nicolas Capens // Constants which aren't indexable arrays can be propagated by value. 23790863f0df08c859d5966e809073046e9dab1cde6eNicolas Capens ConstantUnion *constArray = variable->getConstPointer(); 23807cbb1de26de993b59381f9752c04cd55951fc645Nicolas Capens if (constArray && variable->getType().getArraySize() <= 1) { 2381894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TType t(variable->getType()); 2382eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(constArray, t, (yylsp[0])); 2383894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } else 2384894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.intermTypedNode) = context->intermediate.addSymbol(variable->getUniqueId(), 2385894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman variable->getName(), 2386eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich variable->getType(), (yylsp[0])); 238719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2388eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2389894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2390894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2391894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case 3: 2392894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2393894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2394eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 239519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2396eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2397894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2398894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2399894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case 4: 2400894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2401894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2402894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman ConstantUnion *unionArray = new ConstantUnion[1]; 2403eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unionArray->setIConst((yyvsp[0].lex).i); 2404eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConstExpr), (yylsp[0])); 240519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2406eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2407894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2408894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2409894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case 5: 2410894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2411894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2412894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman ConstantUnion *unionArray = new ConstantUnion[1]; 2413eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unionArray->setUConst((yyvsp[0].lex).u); 2414eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtUInt, EbpUndefined, EvqConstExpr), (yylsp[0])); 24152c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens } 2416eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 24172c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens break; 24182c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 24192c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 6: 24202c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 24212c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens { 24222c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens ConstantUnion *unionArray = new ConstantUnion[1]; 2423eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unionArray->setFConst((yyvsp[0].lex).f); 2424eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConstExpr), (yylsp[0])); 242519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2426eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2427894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2428894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24292c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 7: 2430894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2431894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2432894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman ConstantUnion *unionArray = new ConstantUnion[1]; 2433eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich unionArray->setBConst((yyvsp[0].lex).b); 2434eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConstExpr), (yylsp[0])); 243519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2436eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2437894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2438894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24392c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 8: 2440894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2441894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2442eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode); 244319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2444eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2445894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2446894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24472c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 9: 2448894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2449894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2450eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 245119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2452eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2453894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2454894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24552c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 10: 2456894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2457894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2458eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addIndexExpression((yyvsp[-3].interm.intermTypedNode), (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); 245919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2460eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2461894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2462894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24632c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 11: 2464894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2465894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2466eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 246719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2468eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2469894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2470894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24712c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 12: 2472894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2473894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2474eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addFieldSelectionExpression((yyvsp[-2].interm.intermTypedNode), (yylsp[-1]), *(yyvsp[0].lex).string, (yylsp[0])); 247519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2476eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2477894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2478894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24792c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 13: 2480894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2481894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2482eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addUnaryMathLValue(EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode), (yylsp[0])); 248319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2484eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2485894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2486894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24872c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 14: 2488894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2489894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2490eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addUnaryMathLValue(EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode), (yylsp[0])); 249119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2492eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2493894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2494894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 24952c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 15: 2496894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2497894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2498eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->integerErrorCheck((yyvsp[0].interm.intermTypedNode), "[]")) 2499894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 2500eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 250119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2502eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2503894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2504894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25052c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 16: 2506894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2507894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2508b3ff42cdf382b15fd1776881c525815f7d25a1f3Alexis Hetu bool fatalError = false; 2509eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addFunctionCallOrMethod((yyvsp[0].interm).function, (yyvsp[0].interm).nodePair.node1, (yyvsp[0].interm).nodePair.node2, (yylsp[0]), &fatalError); 2510b3ff42cdf382b15fd1776881c525815f7d25a1f3Alexis Hetu if (fatalError) 2511894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2512b3ff42cdf382b15fd1776881c525815f7d25a1f3Alexis Hetu YYERROR; 2513894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 251419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2515eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2516894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2517894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25182c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 17: 2519894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2520894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2521eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 2522950cb449744bc5d4e3d8ad8432e4549f5e29863cAlexis Hetu (yyval.interm).nodePair.node2 = nullptr; 252319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2524eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2525894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2526894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25272c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 18: 2528894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2529894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2530eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("", (yylsp[0]), "methods"); 2531eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 2532eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).nodePair.node2 = (yyvsp[-2].interm.intermTypedNode); 253319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2534eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2535894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2536894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25372c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 19: 2538894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2539894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2540eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-1].interm); 254119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2542eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2543894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2544894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25452c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 20: 2546894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2547894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2548eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-1].interm); 254919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2550eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2551894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2552894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25532c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 21: 2554894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2555894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2556eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).function = (yyvsp[-1].interm.function); 2557950cb449744bc5d4e3d8ad8432e4549f5e29863cAlexis Hetu (yyval.interm).nodePair.node1 = nullptr; 255819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2559eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2560894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2561894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25622c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 22: 2563894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2564894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2565eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).function = (yyvsp[0].interm.function); 2566950cb449744bc5d4e3d8ad8432e4549f5e29863cAlexis Hetu (yyval.interm).nodePair.node1 = nullptr; 256719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2568eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2569894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2570894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25712c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 23: 2572894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2573894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2574eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TParameter param = { 0, new TType((yyvsp[0].interm.intermTypedNode)->getType()) }; 2575eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-1].interm.function)->addParameter(param); 2576eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).function = (yyvsp[-1].interm.function); 2577eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).nodePair.node1 = (yyvsp[0].interm.intermTypedNode); 257819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2579eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2580894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2581894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25822c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 24: 2583894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2584894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2585eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TParameter param = { 0, new TType((yyvsp[0].interm.intermTypedNode)->getType()) }; 2586eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm).function->addParameter(param); 2587eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).function = (yyvsp[-2].interm).function; 2588eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).nodePair.node1 = context->intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 258919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2590eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2591894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2592894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 25932c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 25: 2594894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2595894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2596eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = (yyvsp[-1].interm.function); 259719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2598eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2599894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2600894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26012c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 26: 2602894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2603894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2604eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[0].interm.type).array) { 2605eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("[]", (yylsp[0]), "array constructor"); 2606894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 2607eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = context->addConstructorFunc((yyvsp[0].interm.type)); 260819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2609eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2610894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2611894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26122c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 27: 2613894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2614894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2615eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[0]), *(yyvsp[0].lex).string)) 2616894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 2617894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TType type(EbtVoid, EbpUndefined); 2618eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TFunction *function = new TFunction((yyvsp[0].lex).string, type); 2619894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.function) = function; 262019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2621eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2622894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2623894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26242c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 28: 2625894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2626894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2627eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[0]), *(yyvsp[0].lex).string)) 2628894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 2629894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TType type(EbtVoid, EbpUndefined); 2630eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TFunction *function = new TFunction((yyvsp[0].lex).string, type); 2631894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.function) = function; 263219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2633eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2634894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2635894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26362c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 29: 2637894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2638894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2639eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 264019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2641eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2642894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2643894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26442c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 30: 2645894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2646894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2647eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addUnaryMathLValue(EOpPreIncrement, (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 264819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2649eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2650894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2651894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26522c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 31: 2653894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2654894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2655eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addUnaryMathLValue(EOpPreDecrement, (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 265619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2657eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2658894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2659894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26602c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 32: 2661894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2662894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2663eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[-1].interm).op != EOpNull) { 2664eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addUnaryMath((yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 2665894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } else 2666eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 266719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2668eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2669894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2670894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26712c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 33: 2672894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2673253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpNull; } 2674eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2675894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2676894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26772c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 34: 2678894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2679253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpNegative; } 2680eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2681894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2682894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26832c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 35: 2684894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2685253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpLogicalNot; } 2686eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2687894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2688894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26892c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 36: 2690894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26911780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2692eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("~", (yylsp[0]), "bit-wise operator"); 2693253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitwiseNot; 26941780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2695eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2696894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2697894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 26982c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens case 37: 2699894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2700eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2701eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 27021780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 27031780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27041780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 38: 27051780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 2706894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2707eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("*", (yylsp[-1])); 2708eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 270919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2710eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2711894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2712894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27131780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 39: 2714894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2715894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2716eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("/", (yylsp[-1])); 2717eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 271819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2719eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2720894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2721894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27221780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 40: 27231780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27241780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2725eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("%", (yylsp[-1])); 2726eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("%", (yylsp[-1]), "integer modulus operator"); 2727eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpIMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 27281780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2729eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 27301780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 27311780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27321780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 41: 2733894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2734eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2735eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2736894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2737894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27381780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 42: 2739894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2740894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2741eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 274219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2743eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2744894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2745894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27461780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 43: 2747894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2748894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2749eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 275019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2751eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2752894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2753894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27541780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 44: 2755894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2756eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2757eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2758894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2759894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27601780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 45: 27611780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27621780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2763eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("<<", (yylsp[-1]), "bit-wise operator"); 2764eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpBitShiftLeft, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 27651780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2766eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 27671780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 27681780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27691780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 46: 27701780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27711780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2772eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY(">>", (yylsp[-1]), "bit-wise operator"); 2773eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpBitShiftRight, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 27741780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2775eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 27761780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 27771780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 27781780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 47: 2779894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2780eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2781eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2782894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2783894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27841780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 48: 2785894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2786894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2787eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 278819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2789eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2790894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2791894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 27921780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 49: 2793894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2794894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2795eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 279619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2797eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2798894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2799894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28001780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 50: 2801894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2802894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2803eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 280419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2805eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2806894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2807894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28081780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 51: 2809894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2810894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2811eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 281219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2813eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2814894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2815894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28161780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 52: 2817894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2818eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2819eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2820894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2821894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28221780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 53: 2823894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2824894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2825eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 282619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2827eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2828894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2829894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28301780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 54: 2831894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2832894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2833eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 283419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2835eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2836894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2837894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28381780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 55: 2839894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2840eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2841eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2842894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2843894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28441780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 56: 2845894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28461780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2847eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("&", (yylsp[-1]), "bit-wise operator"); 2848eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpBitwiseAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 28491780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2850eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2851894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2852894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28531780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 57: 2854894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2855eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2856eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 28572c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens break; 28582c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 28591780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 58: 28602c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 2861894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2862eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("^", (yylsp[-1]), "bit-wise operator"); 2863eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpBitwiseXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 286419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2865eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2866894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2867894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28681780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 59: 2869894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2870eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2871eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2872894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2873894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28741780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 60: 2875894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2876894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2877eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("|", (yylsp[-1]), "bit-wise operator"); 2878eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMath(EOpBitwiseOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 287919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2880eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2881894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2882894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28831780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 61: 2884894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2885eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2886eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2887894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2888894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28891780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 62: 2890894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2891894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2892eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 289319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2894eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2895894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2896894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 28971780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 63: 2898894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2899eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2900eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2901894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2902894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29031780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 64: 2904894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2905894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2906eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 29071780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2908eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29091780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29101780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29111780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 65: 29121780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 2913eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2914eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29151780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29161780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29171780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 66: 29181780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29191780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2920eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addBinaryMathBooleanResult(EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 29211780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu } 2922eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29231780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29241780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29251780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 67: 29261780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 2927eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2928eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29291780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29301780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29311780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 68: 29321780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29331780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu { 2934eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addTernarySelection((yyvsp[-4].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-3])); 293519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2936eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2937894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2938894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29391780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 69: 2940894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2941eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 2942eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2943894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2944894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29451780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 70: 2946894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2947894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 2948eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->lValueErrorCheck((yylsp[-1]), "assign", (yyvsp[-2].interm.intermTypedNode))) 2949894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 2950eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->addAssign((yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 295119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 2952eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2953894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2954894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29551780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 71: 2956894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2957253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpAssign; } 2958eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2959894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2960894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29611780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 72: 2962894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2963eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { FRAG_VERT_ONLY("*=", (yylsp[0])); (yyval.interm).op = EOpMulAssign; } 2964eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2965894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2966894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29671780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 73: 2968894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2969eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { FRAG_VERT_ONLY("/=", (yylsp[0])); (yyval.interm).op = EOpDivAssign; } 2970eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2971894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2972894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29731780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 74: 29741780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 2975eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY("%=", (yylsp[0]), "integer modulus operator"); 2976eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("%=", (yylsp[0])); (yyval.interm).op = EOpIModAssign; } 2977eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29781780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29791780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 29801780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 75: 2981894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2982253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpAddAssign; } 2983eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2984894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2985894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29861780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 76: 2987894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 2988253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu { (yyval.interm).op = EOpSubAssign; } 2989eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 2990894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 2991894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 29921780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 77: 29931780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 2994eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY("<<=", (yylsp[0]), "bit-wise operator"); 2995eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("<<=", (yylsp[0])); 2996253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitShiftLeftAssign; } 2997eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 29981780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 29991780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 30001780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 78: 30011780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 3002eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY(">>=", (yylsp[0]), "bit-wise operator"); 3003eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY(">>=", (yylsp[0])); 3004253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitShiftRightAssign; } 3005eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 30061780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 30071780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 30081780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 79: 30091780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 3010eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY("&=", (yylsp[0]), "bit-wise operator"); 3011eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("&=", (yylsp[0])); 3012253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitwiseAndAssign; } 3013eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 30141780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 30151780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 30161780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 80: 30171780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 3018eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY("^=", (yylsp[0]), "bit-wise operator"); 3019eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("^=", (yylsp[0])); 3020253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitwiseXorAssign; } 3021eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 30221780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 30231780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 30241780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 81: 30251780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 3026eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { ES3_ONLY("|=", (yylsp[0]), "bit-wise operator"); 3027eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("|=", (yylsp[0])); 3028253fdd10c2c3b428302755db0df4ca6fbb60024fAlexis Hetu (yyval.interm).op = EOpBitwiseOrAssign; } 3029eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 30301780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu break; 30311780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu 30321780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 82: 3033894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3034894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3035eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 303619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3037eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3038894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3039894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 30401780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 83: 3041894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3042894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3043eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = context->intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yylsp[-1])); 3044894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if ((yyval.interm.intermTypedNode) == 0) { 3045eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->binaryOpError((yylsp[-1]), ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(), (yyvsp[0].interm.intermTypedNode)->getCompleteString()); 3046894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3047eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 3048894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 304919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3050eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3051894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3052894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 30531780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 84: 3054894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3055894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3056eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->constErrorCheck((yyvsp[0].interm.intermTypedNode))) 3057894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3058eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 305919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3060eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3061894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3062894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 30631780905ed341f3b5df8fd87774ed53d3aaaa280fAlexis Hetu case 85: 3064894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3065894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3066eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->enterStructDeclaration((yylsp[-1]), *(yyvsp[-1].lex).string)) 3067a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu context->recover(); 3068eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.lex) = (yyvsp[-1].lex); 3069a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu } 3070eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3071a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu break; 3072a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3073a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 86: 3074a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3075a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu { 3076407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu (yyval.interm.intermNode) = context->addFunctionPrototypeDeclaration(*((yyvsp[-1].interm).function), (yylsp[-1])); 307719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3078eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3079894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3080894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3081a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 87: 3082894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3083894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3084eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TIntermAggregate *aggNode = (yyvsp[-1].interm).intermAggregate; 3085dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu if (aggNode && aggNode->getOp() == EOpNull) 3086dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu aggNode->setOp(EOpDeclaration); 3087dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu (yyval.interm.intermNode) = aggNode; 308819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3089eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3090894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3091894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3092a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 88: 3093894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3094894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3095eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!context->symbolTable.setDefaultPrecision( (yyvsp[-1].interm.type), (yyvsp[-2].interm.precision) )) { 3096eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[-3]), "illegal type argument for default precision qualifier", getBasicString((yyvsp[-1].interm.type).type)); 3097d4ae863d01d5f448dbbba6be4ecc161971a2324fJohn Bauman context->recover(); 3098d4ae863d01d5f448dbbba6be4ecc161971a2324fJohn Bauman } 3099894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.intermNode) = 0; 310019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3101eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3102894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3103894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3104a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 89: 3105a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3106a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu { 3107eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY(getQualifierString((yyvsp[-4].interm.type).qualifier), (yylsp[-4]), "interface blocks"); 3108eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-4].interm.type), (yylsp[-3]), *(yyvsp[-3].lex).string, (yyvsp[-2].interm.fieldList), NULL, (yylsp[-4]), NULL, (yylsp[-4])); 3109a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu } 3110eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3111a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu break; 3112a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3113a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 90: 3114a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3115a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu { 3116eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY(getQualifierString((yyvsp[-5].interm.type).qualifier), (yylsp[-5]), "interface blocks"); 3117eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-5].interm.type), (yylsp[-4]), *(yyvsp[-4].lex).string, (yyvsp[-3].interm.fieldList), (yyvsp[-1].lex).string, (yylsp[-1]), NULL, (yylsp[-5])); 3118a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu } 3119eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3120a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu break; 3121a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3122a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 91: 3123a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3124a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu { 3125eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY(getQualifierString((yyvsp[-8].interm.type).qualifier), (yylsp[-8]), "interface blocks"); 3126eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addInterfaceBlock((yyvsp[-8].interm.type), (yylsp[-7]), *(yyvsp[-7].lex).string, (yyvsp[-6].interm.fieldList), (yyvsp[-4].lex).string, (yylsp[-4]), (yyvsp[-2].interm.intermTypedNode), (yylsp[-3])); 3127a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu } 3128eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3129a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu break; 3130a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3131a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 92: 3132a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3133a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu { 3134eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->parseGlobalLayoutQualifier((yyvsp[-1].interm.type)); 3135a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu (yyval.interm.intermNode) = 0; 3136a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu } 3137eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3138a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu break; 3139a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu 3140a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 93: 3141894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3142894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3143407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu (yyval.interm).function = context->parseFunctionDeclarator((yylsp[0]), (yyvsp[-1].interm.function)); 314419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3145eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3146894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3147894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3148a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 94: 3149894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3150894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3151eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = (yyvsp[0].interm.function); 315219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3153eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3154894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3155894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3156a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 95: 3157894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3158894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3159eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = (yyvsp[0].interm.function); 316019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3161eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3162894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3163894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3164a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 96: 3165894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3166894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3167894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Add the parameter 3168eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = (yyvsp[-1].interm.function); 3169eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid) 3170eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param); 3171894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 3172eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich delete (yyvsp[0].interm).param.type; 317319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3174eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3175894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3176894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3177a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 97: 3178894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3179894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3180894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 3181894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Only first parameter of one-parameter functions can be void 3182894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // The check for named parameters not being void is done in parameter_declarator 3183894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 3184eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) { 3185894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 3186894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // This parameter > first is void 3187894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 3188eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[-1]), "cannot be an argument type except for '(void)'", "void"); 3189894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3190eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich delete (yyvsp[0].interm).param.type; 3191894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } else { 3192894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Add the parameter 3193eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.function) = (yyvsp[-2].interm.function); 3194eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param); 3195894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 319619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3197eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3198894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3199894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3200a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 98: 3201894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3202894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3203eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[-2].interm.type).qualifier != EvqGlobal && (yyvsp[-2].interm.type).qualifier != EvqTemporary) { 3204eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[-1]), "no qualifiers allowed for function return", getQualifierString((yyvsp[-2].interm.type).qualifier)); 3205894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3206894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 3207407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu if (!(yyvsp[-2].interm.type).layoutQualifier.isEmpty()) 3208407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu { 3209407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->error((yylsp[-1]), "no qualifiers allowed for function return", "layout"); 3210407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->recover(); 3211407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu } 3212894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // make sure a sampler is not involved as well... 3213407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu if (context->samplerErrorCheck((yylsp[-1]), (yyvsp[-2].interm.type), "samplers can't be function return values")) 3214894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3215894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3216894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Add the function as a prototype after parsing it (we do not support recursion) 3217894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TFunction *function; 3218eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TType type((yyvsp[-2].interm.type)); 3219eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich function = new TFunction((yyvsp[-1].lex).string, type); 3220894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.function) = function; 3221e97a31e2ecef119a235e3ef474cc8d9e1395a532Alexis Hetu 322266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman context->symbolTable.push(); 322319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3224eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3225894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3226894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3227a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 99: 3228894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3229894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3230eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[-1].interm.type).type == EbtVoid) { 3231eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[0]), "illegal use of type 'void'", (yyvsp[0].lex).string->c_str()); 3232894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3233894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 3234eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[0]), *(yyvsp[0].lex).string)) 3235894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3236eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type))}; 3237894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm).param = param; 323819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3239eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3240894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3241894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3242a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 100: 3243894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3244894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3245894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Check that we can make an array out of this type 3246eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->arrayTypeErrorCheck((yylsp[-2]), (yyvsp[-4].interm.type))) 3247894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3248894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3249eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[-3]), *(yyvsp[-3].lex).string)) 3250894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3251894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3252858c0393b51e98025a9d0a4864985aecb4a3d5e5Nicolas Capens int size = 0; 3253eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->arraySizeErrorCheck((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode), size)) 3254894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3255eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-4].interm.type).setArray(true, size); 3256894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3257eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TType* type = new TType((yyvsp[-4].interm.type)); 3258eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TParameter param = { (yyvsp[-3].lex).string, type }; 3259894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm).param = param; 326019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3261eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3262894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3263894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3264a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 101: 3265894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3266894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3267eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 3268eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->paramErrorCheck((yylsp[0]), (yyvsp[-2].interm.qualifier), (yyvsp[-1].interm.qualifier), (yyval.interm).param.type)) 3269894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 327019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3271eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3272894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3273894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3274a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 102: 3275894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3276894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3277eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 3278eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->parameterSamplerErrorCheck((yylsp[0]), (yyvsp[-1].interm.qualifier), *(yyvsp[0].interm).param.type)) 3279894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3280eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->paramErrorCheck((yylsp[0]), EvqTemporary, (yyvsp[-1].interm.qualifier), (yyval.interm).param.type)) 3281894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 328219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3283eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3284894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3285894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3286a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 103: 3287894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3288894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3289eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 3290eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->paramErrorCheck((yylsp[0]), (yyvsp[-2].interm.qualifier), (yyvsp[-1].interm.qualifier), (yyval.interm).param.type)) 3291894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 329219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3293eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3294894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3295894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3296a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 104: 3297894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3298894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3299eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 3300eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->parameterSamplerErrorCheck((yylsp[0]), (yyvsp[-1].interm.qualifier), *(yyvsp[0].interm).param.type)) 3301894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3302eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->paramErrorCheck((yylsp[0]), EvqTemporary, (yyvsp[-1].interm.qualifier), (yyval.interm).param.type)) 3303894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 330419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3305eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3306894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3307894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3308a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 105: 3309894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3310894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3311894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.qualifier) = EvqIn; 331219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3313eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3314894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3315894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3316a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 106: 3317894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3318894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3319894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.qualifier) = EvqIn; 332019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3321eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3322894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3323894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3324a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 107: 3325894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3326894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3327894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.qualifier) = EvqOut; 332819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3329eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3330894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3331894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3332a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 108: 3333894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3334894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3335894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.qualifier) = EvqInOut; 333619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3337eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3338894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3339894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3340a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 109: 3341894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3342894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3343eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TParameter param = { 0, new TType((yyvsp[0].interm.type)) }; 3344894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm).param = param; 334519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3346eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3347894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3348894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3349a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 110: 3350894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3351894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3352eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[0].interm); 335319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3354eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3355894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3356894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3357a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 111: 3358894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3359894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3360eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-2].interm); 3361eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseDeclarator((yyval.interm).type, (yyvsp[-2].interm).intermAggregate, (yylsp[0]), *(yyvsp[0].lex).string); 336219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3363eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3364894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3365894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3366a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 112: 3367894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3368894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3369eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-5].interm); 3370eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseArrayDeclarator((yyval.interm).type, (yyvsp[-5].interm).intermAggregate, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); 337119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3372eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3373894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3374894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3375a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 113: 3376894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3377894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3378eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("[]", (yylsp[-4]), "implicitly sized array"); 3379eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-6].interm); 3380eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseArrayInitDeclarator((yyval.interm).type, (yyvsp[-6].interm).intermAggregate, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 338119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3382eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3383894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3384894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3385a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 114: 3386894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3387894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3388eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("=", (yylsp[-1]), "first-class arrays (array initializer)"); 3389eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-7].interm); 3390eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseArrayInitDeclarator((yyval.interm).type, (yyvsp[-7].interm).intermAggregate, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 339119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3392eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3393894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3394894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3395a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 115: 3396894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3397894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3398eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm) = (yyvsp[-4].interm); 3399eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseInitDeclarator((yyval.interm).type, (yyvsp[-4].interm).intermAggregate, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 340019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3401eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3402894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3403894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3404a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 116: 3405894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3406894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3407eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[0].interm.type); 3408eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), ""); 340919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3410eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3411894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3412894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3413a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 117: 3414894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3415894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3416eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[-1].interm.type); 3417eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleDeclaration((yyval.interm).type, (yylsp[0]), *(yyvsp[0].lex).string); 341819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3419eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3420894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3421894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3422a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 118: 3423894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3424894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3425eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[-4].interm.type); 3426eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleArrayDeclaration((yyval.interm).type, (yylsp[-3]), *(yyvsp[-3].lex).string, (yylsp[-2]), (yyvsp[-1].interm.intermTypedNode)); 342719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3428eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3429894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3430894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3431a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 119: 3432894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3433894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3434eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("[]", (yylsp[-3]), "implicitly sized array"); 3435eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[-5].interm.type); 3436eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-4]), *(yyvsp[-4].lex).string, (yylsp[-3]), nullptr, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 343719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3438eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3439894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3440894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3441a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 120: 3442894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3443894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3444eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("=", (yylsp[-1]), "first-class arrays (array initializer)"); 3445eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[-6].interm.type); 3446eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleArrayInitDeclaration((yyval.interm).type, (yylsp[-5]), *(yyvsp[-5].lex).string, (yylsp[-4]), (yyvsp[-3].interm.intermTypedNode), (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 344719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3448eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3449894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3450894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3451a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 121: 3452894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3453894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3454eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).type = (yyvsp[-3].interm.type); 3455eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseSingleInitDeclaration((yyval.interm).type, (yylsp[-2]), *(yyvsp[-2].lex).string, (yylsp[-1]), (yyvsp[0].interm.intermTypedNode)); 3456dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu } 3457eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3458dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu break; 3459894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3460a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 122: 3461dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu 3462dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu { 3463dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu // $$.type is not used in invariant declarations. 3464eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm).intermAggregate = context->parseInvariantDeclaration((yylsp[-1]), (yylsp[0]), (yyvsp[0].lex).string, (yyvsp[0].lex).symbol); 3465dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu } 3466eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3467dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu break; 3468dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu 3469a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 123: 3470dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu 3471dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu { 3472eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[0].interm.type); 3473dd7ff7a5695e28d5e1fe156349786639ee0783d7Alexis Hetu 3474eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[0].interm.type).array) { 3475eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("[]", (yylsp[0]), "first-class-array"); 347642ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu if (context->getShaderVersion() != 300) { 3477eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[0].interm.type).clearArrayness(); 347842ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu } 3479894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 348019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3481eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3482894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3483894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3484a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 124: 3485894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3486894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3487eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = context->addFullySpecifiedType((yyvsp[-1].interm.type).qualifier, (yyvsp[-1].interm.type).invariant, (yyvsp[-1].interm.type).layoutQualifier, (yyvsp[0].interm.type)); 348819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3489eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3490894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3491894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3492a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 125: 3493894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3494894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 349555a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu (yyval.interm.type).qualifier = EvqSmooth; 349619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3497eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3498894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3499894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3500a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 126: 3501894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3502894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 350355a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu (yyval.interm.type).qualifier = EvqFlat; 350455a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu } 3505eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 350655a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu break; 350755a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 3508a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 127: 350955a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 351055a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu { 351155a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu (yyval.interm.qualifier) = EvqConstReadOnly; 351255a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu } 3513eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 351455a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu break; 351555a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 3516a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 128: 351755a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 351855a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu { 3519eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich VERTEX_ONLY("attribute", (yylsp[0])); 3520eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES2_ONLY("attribute", (yylsp[0])); 3521eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->globalErrorCheck((yylsp[0]), context->symbolTable.atGlobalLevel(), "attribute")) 3522894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3523eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, EvqAttribute, (yylsp[0])); 352419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3525eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3526894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3527894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3528a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 129: 3529894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3530894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3531eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES2_ONLY("varying", (yylsp[0])); 3532eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->globalErrorCheck((yylsp[0]), context->symbolTable.atGlobalLevel(), "varying")) 3533894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 35340a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() == GL_VERTEX_SHADER) 3535eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, EvqVaryingOut, (yylsp[0])); 3536894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 3537eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, EvqVaryingIn, (yylsp[0])); 353819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3539eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3540894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3541894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3542a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 130: 3543894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3544894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3545eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES2_ONLY("varying", (yylsp[-1])); 3546eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->globalErrorCheck((yylsp[-1]), context->symbolTable.atGlobalLevel(), "invariant varying")) 3547894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 35480a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() == GL_VERTEX_SHADER) 3549eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingOut, (yylsp[-1])); 3550894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 3551eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, EvqInvariantVaryingIn, (yylsp[-1])); 355219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3553eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3554894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3555894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3556a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 131: 3557894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3558894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3559407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu if ((yyvsp[0].interm.type).qualifier != EvqConstExpr && !context->symbolTable.atGlobalLevel()) 3560407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu { 3561407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->error((yylsp[0]), "Local variables can only use the const storage qualifier.", getQualifierString((yyvsp[0].interm.type).qualifier)); 3562407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->recover(); 3563407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu } 3564eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); 3565a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3566eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3567a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3568a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3569a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 132: 357055a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 357155a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu { 3572eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[-1]), (yyvsp[-1].interm.type).qualifier, (yylsp[0]), (yyvsp[0].interm.type).qualifier); 357355a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu } 3574eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 357555a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu break; 357655a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 3577a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 133: 357855a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 357955a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu { 3580eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[0]), "interpolation qualifier requires a fragment 'in' or vertex 'out' storage qualifier", getQualifierString((yyvsp[0].interm.type).qualifier)); 358155a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu context->recover(); 3582e97a31e2ecef119a235e3ef474cc8d9e1395a532Alexis Hetu 358355a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3584eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[0])); 358555a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu } 3586eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 358755a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu break; 358855a2cbc6454aaccaaec43a842602e23c917d8307Alexis Hetu 3589a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 134: 3590a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3591a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 35927d626796531874d308706c46a32942d71c85a7f8Nicolas Capens (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3593eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).layoutQualifier = (yyvsp[0].interm.layoutQualifier); 35947d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3595eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 35967d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 35977d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3598a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 135: 35997d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 36007d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3601eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); 3602eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).layoutQualifier = (yyvsp[-1].interm.layoutQualifier); 36037d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3604eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 36057d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 36067d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3607a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 136: 36087d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 36097d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3610eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->es3InvariantErrorCheck((yyvsp[0].interm.type).qualifier, (yylsp[-1])); 3611eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, (yyvsp[0].interm.type).qualifier, (yylsp[0])); 3612ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu (yyval.interm.type).invariant = true; 3613a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3614eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3615a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3616a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3617a35d8232a5276bef4eae7230d0ed71ce89aa23e8Alexis Hetu case 137: 3618a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3619a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 3620eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->es3InvariantErrorCheck((yyvsp[0].interm.type).qualifier, (yylsp[-2])); 3621eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = context->joinInterpolationQualifiers((yylsp[-1]), (yyvsp[-1].interm.type).qualifier, (yylsp[0]), (yyvsp[0].interm.type).qualifier); 3622ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu (yyval.interm.type).invariant = true; 3623ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu } 3624eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3625ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu break; 3626ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 3627ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 138: 3628ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 3629ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu { 3630ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu (yyval.interm.type).qualifier = EvqConstExpr; 3631ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu } 3632eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3633ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu break; 3634ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 3635ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 139: 3636ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu 3637ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu { 3638eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("in", (yylsp[0]), "storage qualifier"); 36390a65584a1529450c476c026f3254d78efc200645Alexis Hetu (yyval.interm.type).qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentIn : EvqVertexIn; 3640a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3641eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3642a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3643a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3644ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 140: 3645a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3646a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 3647eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("out", (yylsp[0]), "storage qualifier"); 36480a65584a1529450c476c026f3254d78efc200645Alexis Hetu (yyval.interm.type).qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqVertexOut; 3649a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3650eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3651a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3652a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3653ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 141: 3654a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3655a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 3656eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("centroid in", (yylsp[-1]), "storage qualifier"); 36570a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() == GL_VERTEX_SHADER) 365842ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu { 3659eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[-1]), "invalid storage qualifier", "it is an error to use 'centroid in' in the vertex shader"); 366042ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu context->recover(); 366142ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu } 36620a65584a1529450c476c026f3254d78efc200645Alexis Hetu (yyval.interm.type).qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqCentroidIn : EvqVertexIn; 3663a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3664eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3665a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3666a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3667ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 142: 3668a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3669a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 3670eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("centroid out", (yylsp[-1]), "storage qualifier"); 36710a65584a1529450c476c026f3254d78efc200645Alexis Hetu if (context->getShaderType() == GL_FRAGMENT_SHADER) 367242ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu { 3673eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[-1]), "invalid storage qualifier", "it is an error to use 'centroid out' in the fragment shader"); 367442ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu context->recover(); 367542ff6b15714827bb44869e5f1c41918b461bf4c8Alexis Hetu } 36760a65584a1529450c476c026f3254d78efc200645Alexis Hetu (yyval.interm.type).qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqCentroidOut; 3677a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens } 3678eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3679a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens break; 3680a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3681ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 143: 3682a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens 3683a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens { 3684eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->globalErrorCheck((yylsp[0]), context->symbolTable.atGlobalLevel(), "uniform")) 3685894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3686a6a79ab0490903fa4dd0d77bc3cf041e48936ecaNicolas Capens (yyval.interm.type).qualifier = EvqUniform; 368719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3688eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3689894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3690894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3691ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 144: 3692894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3693894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3694eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[0].interm.type); 369566b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 369666b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman if ((yyval.interm.type).precision == EbpUndefined) { 3697eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).precision = context->symbolTable.getDefaultPrecision((yyvsp[0].interm.type).type); 3698eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->precisionErrorCheck((yylsp[0]), (yyval.interm.type).precision, (yyvsp[0].interm.type).type)) { 369966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman context->recover(); 370066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman } 370166b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman } 370219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3703eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3704894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3705894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3706ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 145: 3707894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3708894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3709eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[0].interm.type); 3710eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).precision = (yyvsp[-1].interm.precision); 3711407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu 3712407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu if (!SupportsPrecision((yyvsp[0].interm.type).type)) { 3713407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->error((yylsp[-1]), "illegal type for precision qualifier", getBasicString((yyvsp[0].interm.type).type)); 3714407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->recover(); 3715407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu } 371619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3717eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3718894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3719894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3720ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 146: 3721894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3722894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3723894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.precision) = EbpHigh; 372419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3725eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3726894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3727894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3728ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 147: 3729894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3730894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3731894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.precision) = EbpMedium; 373219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3733eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3734894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3735894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3736ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 148: 3737894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3738894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3739894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.precision) = EbpLow; 374019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3741eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3742894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3743894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3744ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 149: 37457d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37467d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3747eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("layout", (yylsp[-3]), "qualifier"); 3748eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = (yyvsp[-1].interm.layoutQualifier); 37497d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3750eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37517d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37527d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3753ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 150: 37547d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37557d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3756eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = (yyvsp[0].interm.layoutQualifier); 37577d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3758eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37597d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37607d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3761ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 151: 37627d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37637d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3764eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = context->joinLayoutQualifiers((yyvsp[-2].interm.layoutQualifier), (yyvsp[0].interm.layoutQualifier)); 37657d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3766eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37677d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37687d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3769ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 152: 37707d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37717d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3772eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[0].lex).string, (yylsp[0])); 37737d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3774eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37757d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37767d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3777ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 153: 37787d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37797d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3780eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0])); 37817d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3782eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37837d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37847d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3785ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 154: 37867d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 37877d626796531874d308706c46a32942d71c85a7f8Nicolas Capens { 3788eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.layoutQualifier) = context->parseLayoutQualifier(*(yyvsp[-2].lex).string, (yylsp[-2]), *(yyvsp[0].lex).string, (yyvsp[0].lex).i, (yylsp[0])); 37897d626796531874d308706c46a32942d71c85a7f8Nicolas Capens } 3790eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 37917d626796531874d308706c46a32942d71c85a7f8Nicolas Capens break; 37927d626796531874d308706c46a32942d71c85a7f8Nicolas Capens 3793ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 155: 3794894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3795894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3796eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[0].interm.type); 379719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3798eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3799894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3800894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3801ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 156: 3802894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3803894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3804eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich ES3_ONLY("[]", (yylsp[-1]), "implicitly sized array"); 3805eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[-2].interm.type); 3806e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu (yyval.interm.type).setArray(true, 0); 3807e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu } 3808eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3809e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu break; 3810e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 3811ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 157: 3812e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 3813e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu { 3814eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[-3].interm.type); 3815894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3816eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->arrayTypeErrorCheck((yylsp[-2]), (yyvsp[-3].interm.type))) 3817894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3818894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else { 3819858c0393b51e98025a9d0a4864985aecb4a3d5e5Nicolas Capens int size = 0; 3820eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->arraySizeErrorCheck((yylsp[-2]), (yyvsp[-1].interm.intermTypedNode), size)) 3821894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 3822894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setArray(true, size); 3823894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 382419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3825eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3826894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3827894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3828ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 158: 3829894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3830894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3831894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3832eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtVoid, qual, (yylsp[0])); 383319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3834eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3835894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3836894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3837ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 159: 3838894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3839894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3840894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3841eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 384219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3843eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3844894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3845894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3846ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 160: 3847894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3848894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3849894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3850eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); 385119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3852eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3853894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3854894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3855ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 161: 3856894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3857894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3858894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3859eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); 386019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3861eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3862894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3863894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3864ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 162: 3865894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3866894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3867894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3868eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); 38693c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens } 3870eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 38713c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens break; 38723c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 3873ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 163: 38743c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 38753c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens { 38763c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3877eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 3878894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(2); 387919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3880eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3881894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3882894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3883ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 164: 3884894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3885894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3886894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3887eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 3888894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(3); 388919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3890eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3891894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3892894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3893ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 165: 3894894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3895894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3896894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3897eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 3898894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(4); 389919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3900eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3901894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3902894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3903ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 166: 3904894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3905894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3906894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3907eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); 3908894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(2); 390919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3910eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3911894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3912894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3913ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 167: 3914894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3915894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3916894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3917eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); 3918894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(3); 391919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3920eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3921894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3922894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3923ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 168: 3924894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3925894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3926894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3927eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtBool, qual, (yylsp[0])); 3928894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(4); 392919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3930eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3931894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3932894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3933ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 169: 3934894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3935894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3936894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3937eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); 3938894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(2); 393919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3940eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3941894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3942894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3943ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 170: 3944894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3945894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3946894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3947eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); 3948894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(3); 394919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3950eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3951894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3952894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3953ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 171: 3954894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3955894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3956894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3957eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtInt, qual, (yylsp[0])); 3958894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).setAggregate(4); 395919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 3960eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3961894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 3962894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3963ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 172: 3964894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 3965894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 3966e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3967eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); 3968e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens (yyval.interm.type).setAggregate(2); 3969e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens } 3970eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3971e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens break; 3972e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3973ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 173: 3974e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3975e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens { 3976e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3977eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); 3978e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens (yyval.interm.type).setAggregate(3); 3979e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens } 3980eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3981e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens break; 3982e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3983ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 174: 3984e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3985e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens { 3986e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3987eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUInt, qual, (yylsp[0])); 3988e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens (yyval.interm.type).setAggregate(4); 3989e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens } 3990eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 3991e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens break; 3992e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3993ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 175: 3994e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens 3995e4b1b1d8063673537b113beafff48b58ced93f6fNicolas Capens { 3996eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat2", (yylsp[0])); 3997894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 3998eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 3999b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(2, 2); 400019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4001eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4002894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4003894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4004ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 176: 4005894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4006894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4007eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat3", (yylsp[0])); 4008894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4009eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4010b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(3, 3); 401119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4012eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4013894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4014894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4015ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 177: 4016894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4017894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4018eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat4", (yylsp[0])); 4019894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4020eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4021b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(4, 4); 402219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4023eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4024894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4025894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4026ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 178: 4027894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4028894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4029eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat2x3", (yylsp[0])); 4030b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4031eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4032b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(2, 3); 4033b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4034eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4035b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4036b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4037ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 179: 4038b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4039b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4040eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat3x2", (yylsp[0])); 4041b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4042eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4043b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(3, 2); 4044b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4045eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4046b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4047b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4048ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 180: 4049b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4050b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4051eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat2x4", (yylsp[0])); 4052b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4053eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4054b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(2, 4); 4055b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4056eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4057b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4058b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4059ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 181: 4060b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4061b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4062eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat4x2", (yylsp[0])); 4063b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4064eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4065b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(4, 2); 4066b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4067eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4068b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4069b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4070ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 182: 4071b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4072b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4073eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat3x4", (yylsp[0])); 4074b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4075eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4076b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(3, 4); 4077b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4078eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4079b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4080b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4081ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 183: 4082b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4083b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4084eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("mat4x3", (yylsp[0])); 4085b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4086eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtFloat, qual, (yylsp[0])); 4087b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu (yyval.interm.type).setMatrix(4, 3); 4088b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4089eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4090b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4091b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4092ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 184: 4093b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4094b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4095eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("sampler2D", (yylsp[0])); 4096894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4097eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSampler2D, qual, (yylsp[0])); 409819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4099eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4100894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4101894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4102ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 185: 4103894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4104894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4105eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("samplerCube", (yylsp[0])); 4106894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4107eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSamplerCube, qual, (yylsp[0])); 410819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4109eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4110894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4111894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4112ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 186: 4113894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4114894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4115e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens if (!context->supportsExtension("GL_OES_EGL_image_external")) { 4116eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((yylsp[0]), "unsupported type", "samplerExternalOES", ""); 4117e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens context->recover(); 4118e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens } 4119eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("samplerExternalOES", (yylsp[0])); 4120e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4121eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSamplerExternalOES, qual, (yylsp[0])); 4122e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens } 4123eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4124e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens break; 4125e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens 4126ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 187: 4127e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens 4128e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens { 41294676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu if (!context->supportsExtension("GL_ARB_texture_rectangle")) { 41304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu context->error((yylsp[0]), "unsupported type", "sampler2DRect", ""); 41314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu context->recover(); 41324676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu } 41334676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu FRAG_VERT_ONLY("sampler2DRect", (yylsp[0])); 41344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 41354676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu (yyval.interm.type).setBasic(EbtSampler2DRect, qual, (yylsp[0])); 41364676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu } 41374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu break; 41394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 188: 41414676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 41424676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { 4143eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("sampler3D", (yylsp[0])); 4144b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4145eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSampler3D, qual, (yylsp[0])); 4146b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu } 4147eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4148b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu break; 4149b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu 41504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 189: 4151b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4152b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4153eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("sampler2DArray", (yylsp[0])); 4154b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4155eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSampler2DArray, qual, (yylsp[0])); 4156b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4157eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4158b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4159b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 41604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 190: 4161b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4162b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4163eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("isampler2D", (yylsp[0])); 4164b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4165eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtISampler2D, qual, (yylsp[0])); 4166b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4167eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4168b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4169b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 41704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 191: 4171b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4172b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4173eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("isampler3D", (yylsp[0])); 4174b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4175eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtISampler3D, qual, (yylsp[0])); 4176b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4177eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4178b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4179b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 41804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 192: 4181b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4182b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4183eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("isamplerCube", (yylsp[0])); 4184b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4185eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtISamplerCube, qual, (yylsp[0])); 4186b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4187eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4188b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4189b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 41904676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 193: 4191b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4192b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4193eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("isampler2DArray", (yylsp[0])); 4194b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4195eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtISampler2DArray, qual, (yylsp[0])); 4196b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4197eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4198b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4199b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42004676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 194: 4201b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4202b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4203eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("usampler2D", (yylsp[0])); 4204b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4205eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUSampler2D, qual, (yylsp[0])); 4206b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4207eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4208b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4209b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 195: 4211b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4212b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4213eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("usampler3D", (yylsp[0])); 4214b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4215eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUSampler3D, qual, (yylsp[0])); 4216b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4217eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4218b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4219b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 196: 4221b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4222b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4223eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("usamplerCube", (yylsp[0])); 4224b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4225eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUSamplerCube, qual, (yylsp[0])); 4226b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4227eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4228b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4229b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 197: 4231b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4232b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4233eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("usampler2DArray", (yylsp[0])); 4234b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4235eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtUSampler2DArray, qual, (yylsp[0])); 4236b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4237eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4238b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4239b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 198: 4241b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4242b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4243eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("sampler2DShadow", (yylsp[0])); 4244b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4245eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSampler2DShadow, qual, (yylsp[0])); 4246b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4247eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4248b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4249b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42504676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 199: 4251b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4252b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4253eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("samplerCubeShadow", (yylsp[0])); 4254b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4255eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSamplerCubeShadow, qual, (yylsp[0])); 4256b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4257eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4258b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4259b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42604676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 200: 4261b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 4262b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu { 4263eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("sampler2DArrayShadow", (yylsp[0])); 4264b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4265eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtSampler2DArrayShadow, qual, (yylsp[0])); 4266b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu } 4267eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4268b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu break; 4269b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9Alexis Hetu 42704676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 201: 4271b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu 4272b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu { 4273eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_VERT_ONLY("struct", (yylsp[0])); 4274eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = (yyvsp[0].interm.type); 4275894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 427619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4277eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4278894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4279894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 42804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 202: 4281894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4282894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4283894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 4284894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // This is for user defined type names. The lexical phase looked up the 4285894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // type. 4286894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // 4287eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TType& structure = static_cast<TVariable*>((yyvsp[0].lex).symbol)->getType(); 4288894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; 4289eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type).setBasic(EbtStruct, qual, (yylsp[0])); 4290894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.type).userDef = &structure; 429119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4292eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4293894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4294894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 42954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 203: 4296894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4297eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { if (context->enterStructDeclaration((yylsp[-1]), *(yyvsp[-1].lex).string)) context->recover(); } 4298eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 429966b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman break; 430066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 43014676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 204: 430266b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 4303894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4304eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = context->addStructure((yylsp[-5]), (yylsp[-4]), (yyvsp[-4].lex).string, (yyvsp[-1].interm.fieldList)); 430519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4306eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4307894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4308894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43094676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 205: 431066b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 4311eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { if (context->enterStructDeclaration((yylsp[0]), *(yyvsp[0].lex).string)) context->recover(); } 4312eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 431366b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman break; 431466b8ab22586debccb1f787d4d52b7f042d4ddeb8John Bauman 43154676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 206: 4316894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4317894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4318eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.type) = context->addStructure((yylsp[-4]), (yylsp[-4]), NewPoolTString(""), (yyvsp[-1].interm.fieldList)); 431919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4320eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4321894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4322894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43234676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 207: 4324894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4325894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4326eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList) = (yyvsp[0].interm.fieldList); 432719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4328eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4329894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4330894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43314676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 208: 4332894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4333894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4334eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList) = (yyvsp[-1].interm.fieldList); 4335eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich for (unsigned int i = 0; i < (yyvsp[0].interm.fieldList)->size(); ++i) { 4336eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich TField* field = (*(yyvsp[0].interm.fieldList))[i]; 4337a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu for (unsigned int j = 0; j < (yyval.interm.fieldList)->size(); ++j) { 4338a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu if ((*(yyval.interm.fieldList))[j]->name() == field->name()) { 4339eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich context->error((*(yyvsp[0].interm.fieldList))[i]->line(), "duplicate field name in structure:", "struct", field->name().c_str()); 4340894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4341894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4342894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4343eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList)->push_back((*(yyvsp[0].interm.fieldList))[i]); 4344894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 434519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4346eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4347894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4348894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43494676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 209: 4350894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4351894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4352eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList)); 435319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4354eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4355894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4356894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43574676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 210: 4358894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4359894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4360ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu // ES3 Only, but errors should be handled elsewhere 4361eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm.type).qualifier = (yyvsp[-3].interm.type).qualifier; 4362eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm.type).layoutQualifier = (yyvsp[-3].interm.type).layoutQualifier; 4363eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.fieldList)); 4364ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu } 4365eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4366ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu break; 4367ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu 43684676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 211: 4369ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu 4370ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu { 4371a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu (yyval.interm.fieldList) = NewPoolTFieldList(); 4372eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList)->push_back((yyvsp[0].interm.field)); 437319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4374eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4375894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4376894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43774676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 212: 4378894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4379894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4380eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.fieldList)->push_back((yyvsp[0].interm.field)); 438119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4382eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4383894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4384894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43854676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 213: 4386894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4387894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4388eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[0]), *(yyvsp[0].lex).string)) 4389894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4390894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4391a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu TType* type = new TType(EbtVoid, EbpUndefined); 4392eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.field) = new TField(type, (yyvsp[0].lex).string, (yylsp[0])); 439319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4394eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4395894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4396894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 43974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 214: 4398894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4399894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4400eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->reservedErrorCheck((yylsp[-3]), *(yyvsp[-3].lex).string)) 4401894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4402894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4403a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu TType* type = new TType(EbtVoid, EbpUndefined); 4404858c0393b51e98025a9d0a4864985aecb4a3d5e5Nicolas Capens int size = 0; 4405eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->arraySizeErrorCheck((yyvsp[-1].interm.intermTypedNode)->getLine(), (yyvsp[-1].interm.intermTypedNode), size)) 4406894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4407a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu type->setArraySize(size); 4408a8b364b735624da31500d0fe93ae75f8b36a59d1Alexis Hetu 4409eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.field) = new TField(type, (yyvsp[-3].lex).string, (yylsp[-3])); 441019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4411eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4412894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4413894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4414ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 215: 4415894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 44164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } 4417eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4418894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4419894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4420ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 216: 4421894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 44224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4423eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4424894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4425894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4426ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 217: 4427894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 44284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } 4429eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4430894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4431894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4432ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 218: 4433894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4434eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4435eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4436894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4437894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4438ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 219: 4439894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4440eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4441eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4442894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4443894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4444ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 220: 4445894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4446eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4447eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4448e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens break; 4449e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens 4450ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 221: 4451e9c5e4f164bda3197b4c69bf6e433e87e9f46d19Nicolas Capens 44524676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4453eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4454b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu break; 4455b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu 4456ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 222: 4457b027aa91f4b20c5062fbc781d0ff693bf294cbccAlexis Hetu 44584676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); } 4459eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 44603c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens break; 44613c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 4462ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 223: 44633c20f806dd9b3492c7ab102858f84f7cfd73133eNicolas Capens 44644676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); } 4465eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 44662c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens break; 44672c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 4468ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 224: 44692c1239f554f88546f0f8abf30dc829bb621dd94bNicolas Capens 4470eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4471eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4472ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu break; 4473ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu 4474ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 225: 4475ad6b87569fb1d2e1705e6e4b090d209be3f68e68Alexis Hetu 44764676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4477eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 447876a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 447976a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 4480ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 226: 448176a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 44824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { (yyval.interm.intermAggregate) = 0; } 4483eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 448476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 448576a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 4486ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 227: 448776a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 44884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { context->symbolTable.push(); } 4489eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4490e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu break; 4491e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 4492ad52775476d367199a4cd3b3b47ff8959e63bd59Alexis Hetu case 228: 4493e524669863d3a7ce8bf2e77fe05b24da555a6de9Alexis Hetu 44944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu { context->symbolTable.pop(); } 44954676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 44964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu break; 44974676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 44984676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 229: 44994676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu 4500894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4501eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[-2].interm.intermAggregate) != 0) { 4502eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm.intermAggregate)->setOp(EOpSequence); 4503eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-2].interm.intermAggregate)->setEndLine((yylsp[0])); 4504894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4505eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermAggregate) = (yyvsp[-2].interm.intermAggregate); 450619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4507eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4508894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4509894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45104676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 230: 4511894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4512407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu { (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } 4513eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4514894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4515894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45164676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 231: 4517894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4518eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4519eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4520894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4521894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 232: 4523894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 452419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman { context->symbolTable.push(); } 4525eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 452619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman break; 452719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 45284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 233: 452919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 4530407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermAggregate); } 4531eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 453219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman break; 453319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 45344676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 234: 453519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 453619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman { context->symbolTable.push(); } 4537eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 453819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman break; 453919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 45404676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 235: 454119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 4542eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } 4543eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 454419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman break; 454519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 45464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 236: 454719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman 4548894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4549407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu (yyval.interm.intermAggregate) = 0; 455019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4551eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4552894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4553894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 237: 4555894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4556894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4557eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if ((yyvsp[-1].interm.intermAggregate)) { 4558eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-1].interm.intermAggregate)->setOp(EOpSequence); 4559eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyvsp[-1].interm.intermAggregate)->setEndLine((yylsp[0])); 4560894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4561407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu (yyval.interm.intermAggregate) = (yyvsp[-1].interm.intermAggregate); 456219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4563eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4564894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4565894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45664676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 238: 4567894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4568894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4569eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermAggregate) = context->intermediate.makeAggregate((yyvsp[0].interm.intermNode), (yyloc)); 457019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4571eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4572894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4573894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45744676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 239: 4575894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4576894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4577eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermAggregate) = context->intermediate.growAggregate((yyvsp[-1].interm.intermAggregate), (yyvsp[0].interm.intermNode), (yyloc)); 457819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4579eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4580894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4581894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45824676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 240: 4583894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 458419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman { (yyval.interm.intermNode) = 0; } 4585eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4586894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4587894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 241: 4589894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4590eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); } 4591eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4592894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4593894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 45944676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 242: 4595894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4596894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4597eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->boolErrorCheck((yylsp[-4]), (yyvsp[-2].interm.intermTypedNode))) 4598894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4599eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yylsp[-4])); 460019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4601eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4602894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4603894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 243: 4605894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4606894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4607eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); 4608eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); 460919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4610eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4611894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4612894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46134676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 244: 4614894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4615894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4616eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); 4617894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.nodePair).node2 = 0; 461819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4619eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4620894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4621894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46224676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 245: 462376a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 462476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu { context->incrSwitchNestingLevel(); } 4625eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 462676a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 462776a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 46284676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 246: 462976a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 463076a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu { 4631eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermAggregate), (yylsp[-5])); 463276a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu context->decrSwitchNestingLevel(); 463376a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu } 4634eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 463576a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 463676a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 46374676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 247: 463876a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 463976a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu { 4640eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2])); 464176a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu } 4642eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 464376a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 464476a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 46454676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 248: 464676a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 464776a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu { 4648eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermCase) = context->addDefault((yylsp[-1])); 464976a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu } 4650eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 465176a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu break; 465276a343af4ea1f781a56fec006b5fe67a5615d5f8Alexis Hetu 46534676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 249: 4654894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4655894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4656eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 4657eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->boolErrorCheck((yyvsp[0].interm.intermTypedNode)->getLine(), (yyvsp[0].interm.intermTypedNode))) 4658894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 465919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4660eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4661894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4662894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 250: 4664894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4665894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4666407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu TIntermNode *intermNode; 4667eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->boolErrorCheck((yylsp[-2]), (yyvsp[-3].interm.type))) 4668894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4669894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4670eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!context->executeInitializer((yylsp[-2]), *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), (yyvsp[0].interm.intermTypedNode), &intermNode)) 4671eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 4672894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else { 4673894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4674894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.intermTypedNode) = 0; 4675894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 467619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4677eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4678894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4679894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 251: 4681894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46820a65584a1529450c476c026f3254d78efc200645Alexis Hetu { context->symbolTable.push(); context->incrLoopNestingLevel(); } 4683eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4684894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4685894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46864676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 252: 4687894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4688894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4689894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->symbolTable.pop(); 4690eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopWhile, 0, (yyvsp[-2].interm.intermTypedNode), 0, (yyvsp[0].interm.intermNode), (yylsp[-5])); 46910a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->decrLoopNestingLevel(); 469219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4693eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4694894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4695894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 253: 4697894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 46980a65584a1529450c476c026f3254d78efc200645Alexis Hetu { context->incrLoopNestingLevel(); } 4699eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4700894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4701894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47024676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 254: 4703894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4704894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4705eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (context->boolErrorCheck((yylsp[0]), (yyvsp[-2].interm.intermTypedNode))) 4706894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->recover(); 4707894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4708eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopDoWhile, 0, (yyvsp[-2].interm.intermTypedNode), 0, (yyvsp[-5].interm.intermNode), (yylsp[-4])); 47090a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->decrLoopNestingLevel(); 471019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4711eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4712894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4713894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47144676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 255: 4715894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47160a65584a1529450c476c026f3254d78efc200645Alexis Hetu { context->symbolTable.push(); context->incrLoopNestingLevel(); } 4717eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4718894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4719894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47204676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 256: 4721894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4722894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4723894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman context->symbolTable.pop(); 4724eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->intermediate.addLoop(ELoopFor, (yyvsp[-3].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node2), (yyvsp[0].interm.intermNode), (yylsp[-6])); 47250a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->decrLoopNestingLevel(); 472619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4727eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4728894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4729894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 257: 4731894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4732894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4733eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); 473419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4735eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4736894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4737894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47384676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 258: 4739894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4740894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4741eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); 474219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4743eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4744894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4745894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47464676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 259: 4747894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4748894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4749eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); 475019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4751eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4752894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4753894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47544676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 260: 4755894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4756894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4757894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.intermTypedNode) = 0; 475819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4759eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4760894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4761894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47624676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 261: 4763894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4764894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4765eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); 4766894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman (yyval.interm.nodePair).node2 = 0; 476719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4768eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4769894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4770894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47714676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 262: 4772894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4773894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4774eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); 4775eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); 477619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4777eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4778894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4779894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47804676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 263: 4781894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4782894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4783eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1])); 478419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4785eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4786894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4787894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47884676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 264: 4789894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4790894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4791eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1])); 479219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4793eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4794894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4795894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 47964676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 265: 4797894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4798894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4799eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1])); 480019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4801eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4802894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4803894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48044676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 266: 4805894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4806894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4807eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2])); 480819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4809eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4810894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4811894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48124676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 267: 4813894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4814894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4815eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich FRAG_ONLY("discard", (yylsp[-1])); 4816eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->addBranch(EOpKill, (yylsp[-1])); 481719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4818eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4819894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4820894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48214676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 268: 4822894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4823894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4824eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); 48250a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->setTreeRoot((yyval.interm.intermNode)); 482619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4827eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4828894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4829894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48304676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 269: 4831894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4832894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4833eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = context->intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode), (yyloc)); 48340a65584a1529450c476c026f3254d78efc200645Alexis Hetu context->setTreeRoot((yyval.interm.intermNode)); 483519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4836eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4837894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4838894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48394676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 270: 4840894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4841894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4842eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); 484319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4844eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4845894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4846894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48474676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 271: 4848894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4849894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4850eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); 485119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4852eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4853894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4854894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48554676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 272: 4856894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4857894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4858407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu context->parseFunctionPrototype((yylsp[0]), (yyvsp[0].interm).function, &(yyvsp[0].interm).intermAggregate); 485919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4860eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4861894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4862894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 48634676862e987be2c05ca2825783f2f54cf2f29eb7Alexis Hetu case 273: 4864894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4865894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4866407813b4c558c92a42831104f32cce0d113db8caAlexis Hetu (yyval.interm.intermNode) = context->addFunctionDefinition(*((yyvsp[-2].interm).function), (yyvsp[-2].interm).intermAggregate, (yyvsp[0].interm.intermAggregate), (yylsp[-2])); 486719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman } 4868eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4869894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman break; 4870894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4871894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4872894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4873894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman default: break; 4874894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4875eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* User semantic actions sometimes alter yychar, and that requires 4876eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich that yytoken be updated with the new translation. We take the 4877eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich approach of translating immediately before every use of yytoken. 4878eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich One alternative is translating here after every semantic action, 4879eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich but that translation would be missed if the semantic action invokes 4880eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 4881eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 4882eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich incorrect destructor might then be invoked immediately. In the 4883eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich case of YYERROR or YYBACKUP, subsequent parser actions might lead 4884eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich to an incorrect destructor call or verbose syntax error message 4885eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich before the lookahead is translated. */ 4886894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 4887894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4888894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPOPSTACK (yylen); 4889894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yylen = 0; 4890894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_STACK_PRINT (yyss, yyssp); 4891894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4892894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman *++yyvsp = yyval; 489315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu *++yylsp = yyloc; 4894894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4895eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Now 'shift' the result of the reduction. Determine what state 4896894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman that goes to, based on the state we popped back to and the rule 4897894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman number reduced by. */ 4898894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4899894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = yyr1[yyn]; 4900894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4901894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 4902894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 4903894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = yytable[yystate]; 4904894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 4905894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = yydefgoto[yyn - YYNTOKENS]; 4906894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4907894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yynewstate; 4908894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4909894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4910eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich/*--------------------------------------. 4911eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich| yyerrlab -- here on detecting error. | 4912eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich`--------------------------------------*/ 4913894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyerrlab: 4914eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Make sure we have latest lookahead translation. See comments at 4915eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich user semantic actions for why this is necessary. */ 4916eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 4917eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich 4918894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* If not already recovering from an error, report this error. */ 4919894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (!yyerrstatus) 4920894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4921894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman ++yynerrs; 4922894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if ! YYERROR_VERBOSE 4923eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror (&yylloc, context, yyscanner, YY_("syntax error")); 4924894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#else 4925eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 4926eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyssp, yytoken) 4927894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 4928eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich char const *yymsgp = YY_("syntax error"); 4929eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich int yysyntax_error_status; 4930eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysyntax_error_status = YYSYNTAX_ERROR; 4931eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yysyntax_error_status == 0) 4932eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yymsgp = yymsg; 4933eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else if (yysyntax_error_status == 1) 4934eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 4935eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yymsg != yymsgbuf) 4936eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYSTACK_FREE (yymsg); 4937eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 4938eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!yymsg) 4939eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 4940eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yymsg = yymsgbuf; 4941eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yymsg_alloc = sizeof yymsgbuf; 4942eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysyntax_error_status = 2; 4943eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 4944eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich else 4945eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 4946eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yysyntax_error_status = YYSYNTAX_ERROR; 4947eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yymsgp = yymsg; 4948eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 4949eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 4950eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror (&yylloc, context, yyscanner, yymsgp); 4951eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yysyntax_error_status == 2) 4952eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich goto yyexhaustedlab; 4953894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4954eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich# undef YYSYNTAX_ERROR 4955894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 4956894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4957894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4958eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror_range[1] = yylloc; 4959894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4960894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyerrstatus == 3) 4961894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 496219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* If just tried and failed to reuse lookahead token after an 4963eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich error, discard it. */ 4964894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4965894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yychar <= YYEOF) 4966eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 4967eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Return failure if at end of input. */ 4968eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (yychar == YYEOF) 4969eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYABORT; 4970eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 4971894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman else 4972eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 4973eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yydestruct ("Error: discarding", 4974eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytoken, &yylval, &yylloc, context, yyscanner); 4975eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yychar = YYEMPTY; 4976eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 4977894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 4978894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 497919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman /* Else will try to reuse lookahead token after shifting the error 4980894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman token. */ 4981894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyerrlab1; 4982894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4983894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4984894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*---------------------------------------------------. 4985894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyerrorlab -- error raised explicitly by YYERROR. | 4986894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`---------------------------------------------------*/ 4987894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyerrorlab: 4988894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4989894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Pacify compilers like GCC when the user code never invokes 4990894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYERROR and the label yyerrorlab therefore never appears in user 4991894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman code. */ 4992894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (/*CONSTCOND*/ 0) 4993894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyerrorlab; 4994894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 4995eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror_range[1] = yylsp[1-yylen]; 4996eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Do not reclaim the symbols of the rule whose action triggered 4997894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman this YYERROR. */ 4998894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPOPSTACK (yylen); 4999894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yylen = 0; 5000894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_STACK_PRINT (yyss, yyssp); 5001894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = *yyssp; 5002894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyerrlab1; 5003894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5004894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5005894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-------------------------------------------------------------. 5006894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyerrlab1 -- common code for both syntax error and YYERROR. | 5007894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-------------------------------------------------------------*/ 5008894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyerrlab1: 5009eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerrstatus = 3; /* Each real token shifted decrements this. */ 5010894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5011894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman for (;;) 5012894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 5013894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyn = yypact[yystate]; 5014eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (!yypact_value_is_default (yyn)) 5015eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 5016eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyn += YYTERROR; 5017eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 5018eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 5019eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyn = yytable[yyn]; 5020eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich if (0 < yyn) 5021eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich break; 5022eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 5023eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 5024894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5025894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Pop the current state because it cannot handle the error token. */ 5026894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyssp == yyss) 5027eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYABORT; 5028894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5029eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror_range[1] = *yylsp; 5030894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yydestruct ("Error: popping", 5031eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yystos[yystate], yyvsp, yylsp, context, yyscanner); 5032894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPOPSTACK (1); 5033894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = *yyssp; 5034894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_STACK_PRINT (yyss, yyssp); 5035894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 5036894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5037eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 5038894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman *++yyvsp = yylval; 5039eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YY_IGNORE_MAYBE_UNINITIALIZED_END 5040894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5041eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror_range[2] = yylloc; 504215ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu /* Using YYLLOC is tempting, but would change the location of 504315ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu the lookahead. YYLOC is available though. */ 5044eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich YYLLOC_DEFAULT (yyloc, yyerror_range, 2); 504515ae36c448eaebaec09c2e25ac6b5095c0d03606Alexis Hetu *++yylsp = yyloc; 5046894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5047894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Shift the error token. */ 5048894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 5049894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5050894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yystate = yyn; 5051894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yynewstate; 5052894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5053894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5054894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-------------------------------------. 5055894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyacceptlab -- YYACCEPT comes here. | 5056894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-------------------------------------*/ 5057894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyacceptlab: 5058894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyresult = 0; 5059894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyreturn; 5060894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5061894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-----------------------------------. 5062894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyabortlab -- YYABORT comes here. | 5063894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-----------------------------------*/ 5064894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyabortlab: 5065894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyresult = 1; 5066894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman goto yyreturn; 5067894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5068eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich#if !defined yyoverflow || YYERROR_VERBOSE 5069894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*-------------------------------------------------. 5070894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman| yyexhaustedlab -- memory exhaustion comes here. | 5071894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman`-------------------------------------------------*/ 5072894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyexhaustedlab: 5073eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yyerror (&yylloc, context, yyscanner, YY_("memory exhausted")); 5074894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yyresult = 2; 5075894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman /* Fall through. */ 5076894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 5077894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5078894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanyyreturn: 507919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman if (yychar != YYEMPTY) 5080eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich { 5081eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Make sure we have latest lookahead translation. See comments at 5082eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich user semantic actions for why this is necessary. */ 5083eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytoken = YYTRANSLATE (yychar); 5084eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yydestruct ("Cleanup: discarding lookahead", 5085eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yytoken, &yylval, &yylloc, context, yyscanner); 5086eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich } 5087eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich /* Do not reclaim the symbols of the rule whose action triggered 5088894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman this YYABORT or YYACCEPT. */ 5089894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPOPSTACK (yylen); 5090894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YY_STACK_PRINT (yyss, yyssp); 5091894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman while (yyssp != yyss) 5092894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman { 5093894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman yydestruct ("Cleanup: popping", 5094eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich yystos[*yyssp], yyvsp, yylsp, context, yyscanner); 5095894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYPOPSTACK (1); 5096894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 5097894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef yyoverflow 5098894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yyss != yyssa) 5099894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSTACK_FREE (yyss); 5100894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 5101894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#if YYERROR_VERBOSE 5102894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman if (yymsg != yymsgbuf) 5103894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman YYSTACK_FREE (yymsg); 5104894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif 5105eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return yyresult; 5106894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 5107894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5108894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5109894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 5110894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanint glslang_parse(TParseContext* context) { 5111eced26a12537825c00dcdd8e74e110b3e838a08fVeranika Liaukevich return yyparse(context, context->getScanner()); 5112894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 5113