xref: /dflybsd-src/contrib/binutils-2.34/gold/yyscript.c (revision b52ef7118d1621abed722c5bbbd542210290ecef)
1*fae548d3Szrj /* A Bison parser, made by GNU Bison 3.0.5.  */
2*fae548d3Szrj 
3*fae548d3Szrj /* Bison implementation for Yacc-like parsers in C
4*fae548d3Szrj 
5*fae548d3Szrj    Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
6*fae548d3Szrj 
7*fae548d3Szrj    This program is free software: you can redistribute it and/or modify
8*fae548d3Szrj    it under the terms of the GNU General Public License as published by
9*fae548d3Szrj    the Free Software Foundation, either version 3 of the License, or
10*fae548d3Szrj    (at your option) any later version.
11*fae548d3Szrj 
12*fae548d3Szrj    This program is distributed in the hope that it will be useful,
13*fae548d3Szrj    but WITHOUT ANY WARRANTY; without even the implied warranty of
14*fae548d3Szrj    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*fae548d3Szrj    GNU General Public License for more details.
16*fae548d3Szrj 
17*fae548d3Szrj    You should have received a copy of the GNU General Public License
18*fae548d3Szrj    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19*fae548d3Szrj 
20*fae548d3Szrj /* As a special exception, you may create a larger work that contains
21*fae548d3Szrj    part or all of the Bison parser skeleton and distribute that work
22*fae548d3Szrj    under terms of your choice, so long as that work isn't itself a
23*fae548d3Szrj    parser generator using the skeleton or a modified version thereof
24*fae548d3Szrj    as a parser skeleton.  Alternatively, if you modify or redistribute
25*fae548d3Szrj    the parser skeleton itself, you may (at your option) remove this
26*fae548d3Szrj    special exception, which will cause the skeleton and the resulting
27*fae548d3Szrj    Bison output files to be licensed under the GNU General Public
28*fae548d3Szrj    License without this special exception.
29*fae548d3Szrj 
30*fae548d3Szrj    This special exception was added by the Free Software Foundation in
31*fae548d3Szrj    version 2.2 of Bison.  */
32*fae548d3Szrj 
33*fae548d3Szrj /* C LALR(1) parser skeleton written by Richard Stallman, by
34*fae548d3Szrj    simplifying the original so-called "semantic" parser.  */
35*fae548d3Szrj 
36*fae548d3Szrj /* All symbols defined below should begin with yy or YY, to avoid
37*fae548d3Szrj    infringing on user name space.  This should be done even for local
38*fae548d3Szrj    variables, as they might otherwise be expanded by user macros.
39*fae548d3Szrj    There are some unavoidable exceptions within include files to
40*fae548d3Szrj    define necessary library symbols; they are noted "INFRINGES ON
41*fae548d3Szrj    USER NAME SPACE" below.  */
42*fae548d3Szrj 
43*fae548d3Szrj /* Identify Bison output.  */
44*fae548d3Szrj #define YYBISON 1
45*fae548d3Szrj 
46*fae548d3Szrj /* Bison version.  */
47*fae548d3Szrj #define YYBISON_VERSION "3.0.5"
48*fae548d3Szrj 
49*fae548d3Szrj /* Skeleton name.  */
50*fae548d3Szrj #define YYSKELETON_NAME "yacc.c"
51*fae548d3Szrj 
52*fae548d3Szrj /* Pure parsers.  */
53*fae548d3Szrj #define YYPURE 1
54*fae548d3Szrj 
55*fae548d3Szrj /* Push parsers.  */
56*fae548d3Szrj #define YYPUSH 0
57*fae548d3Szrj 
58*fae548d3Szrj /* Pull parsers.  */
59*fae548d3Szrj #define YYPULL 1
60*fae548d3Szrj 
61*fae548d3Szrj 
62*fae548d3Szrj 
63*fae548d3Szrj 
64*fae548d3Szrj /* Copy the first part of user declarations.  */
65*fae548d3Szrj #line 26 "yyscript.y" /* yacc.c:339  */
66*fae548d3Szrj 
67*fae548d3Szrj 
68*fae548d3Szrj #include "config.h"
69*fae548d3Szrj 
70*fae548d3Szrj #include <stddef.h>
71*fae548d3Szrj #include <stdint.h>
72*fae548d3Szrj #include <stdlib.h>
73*fae548d3Szrj #include <string.h>
74*fae548d3Szrj 
75*fae548d3Szrj #include "script-c.h"
76*fae548d3Szrj 
77*fae548d3Szrj 
78*fae548d3Szrj #line 79 "yyscript.c" /* yacc.c:339  */
79*fae548d3Szrj 
80*fae548d3Szrj # ifndef YY_NULLPTR
81*fae548d3Szrj #  if defined __cplusplus && 201103L <= __cplusplus
82*fae548d3Szrj #   define YY_NULLPTR nullptr
83*fae548d3Szrj #  else
84*fae548d3Szrj #   define YY_NULLPTR 0
85*fae548d3Szrj #  endif
86*fae548d3Szrj # endif
87*fae548d3Szrj 
88*fae548d3Szrj /* Enabling verbose error messages.  */
89*fae548d3Szrj #ifdef YYERROR_VERBOSE
90*fae548d3Szrj # undef YYERROR_VERBOSE
91*fae548d3Szrj # define YYERROR_VERBOSE 1
92*fae548d3Szrj #else
93*fae548d3Szrj # define YYERROR_VERBOSE 1
94*fae548d3Szrj #endif
95*fae548d3Szrj 
96*fae548d3Szrj /* In a future release of Bison, this section will be replaced
97*fae548d3Szrj    by #include "y.tab.h".  */
98*fae548d3Szrj #ifndef YY_YY_YYSCRIPT_H_INCLUDED
99*fae548d3Szrj # define YY_YY_YYSCRIPT_H_INCLUDED
100*fae548d3Szrj /* Debug traces.  */
101*fae548d3Szrj #ifndef YYDEBUG
102*fae548d3Szrj # define YYDEBUG 0
103*fae548d3Szrj #endif
104*fae548d3Szrj #if YYDEBUG
105*fae548d3Szrj extern int yydebug;
106*fae548d3Szrj #endif
107*fae548d3Szrj 
108*fae548d3Szrj /* Token type.  */
109*fae548d3Szrj #ifndef YYTOKENTYPE
110*fae548d3Szrj # define YYTOKENTYPE
111*fae548d3Szrj   enum yytokentype
112*fae548d3Szrj   {
113*fae548d3Szrj     PLUSEQ = 258,
114*fae548d3Szrj     MINUSEQ = 259,
115*fae548d3Szrj     MULTEQ = 260,
116*fae548d3Szrj     DIVEQ = 261,
117*fae548d3Szrj     LSHIFTEQ = 262,
118*fae548d3Szrj     RSHIFTEQ = 263,
119*fae548d3Szrj     ANDEQ = 264,
120*fae548d3Szrj     OREQ = 265,
121*fae548d3Szrj     OROR = 266,
122*fae548d3Szrj     ANDAND = 267,
123*fae548d3Szrj     EQ = 268,
124*fae548d3Szrj     NE = 269,
125*fae548d3Szrj     LE = 270,
126*fae548d3Szrj     GE = 271,
127*fae548d3Szrj     LSHIFT = 272,
128*fae548d3Szrj     RSHIFT = 273,
129*fae548d3Szrj     UNARY = 274,
130*fae548d3Szrj     STRING = 275,
131*fae548d3Szrj     QUOTED_STRING = 276,
132*fae548d3Szrj     INTEGER = 277,
133*fae548d3Szrj     ABSOLUTE = 278,
134*fae548d3Szrj     ADDR = 279,
135*fae548d3Szrj     ALIGN_K = 280,
136*fae548d3Szrj     ALIGNOF = 281,
137*fae548d3Szrj     ASSERT_K = 282,
138*fae548d3Szrj     AS_NEEDED = 283,
139*fae548d3Szrj     AT = 284,
140*fae548d3Szrj     BIND = 285,
141*fae548d3Szrj     BLOCK = 286,
142*fae548d3Szrj     BYTE = 287,
143*fae548d3Szrj     CONSTANT = 288,
144*fae548d3Szrj     CONSTRUCTORS = 289,
145*fae548d3Szrj     COPY = 290,
146*fae548d3Szrj     CREATE_OBJECT_SYMBOLS = 291,
147*fae548d3Szrj     DATA_SEGMENT_ALIGN = 292,
148*fae548d3Szrj     DATA_SEGMENT_END = 293,
149*fae548d3Szrj     DATA_SEGMENT_RELRO_END = 294,
150*fae548d3Szrj     DEFINED = 295,
151*fae548d3Szrj     DSECT = 296,
152*fae548d3Szrj     ENTRY = 297,
153*fae548d3Szrj     EXCLUDE_FILE = 298,
154*fae548d3Szrj     EXTERN = 299,
155*fae548d3Szrj     FILL = 300,
156*fae548d3Szrj     FLOAT = 301,
157*fae548d3Szrj     FORCE_COMMON_ALLOCATION = 302,
158*fae548d3Szrj     GLOBAL = 303,
159*fae548d3Szrj     GROUP = 304,
160*fae548d3Szrj     HIDDEN = 305,
161*fae548d3Szrj     HLL = 306,
162*fae548d3Szrj     INCLUDE = 307,
163*fae548d3Szrj     INHIBIT_COMMON_ALLOCATION = 308,
164*fae548d3Szrj     INFO = 309,
165*fae548d3Szrj     INPUT = 310,
166*fae548d3Szrj     KEEP = 311,
167*fae548d3Szrj     LEN = 312,
168*fae548d3Szrj     LENGTH = 313,
169*fae548d3Szrj     LOADADDR = 314,
170*fae548d3Szrj     LOCAL = 315,
171*fae548d3Szrj     LONG = 316,
172*fae548d3Szrj     MAP = 317,
173*fae548d3Szrj     MAX_K = 318,
174*fae548d3Szrj     MEMORY = 319,
175*fae548d3Szrj     MIN_K = 320,
176*fae548d3Szrj     NEXT = 321,
177*fae548d3Szrj     NOCROSSREFS = 322,
178*fae548d3Szrj     NOFLOAT = 323,
179*fae548d3Szrj     NOLOAD = 324,
180*fae548d3Szrj     ONLY_IF_RO = 325,
181*fae548d3Szrj     ONLY_IF_RW = 326,
182*fae548d3Szrj     ORG = 327,
183*fae548d3Szrj     ORIGIN = 328,
184*fae548d3Szrj     OUTPUT = 329,
185*fae548d3Szrj     OUTPUT_ARCH = 330,
186*fae548d3Szrj     OUTPUT_FORMAT = 331,
187*fae548d3Szrj     OVERLAY = 332,
188*fae548d3Szrj     PHDRS = 333,
189*fae548d3Szrj     PROVIDE = 334,
190*fae548d3Szrj     PROVIDE_HIDDEN = 335,
191*fae548d3Szrj     QUAD = 336,
192*fae548d3Szrj     SEARCH_DIR = 337,
193*fae548d3Szrj     SECTIONS = 338,
194*fae548d3Szrj     SEGMENT_START = 339,
195*fae548d3Szrj     SHORT = 340,
196*fae548d3Szrj     SIZEOF = 341,
197*fae548d3Szrj     SIZEOF_HEADERS = 342,
198*fae548d3Szrj     SORT_BY_ALIGNMENT = 343,
199*fae548d3Szrj     SORT_BY_INIT_PRIORITY = 344,
200*fae548d3Szrj     SORT_BY_NAME = 345,
201*fae548d3Szrj     SPECIAL = 346,
202*fae548d3Szrj     SQUAD = 347,
203*fae548d3Szrj     STARTUP = 348,
204*fae548d3Szrj     SUBALIGN = 349,
205*fae548d3Szrj     SYSLIB = 350,
206*fae548d3Szrj     TARGET_K = 351,
207*fae548d3Szrj     TRUNCATE = 352,
208*fae548d3Szrj     VERSIONK = 353,
209*fae548d3Szrj     OPTION = 354,
210*fae548d3Szrj     PARSING_LINKER_SCRIPT = 355,
211*fae548d3Szrj     PARSING_VERSION_SCRIPT = 356,
212*fae548d3Szrj     PARSING_DEFSYM = 357,
213*fae548d3Szrj     PARSING_DYNAMIC_LIST = 358,
214*fae548d3Szrj     PARSING_SECTIONS_BLOCK = 359,
215*fae548d3Szrj     PARSING_SECTION_COMMANDS = 360,
216*fae548d3Szrj     PARSING_MEMORY_DEF = 361
217*fae548d3Szrj   };
218*fae548d3Szrj #endif
219*fae548d3Szrj /* Tokens.  */
220*fae548d3Szrj #define PLUSEQ 258
221*fae548d3Szrj #define MINUSEQ 259
222*fae548d3Szrj #define MULTEQ 260
223*fae548d3Szrj #define DIVEQ 261
224*fae548d3Szrj #define LSHIFTEQ 262
225*fae548d3Szrj #define RSHIFTEQ 263
226*fae548d3Szrj #define ANDEQ 264
227*fae548d3Szrj #define OREQ 265
228*fae548d3Szrj #define OROR 266
229*fae548d3Szrj #define ANDAND 267
230*fae548d3Szrj #define EQ 268
231*fae548d3Szrj #define NE 269
232*fae548d3Szrj #define LE 270
233*fae548d3Szrj #define GE 271
234*fae548d3Szrj #define LSHIFT 272
235*fae548d3Szrj #define RSHIFT 273
236*fae548d3Szrj #define UNARY 274
237*fae548d3Szrj #define STRING 275
238*fae548d3Szrj #define QUOTED_STRING 276
239*fae548d3Szrj #define INTEGER 277
240*fae548d3Szrj #define ABSOLUTE 278
241*fae548d3Szrj #define ADDR 279
242*fae548d3Szrj #define ALIGN_K 280
243*fae548d3Szrj #define ALIGNOF 281
244*fae548d3Szrj #define ASSERT_K 282
245*fae548d3Szrj #define AS_NEEDED 283
246*fae548d3Szrj #define AT 284
247*fae548d3Szrj #define BIND 285
248*fae548d3Szrj #define BLOCK 286
249*fae548d3Szrj #define BYTE 287
250*fae548d3Szrj #define CONSTANT 288
251*fae548d3Szrj #define CONSTRUCTORS 289
252*fae548d3Szrj #define COPY 290
253*fae548d3Szrj #define CREATE_OBJECT_SYMBOLS 291
254*fae548d3Szrj #define DATA_SEGMENT_ALIGN 292
255*fae548d3Szrj #define DATA_SEGMENT_END 293
256*fae548d3Szrj #define DATA_SEGMENT_RELRO_END 294
257*fae548d3Szrj #define DEFINED 295
258*fae548d3Szrj #define DSECT 296
259*fae548d3Szrj #define ENTRY 297
260*fae548d3Szrj #define EXCLUDE_FILE 298
261*fae548d3Szrj #define EXTERN 299
262*fae548d3Szrj #define FILL 300
263*fae548d3Szrj #define FLOAT 301
264*fae548d3Szrj #define FORCE_COMMON_ALLOCATION 302
265*fae548d3Szrj #define GLOBAL 303
266*fae548d3Szrj #define GROUP 304
267*fae548d3Szrj #define HIDDEN 305
268*fae548d3Szrj #define HLL 306
269*fae548d3Szrj #define INCLUDE 307
270*fae548d3Szrj #define INHIBIT_COMMON_ALLOCATION 308
271*fae548d3Szrj #define INFO 309
272*fae548d3Szrj #define INPUT 310
273*fae548d3Szrj #define KEEP 311
274*fae548d3Szrj #define LEN 312
275*fae548d3Szrj #define LENGTH 313
276*fae548d3Szrj #define LOADADDR 314
277*fae548d3Szrj #define LOCAL 315
278*fae548d3Szrj #define LONG 316
279*fae548d3Szrj #define MAP 317
280*fae548d3Szrj #define MAX_K 318
281*fae548d3Szrj #define MEMORY 319
282*fae548d3Szrj #define MIN_K 320
283*fae548d3Szrj #define NEXT 321
284*fae548d3Szrj #define NOCROSSREFS 322
285*fae548d3Szrj #define NOFLOAT 323
286*fae548d3Szrj #define NOLOAD 324
287*fae548d3Szrj #define ONLY_IF_RO 325
288*fae548d3Szrj #define ONLY_IF_RW 326
289*fae548d3Szrj #define ORG 327
290*fae548d3Szrj #define ORIGIN 328
291*fae548d3Szrj #define OUTPUT 329
292*fae548d3Szrj #define OUTPUT_ARCH 330
293*fae548d3Szrj #define OUTPUT_FORMAT 331
294*fae548d3Szrj #define OVERLAY 332
295*fae548d3Szrj #define PHDRS 333
296*fae548d3Szrj #define PROVIDE 334
297*fae548d3Szrj #define PROVIDE_HIDDEN 335
298*fae548d3Szrj #define QUAD 336
299*fae548d3Szrj #define SEARCH_DIR 337
300*fae548d3Szrj #define SECTIONS 338
301*fae548d3Szrj #define SEGMENT_START 339
302*fae548d3Szrj #define SHORT 340
303*fae548d3Szrj #define SIZEOF 341
304*fae548d3Szrj #define SIZEOF_HEADERS 342
305*fae548d3Szrj #define SORT_BY_ALIGNMENT 343
306*fae548d3Szrj #define SORT_BY_INIT_PRIORITY 344
307*fae548d3Szrj #define SORT_BY_NAME 345
308*fae548d3Szrj #define SPECIAL 346
309*fae548d3Szrj #define SQUAD 347
310*fae548d3Szrj #define STARTUP 348
311*fae548d3Szrj #define SUBALIGN 349
312*fae548d3Szrj #define SYSLIB 350
313*fae548d3Szrj #define TARGET_K 351
314*fae548d3Szrj #define TRUNCATE 352
315*fae548d3Szrj #define VERSIONK 353
316*fae548d3Szrj #define OPTION 354
317*fae548d3Szrj #define PARSING_LINKER_SCRIPT 355
318*fae548d3Szrj #define PARSING_VERSION_SCRIPT 356
319*fae548d3Szrj #define PARSING_DEFSYM 357
320*fae548d3Szrj #define PARSING_DYNAMIC_LIST 358
321*fae548d3Szrj #define PARSING_SECTIONS_BLOCK 359
322*fae548d3Szrj #define PARSING_SECTION_COMMANDS 360
323*fae548d3Szrj #define PARSING_MEMORY_DEF 361
324*fae548d3Szrj 
325*fae548d3Szrj /* Value type.  */
326*fae548d3Szrj #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
327*fae548d3Szrj 
328*fae548d3Szrj union YYSTYPE
329*fae548d3Szrj {
330*fae548d3Szrj #line 53 "yyscript.y" /* yacc.c:355  */
331*fae548d3Szrj 
332*fae548d3Szrj   /* A string.  */
333*fae548d3Szrj   struct Parser_string string;
334*fae548d3Szrj   /* A number.  */
335*fae548d3Szrj   uint64_t integer;
336*fae548d3Szrj   /* An expression.  */
337*fae548d3Szrj   Expression_ptr expr;
338*fae548d3Szrj   /* An output section header.  */
339*fae548d3Szrj   struct Parser_output_section_header output_section_header;
340*fae548d3Szrj   /* An output section trailer.  */
341*fae548d3Szrj   struct Parser_output_section_trailer output_section_trailer;
342*fae548d3Szrj   /* A section constraint.  */
343*fae548d3Szrj   enum Section_constraint constraint;
344*fae548d3Szrj   /* A complete input section specification.  */
345*fae548d3Szrj   struct Input_section_spec input_section_spec;
346*fae548d3Szrj   /* A list of wildcard specifications, with exclusions.  */
347*fae548d3Szrj   struct Wildcard_sections wildcard_sections;
348*fae548d3Szrj   /* A single wildcard specification.  */
349*fae548d3Szrj   struct Wildcard_section wildcard_section;
350*fae548d3Szrj   /* A list of strings.  */
351*fae548d3Szrj   String_list_ptr string_list;
352*fae548d3Szrj   /* Information for a program header.  */
353*fae548d3Szrj   struct Phdr_info phdr_info;
354*fae548d3Szrj   /* Used for version scripts and within VERSION {}.  */
355*fae548d3Szrj   struct Version_dependency_list* deplist;
356*fae548d3Szrj   struct Version_expression_list* versyms;
357*fae548d3Szrj   struct Version_tree* versnode;
358*fae548d3Szrj   enum Script_section_type section_type;
359*fae548d3Szrj 
360*fae548d3Szrj #line 361 "yyscript.c" /* yacc.c:355  */
361*fae548d3Szrj };
362*fae548d3Szrj 
363*fae548d3Szrj typedef union YYSTYPE YYSTYPE;
364*fae548d3Szrj # define YYSTYPE_IS_TRIVIAL 1
365*fae548d3Szrj # define YYSTYPE_IS_DECLARED 1
366*fae548d3Szrj #endif
367*fae548d3Szrj 
368*fae548d3Szrj 
369*fae548d3Szrj 
370*fae548d3Szrj int yyparse (void* closure);
371*fae548d3Szrj 
372*fae548d3Szrj #endif /* !YY_YY_YYSCRIPT_H_INCLUDED  */
373*fae548d3Szrj 
374*fae548d3Szrj /* Copy the second part of user declarations.  */
375*fae548d3Szrj 
376*fae548d3Szrj #line 377 "yyscript.c" /* yacc.c:358  */
377*fae548d3Szrj 
378*fae548d3Szrj #ifdef short
379*fae548d3Szrj # undef short
380*fae548d3Szrj #endif
381*fae548d3Szrj 
382*fae548d3Szrj #ifdef YYTYPE_UINT8
383*fae548d3Szrj typedef YYTYPE_UINT8 yytype_uint8;
384*fae548d3Szrj #else
385*fae548d3Szrj typedef unsigned char yytype_uint8;
386*fae548d3Szrj #endif
387*fae548d3Szrj 
388*fae548d3Szrj #ifdef YYTYPE_INT8
389*fae548d3Szrj typedef YYTYPE_INT8 yytype_int8;
390*fae548d3Szrj #else
391*fae548d3Szrj typedef signed char yytype_int8;
392*fae548d3Szrj #endif
393*fae548d3Szrj 
394*fae548d3Szrj #ifdef YYTYPE_UINT16
395*fae548d3Szrj typedef YYTYPE_UINT16 yytype_uint16;
396*fae548d3Szrj #else
397*fae548d3Szrj typedef unsigned short int yytype_uint16;
398*fae548d3Szrj #endif
399*fae548d3Szrj 
400*fae548d3Szrj #ifdef YYTYPE_INT16
401*fae548d3Szrj typedef YYTYPE_INT16 yytype_int16;
402*fae548d3Szrj #else
403*fae548d3Szrj typedef short int yytype_int16;
404*fae548d3Szrj #endif
405*fae548d3Szrj 
406*fae548d3Szrj #ifndef YYSIZE_T
407*fae548d3Szrj # ifdef __SIZE_TYPE__
408*fae548d3Szrj #  define YYSIZE_T __SIZE_TYPE__
409*fae548d3Szrj # elif defined size_t
410*fae548d3Szrj #  define YYSIZE_T size_t
411*fae548d3Szrj # elif ! defined YYSIZE_T
412*fae548d3Szrj #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
413*fae548d3Szrj #  define YYSIZE_T size_t
414*fae548d3Szrj # else
415*fae548d3Szrj #  define YYSIZE_T unsigned int
416*fae548d3Szrj # endif
417*fae548d3Szrj #endif
418*fae548d3Szrj 
419*fae548d3Szrj #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
420*fae548d3Szrj 
421*fae548d3Szrj #ifndef YY_
422*fae548d3Szrj # if defined YYENABLE_NLS && YYENABLE_NLS
423*fae548d3Szrj #  if ENABLE_NLS
424*fae548d3Szrj #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
425*fae548d3Szrj #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
426*fae548d3Szrj #  endif
427*fae548d3Szrj # endif
428*fae548d3Szrj # ifndef YY_
429*fae548d3Szrj #  define YY_(Msgid) Msgid
430*fae548d3Szrj # endif
431*fae548d3Szrj #endif
432*fae548d3Szrj 
433*fae548d3Szrj #ifndef YY_ATTRIBUTE
434*fae548d3Szrj # if (defined __GNUC__                                               \
435*fae548d3Szrj       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
436*fae548d3Szrj      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
437*fae548d3Szrj #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
438*fae548d3Szrj # else
439*fae548d3Szrj #  define YY_ATTRIBUTE(Spec) /* empty */
440*fae548d3Szrj # endif
441*fae548d3Szrj #endif
442*fae548d3Szrj 
443*fae548d3Szrj #ifndef YY_ATTRIBUTE_PURE
444*fae548d3Szrj # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
445*fae548d3Szrj #endif
446*fae548d3Szrj 
447*fae548d3Szrj #ifndef YY_ATTRIBUTE_UNUSED
448*fae548d3Szrj # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
449*fae548d3Szrj #endif
450*fae548d3Szrj 
451*fae548d3Szrj #if !defined _Noreturn \
452*fae548d3Szrj      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
453*fae548d3Szrj # if defined _MSC_VER && 1200 <= _MSC_VER
454*fae548d3Szrj #  define _Noreturn __declspec (noreturn)
455*fae548d3Szrj # else
456*fae548d3Szrj #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
457*fae548d3Szrj # endif
458*fae548d3Szrj #endif
459*fae548d3Szrj 
460*fae548d3Szrj /* Suppress unused-variable warnings by "using" E.  */
461*fae548d3Szrj #if ! defined lint || defined __GNUC__
462*fae548d3Szrj # define YYUSE(E) ((void) (E))
463*fae548d3Szrj #else
464*fae548d3Szrj # define YYUSE(E) /* empty */
465*fae548d3Szrj #endif
466*fae548d3Szrj 
467*fae548d3Szrj #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
468*fae548d3Szrj /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
469*fae548d3Szrj # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
470*fae548d3Szrj     _Pragma ("GCC diagnostic push") \
471*fae548d3Szrj     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
472*fae548d3Szrj     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
473*fae548d3Szrj # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
474*fae548d3Szrj     _Pragma ("GCC diagnostic pop")
475*fae548d3Szrj #else
476*fae548d3Szrj # define YY_INITIAL_VALUE(Value) Value
477*fae548d3Szrj #endif
478*fae548d3Szrj #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
479*fae548d3Szrj # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
480*fae548d3Szrj # define YY_IGNORE_MAYBE_UNINITIALIZED_END
481*fae548d3Szrj #endif
482*fae548d3Szrj #ifndef YY_INITIAL_VALUE
483*fae548d3Szrj # define YY_INITIAL_VALUE(Value) /* Nothing. */
484*fae548d3Szrj #endif
485*fae548d3Szrj 
486*fae548d3Szrj 
487*fae548d3Szrj #if ! defined yyoverflow || YYERROR_VERBOSE
488*fae548d3Szrj 
489*fae548d3Szrj /* The parser invokes alloca or malloc; define the necessary symbols.  */
490*fae548d3Szrj 
491*fae548d3Szrj # ifdef YYSTACK_USE_ALLOCA
492*fae548d3Szrj #  if YYSTACK_USE_ALLOCA
493*fae548d3Szrj #   ifdef __GNUC__
494*fae548d3Szrj #    define YYSTACK_ALLOC __builtin_alloca
495*fae548d3Szrj #   elif defined __BUILTIN_VA_ARG_INCR
496*fae548d3Szrj #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
497*fae548d3Szrj #   elif defined _AIX
498*fae548d3Szrj #    define YYSTACK_ALLOC __alloca
499*fae548d3Szrj #   elif defined _MSC_VER
500*fae548d3Szrj #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
501*fae548d3Szrj #    define alloca _alloca
502*fae548d3Szrj #   else
503*fae548d3Szrj #    define YYSTACK_ALLOC alloca
504*fae548d3Szrj #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
505*fae548d3Szrj #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
506*fae548d3Szrj       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
507*fae548d3Szrj #     ifndef EXIT_SUCCESS
508*fae548d3Szrj #      define EXIT_SUCCESS 0
509*fae548d3Szrj #     endif
510*fae548d3Szrj #    endif
511*fae548d3Szrj #   endif
512*fae548d3Szrj #  endif
513*fae548d3Szrj # endif
514*fae548d3Szrj 
515*fae548d3Szrj # ifdef YYSTACK_ALLOC
516*fae548d3Szrj    /* Pacify GCC's 'empty if-body' warning.  */
517*fae548d3Szrj #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
518*fae548d3Szrj #  ifndef YYSTACK_ALLOC_MAXIMUM
519*fae548d3Szrj     /* The OS might guarantee only one guard page at the bottom of the stack,
520*fae548d3Szrj        and a page size can be as small as 4096 bytes.  So we cannot safely
521*fae548d3Szrj        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
522*fae548d3Szrj        to allow for a few compiler-allocated temporary stack slots.  */
523*fae548d3Szrj #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
524*fae548d3Szrj #  endif
525*fae548d3Szrj # else
526*fae548d3Szrj #  define YYSTACK_ALLOC YYMALLOC
527*fae548d3Szrj #  define YYSTACK_FREE YYFREE
528*fae548d3Szrj #  ifndef YYSTACK_ALLOC_MAXIMUM
529*fae548d3Szrj #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
530*fae548d3Szrj #  endif
531*fae548d3Szrj #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
532*fae548d3Szrj        && ! ((defined YYMALLOC || defined malloc) \
533*fae548d3Szrj              && (defined YYFREE || defined free)))
534*fae548d3Szrj #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
535*fae548d3Szrj #   ifndef EXIT_SUCCESS
536*fae548d3Szrj #    define EXIT_SUCCESS 0
537*fae548d3Szrj #   endif
538*fae548d3Szrj #  endif
539*fae548d3Szrj #  ifndef YYMALLOC
540*fae548d3Szrj #   define YYMALLOC malloc
541*fae548d3Szrj #   if ! defined malloc && ! defined EXIT_SUCCESS
542*fae548d3Szrj void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
543*fae548d3Szrj #   endif
544*fae548d3Szrj #  endif
545*fae548d3Szrj #  ifndef YYFREE
546*fae548d3Szrj #   define YYFREE free
547*fae548d3Szrj #   if ! defined free && ! defined EXIT_SUCCESS
548*fae548d3Szrj void free (void *); /* INFRINGES ON USER NAME SPACE */
549*fae548d3Szrj #   endif
550*fae548d3Szrj #  endif
551*fae548d3Szrj # endif
552*fae548d3Szrj #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
553*fae548d3Szrj 
554*fae548d3Szrj 
555*fae548d3Szrj #if (! defined yyoverflow \
556*fae548d3Szrj      && (! defined __cplusplus \
557*fae548d3Szrj          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
558*fae548d3Szrj 
559*fae548d3Szrj /* A type that is properly aligned for any stack member.  */
560*fae548d3Szrj union yyalloc
561*fae548d3Szrj {
562*fae548d3Szrj   yytype_int16 yyss_alloc;
563*fae548d3Szrj   YYSTYPE yyvs_alloc;
564*fae548d3Szrj };
565*fae548d3Szrj 
566*fae548d3Szrj /* The size of the maximum gap between one aligned stack and the next.  */
567*fae548d3Szrj # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
568*fae548d3Szrj 
569*fae548d3Szrj /* The size of an array large to enough to hold all stacks, each with
570*fae548d3Szrj    N elements.  */
571*fae548d3Szrj # define YYSTACK_BYTES(N) \
572*fae548d3Szrj      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
573*fae548d3Szrj       + YYSTACK_GAP_MAXIMUM)
574*fae548d3Szrj 
575*fae548d3Szrj # define YYCOPY_NEEDED 1
576*fae548d3Szrj 
577*fae548d3Szrj /* Relocate STACK from its old location to the new one.  The
578*fae548d3Szrj    local variables YYSIZE and YYSTACKSIZE give the old and new number of
579*fae548d3Szrj    elements in the stack, and YYPTR gives the new location of the
580*fae548d3Szrj    stack.  Advance YYPTR to a properly aligned location for the next
581*fae548d3Szrj    stack.  */
582*fae548d3Szrj # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
583*fae548d3Szrj     do                                                                  \
584*fae548d3Szrj       {                                                                 \
585*fae548d3Szrj         YYSIZE_T yynewbytes;                                            \
586*fae548d3Szrj         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
587*fae548d3Szrj         Stack = &yyptr->Stack_alloc;                                    \
588*fae548d3Szrj         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
589*fae548d3Szrj         yyptr += yynewbytes / sizeof (*yyptr);                          \
590*fae548d3Szrj       }                                                                 \
591*fae548d3Szrj     while (0)
592*fae548d3Szrj 
593*fae548d3Szrj #endif
594*fae548d3Szrj 
595*fae548d3Szrj #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
596*fae548d3Szrj /* Copy COUNT objects from SRC to DST.  The source and destination do
597*fae548d3Szrj    not overlap.  */
598*fae548d3Szrj # ifndef YYCOPY
599*fae548d3Szrj #  if defined __GNUC__ && 1 < __GNUC__
600*fae548d3Szrj #   define YYCOPY(Dst, Src, Count) \
601*fae548d3Szrj       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
602*fae548d3Szrj #  else
603*fae548d3Szrj #   define YYCOPY(Dst, Src, Count)              \
604*fae548d3Szrj       do                                        \
605*fae548d3Szrj         {                                       \
606*fae548d3Szrj           YYSIZE_T yyi;                         \
607*fae548d3Szrj           for (yyi = 0; yyi < (Count); yyi++)   \
608*fae548d3Szrj             (Dst)[yyi] = (Src)[yyi];            \
609*fae548d3Szrj         }                                       \
610*fae548d3Szrj       while (0)
611*fae548d3Szrj #  endif
612*fae548d3Szrj # endif
613*fae548d3Szrj #endif /* !YYCOPY_NEEDED */
614*fae548d3Szrj 
615*fae548d3Szrj /* YYFINAL -- State number of the termination state.  */
616*fae548d3Szrj #define YYFINAL  26
617*fae548d3Szrj /* YYLAST -- Last index in YYTABLE.  */
618*fae548d3Szrj #define YYLAST   1465
619*fae548d3Szrj 
620*fae548d3Szrj /* YYNTOKENS -- Number of terminals.  */
621*fae548d3Szrj #define YYNTOKENS  130
622*fae548d3Szrj /* YYNNTS -- Number of nonterminals.  */
623*fae548d3Szrj #define YYNNTS  70
624*fae548d3Szrj /* YYNRULES -- Number of rules.  */
625*fae548d3Szrj #define YYNRULES  241
626*fae548d3Szrj /* YYNSTATES -- Number of states.  */
627*fae548d3Szrj #define YYNSTATES  555
628*fae548d3Szrj 
629*fae548d3Szrj /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
630*fae548d3Szrj    by yylex, with out-of-bounds checking.  */
631*fae548d3Szrj #define YYUNDEFTOK  2
632*fae548d3Szrj #define YYMAXUTOK   361
633*fae548d3Szrj 
634*fae548d3Szrj #define YYTRANSLATE(YYX)                                                \
635*fae548d3Szrj   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
636*fae548d3Szrj 
637*fae548d3Szrj /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
638*fae548d3Szrj    as returned by yylex, without out-of-bounds checking.  */
639*fae548d3Szrj static const yytype_uint8 yytranslate[] =
640*fae548d3Szrj {
641*fae548d3Szrj        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
642*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
643*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
644*fae548d3Szrj        2,     2,     2,   126,     2,     2,     2,    31,    18,     2,
645*fae548d3Szrj      120,   121,    29,    27,   124,    28,     2,    30,     2,     2,
646*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,    13,   125,
647*fae548d3Szrj       21,     7,    22,    12,     2,     2,     2,     2,     2,     2,
648*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
649*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
650*fae548d3Szrj        2,     2,     2,     2,    17,     2,     2,     2,     2,     2,
651*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,   128,     2,
652*fae548d3Szrj        2,   127,     2,     2,     2,     2,     2,     2,     2,     2,
653*fae548d3Szrj        2,     2,     2,   122,    16,   123,   129,     2,     2,     2,
654*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
655*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
656*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
657*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
658*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
659*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
660*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
661*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
662*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
663*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
664*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
665*fae548d3Szrj        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
666*fae548d3Szrj        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
667*fae548d3Szrj        5,     6,     8,     9,    10,    11,    14,    15,    19,    20,
668*fae548d3Szrj       23,    24,    25,    26,    32,    33,    34,    35,    36,    37,
669*fae548d3Szrj       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
670*fae548d3Szrj       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
671*fae548d3Szrj       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
672*fae548d3Szrj       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
673*fae548d3Szrj       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
674*fae548d3Szrj       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
675*fae548d3Szrj       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
676*fae548d3Szrj      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
677*fae548d3Szrj      118,   119
678*fae548d3Szrj };
679*fae548d3Szrj 
680*fae548d3Szrj #if YYDEBUG
681*fae548d3Szrj   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
682*fae548d3Szrj static const yytype_uint16 yyrline[] =
683*fae548d3Szrj {
684*fae548d3Szrj        0,   236,   236,   237,   238,   239,   240,   241,   242,   247,
685*fae548d3Szrj      248,   253,   254,   257,   256,   260,   262,   263,   264,   266,
686*fae548d3Szrj      272,   279,   280,   283,   282,   286,   289,   288,   292,   294,
687*fae548d3Szrj      295,   297,   300,   301,   309,   317,   317,   323,   325,   327,
688*fae548d3Szrj      333,   334,   339,   341,   344,   343,   351,   352,   357,   359,
689*fae548d3Szrj      360,   362,   366,   365,   374,   376,   374,   393,   398,   403,
690*fae548d3Szrj      408,   413,   418,   427,   429,   434,   439,   444,   454,   455,
691*fae548d3Szrj      462,   463,   470,   471,   478,   479,   481,   483,   489,   498,
692*fae548d3Szrj      500,   505,   507,   512,   515,   521,   524,   529,   531,   537,
693*fae548d3Szrj      538,   539,   541,   543,   545,   552,   553,   556,   562,   564,
694*fae548d3Szrj      566,   568,   570,   577,   579,   585,   592,   601,   606,   615,
695*fae548d3Szrj      620,   625,   630,   639,   644,   663,   682,   691,   693,   700,
696*fae548d3Szrj      702,   707,   716,   717,   722,   725,   728,   733,   736,   739,
697*fae548d3Szrj      743,   745,   747,   751,   753,   755,   760,   761,   766,   775,
698*fae548d3Szrj      777,   784,   785,   793,   798,   809,   818,   820,   826,   832,
699*fae548d3Szrj      838,   844,   850,   856,   862,   868,   870,   872,   878,   878,
700*fae548d3Szrj      888,   890,   892,   894,   896,   898,   900,   902,   904,   906,
701*fae548d3Szrj      908,   910,   912,   914,   916,   918,   920,   922,   924,   926,
702*fae548d3Szrj      928,   930,   932,   934,   936,   938,   940,   942,   944,   946,
703*fae548d3Szrj      948,   950,   952,   954,   956,   958,   960,   962,   964,   966,
704*fae548d3Szrj      968,   970,   975,   980,   982,   990,   996,  1006,  1009,  1010,
705*fae548d3Szrj     1014,  1020,  1024,  1025,  1029,  1033,  1038,  1045,  1049,  1057,
706*fae548d3Szrj     1058,  1060,  1062,  1064,  1073,  1078,  1083,  1088,  1095,  1094,
707*fae548d3Szrj     1105,  1104,  1111,  1116,  1126,  1128,  1135,  1136,  1141,  1142,
708*fae548d3Szrj     1147,  1148
709*fae548d3Szrj };
710*fae548d3Szrj #endif
711*fae548d3Szrj 
712*fae548d3Szrj #if YYDEBUG || YYERROR_VERBOSE || 1
713*fae548d3Szrj /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
714*fae548d3Szrj    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
715*fae548d3Szrj static const char *const yytname[] =
716*fae548d3Szrj {
717*fae548d3Szrj   "$end", "error", "$undefined", "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ",
718*fae548d3Szrj   "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", "OREQ", "'?'", "':'", "OROR",
719*fae548d3Szrj   "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", "'<'", "'>'", "LE", "GE",
720*fae548d3Szrj   "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'", "UNARY", "STRING",
721*fae548d3Szrj   "QUOTED_STRING", "INTEGER", "ABSOLUTE", "ADDR", "ALIGN_K", "ALIGNOF",
722*fae548d3Szrj   "ASSERT_K", "AS_NEEDED", "AT", "BIND", "BLOCK", "BYTE", "CONSTANT",
723*fae548d3Szrj   "CONSTRUCTORS", "COPY", "CREATE_OBJECT_SYMBOLS", "DATA_SEGMENT_ALIGN",
724*fae548d3Szrj   "DATA_SEGMENT_END", "DATA_SEGMENT_RELRO_END", "DEFINED", "DSECT",
725*fae548d3Szrj   "ENTRY", "EXCLUDE_FILE", "EXTERN", "FILL", "FLOAT",
726*fae548d3Szrj   "FORCE_COMMON_ALLOCATION", "GLOBAL", "GROUP", "HIDDEN", "HLL", "INCLUDE",
727*fae548d3Szrj   "INHIBIT_COMMON_ALLOCATION", "INFO", "INPUT", "KEEP", "LEN", "LENGTH",
728*fae548d3Szrj   "LOADADDR", "LOCAL", "LONG", "MAP", "MAX_K", "MEMORY", "MIN_K", "NEXT",
729*fae548d3Szrj   "NOCROSSREFS", "NOFLOAT", "NOLOAD", "ONLY_IF_RO", "ONLY_IF_RW", "ORG",
730*fae548d3Szrj   "ORIGIN", "OUTPUT", "OUTPUT_ARCH", "OUTPUT_FORMAT", "OVERLAY", "PHDRS",
731*fae548d3Szrj   "PROVIDE", "PROVIDE_HIDDEN", "QUAD", "SEARCH_DIR", "SECTIONS",
732*fae548d3Szrj   "SEGMENT_START", "SHORT", "SIZEOF", "SIZEOF_HEADERS",
733*fae548d3Szrj   "SORT_BY_ALIGNMENT", "SORT_BY_INIT_PRIORITY", "SORT_BY_NAME", "SPECIAL",
734*fae548d3Szrj   "SQUAD", "STARTUP", "SUBALIGN", "SYSLIB", "TARGET_K", "TRUNCATE",
735*fae548d3Szrj   "VERSIONK", "OPTION", "PARSING_LINKER_SCRIPT", "PARSING_VERSION_SCRIPT",
736*fae548d3Szrj   "PARSING_DEFSYM", "PARSING_DYNAMIC_LIST", "PARSING_SECTIONS_BLOCK",
737*fae548d3Szrj   "PARSING_SECTION_COMMANDS", "PARSING_MEMORY_DEF", "'('", "')'", "'{'",
738*fae548d3Szrj   "'}'", "','", "';'", "'!'", "'o'", "'l'", "'~'", "$accept", "top",
739*fae548d3Szrj   "linker_script", "file_cmd", "$@1", "$@2", "$@3", "ignore_cmd",
740*fae548d3Szrj   "extern_name_list", "$@4", "extern_name_list_body", "input_list",
741*fae548d3Szrj   "input_list_element", "$@5", "sections_block", "section_block_cmd",
742*fae548d3Szrj   "$@6", "section_header", "$@7", "$@8", "opt_address_and_section_type",
743*fae548d3Szrj   "section_type", "opt_at", "opt_align", "opt_subalign", "opt_constraint",
744*fae548d3Szrj   "section_trailer", "opt_memspec", "opt_at_memspec", "opt_phdr",
745*fae548d3Szrj   "opt_fill", "section_cmds", "section_cmd", "data_length",
746*fae548d3Szrj   "input_section_spec", "input_section_no_keep", "wildcard_file",
747*fae548d3Szrj   "wildcard_sections", "wildcard_section", "exclude_names",
748*fae548d3Szrj   "wildcard_name", "memory_defs", "memory_def", "memory_attr",
749*fae548d3Szrj   "memory_origin", "memory_length", "phdrs_defs", "phdr_def", "phdr_type",
750*fae548d3Szrj   "phdr_info", "assignment", "parse_exp", "$@9", "exp", "defsym_expr",
751*fae548d3Szrj   "dynamic_list_expr", "dynamic_list_nodes", "dynamic_list_node",
752*fae548d3Szrj   "version_script", "vers_nodes", "vers_node", "verdep", "vers_tag",
753*fae548d3Szrj   "vers_defns", "$@10", "$@11", "string", "end", "opt_semicolon",
754*fae548d3Szrj   "opt_comma", YY_NULLPTR
755*fae548d3Szrj };
756*fae548d3Szrj #endif
757*fae548d3Szrj 
758*fae548d3Szrj # ifdef YYPRINT
759*fae548d3Szrj /* YYTOKNUM[NUM] -- (External) token number corresponding to the
760*fae548d3Szrj    (internal) symbol number NUM (which must be that of a token).  */
761*fae548d3Szrj static const yytype_uint16 yytoknum[] =
762*fae548d3Szrj {
763*fae548d3Szrj        0,   256,   257,   258,   259,   260,   261,    61,   262,   263,
764*fae548d3Szrj      264,   265,    63,    58,   266,   267,   124,    94,    38,   268,
765*fae548d3Szrj      269,    60,    62,   270,   271,   272,   273,    43,    45,    42,
766*fae548d3Szrj       47,    37,   274,   275,   276,   277,   278,   279,   280,   281,
767*fae548d3Szrj      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
768*fae548d3Szrj      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
769*fae548d3Szrj      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
770*fae548d3Szrj      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
771*fae548d3Szrj      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
772*fae548d3Szrj      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
773*fae548d3Szrj      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
774*fae548d3Szrj      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
775*fae548d3Szrj       40,    41,   123,   125,    44,    59,    33,   111,   108,   126
776*fae548d3Szrj };
777*fae548d3Szrj # endif
778*fae548d3Szrj 
779*fae548d3Szrj #define YYPACT_NINF -423
780*fae548d3Szrj 
781*fae548d3Szrj #define yypact_value_is_default(Yystate) \
782*fae548d3Szrj   (!!((Yystate) == (-423)))
783*fae548d3Szrj 
784*fae548d3Szrj #define YYTABLE_NINF -120
785*fae548d3Szrj 
786*fae548d3Szrj #define yytable_value_is_error(Yytable_value) \
787*fae548d3Szrj   0
788*fae548d3Szrj 
789*fae548d3Szrj   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
790*fae548d3Szrj      STATE-NUM.  */
791*fae548d3Szrj static const yytype_int16 yypact[] =
792*fae548d3Szrj {
793*fae548d3Szrj      365,  -423,    81,   214,  -112,  -423,  -423,  -423,    14,  1300,
794*fae548d3Szrj     -423,  -423,    33,  -423,    81,  -423,   -93,  -423,    52,   103,
795*fae548d3Szrj     -423,  -112,  -423,   177,   568,     9,  -423,   -37,   -28,    -1,
796*fae548d3Szrj     -423,  -423,    15,   214,  -423,    19,   -69,    60,    62,     1,
797*fae548d3Szrj       64,    80,    82,    73,    84,    90,    86,  -423,  -423,  -423,
798*fae548d3Szrj      136,   318,  -423,  -423,   214,   208,   217,   104,   108,  -423,
799*fae548d3Szrj       33,  -423,   113,  -423,   132,   155,   214,  -423,   136,   318,
800*fae548d3Szrj     -423,  -423,   157,  -423,  -423,   160,   214,   162,  -423,  -423,
801*fae548d3Szrj     -423,   168,  -423,  -423,  -423,   169,  -423,  -423,   174,  -423,
802*fae548d3Szrj      136,    38,  -423,    92,  -423,   214,  -423,   195,   214,  -423,
803*fae548d3Szrj      231,  -423,   214,   214,  -423,   214,   214,   214,  -423,   214,
804*fae548d3Szrj     -423,   214,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,
805*fae548d3Szrj     -423,  -423,  -423,  -423,   151,   103,   103,   192,   159,   156,
806*fae548d3Szrj     -423,  1253,    21,  -423,   214,  -423,  -423,  -423,   137,  -423,
807*fae548d3Szrj     -423,  -423,    39,   422,  -423,    46,  -423,   214,  -423,   199,
808*fae548d3Szrj      207,   215,   220,   214,   231,   341,   316,  -423,   -40,  -423,
809*fae548d3Szrj     -423,   144,   229,     3,    36,   345,   346,   264,  -423,   266,
810*fae548d3Szrj       81,   267,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,
811*fae548d3Szrj     -423,  -423,   269,   270,  -423,  -423,  -423,   214,   -17,  1253,
812*fae548d3Szrj     1253,  -423,   271,   272,   276,   279,   280,   305,   306,   309,
813*fae548d3Szrj      310,   312,   322,   323,   324,   330,   332,   333,   337,   339,
814*fae548d3Szrj     -423,  1253,  1253,  1253,  1434,  -423,   335,   265,   340,   343,
815*fae548d3Szrj     -423,  1156,   420,  1151,   350,   349,   355,   364,   356,   374,
816*fae548d3Szrj      375,  -423,   376,   397,   398,   399,   400,     7,  -423,  -423,
817*fae548d3Szrj     -423,   -10,   508,   214,  -423,  -423,    -6,  -423,    70,  -423,
818*fae548d3Szrj     -423,   402,  -423,   231,  -423,  -423,  -423,   214,  -423,  -423,
819*fae548d3Szrj      300,  -423,  -423,  -423,   191,  -423,   401,  -423,   103,    96,
820*fae548d3Szrj      159,   403,  -423,    -8,  -423,  -423,  -423,  1253,   214,  1253,
821*fae548d3Szrj      214,  1253,  1253,   214,  1253,  1253,  1253,   214,   214,   214,
822*fae548d3Szrj     1253,  1253,   214,   214,   214,   281,  -423,  -423,  1253,  1253,
823*fae548d3Szrj     1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,
824*fae548d3Szrj     1253,  1253,  1253,  1253,  1253,  1253,  1253,  -423,   214,  -423,
825*fae548d3Szrj     -423,  -423,  -423,  -423,  -423,  -423,   510,   406,   408,   491,
826*fae548d3Szrj     -423,   153,   214,  -423,   216,  -423,  -423,  -423,  -423,   216,
827*fae548d3Szrj       53,   216,    53,  -423,   412,   214,   410,   -67,   413,   214,
828*fae548d3Szrj     -423,  -423,   416,   231,  -423,   415,  -423,    29,  -423,   421,
829*fae548d3Szrj      426,  -423,  -423,   405,   535,  -423,  -423,  -423,   825,   430,
830*fae548d3Szrj      342,   431,   392,   862,   432,   714,   882,   751,   433,   434,
831*fae548d3Szrj      435,   771,   791,   455,   454,   458,  -423,  1414,   731,   841,
832*fae548d3Szrj      948,   481,   562,   353,   353,   463,   463,   463,   463,   409,
833*fae548d3Szrj      409,   315,   315,  -423,  -423,  -423,   474,   565,  -423,   583,
834*fae548d3Szrj     1253,   480,   496,   591,   485,   486,    75,  -423,   488,   490,
835*fae548d3Szrj      493,   497,  -423,   495,  -423,  -423,  -423,  -423,   611,  -423,
836*fae548d3Szrj     -423,  -423,    98,   214,   499,    29,   500,    43,  -423,  -423,
837*fae548d3Szrj      159,   498,   103,   103,  -423,  -423,  -423,  1253,  -423,   214,
838*fae548d3Szrj     -423,  -423,  1253,  -423,  1253,  -423,  -423,  -423,  1253,  1253,
839*fae548d3Szrj     -423,  1253,  -423,  1253,  -423,   598,  -423,   902,  1253,   502,
840*fae548d3Szrj     -423,  -423,   614,  -423,  -423,   216,  -423,  -423,  -423,   216,
841*fae548d3Szrj     -423,  -423,  -423,   503,  -423,  -423,  -423,   594,  -423,  -423,
842*fae548d3Szrj      507,   405,   933,   514,   970,   990,  1010,  1041,  1078,  1434,
843*fae548d3Szrj      214,  -423,   596,  -423,  1098,  1253,   114,  -423,  -423,   105,
844*fae548d3Szrj      512,  -423,   519,   520,   159,   521,  -423,  -423,  -423,  -423,
845*fae548d3Szrj     -423,  -423,  -423,  -423,   621,  -423,  -423,  1118,  -423,  -423,
846*fae548d3Szrj     -423,  -423,  -423,    18,    29,    29,  -423,   214,   154,  -423,
847*fae548d3Szrj     -423,  -423,  -423,   638,  -423,  -423,  -423,  -423,   214,   512,
848*fae548d3Szrj     -423,  -423,  -423,  -423,  -423
849*fae548d3Szrj };
850*fae548d3Szrj 
851*fae548d3Szrj   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
852*fae548d3Szrj      Performed when YYTABLE does not specify something else to do.  Zero
853*fae548d3Szrj      means the default is an error.  */
854*fae548d3Szrj static const yytype_uint8 yydefact[] =
855*fae548d3Szrj {
856*fae548d3Szrj        0,    10,     0,     0,     0,    47,    87,   123,     0,     2,
857*fae548d3Szrj      234,   235,   219,     3,   211,   212,     0,     4,     0,     0,
858*fae548d3Szrj        5,   207,   208,     6,     7,   241,     1,     0,     0,     0,
859*fae548d3Szrj       12,    13,     0,     0,    15,     0,     0,     0,     0,     0,
860*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,    33,     9,    32,
861*fae548d3Szrj        0,     0,   224,   225,   232,     0,     0,     0,     0,   213,
862*fae548d3Szrj      219,   158,     0,   209,     0,     0,     0,    46,     0,    54,
863*fae548d3Szrj      121,   120,     0,   102,    94,     0,     0,     0,   100,    98,
864*fae548d3Szrj      101,     0,    99,    97,    88,     0,    90,   103,     0,   107,
865*fae548d3Szrj        0,   105,   240,   126,   158,     0,    35,     0,     0,    31,
866*fae548d3Szrj        0,   123,     0,     0,   137,     0,     0,     0,    23,     0,
867*fae548d3Szrj       26,     0,   237,   236,    29,   158,   158,   158,   158,   158,
868*fae548d3Szrj      158,   158,   158,   158,     0,     0,     0,     0,   220,     0,
869*fae548d3Szrj      206,     0,     0,   158,     0,    51,    49,    52,     0,   158,
870*fae548d3Szrj      158,    96,     0,     0,   158,     0,    89,     0,   122,   129,
871*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,    44,   241,    40,
872*fae548d3Szrj       42,   241,     0,     0,     0,     0,     0,     0,    47,     0,
873*fae548d3Szrj        0,     0,   147,   148,   149,   150,   146,   151,   152,   153,
874*fae548d3Szrj      154,   228,     0,     0,   214,   226,   227,   233,     0,     0,
875*fae548d3Szrj        0,   184,     0,     0,     0,     0,     0,     0,     0,     0,
876*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
877*fae548d3Szrj      189,     0,     0,     0,   159,   185,     0,     0,     0,     0,
878*fae548d3Szrj       57,     0,    68,     0,     0,     0,     0,     0,   105,     0,
879*fae548d3Szrj        0,   119,     0,     0,     0,     0,     0,   241,   110,   113,
880*fae548d3Szrj      125,     0,     0,     0,    28,    11,    36,    37,   241,   158,
881*fae548d3Szrj       43,     0,    16,     0,    17,    34,    19,     0,    21,   136,
882*fae548d3Szrj        0,   158,   158,    22,     0,    25,     0,    18,     0,   221,
883*fae548d3Szrj      222,     0,   215,     0,   217,   164,   161,     0,     0,     0,
884*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
885*fae548d3Szrj        0,     0,     0,     0,     0,     0,   162,   163,     0,     0,
886*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
887*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,   210,     0,    48,
888*fae548d3Szrj       87,    65,    64,    66,    63,    67,     0,     0,     0,    70,
889*fae548d3Szrj       59,     0,     0,    93,     0,   104,    95,   108,    91,     0,
890*fae548d3Szrj        0,     0,     0,   106,     0,     0,     0,     0,     0,     0,
891*fae548d3Szrj       38,    14,     0,     0,    41,     0,   140,   141,   139,     0,
892*fae548d3Szrj        0,    24,    27,   239,     0,   230,   216,   218,     0,     0,
893*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
894*fae548d3Szrj        0,     0,     0,     0,     0,     0,   160,     0,   182,   181,
895*fae548d3Szrj      180,   179,   178,   172,   173,   176,   177,   174,   175,   170,
896*fae548d3Szrj      171,   168,   169,   165,   166,   167,     0,     0,    58,     0,
897*fae548d3Szrj        0,     0,    72,     0,     0,     0,   241,   118,     0,     0,
898*fae548d3Szrj        0,     0,   109,     0,   127,   131,   130,   132,     0,    30,
899*fae548d3Szrj       39,   155,   241,     0,     0,   141,     0,   141,   156,   157,
900*fae548d3Szrj      238,     0,     0,     0,   197,   192,   198,     0,   190,     0,
901*fae548d3Szrj      200,   196,     0,   203,     0,   188,   195,   193,     0,     0,
902*fae548d3Szrj      194,     0,   191,     0,    50,    80,    61,     0,     0,     0,
903*fae548d3Szrj       55,    60,     0,    92,   112,     0,   115,   116,   114,     0,
904*fae548d3Szrj      128,   158,    45,     0,   158,   143,   138,     0,   142,   229,
905*fae548d3Szrj        0,   239,     0,     0,     0,     0,     0,     0,     0,   183,
906*fae548d3Szrj        0,    53,    82,    69,     0,     0,    74,    62,   117,   241,
907*fae548d3Szrj      241,    20,     0,     0,   223,     0,   199,   205,   201,   202,
908*fae548d3Szrj      186,   187,   204,    79,     0,    84,    71,     0,    75,    76,
909*fae548d3Szrj       77,    56,   111,     0,   141,   141,   231,     0,    86,    73,
910*fae548d3Szrj      134,   133,   135,     0,   145,   144,    81,   158,     0,   241,
911*fae548d3Szrj      158,    85,    83,    78,   124
912*fae548d3Szrj };
913*fae548d3Szrj 
914*fae548d3Szrj   /* YYPGOTO[NTERM-NUM].  */
915*fae548d3Szrj static const yytype_int16 yypgoto[] =
916*fae548d3Szrj {
917*fae548d3Szrj     -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,
918*fae548d3Szrj     -423,  -148,   393,  -423,   479,  -423,  -423,  -423,  -423,  -423,
919*fae548d3Szrj     -423,   317,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -423,
920*fae548d3Szrj     -423,   329,  -423,  -423,  -423,   509,  -423,  -423,  -245,   171,
921*fae548d3Szrj      -21,   551,  -423,  -423,  -423,  -423,  -423,  -423,  -423,  -422,
922*fae548d3Szrj       -4,   -83,  -423,   259,  -423,  -423,  -423,   632,   484,  -423,
923*fae548d3Szrj      641,  -423,   604,   -15,  -423,  -423,    -2,   -60,   165,   -23
924*fae548d3Szrj };
925*fae548d3Szrj 
926*fae548d3Szrj   /* YYDEFGOTO[NTERM-NUM].  */
927*fae548d3Szrj static const yytype_int16 yydefgoto[] =
928*fae548d3Szrj {
929*fae548d3Szrj       -1,     8,     9,    48,    97,   168,   170,    49,   152,   153,
930*fae548d3Szrj      246,   158,   159,   251,    23,    67,   219,   137,   138,   506,
931*fae548d3Szrj      222,   327,   329,   412,   470,   531,   501,   502,   525,   538,
932*fae548d3Szrj      549,    24,    84,    85,    86,    87,    88,   237,   238,   416,
933*fae548d3Szrj      239,    25,   148,   242,   428,   543,   164,   259,   357,   436,
934*fae548d3Szrj       68,   130,   131,   295,    17,    20,    21,    22,    13,    14,
935*fae548d3Szrj       15,   273,    57,    58,   268,   443,   215,   114,   441,   253
936*fae548d3Szrj };
937*fae548d3Szrj 
938*fae548d3Szrj   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
939*fae548d3Szrj      positive, shift that token.  If negative, reduce the rule whose
940*fae548d3Szrj      number is the opposite.  If YYTABLE_NINF, syntax error.  */
941*fae548d3Szrj static const yytype_int16 yytable[] =
942*fae548d3Szrj {
943*fae548d3Szrj       16,    18,    93,    89,    62,    50,   248,    51,   136,    -8,
944*fae548d3Szrj       19,   150,    16,   485,    26,   488,    10,    11,   425,   426,
945*fae548d3Szrj       90,    69,    91,    10,    11,    10,    11,    10,    11,    60,
946*fae548d3Szrj      146,    99,   172,   173,   174,   175,   176,   177,   178,   179,
947*fae548d3Szrj      180,   115,   116,   117,   118,   119,   120,   121,   122,   123,
948*fae548d3Szrj      217,    70,   124,   101,   185,   186,   224,   225,    70,    61,
949*fae548d3Szrj      427,   232,    10,    11,   135,    70,    52,    53,    71,    10,
950*fae548d3Szrj       11,   434,    10,    11,   141,    71,    10,    11,   187,    10,
951*fae548d3Szrj       11,   252,    71,    94,    92,   434,    10,    11,   540,   541,
952*fae548d3Szrj       54,   149,    95,   151,    55,   418,   155,   420,   160,   422,
953*fae548d3Szrj      162,   163,   233,   165,   166,   167,    56,   169,   272,   171,
954*fae548d3Szrj      182,   183,   544,   545,    10,    11,   345,   366,   349,    96,
955*fae548d3Szrj      435,    89,   230,   104,   256,    10,    11,   257,   343,   185,
956*fae548d3Szrj      186,    92,   218,    92,   435,    98,    52,    53,    93,   100,
957*fae548d3Szrj      228,   231,   226,   231,   216,   240,   542,   234,   235,   236,
958*fae548d3Szrj      220,   247,   160,   187,   234,   235,   236,   147,  -119,   258,
959*fae548d3Szrj       54,   547,   260,   487,   189,   190,   352,   548,    16,   364,
960*fae548d3Szrj       10,    11,   191,   192,   193,   194,   195,   196,   359,   360,
961*fae548d3Szrj      102,   197,   103,   198,   105,   271,   274,   199,   200,   201,
962*fae548d3Szrj      202,   351,   185,   186,    92,   108,   474,   528,   529,    92,
963*fae548d3Szrj      106,   321,   107,    12,   109,   432,   111,   322,   203,   204,
964*fae548d3Szrj       10,    11,   110,   205,   344,   206,   187,    64,   530,   482,
965*fae548d3Szrj      323,   125,    92,   207,    10,    11,   532,   127,    70,    92,
966*fae548d3Szrj      126,    64,    65,   128,   208,   324,   209,   210,   132,   346,
967*fae548d3Szrj       32,   348,    66,   325,   350,    71,    65,    10,    11,    10,
968*fae548d3Szrj       11,   160,   133,   363,    32,   355,    66,   221,   358,   156,
969*fae548d3Szrj      112,   113,    69,   212,    10,    11,   213,   254,    92,    40,
970*fae548d3Szrj       41,   367,   157,   181,   413,   134,   369,   139,   371,   188,
971*fae548d3Szrj      140,   374,   142,    40,    41,   378,   379,   380,   143,   144,
972*fae548d3Szrj      383,   384,   385,   298,   145,   299,   300,   301,   302,   303,
973*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
974*fae548d3Szrj      314,   315,   316,   230,   361,   154,   406,   184,   417,   241,
975*fae548d3Szrj      419,   115,   116,   117,   118,   119,   120,   121,   122,   123,
976*fae548d3Szrj      415,   243,   231,    10,    11,   356,   244,   231,   231,   231,
977*fae548d3Szrj      231,   245,   231,   423,   314,   315,   316,   430,   249,   250,
978*fae548d3Szrj      255,   160,   261,   262,   298,   437,   299,   300,   301,   302,
979*fae548d3Szrj      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
980*fae548d3Szrj      313,   314,   315,   316,   306,   307,   308,   309,   310,   311,
981*fae548d3Szrj      312,   313,   314,   315,   316,   263,    89,   265,   267,   318,
982*fae548d3Szrj      214,   277,   278,   475,   269,   270,   279,   223,   510,   280,
983*fae548d3Szrj      281,   512,   386,    90,   298,    91,   299,   300,   301,   302,
984*fae548d3Szrj      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
985*fae548d3Szrj      313,   314,   315,   316,    70,   282,   283,   490,   491,   284,
986*fae548d3Szrj      285,   483,   286,   437,    70,   437,   312,   313,   314,   315,
987*fae548d3Szrj      316,    71,   287,   288,   289,    10,    11,   493,   275,   276,
988*fae548d3Szrj      290,    71,   291,   292,   508,    10,    11,   293,   417,   294,
989*fae548d3Szrj      317,   319,   328,   446,   551,   320,   447,   554,   421,   229,
990*fae548d3Szrj      333,   296,   297,   231,   332,   334,  -119,   231,     1,     2,
991*fae548d3Szrj        3,     4,     5,     6,     7,   335,   475,   533,   310,   311,
992*fae548d3Szrj      312,   313,   314,   315,   316,   336,   337,   338,   523,   303,
993*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
994*fae548d3Szrj      314,   315,   316,   234,   235,   236,   449,   339,   340,   341,
995*fae548d3Szrj      342,   347,   353,   408,   362,   365,   553,   409,   410,   411,
996*fae548d3Szrj      440,   424,   437,   437,   429,   546,   368,   431,   370,   433,
997*fae548d3Szrj      372,   373,   438,   375,   376,   377,   552,   439,   442,   381,
998*fae548d3Szrj      382,   445,   448,   451,   455,   456,   457,   387,   388,   389,
999*fae548d3Szrj      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
1000*fae548d3Szrj      400,   401,   402,   403,   404,   405,   460,    70,   461,   462,
1001*fae548d3Szrj       70,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1002*fae548d3Szrj      313,   314,   315,   316,    71,   464,   466,    71,    10,    11,
1003*fae548d3Szrj      468,    10,    11,   469,   471,    72,   472,   473,    72,   476,
1004*fae548d3Szrj       73,   477,    74,    73,   478,    74,   480,   479,   481,   484,
1005*fae548d3Szrj      500,   489,   505,    75,   511,   486,    75,   507,    32,   513,
1006*fae548d3Szrj       76,    32,   514,    76,    77,   517,    92,    77,   524,    78,
1007*fae548d3Szrj      534,   535,    78,   537,   536,   550,   354,   264,   414,   407,
1008*fae548d3Szrj      509,   227,   161,    63,   266,    59,   515,    40,    41,    79,
1009*fae548d3Szrj       40,    41,    79,    80,   129,     0,    80,     0,    81,   467,
1010*fae548d3Szrj       82,    81,     0,    82,     0,     0,     0,     0,     0,     0,
1011*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,   465,     0,
1012*fae548d3Szrj       83,     0,     0,    83,     0,     0,     0,     0,     0,     0,
1013*fae548d3Szrj        0,     0,     0,     0,     0,     0,   492,     0,     0,     0,
1014*fae548d3Szrj        0,   494,     0,   495,     0,     0,     0,   496,   497,     0,
1015*fae548d3Szrj      498,     0,   499,     0,     0,     0,   298,   504,   299,   300,
1016*fae548d3Szrj      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1017*fae548d3Szrj      311,   312,   313,   314,   315,   316,   300,   301,   302,   303,
1018*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1019*fae548d3Szrj      314,   315,   316,   298,   527,   299,   300,   301,   302,   303,
1020*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1021*fae548d3Szrj      314,   315,   316,   298,     0,   299,   300,   301,   302,   303,
1022*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1023*fae548d3Szrj      314,   315,   316,   298,     0,   299,   300,   301,   302,   303,
1024*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1025*fae548d3Szrj      314,   315,   316,     0,     0,     0,     0,     0,     0,     0,
1026*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,   298,   452,   299,
1027*fae548d3Szrj      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1028*fae548d3Szrj      310,   311,   312,   313,   314,   315,   316,   301,   302,   303,
1029*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1030*fae548d3Szrj      314,   315,   316,     0,   298,   454,   299,   300,   301,   302,
1031*fae548d3Szrj      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1032*fae548d3Szrj      313,   314,   315,   316,   298,   458,   299,   300,   301,   302,
1033*fae548d3Szrj      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1034*fae548d3Szrj      313,   314,   315,   316,   298,   459,   299,   300,   301,   302,
1035*fae548d3Szrj      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1036*fae548d3Szrj      313,   314,   315,   316,     0,     0,     0,     0,     0,     0,
1037*fae548d3Szrj        0,     0,     0,     0,     0,   298,   444,   299,   300,   301,
1038*fae548d3Szrj      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
1039*fae548d3Szrj      312,   313,   314,   315,   316,   302,   303,   304,   305,   306,
1040*fae548d3Szrj      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1041*fae548d3Szrj        0,     0,   298,   450,   299,   300,   301,   302,   303,   304,
1042*fae548d3Szrj      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1043*fae548d3Szrj      315,   316,   298,   453,   299,   300,   301,   302,   303,   304,
1044*fae548d3Szrj      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1045*fae548d3Szrj      315,   316,   298,   503,   299,   300,   301,   302,   303,   304,
1046*fae548d3Szrj      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1047*fae548d3Szrj      315,   316,     0,     0,     0,     0,     0,     0,     0,     0,
1048*fae548d3Szrj        0,     0,     0,   298,   516,   299,   300,   301,   302,   303,
1049*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1050*fae548d3Szrj      314,   315,   316,     0,     0,     0,     0,     0,     0,     0,
1051*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1052*fae548d3Szrj      298,   518,   299,   300,   301,   302,   303,   304,   305,   306,
1053*fae548d3Szrj      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1054*fae548d3Szrj      298,   519,   299,   300,   301,   302,   303,   304,   305,   306,
1055*fae548d3Szrj      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1056*fae548d3Szrj      298,   520,   299,   300,   301,   302,   303,   304,   305,   306,
1057*fae548d3Szrj      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1058*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1059*fae548d3Szrj        0,     0,   521,   298,   330,   299,   300,   301,   302,   303,
1060*fae548d3Szrj      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
1061*fae548d3Szrj      314,   315,   316,   189,   190,     0,     0,     0,     0,    10,
1062*fae548d3Szrj       11,   191,   192,   193,   194,   195,   196,     0,     0,   522,
1063*fae548d3Szrj      197,     0,   198,     0,   321,     0,   199,   200,   201,   202,
1064*fae548d3Szrj      322,     0,     0,     0,     0,     0,     0,     0,     0,   526,
1065*fae548d3Szrj        0,     0,     0,   323,     0,     0,     0,   203,   204,     0,
1066*fae548d3Szrj        0,     0,   205,     0,   206,     0,     0,     0,   324,   539,
1067*fae548d3Szrj        0,     0,   207,     0,     0,     0,   325,     0,     0,     0,
1068*fae548d3Szrj        0,     0,     0,   208,     0,   209,   210,     0,     0,     0,
1069*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1070*fae548d3Szrj        0,   331,     0,     0,     0,     0,   211,   326,     0,     0,
1071*fae548d3Szrj      189,   190,   212,     0,     0,   213,    10,    11,   191,   192,
1072*fae548d3Szrj      193,   194,   195,   196,     0,     0,     0,   197,     0,   198,
1073*fae548d3Szrj        0,     0,     0,   199,   200,   201,   202,     0,     0,     0,
1074*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1075*fae548d3Szrj        0,     0,     0,     0,   203,   204,     0,     0,     0,   205,
1076*fae548d3Szrj        0,   206,     0,    10,    11,     0,     0,     0,     0,   207,
1077*fae548d3Szrj       27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1078*fae548d3Szrj      208,     0,   209,   210,     0,    28,     0,    29,     0,     0,
1079*fae548d3Szrj       30,     0,    31,    32,     0,    33,    34,     0,    35,     0,
1080*fae548d3Szrj        0,     0,     0,   211,     0,     0,     0,    36,     0,   212,
1081*fae548d3Szrj        0,     0,   213,     0,     0,     0,     0,     0,    37,    38,
1082*fae548d3Szrj        0,    39,    40,    41,     0,    42,    43,     0,     0,     0,
1083*fae548d3Szrj        0,     0,     0,     0,     0,     0,     0,     0,     0,    44,
1084*fae548d3Szrj        0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
1085*fae548d3Szrj        0,     0,     0,     0,     0,    47,   298,   463,   299,   300,
1086*fae548d3Szrj      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1087*fae548d3Szrj      311,   312,   313,   314,   315,   316,   298,     0,   299,   300,
1088*fae548d3Szrj      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1089*fae548d3Szrj      311,   312,   313,   314,   315,   316
1090*fae548d3Szrj };
1091*fae548d3Szrj 
1092*fae548d3Szrj static const yytype_int16 yycheck[] =
1093*fae548d3Szrj {
1094*fae548d3Szrj        2,     3,    25,    24,    19,     9,   154,     9,    68,     0,
1095*fae548d3Szrj      122,    94,    14,   435,     0,   437,    33,    34,    85,    86,
1096*fae548d3Szrj       24,    23,    24,    33,    34,    33,    34,    33,    34,   122,
1097*fae548d3Szrj       90,    33,   115,   116,   117,   118,   119,   120,   121,   122,
1098*fae548d3Szrj      123,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1099*fae548d3Szrj      133,    12,    54,   122,    33,    34,   139,   140,    12,     7,
1100*fae548d3Szrj      127,   144,    33,    34,    66,    12,    33,    34,    29,    33,
1101*fae548d3Szrj       34,    42,    33,    34,    76,    29,    33,    34,    57,    33,
1102*fae548d3Szrj       34,   121,    29,   120,   124,    42,    33,    34,    70,    71,
1103*fae548d3Szrj       57,    93,   120,    95,    61,   340,    98,   342,   100,   344,
1104*fae548d3Szrj      102,   103,    56,   105,   106,   107,    73,   109,   125,   111,
1105*fae548d3Szrj      125,   126,   534,   535,    33,    34,   126,   125,   124,   120,
1106*fae548d3Szrj       91,   142,   143,   122,   121,    33,    34,   124,   121,    33,
1107*fae548d3Szrj       34,   124,   134,   124,    91,   120,    33,    34,   161,   120,
1108*fae548d3Szrj      142,   143,   103,   145,   123,   147,   128,   101,   102,   103,
1109*fae548d3Szrj       13,   153,   154,    57,   101,   102,   103,    65,   120,   123,
1110*fae548d3Szrj       57,     7,   164,   120,    27,    28,   249,    13,   170,    73,
1111*fae548d3Szrj       33,    34,    35,    36,    37,    38,    39,    40,   261,   262,
1112*fae548d3Szrj      120,    44,   120,    46,   120,   187,   188,    50,    51,    52,
1113*fae548d3Szrj       53,   121,    33,    34,   124,   122,   121,    83,    84,   124,
1114*fae548d3Szrj      120,    48,   120,   122,   120,   353,   120,    54,    71,    72,
1115*fae548d3Szrj       33,    34,   122,    76,   237,    78,    57,    40,   104,   121,
1116*fae548d3Szrj       67,    13,   124,    86,    33,    34,   121,   123,    12,   124,
1117*fae548d3Szrj       13,    40,    55,   125,    97,    82,    99,   100,   125,   241,
1118*fae548d3Szrj       63,   243,    65,    90,   246,    29,    55,    33,    34,    33,
1119*fae548d3Szrj       34,   253,   120,   268,    63,   257,    65,   120,   260,    28,
1120*fae548d3Szrj      124,   125,   264,   126,    33,    34,   129,   123,   124,    92,
1121*fae548d3Szrj       93,   273,    41,   122,   121,   120,   278,   120,   280,   123,
1122*fae548d3Szrj      120,   283,   120,    92,    93,   287,   288,   289,   120,   120,
1123*fae548d3Szrj      292,   293,   294,    12,   120,    14,    15,    16,    17,    18,
1124*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1125*fae548d3Szrj       29,    30,    31,   334,   123,   120,   318,   125,   339,   120,
1126*fae548d3Szrj      341,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1127*fae548d3Szrj      332,   124,   334,    33,    34,    35,   121,   339,   340,   341,
1128*fae548d3Szrj      342,   121,   344,   345,    29,    30,    31,   349,     7,    33,
1129*fae548d3Szrj      121,   353,     7,     7,    12,   357,    14,    15,    16,    17,
1130*fae548d3Szrj       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1131*fae548d3Szrj       28,    29,    30,    31,    21,    22,    23,    24,    25,    26,
1132*fae548d3Szrj       27,    28,    29,    30,    31,   121,   407,   121,   121,   124,
1133*fae548d3Szrj      131,   120,   120,   416,   125,   125,   120,   138,   481,   120,
1134*fae548d3Szrj      120,   484,   121,   407,    12,   407,    14,    15,    16,    17,
1135*fae548d3Szrj       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1136*fae548d3Szrj       28,    29,    30,    31,    12,   120,   120,   442,   443,   120,
1137*fae548d3Szrj      120,   433,   120,   435,    12,   437,    27,    28,    29,    30,
1138*fae548d3Szrj       31,    29,   120,   120,   120,    33,    34,   449,   189,   190,
1139*fae548d3Szrj      120,    29,   120,   120,   475,    33,    34,   120,   479,   120,
1140*fae548d3Szrj      125,   121,    42,   121,   547,   122,   124,   550,    56,    47,
1141*fae548d3Szrj      121,   212,   213,   475,   124,   120,   120,   479,   113,   114,
1142*fae548d3Szrj      115,   116,   117,   118,   119,   121,   509,   510,    25,    26,
1143*fae548d3Szrj       27,    28,    29,    30,    31,   121,   121,   121,   500,    18,
1144*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1145*fae548d3Szrj       29,    30,    31,   101,   102,   103,   124,   120,   120,   120,
1146*fae548d3Szrj      120,    13,   120,    13,   123,   122,   549,   121,   120,    38,
1147*fae548d3Szrj      125,   121,   534,   535,   121,   537,   277,   121,   279,   124,
1148*fae548d3Szrj      281,   282,   121,   284,   285,   286,   548,   121,    13,   290,
1149*fae548d3Szrj      291,   121,   121,   121,   121,   121,   121,   298,   299,   300,
1150*fae548d3Szrj      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
1151*fae548d3Szrj      311,   312,   313,   314,   315,   316,   121,    12,   124,   121,
1152*fae548d3Szrj       12,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1153*fae548d3Szrj       28,    29,    30,    31,    29,   121,    13,    29,    33,    34,
1154*fae548d3Szrj      120,    33,    34,   107,    13,    40,   121,   121,    40,   121,
1155*fae548d3Szrj       45,   121,    47,    45,   121,    47,   121,   120,     7,   120,
1156*fae548d3Szrj       22,   123,   120,    58,   121,   125,    58,    13,    63,    35,
1157*fae548d3Szrj       65,    63,   125,    65,    69,   121,   124,    69,    42,    74,
1158*fae548d3Szrj      121,   121,    74,    22,   123,     7,   253,   168,   331,   320,
1159*fae548d3Szrj      479,   142,   101,    21,   170,    14,   491,    92,    93,    94,
1160*fae548d3Szrj       92,    93,    94,    98,    60,    -1,    98,    -1,   103,   410,
1161*fae548d3Szrj      105,   103,    -1,   105,    -1,    -1,    -1,    -1,    -1,    -1,
1162*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,    -1,
1163*fae548d3Szrj      125,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
1164*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,
1165*fae548d3Szrj       -1,   452,    -1,   454,    -1,    -1,    -1,   458,   459,    -1,
1166*fae548d3Szrj      461,    -1,   463,    -1,    -1,    -1,    12,   468,    14,    15,
1167*fae548d3Szrj       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1168*fae548d3Szrj       26,    27,    28,    29,    30,    31,    15,    16,    17,    18,
1169*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1170*fae548d3Szrj       29,    30,    31,    12,   505,    14,    15,    16,    17,    18,
1171*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1172*fae548d3Szrj       29,    30,    31,    12,    -1,    14,    15,    16,    17,    18,
1173*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1174*fae548d3Szrj       29,    30,    31,    12,    -1,    14,    15,    16,    17,    18,
1175*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1176*fae548d3Szrj       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1177*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    12,   124,    14,
1178*fae548d3Szrj       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1179*fae548d3Szrj       25,    26,    27,    28,    29,    30,    31,    16,    17,    18,
1180*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1181*fae548d3Szrj       29,    30,    31,    -1,    12,   124,    14,    15,    16,    17,
1182*fae548d3Szrj       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1183*fae548d3Szrj       28,    29,    30,    31,    12,   124,    14,    15,    16,    17,
1184*fae548d3Szrj       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1185*fae548d3Szrj       28,    29,    30,    31,    12,   124,    14,    15,    16,    17,
1186*fae548d3Szrj       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1187*fae548d3Szrj       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
1188*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    12,   121,    14,    15,    16,
1189*fae548d3Szrj       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1190*fae548d3Szrj       27,    28,    29,    30,    31,    17,    18,    19,    20,    21,
1191*fae548d3Szrj       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1192*fae548d3Szrj       -1,    -1,    12,   121,    14,    15,    16,    17,    18,    19,
1193*fae548d3Szrj       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1194*fae548d3Szrj       30,    31,    12,   121,    14,    15,    16,    17,    18,    19,
1195*fae548d3Szrj       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1196*fae548d3Szrj       30,    31,    12,   121,    14,    15,    16,    17,    18,    19,
1197*fae548d3Szrj       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1198*fae548d3Szrj       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1199*fae548d3Szrj       -1,    -1,    -1,    12,   121,    14,    15,    16,    17,    18,
1200*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1201*fae548d3Szrj       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1202*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1203*fae548d3Szrj       12,   121,    14,    15,    16,    17,    18,    19,    20,    21,
1204*fae548d3Szrj       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1205*fae548d3Szrj       12,   121,    14,    15,    16,    17,    18,    19,    20,    21,
1206*fae548d3Szrj       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1207*fae548d3Szrj       12,   121,    14,    15,    16,    17,    18,    19,    20,    21,
1208*fae548d3Szrj       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1209*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1210*fae548d3Szrj       -1,    -1,   121,    12,    13,    14,    15,    16,    17,    18,
1211*fae548d3Szrj       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1212*fae548d3Szrj       29,    30,    31,    27,    28,    -1,    -1,    -1,    -1,    33,
1213*fae548d3Szrj       34,    35,    36,    37,    38,    39,    40,    -1,    -1,   121,
1214*fae548d3Szrj       44,    -1,    46,    -1,    48,    -1,    50,    51,    52,    53,
1215*fae548d3Szrj       54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,
1216*fae548d3Szrj       -1,    -1,    -1,    67,    -1,    -1,    -1,    71,    72,    -1,
1217*fae548d3Szrj       -1,    -1,    76,    -1,    78,    -1,    -1,    -1,    82,   121,
1218*fae548d3Szrj       -1,    -1,    86,    -1,    -1,    -1,    90,    -1,    -1,    -1,
1219*fae548d3Szrj       -1,    -1,    -1,    97,    -1,    99,   100,    -1,    -1,    -1,
1220*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1221*fae548d3Szrj       -1,   120,    -1,    -1,    -1,    -1,   120,   121,    -1,    -1,
1222*fae548d3Szrj       27,    28,   126,    -1,    -1,   129,    33,    34,    35,    36,
1223*fae548d3Szrj       37,    38,    39,    40,    -1,    -1,    -1,    44,    -1,    46,
1224*fae548d3Szrj       -1,    -1,    -1,    50,    51,    52,    53,    -1,    -1,    -1,
1225*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1226*fae548d3Szrj       -1,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,    76,
1227*fae548d3Szrj       -1,    78,    -1,    33,    34,    -1,    -1,    -1,    -1,    86,
1228*fae548d3Szrj       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1229*fae548d3Szrj       97,    -1,    99,   100,    -1,    55,    -1,    57,    -1,    -1,
1230*fae548d3Szrj       60,    -1,    62,    63,    -1,    65,    66,    -1,    68,    -1,
1231*fae548d3Szrj       -1,    -1,    -1,   120,    -1,    -1,    -1,    77,    -1,   126,
1232*fae548d3Szrj       -1,    -1,   129,    -1,    -1,    -1,    -1,    -1,    88,    89,
1233*fae548d3Szrj       -1,    91,    92,    93,    -1,    95,    96,    -1,    -1,    -1,
1234*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
1235*fae548d3Szrj       -1,   111,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1236*fae548d3Szrj       -1,    -1,    -1,    -1,    -1,   125,    12,    13,    14,    15,
1237*fae548d3Szrj       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1238*fae548d3Szrj       26,    27,    28,    29,    30,    31,    12,    -1,    14,    15,
1239*fae548d3Szrj       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1240*fae548d3Szrj       26,    27,    28,    29,    30,    31
1241*fae548d3Szrj };
1242*fae548d3Szrj 
1243*fae548d3Szrj   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1244*fae548d3Szrj      symbol of state STATE-NUM.  */
1245*fae548d3Szrj static const yytype_uint8 yystos[] =
1246*fae548d3Szrj {
1247*fae548d3Szrj        0,   113,   114,   115,   116,   117,   118,   119,   131,   132,
1248*fae548d3Szrj       33,    34,   122,   188,   189,   190,   196,   184,   196,   122,
1249*fae548d3Szrj      185,   186,   187,   144,   161,   171,     0,    40,    55,    57,
1250*fae548d3Szrj       60,    62,    63,    65,    66,    68,    77,    88,    89,    91,
1251*fae548d3Szrj       92,    93,    95,    96,   109,   111,   112,   125,   133,   137,
1252*fae548d3Szrj      180,   196,    33,    34,    57,    61,    73,   192,   193,   190,
1253*fae548d3Szrj      122,     7,   193,   187,    40,    55,    65,   145,   180,   196,
1254*fae548d3Szrj       12,    29,    40,    45,    47,    58,    65,    69,    74,    94,
1255*fae548d3Szrj       98,   103,   105,   125,   162,   163,   164,   165,   166,   170,
1256*fae548d3Szrj      180,   196,   124,   199,   120,   120,   120,   134,   120,   196,
1257*fae548d3Szrj      120,   122,   120,   120,   122,   120,   120,   120,   122,   120,
1258*fae548d3Szrj      122,   120,   124,   125,   197,     3,     4,     5,     6,     7,
1259*fae548d3Szrj        8,     9,    10,    11,   196,    13,    13,   123,   125,   192,
1260*fae548d3Szrj      181,   182,   125,   120,   120,   196,   197,   147,   148,   120,
1261*fae548d3Szrj      120,   196,   120,   120,   120,   120,   197,    65,   172,   196,
1262*fae548d3Szrj      181,   196,   138,   139,   120,   196,    28,    41,   141,   142,
1263*fae548d3Szrj      196,   171,   196,   196,   176,   196,   196,   196,   135,   196,
1264*fae548d3Szrj      136,   196,   181,   181,   181,   181,   181,   181,   181,   181,
1265*fae548d3Szrj      181,   122,   193,   193,   125,    33,    34,    57,   123,    27,
1266*fae548d3Szrj       28,    35,    36,    37,    38,    39,    40,    44,    46,    50,
1267*fae548d3Szrj       51,    52,    53,    71,    72,    76,    78,    86,    97,    99,
1268*fae548d3Szrj      100,   120,   126,   129,   183,   196,   123,   181,   196,   146,
1269*fae548d3Szrj       13,   120,   150,   183,   181,   181,   103,   165,   196,    47,
1270*fae548d3Szrj      170,   196,   181,    56,   101,   102,   103,   167,   168,   170,
1271*fae548d3Szrj      196,   120,   173,   124,   121,   121,   140,   196,   141,     7,
1272*fae548d3Szrj       33,   143,   121,   199,   123,   121,   121,   124,   123,   177,
1273*fae548d3Szrj      196,     7,     7,   121,   144,   121,   188,   121,   194,   125,
1274*fae548d3Szrj      125,   196,   125,   191,   196,   183,   183,   120,   120,   120,
1275*fae548d3Szrj      120,   120,   120,   120,   120,   120,   120,   120,   120,   120,
1276*fae548d3Szrj      120,   120,   120,   120,   120,   183,   183,   183,    12,    14,
1277*fae548d3Szrj       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1278*fae548d3Szrj       25,    26,    27,    28,    29,    30,    31,   125,   124,   121,
1279*fae548d3Szrj      122,    48,    54,    67,    82,    90,   121,   151,    42,   152,
1280*fae548d3Szrj       13,   120,   124,   121,   120,   121,   121,   121,   121,   120,
1281*fae548d3Szrj      120,   120,   120,   121,   199,   126,   196,    13,   196,   124,
1282*fae548d3Szrj      196,   121,   181,   120,   142,   196,    35,   178,   196,   181,
1283*fae548d3Szrj      181,   123,   123,   193,    73,   122,   125,   196,   183,   196,
1284*fae548d3Szrj      183,   196,   183,   183,   196,   183,   183,   183,   196,   196,
1285*fae548d3Szrj      196,   183,   183,   196,   196,   196,   121,   183,   183,   183,
1286*fae548d3Szrj      183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1287*fae548d3Szrj      183,   183,   183,   183,   183,   183,   196,   161,    13,   121,
1288*fae548d3Szrj      120,    38,   153,   121,   151,   196,   169,   170,   168,   170,
1289*fae548d3Szrj      168,    56,   168,   196,   121,    85,    86,   127,   174,   121,
1290*fae548d3Szrj      196,   121,   141,   124,    42,    91,   179,   196,   121,   121,
1291*fae548d3Szrj      125,   198,    13,   195,   121,   121,   121,   124,   121,   124,
1292*fae548d3Szrj      121,   121,   124,   121,   124,   121,   121,   121,   124,   124,
1293*fae548d3Szrj      121,   124,   121,    13,   121,   123,    13,   183,   120,   107,
1294*fae548d3Szrj      154,    13,   121,   121,   121,   199,   121,   121,   121,   120,
1295*fae548d3Szrj      121,     7,   121,   196,   120,   179,   125,   120,   179,   123,
1296*fae548d3Szrj      193,   193,   183,   196,   183,   183,   183,   183,   183,   183,
1297*fae548d3Szrj       22,   156,   157,   121,   183,   120,   149,    13,   170,   169,
1298*fae548d3Szrj      181,   121,   181,    35,   125,   198,   121,   121,   121,   121,
1299*fae548d3Szrj      121,   121,   121,   196,    42,   158,   121,   183,    83,    84,
1300*fae548d3Szrj      104,   155,   121,   199,   121,   121,   123,    22,   159,   121,
1301*fae548d3Szrj       70,    71,   128,   175,   179,   179,   196,     7,    13,   160,
1302*fae548d3Szrj        7,   181,   196,   199,   181
1303*fae548d3Szrj };
1304*fae548d3Szrj 
1305*fae548d3Szrj   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1306*fae548d3Szrj static const yytype_uint8 yyr1[] =
1307*fae548d3Szrj {
1308*fae548d3Szrj        0,   130,   131,   131,   131,   131,   131,   131,   131,   132,
1309*fae548d3Szrj      132,   133,   133,   134,   133,   133,   133,   133,   133,   133,
1310*fae548d3Szrj      133,   133,   133,   135,   133,   133,   136,   133,   133,   133,
1311*fae548d3Szrj      133,   133,   133,   133,   137,   139,   138,   140,   140,   140,
1312*fae548d3Szrj      141,   141,   142,   142,   143,   142,   144,   144,   145,   145,
1313*fae548d3Szrj      145,   145,   146,   145,   148,   149,   147,   150,   150,   150,
1314*fae548d3Szrj      150,   150,   150,   151,   151,   151,   151,   151,   152,   152,
1315*fae548d3Szrj      153,   153,   154,   154,   155,   155,   155,   155,   156,   157,
1316*fae548d3Szrj      157,   158,   158,   159,   159,   160,   160,   161,   161,   162,
1317*fae548d3Szrj      162,   162,   162,   162,   162,   162,   162,   162,   163,   163,
1318*fae548d3Szrj      163,   163,   163,   164,   164,   165,   165,   166,   166,   167,
1319*fae548d3Szrj      167,   167,   167,   168,   168,   168,   168,   169,   169,   170,
1320*fae548d3Szrj      170,   170,   171,   171,   172,   172,   172,   173,   173,   173,
1321*fae548d3Szrj      174,   174,   174,   175,   175,   175,   176,   176,   177,   178,
1322*fae548d3Szrj      178,   179,   179,   179,   179,   179,   180,   180,   180,   180,
1323*fae548d3Szrj      180,   180,   180,   180,   180,   180,   180,   180,   182,   181,
1324*fae548d3Szrj      183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1325*fae548d3Szrj      183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1326*fae548d3Szrj      183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1327*fae548d3Szrj      183,   183,   183,   183,   183,   183,   183,   183,   183,   183,
1328*fae548d3Szrj      183,   183,   183,   183,   183,   183,   184,   185,   186,   186,
1329*fae548d3Szrj      187,   188,   189,   189,   190,   190,   190,   191,   191,   192,
1330*fae548d3Szrj      192,   192,   192,   192,   193,   193,   193,   193,   194,   193,
1331*fae548d3Szrj      195,   193,   193,   193,   196,   196,   197,   197,   198,   198,
1332*fae548d3Szrj      199,   199
1333*fae548d3Szrj };
1334*fae548d3Szrj 
1335*fae548d3Szrj   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1336*fae548d3Szrj static const yytype_uint8 yyr2[] =
1337*fae548d3Szrj {
1338*fae548d3Szrj        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1339*fae548d3Szrj        0,     4,     1,     0,     5,     1,     4,     4,     4,     4,
1340*fae548d3Szrj        8,     4,     4,     0,     5,     4,     0,     5,     4,     2,
1341*fae548d3Szrj        6,     2,     1,     1,     4,     0,     2,     1,     2,     3,
1342*fae548d3Szrj        1,     3,     1,     2,     0,     5,     2,     0,     4,     2,
1343*fae548d3Szrj        6,     2,     0,     7,     0,     0,     7,     1,     3,     2,
1344*fae548d3Szrj        4,     4,     5,     1,     1,     1,     1,     1,     0,     4,
1345*fae548d3Szrj        0,     4,     0,     4,     0,     1,     1,     1,     5,     2,
1346*fae548d3Szrj        0,     3,     0,     3,     0,     2,     0,     0,     2,     2,
1347*fae548d3Szrj        1,     4,     6,     4,     1,     4,     2,     1,     1,     1,
1348*fae548d3Szrj        1,     1,     1,     1,     4,     1,     4,     1,     4,     3,
1349*fae548d3Szrj        1,     6,     4,     1,     4,     4,     4,     3,     1,     1,
1350*fae548d3Szrj        1,     1,     3,     0,    10,     2,     0,     3,     4,     0,
1351*fae548d3Szrj        1,     1,     1,     1,     1,     1,     2,     0,     4,     1,
1352*fae548d3Szrj        1,     0,     2,     2,     5,     5,     3,     3,     3,     3,
1353*fae548d3Szrj        3,     3,     3,     3,     3,     6,     6,     6,     0,     2,
1354*fae548d3Szrj        3,     2,     2,     2,     2,     3,     3,     3,     3,     3,
1355*fae548d3Szrj        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1356*fae548d3Szrj        3,     3,     3,     5,     1,     1,     6,     6,     4,     1,
1357*fae548d3Szrj        4,     4,     4,     4,     4,     4,     4,     4,     4,     6,
1358*fae548d3Szrj        4,     6,     6,     4,     6,     6,     3,     1,     1,     2,
1359*fae548d3Szrj        5,     1,     1,     2,     4,     5,     6,     1,     2,     0,
1360*fae548d3Szrj        2,     4,     4,     8,     1,     1,     3,     3,     0,     7,
1361*fae548d3Szrj        0,     9,     1,     3,     1,     1,     1,     1,     1,     0,
1362*fae548d3Szrj        1,     0
1363*fae548d3Szrj };
1364*fae548d3Szrj 
1365*fae548d3Szrj 
1366*fae548d3Szrj #define yyerrok         (yyerrstatus = 0)
1367*fae548d3Szrj #define yyclearin       (yychar = YYEMPTY)
1368*fae548d3Szrj #define YYEMPTY         (-2)
1369*fae548d3Szrj #define YYEOF           0
1370*fae548d3Szrj 
1371*fae548d3Szrj #define YYACCEPT        goto yyacceptlab
1372*fae548d3Szrj #define YYABORT         goto yyabortlab
1373*fae548d3Szrj #define YYERROR         goto yyerrorlab
1374*fae548d3Szrj 
1375*fae548d3Szrj 
1376*fae548d3Szrj #define YYRECOVERING()  (!!yyerrstatus)
1377*fae548d3Szrj 
1378*fae548d3Szrj #define YYBACKUP(Token, Value)                                  \
1379*fae548d3Szrj do                                                              \
1380*fae548d3Szrj   if (yychar == YYEMPTY)                                        \
1381*fae548d3Szrj     {                                                           \
1382*fae548d3Szrj       yychar = (Token);                                         \
1383*fae548d3Szrj       yylval = (Value);                                         \
1384*fae548d3Szrj       YYPOPSTACK (yylen);                                       \
1385*fae548d3Szrj       yystate = *yyssp;                                         \
1386*fae548d3Szrj       goto yybackup;                                            \
1387*fae548d3Szrj     }                                                           \
1388*fae548d3Szrj   else                                                          \
1389*fae548d3Szrj     {                                                           \
1390*fae548d3Szrj       yyerror (closure, YY_("syntax error: cannot back up")); \
1391*fae548d3Szrj       YYERROR;                                                  \
1392*fae548d3Szrj     }                                                           \
1393*fae548d3Szrj while (0)
1394*fae548d3Szrj 
1395*fae548d3Szrj /* Error token number */
1396*fae548d3Szrj #define YYTERROR        1
1397*fae548d3Szrj #define YYERRCODE       256
1398*fae548d3Szrj 
1399*fae548d3Szrj 
1400*fae548d3Szrj 
1401*fae548d3Szrj /* Enable debugging if requested.  */
1402*fae548d3Szrj #if YYDEBUG
1403*fae548d3Szrj 
1404*fae548d3Szrj # ifndef YYFPRINTF
1405*fae548d3Szrj #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1406*fae548d3Szrj #  define YYFPRINTF fprintf
1407*fae548d3Szrj # endif
1408*fae548d3Szrj 
1409*fae548d3Szrj # define YYDPRINTF(Args)                        \
1410*fae548d3Szrj do {                                            \
1411*fae548d3Szrj   if (yydebug)                                  \
1412*fae548d3Szrj     YYFPRINTF Args;                             \
1413*fae548d3Szrj } while (0)
1414*fae548d3Szrj 
1415*fae548d3Szrj /* This macro is provided for backward compatibility. */
1416*fae548d3Szrj #ifndef YY_LOCATION_PRINT
1417*fae548d3Szrj # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1418*fae548d3Szrj #endif
1419*fae548d3Szrj 
1420*fae548d3Szrj 
1421*fae548d3Szrj # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1422*fae548d3Szrj do {                                                                      \
1423*fae548d3Szrj   if (yydebug)                                                            \
1424*fae548d3Szrj     {                                                                     \
1425*fae548d3Szrj       YYFPRINTF (stderr, "%s ", Title);                                   \
1426*fae548d3Szrj       yy_symbol_print (stderr,                                            \
1427*fae548d3Szrj                   Type, Value, closure); \
1428*fae548d3Szrj       YYFPRINTF (stderr, "\n");                                           \
1429*fae548d3Szrj     }                                                                     \
1430*fae548d3Szrj } while (0)
1431*fae548d3Szrj 
1432*fae548d3Szrj 
1433*fae548d3Szrj /*----------------------------------------.
1434*fae548d3Szrj | Print this symbol's value on YYOUTPUT.  |
1435*fae548d3Szrj `----------------------------------------*/
1436*fae548d3Szrj 
1437*fae548d3Szrj static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * closure)1438*fae548d3Szrj yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* closure)
1439*fae548d3Szrj {
1440*fae548d3Szrj   FILE *yyo = yyoutput;
1441*fae548d3Szrj   YYUSE (yyo);
1442*fae548d3Szrj   YYUSE (closure);
1443*fae548d3Szrj   if (!yyvaluep)
1444*fae548d3Szrj     return;
1445*fae548d3Szrj # ifdef YYPRINT
1446*fae548d3Szrj   if (yytype < YYNTOKENS)
1447*fae548d3Szrj     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1448*fae548d3Szrj # endif
1449*fae548d3Szrj   YYUSE (yytype);
1450*fae548d3Szrj }
1451*fae548d3Szrj 
1452*fae548d3Szrj 
1453*fae548d3Szrj /*--------------------------------.
1454*fae548d3Szrj | Print this symbol on YYOUTPUT.  |
1455*fae548d3Szrj `--------------------------------*/
1456*fae548d3Szrj 
1457*fae548d3Szrj static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * closure)1458*fae548d3Szrj yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* closure)
1459*fae548d3Szrj {
1460*fae548d3Szrj   YYFPRINTF (yyoutput, "%s %s (",
1461*fae548d3Szrj              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1462*fae548d3Szrj 
1463*fae548d3Szrj   yy_symbol_value_print (yyoutput, yytype, yyvaluep, closure);
1464*fae548d3Szrj   YYFPRINTF (yyoutput, ")");
1465*fae548d3Szrj }
1466*fae548d3Szrj 
1467*fae548d3Szrj /*------------------------------------------------------------------.
1468*fae548d3Szrj | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1469*fae548d3Szrj | TOP (included).                                                   |
1470*fae548d3Szrj `------------------------------------------------------------------*/
1471*fae548d3Szrj 
1472*fae548d3Szrj static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)1473*fae548d3Szrj yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1474*fae548d3Szrj {
1475*fae548d3Szrj   YYFPRINTF (stderr, "Stack now");
1476*fae548d3Szrj   for (; yybottom <= yytop; yybottom++)
1477*fae548d3Szrj     {
1478*fae548d3Szrj       int yybot = *yybottom;
1479*fae548d3Szrj       YYFPRINTF (stderr, " %d", yybot);
1480*fae548d3Szrj     }
1481*fae548d3Szrj   YYFPRINTF (stderr, "\n");
1482*fae548d3Szrj }
1483*fae548d3Szrj 
1484*fae548d3Szrj # define YY_STACK_PRINT(Bottom, Top)                            \
1485*fae548d3Szrj do {                                                            \
1486*fae548d3Szrj   if (yydebug)                                                  \
1487*fae548d3Szrj     yy_stack_print ((Bottom), (Top));                           \
1488*fae548d3Szrj } while (0)
1489*fae548d3Szrj 
1490*fae548d3Szrj 
1491*fae548d3Szrj /*------------------------------------------------.
1492*fae548d3Szrj | Report that the YYRULE is going to be reduced.  |
1493*fae548d3Szrj `------------------------------------------------*/
1494*fae548d3Szrj 
1495*fae548d3Szrj static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule,void * closure)1496*fae548d3Szrj yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, void* closure)
1497*fae548d3Szrj {
1498*fae548d3Szrj   unsigned long int yylno = yyrline[yyrule];
1499*fae548d3Szrj   int yynrhs = yyr2[yyrule];
1500*fae548d3Szrj   int yyi;
1501*fae548d3Szrj   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1502*fae548d3Szrj              yyrule - 1, yylno);
1503*fae548d3Szrj   /* The symbols being reduced.  */
1504*fae548d3Szrj   for (yyi = 0; yyi < yynrhs; yyi++)
1505*fae548d3Szrj     {
1506*fae548d3Szrj       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1507*fae548d3Szrj       yy_symbol_print (stderr,
1508*fae548d3Szrj                        yystos[yyssp[yyi + 1 - yynrhs]],
1509*fae548d3Szrj                        &(yyvsp[(yyi + 1) - (yynrhs)])
1510*fae548d3Szrj                                               , closure);
1511*fae548d3Szrj       YYFPRINTF (stderr, "\n");
1512*fae548d3Szrj     }
1513*fae548d3Szrj }
1514*fae548d3Szrj 
1515*fae548d3Szrj # define YY_REDUCE_PRINT(Rule)          \
1516*fae548d3Szrj do {                                    \
1517*fae548d3Szrj   if (yydebug)                          \
1518*fae548d3Szrj     yy_reduce_print (yyssp, yyvsp, Rule, closure); \
1519*fae548d3Szrj } while (0)
1520*fae548d3Szrj 
1521*fae548d3Szrj /* Nonzero means print parse trace.  It is left uninitialized so that
1522*fae548d3Szrj    multiple parsers can coexist.  */
1523*fae548d3Szrj int yydebug;
1524*fae548d3Szrj #else /* !YYDEBUG */
1525*fae548d3Szrj # define YYDPRINTF(Args)
1526*fae548d3Szrj # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1527*fae548d3Szrj # define YY_STACK_PRINT(Bottom, Top)
1528*fae548d3Szrj # define YY_REDUCE_PRINT(Rule)
1529*fae548d3Szrj #endif /* !YYDEBUG */
1530*fae548d3Szrj 
1531*fae548d3Szrj 
1532*fae548d3Szrj /* YYINITDEPTH -- initial size of the parser's stacks.  */
1533*fae548d3Szrj #ifndef YYINITDEPTH
1534*fae548d3Szrj # define YYINITDEPTH 200
1535*fae548d3Szrj #endif
1536*fae548d3Szrj 
1537*fae548d3Szrj /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1538*fae548d3Szrj    if the built-in stack extension method is used).
1539*fae548d3Szrj 
1540*fae548d3Szrj    Do not make this value too large; the results are undefined if
1541*fae548d3Szrj    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1542*fae548d3Szrj    evaluated with infinite-precision integer arithmetic.  */
1543*fae548d3Szrj 
1544*fae548d3Szrj #ifndef YYMAXDEPTH
1545*fae548d3Szrj # define YYMAXDEPTH 10000
1546*fae548d3Szrj #endif
1547*fae548d3Szrj 
1548*fae548d3Szrj 
1549*fae548d3Szrj #if YYERROR_VERBOSE
1550*fae548d3Szrj 
1551*fae548d3Szrj # ifndef yystrlen
1552*fae548d3Szrj #  if defined __GLIBC__ && defined _STRING_H
1553*fae548d3Szrj #   define yystrlen strlen
1554*fae548d3Szrj #  else
1555*fae548d3Szrj /* Return the length of YYSTR.  */
1556*fae548d3Szrj static YYSIZE_T
yystrlen(const char * yystr)1557*fae548d3Szrj yystrlen (const char *yystr)
1558*fae548d3Szrj {
1559*fae548d3Szrj   YYSIZE_T yylen;
1560*fae548d3Szrj   for (yylen = 0; yystr[yylen]; yylen++)
1561*fae548d3Szrj     continue;
1562*fae548d3Szrj   return yylen;
1563*fae548d3Szrj }
1564*fae548d3Szrj #  endif
1565*fae548d3Szrj # endif
1566*fae548d3Szrj 
1567*fae548d3Szrj # ifndef yystpcpy
1568*fae548d3Szrj #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1569*fae548d3Szrj #   define yystpcpy stpcpy
1570*fae548d3Szrj #  else
1571*fae548d3Szrj /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1572*fae548d3Szrj    YYDEST.  */
1573*fae548d3Szrj static char *
yystpcpy(char * yydest,const char * yysrc)1574*fae548d3Szrj yystpcpy (char *yydest, const char *yysrc)
1575*fae548d3Szrj {
1576*fae548d3Szrj   char *yyd = yydest;
1577*fae548d3Szrj   const char *yys = yysrc;
1578*fae548d3Szrj 
1579*fae548d3Szrj   while ((*yyd++ = *yys++) != '\0')
1580*fae548d3Szrj     continue;
1581*fae548d3Szrj 
1582*fae548d3Szrj   return yyd - 1;
1583*fae548d3Szrj }
1584*fae548d3Szrj #  endif
1585*fae548d3Szrj # endif
1586*fae548d3Szrj 
1587*fae548d3Szrj # ifndef yytnamerr
1588*fae548d3Szrj /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1589*fae548d3Szrj    quotes and backslashes, so that it's suitable for yyerror.  The
1590*fae548d3Szrj    heuristic is that double-quoting is unnecessary unless the string
1591*fae548d3Szrj    contains an apostrophe, a comma, or backslash (other than
1592*fae548d3Szrj    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1593*fae548d3Szrj    null, do not copy; instead, return the length of what the result
1594*fae548d3Szrj    would have been.  */
1595*fae548d3Szrj static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)1596*fae548d3Szrj yytnamerr (char *yyres, const char *yystr)
1597*fae548d3Szrj {
1598*fae548d3Szrj   if (*yystr == '"')
1599*fae548d3Szrj     {
1600*fae548d3Szrj       YYSIZE_T yyn = 0;
1601*fae548d3Szrj       char const *yyp = yystr;
1602*fae548d3Szrj 
1603*fae548d3Szrj       for (;;)
1604*fae548d3Szrj         switch (*++yyp)
1605*fae548d3Szrj           {
1606*fae548d3Szrj           case '\'':
1607*fae548d3Szrj           case ',':
1608*fae548d3Szrj             goto do_not_strip_quotes;
1609*fae548d3Szrj 
1610*fae548d3Szrj           case '\\':
1611*fae548d3Szrj             if (*++yyp != '\\')
1612*fae548d3Szrj               goto do_not_strip_quotes;
1613*fae548d3Szrj             /* Fall through.  */
1614*fae548d3Szrj           default:
1615*fae548d3Szrj             if (yyres)
1616*fae548d3Szrj               yyres[yyn] = *yyp;
1617*fae548d3Szrj             yyn++;
1618*fae548d3Szrj             break;
1619*fae548d3Szrj 
1620*fae548d3Szrj           case '"':
1621*fae548d3Szrj             if (yyres)
1622*fae548d3Szrj               yyres[yyn] = '\0';
1623*fae548d3Szrj             return yyn;
1624*fae548d3Szrj           }
1625*fae548d3Szrj     do_not_strip_quotes: ;
1626*fae548d3Szrj     }
1627*fae548d3Szrj 
1628*fae548d3Szrj   if (! yyres)
1629*fae548d3Szrj     return yystrlen (yystr);
1630*fae548d3Szrj 
1631*fae548d3Szrj   return yystpcpy (yyres, yystr) - yyres;
1632*fae548d3Szrj }
1633*fae548d3Szrj # endif
1634*fae548d3Szrj 
1635*fae548d3Szrj /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1636*fae548d3Szrj    about the unexpected token YYTOKEN for the state stack whose top is
1637*fae548d3Szrj    YYSSP.
1638*fae548d3Szrj 
1639*fae548d3Szrj    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1640*fae548d3Szrj    not large enough to hold the message.  In that case, also set
1641*fae548d3Szrj    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1642*fae548d3Szrj    required number of bytes is too large to store.  */
1643*fae548d3Szrj static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)1644*fae548d3Szrj yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1645*fae548d3Szrj                 yytype_int16 *yyssp, int yytoken)
1646*fae548d3Szrj {
1647*fae548d3Szrj   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1648*fae548d3Szrj   YYSIZE_T yysize = yysize0;
1649*fae548d3Szrj   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1650*fae548d3Szrj   /* Internationalized format string. */
1651*fae548d3Szrj   const char *yyformat = YY_NULLPTR;
1652*fae548d3Szrj   /* Arguments of yyformat. */
1653*fae548d3Szrj   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1654*fae548d3Szrj   /* Number of reported tokens (one for the "unexpected", one per
1655*fae548d3Szrj      "expected"). */
1656*fae548d3Szrj   int yycount = 0;
1657*fae548d3Szrj 
1658*fae548d3Szrj   /* There are many possibilities here to consider:
1659*fae548d3Szrj      - If this state is a consistent state with a default action, then
1660*fae548d3Szrj        the only way this function was invoked is if the default action
1661*fae548d3Szrj        is an error action.  In that case, don't check for expected
1662*fae548d3Szrj        tokens because there are none.
1663*fae548d3Szrj      - The only way there can be no lookahead present (in yychar) is if
1664*fae548d3Szrj        this state is a consistent state with a default action.  Thus,
1665*fae548d3Szrj        detecting the absence of a lookahead is sufficient to determine
1666*fae548d3Szrj        that there is no unexpected or expected token to report.  In that
1667*fae548d3Szrj        case, just report a simple "syntax error".
1668*fae548d3Szrj      - Don't assume there isn't a lookahead just because this state is a
1669*fae548d3Szrj        consistent state with a default action.  There might have been a
1670*fae548d3Szrj        previous inconsistent state, consistent state with a non-default
1671*fae548d3Szrj        action, or user semantic action that manipulated yychar.
1672*fae548d3Szrj      - Of course, the expected token list depends on states to have
1673*fae548d3Szrj        correct lookahead information, and it depends on the parser not
1674*fae548d3Szrj        to perform extra reductions after fetching a lookahead from the
1675*fae548d3Szrj        scanner and before detecting a syntax error.  Thus, state merging
1676*fae548d3Szrj        (from LALR or IELR) and default reductions corrupt the expected
1677*fae548d3Szrj        token list.  However, the list is correct for canonical LR with
1678*fae548d3Szrj        one exception: it will still contain any token that will not be
1679*fae548d3Szrj        accepted due to an error action in a later state.
1680*fae548d3Szrj   */
1681*fae548d3Szrj   if (yytoken != YYEMPTY)
1682*fae548d3Szrj     {
1683*fae548d3Szrj       int yyn = yypact[*yyssp];
1684*fae548d3Szrj       yyarg[yycount++] = yytname[yytoken];
1685*fae548d3Szrj       if (!yypact_value_is_default (yyn))
1686*fae548d3Szrj         {
1687*fae548d3Szrj           /* Start YYX at -YYN if negative to avoid negative indexes in
1688*fae548d3Szrj              YYCHECK.  In other words, skip the first -YYN actions for
1689*fae548d3Szrj              this state because they are default actions.  */
1690*fae548d3Szrj           int yyxbegin = yyn < 0 ? -yyn : 0;
1691*fae548d3Szrj           /* Stay within bounds of both yycheck and yytname.  */
1692*fae548d3Szrj           int yychecklim = YYLAST - yyn + 1;
1693*fae548d3Szrj           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1694*fae548d3Szrj           int yyx;
1695*fae548d3Szrj 
1696*fae548d3Szrj           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1697*fae548d3Szrj             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1698*fae548d3Szrj                 && !yytable_value_is_error (yytable[yyx + yyn]))
1699*fae548d3Szrj               {
1700*fae548d3Szrj                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1701*fae548d3Szrj                   {
1702*fae548d3Szrj                     yycount = 1;
1703*fae548d3Szrj                     yysize = yysize0;
1704*fae548d3Szrj                     break;
1705*fae548d3Szrj                   }
1706*fae548d3Szrj                 yyarg[yycount++] = yytname[yyx];
1707*fae548d3Szrj                 {
1708*fae548d3Szrj                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1709*fae548d3Szrj                   if (! (yysize <= yysize1
1710*fae548d3Szrj                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1711*fae548d3Szrj                     return 2;
1712*fae548d3Szrj                   yysize = yysize1;
1713*fae548d3Szrj                 }
1714*fae548d3Szrj               }
1715*fae548d3Szrj         }
1716*fae548d3Szrj     }
1717*fae548d3Szrj 
1718*fae548d3Szrj   switch (yycount)
1719*fae548d3Szrj     {
1720*fae548d3Szrj # define YYCASE_(N, S)                      \
1721*fae548d3Szrj       case N:                               \
1722*fae548d3Szrj         yyformat = S;                       \
1723*fae548d3Szrj       break
1724*fae548d3Szrj     default: /* Avoid compiler warnings. */
1725*fae548d3Szrj       YYCASE_(0, YY_("syntax error"));
1726*fae548d3Szrj       YYCASE_(1, YY_("syntax error, unexpected %s"));
1727*fae548d3Szrj       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1728*fae548d3Szrj       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1729*fae548d3Szrj       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1730*fae548d3Szrj       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1731*fae548d3Szrj # undef YYCASE_
1732*fae548d3Szrj     }
1733*fae548d3Szrj 
1734*fae548d3Szrj   {
1735*fae548d3Szrj     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1736*fae548d3Szrj     if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1737*fae548d3Szrj       return 2;
1738*fae548d3Szrj     yysize = yysize1;
1739*fae548d3Szrj   }
1740*fae548d3Szrj 
1741*fae548d3Szrj   if (*yymsg_alloc < yysize)
1742*fae548d3Szrj     {
1743*fae548d3Szrj       *yymsg_alloc = 2 * yysize;
1744*fae548d3Szrj       if (! (yysize <= *yymsg_alloc
1745*fae548d3Szrj              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1746*fae548d3Szrj         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1747*fae548d3Szrj       return 1;
1748*fae548d3Szrj     }
1749*fae548d3Szrj 
1750*fae548d3Szrj   /* Avoid sprintf, as that infringes on the user's name space.
1751*fae548d3Szrj      Don't have undefined behavior even if the translation
1752*fae548d3Szrj      produced a string with the wrong number of "%s"s.  */
1753*fae548d3Szrj   {
1754*fae548d3Szrj     char *yyp = *yymsg;
1755*fae548d3Szrj     int yyi = 0;
1756*fae548d3Szrj     while ((*yyp = *yyformat) != '\0')
1757*fae548d3Szrj       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1758*fae548d3Szrj         {
1759*fae548d3Szrj           yyp += yytnamerr (yyp, yyarg[yyi++]);
1760*fae548d3Szrj           yyformat += 2;
1761*fae548d3Szrj         }
1762*fae548d3Szrj       else
1763*fae548d3Szrj         {
1764*fae548d3Szrj           yyp++;
1765*fae548d3Szrj           yyformat++;
1766*fae548d3Szrj         }
1767*fae548d3Szrj   }
1768*fae548d3Szrj   return 0;
1769*fae548d3Szrj }
1770*fae548d3Szrj #endif /* YYERROR_VERBOSE */
1771*fae548d3Szrj 
1772*fae548d3Szrj /*-----------------------------------------------.
1773*fae548d3Szrj | Release the memory associated to this symbol.  |
1774*fae548d3Szrj `-----------------------------------------------*/
1775*fae548d3Szrj 
1776*fae548d3Szrj static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,void * closure)1777*fae548d3Szrj yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void* closure)
1778*fae548d3Szrj {
1779*fae548d3Szrj   YYUSE (yyvaluep);
1780*fae548d3Szrj   YYUSE (closure);
1781*fae548d3Szrj   if (!yymsg)
1782*fae548d3Szrj     yymsg = "Deleting";
1783*fae548d3Szrj   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1784*fae548d3Szrj 
1785*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1786*fae548d3Szrj   YYUSE (yytype);
1787*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_END
1788*fae548d3Szrj }
1789*fae548d3Szrj 
1790*fae548d3Szrj 
1791*fae548d3Szrj 
1792*fae548d3Szrj 
1793*fae548d3Szrj /*----------.
1794*fae548d3Szrj | yyparse.  |
1795*fae548d3Szrj `----------*/
1796*fae548d3Szrj 
1797*fae548d3Szrj int
yyparse(void * closure)1798*fae548d3Szrj yyparse (void* closure)
1799*fae548d3Szrj {
1800*fae548d3Szrj /* The lookahead symbol.  */
1801*fae548d3Szrj int yychar;
1802*fae548d3Szrj 
1803*fae548d3Szrj 
1804*fae548d3Szrj /* The semantic value of the lookahead symbol.  */
1805*fae548d3Szrj /* Default value used for initialization, for pacifying older GCCs
1806*fae548d3Szrj    or non-GCC compilers.  */
1807*fae548d3Szrj YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
1808*fae548d3Szrj YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
1809*fae548d3Szrj 
1810*fae548d3Szrj     /* Number of syntax errors so far.  */
1811*fae548d3Szrj     int yynerrs;
1812*fae548d3Szrj 
1813*fae548d3Szrj     int yystate;
1814*fae548d3Szrj     /* Number of tokens to shift before error messages enabled.  */
1815*fae548d3Szrj     int yyerrstatus;
1816*fae548d3Szrj 
1817*fae548d3Szrj     /* The stacks and their tools:
1818*fae548d3Szrj        'yyss': related to states.
1819*fae548d3Szrj        'yyvs': related to semantic values.
1820*fae548d3Szrj 
1821*fae548d3Szrj        Refer to the stacks through separate pointers, to allow yyoverflow
1822*fae548d3Szrj        to reallocate them elsewhere.  */
1823*fae548d3Szrj 
1824*fae548d3Szrj     /* The state stack.  */
1825*fae548d3Szrj     yytype_int16 yyssa[YYINITDEPTH];
1826*fae548d3Szrj     yytype_int16 *yyss;
1827*fae548d3Szrj     yytype_int16 *yyssp;
1828*fae548d3Szrj 
1829*fae548d3Szrj     /* The semantic value stack.  */
1830*fae548d3Szrj     YYSTYPE yyvsa[YYINITDEPTH];
1831*fae548d3Szrj     YYSTYPE *yyvs;
1832*fae548d3Szrj     YYSTYPE *yyvsp;
1833*fae548d3Szrj 
1834*fae548d3Szrj     YYSIZE_T yystacksize;
1835*fae548d3Szrj 
1836*fae548d3Szrj   int yyn;
1837*fae548d3Szrj   int yyresult;
1838*fae548d3Szrj   /* Lookahead token as an internal (translated) token number.  */
1839*fae548d3Szrj   int yytoken = 0;
1840*fae548d3Szrj   /* The variables used to return semantic value and location from the
1841*fae548d3Szrj      action routines.  */
1842*fae548d3Szrj   YYSTYPE yyval;
1843*fae548d3Szrj 
1844*fae548d3Szrj #if YYERROR_VERBOSE
1845*fae548d3Szrj   /* Buffer for error messages, and its allocated size.  */
1846*fae548d3Szrj   char yymsgbuf[128];
1847*fae548d3Szrj   char *yymsg = yymsgbuf;
1848*fae548d3Szrj   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1849*fae548d3Szrj #endif
1850*fae548d3Szrj 
1851*fae548d3Szrj #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1852*fae548d3Szrj 
1853*fae548d3Szrj   /* The number of symbols on the RHS of the reduced rule.
1854*fae548d3Szrj      Keep to zero when no symbol should be popped.  */
1855*fae548d3Szrj   int yylen = 0;
1856*fae548d3Szrj 
1857*fae548d3Szrj   yyssp = yyss = yyssa;
1858*fae548d3Szrj   yyvsp = yyvs = yyvsa;
1859*fae548d3Szrj   yystacksize = YYINITDEPTH;
1860*fae548d3Szrj 
1861*fae548d3Szrj   YYDPRINTF ((stderr, "Starting parse\n"));
1862*fae548d3Szrj 
1863*fae548d3Szrj   yystate = 0;
1864*fae548d3Szrj   yyerrstatus = 0;
1865*fae548d3Szrj   yynerrs = 0;
1866*fae548d3Szrj   yychar = YYEMPTY; /* Cause a token to be read.  */
1867*fae548d3Szrj   goto yysetstate;
1868*fae548d3Szrj 
1869*fae548d3Szrj /*------------------------------------------------------------.
1870*fae548d3Szrj | yynewstate -- Push a new state, which is found in yystate.  |
1871*fae548d3Szrj `------------------------------------------------------------*/
1872*fae548d3Szrj  yynewstate:
1873*fae548d3Szrj   /* In all cases, when you get here, the value and location stacks
1874*fae548d3Szrj      have just been pushed.  So pushing a state here evens the stacks.  */
1875*fae548d3Szrj   yyssp++;
1876*fae548d3Szrj 
1877*fae548d3Szrj  yysetstate:
1878*fae548d3Szrj   *yyssp = yystate;
1879*fae548d3Szrj 
1880*fae548d3Szrj   if (yyss + yystacksize - 1 <= yyssp)
1881*fae548d3Szrj     {
1882*fae548d3Szrj       /* Get the current used size of the three stacks, in elements.  */
1883*fae548d3Szrj       YYSIZE_T yysize = yyssp - yyss + 1;
1884*fae548d3Szrj 
1885*fae548d3Szrj #ifdef yyoverflow
1886*fae548d3Szrj       {
1887*fae548d3Szrj         /* Give user a chance to reallocate the stack.  Use copies of
1888*fae548d3Szrj            these so that the &'s don't force the real ones into
1889*fae548d3Szrj            memory.  */
1890*fae548d3Szrj         YYSTYPE *yyvs1 = yyvs;
1891*fae548d3Szrj         yytype_int16 *yyss1 = yyss;
1892*fae548d3Szrj 
1893*fae548d3Szrj         /* Each stack pointer address is followed by the size of the
1894*fae548d3Szrj            data in use in that stack, in bytes.  This used to be a
1895*fae548d3Szrj            conditional around just the two extra args, but that might
1896*fae548d3Szrj            be undefined if yyoverflow is a macro.  */
1897*fae548d3Szrj         yyoverflow (YY_("memory exhausted"),
1898*fae548d3Szrj                     &yyss1, yysize * sizeof (*yyssp),
1899*fae548d3Szrj                     &yyvs1, yysize * sizeof (*yyvsp),
1900*fae548d3Szrj                     &yystacksize);
1901*fae548d3Szrj 
1902*fae548d3Szrj         yyss = yyss1;
1903*fae548d3Szrj         yyvs = yyvs1;
1904*fae548d3Szrj       }
1905*fae548d3Szrj #else /* no yyoverflow */
1906*fae548d3Szrj # ifndef YYSTACK_RELOCATE
1907*fae548d3Szrj       goto yyexhaustedlab;
1908*fae548d3Szrj # else
1909*fae548d3Szrj       /* Extend the stack our own way.  */
1910*fae548d3Szrj       if (YYMAXDEPTH <= yystacksize)
1911*fae548d3Szrj         goto yyexhaustedlab;
1912*fae548d3Szrj       yystacksize *= 2;
1913*fae548d3Szrj       if (YYMAXDEPTH < yystacksize)
1914*fae548d3Szrj         yystacksize = YYMAXDEPTH;
1915*fae548d3Szrj 
1916*fae548d3Szrj       {
1917*fae548d3Szrj         yytype_int16 *yyss1 = yyss;
1918*fae548d3Szrj         union yyalloc *yyptr =
1919*fae548d3Szrj           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1920*fae548d3Szrj         if (! yyptr)
1921*fae548d3Szrj           goto yyexhaustedlab;
1922*fae548d3Szrj         YYSTACK_RELOCATE (yyss_alloc, yyss);
1923*fae548d3Szrj         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1924*fae548d3Szrj #  undef YYSTACK_RELOCATE
1925*fae548d3Szrj         if (yyss1 != yyssa)
1926*fae548d3Szrj           YYSTACK_FREE (yyss1);
1927*fae548d3Szrj       }
1928*fae548d3Szrj # endif
1929*fae548d3Szrj #endif /* no yyoverflow */
1930*fae548d3Szrj 
1931*fae548d3Szrj       yyssp = yyss + yysize - 1;
1932*fae548d3Szrj       yyvsp = yyvs + yysize - 1;
1933*fae548d3Szrj 
1934*fae548d3Szrj       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1935*fae548d3Szrj                   (unsigned long int) yystacksize));
1936*fae548d3Szrj 
1937*fae548d3Szrj       if (yyss + yystacksize - 1 <= yyssp)
1938*fae548d3Szrj         YYABORT;
1939*fae548d3Szrj     }
1940*fae548d3Szrj 
1941*fae548d3Szrj   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1942*fae548d3Szrj 
1943*fae548d3Szrj   if (yystate == YYFINAL)
1944*fae548d3Szrj     YYACCEPT;
1945*fae548d3Szrj 
1946*fae548d3Szrj   goto yybackup;
1947*fae548d3Szrj 
1948*fae548d3Szrj /*-----------.
1949*fae548d3Szrj | yybackup.  |
1950*fae548d3Szrj `-----------*/
1951*fae548d3Szrj yybackup:
1952*fae548d3Szrj 
1953*fae548d3Szrj   /* Do appropriate processing given the current state.  Read a
1954*fae548d3Szrj      lookahead token if we need one and don't already have one.  */
1955*fae548d3Szrj 
1956*fae548d3Szrj   /* First try to decide what to do without reference to lookahead token.  */
1957*fae548d3Szrj   yyn = yypact[yystate];
1958*fae548d3Szrj   if (yypact_value_is_default (yyn))
1959*fae548d3Szrj     goto yydefault;
1960*fae548d3Szrj 
1961*fae548d3Szrj   /* Not known => get a lookahead token if don't already have one.  */
1962*fae548d3Szrj 
1963*fae548d3Szrj   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1964*fae548d3Szrj   if (yychar == YYEMPTY)
1965*fae548d3Szrj     {
1966*fae548d3Szrj       YYDPRINTF ((stderr, "Reading a token: "));
1967*fae548d3Szrj       yychar = yylex (&yylval, closure);
1968*fae548d3Szrj     }
1969*fae548d3Szrj 
1970*fae548d3Szrj   if (yychar <= YYEOF)
1971*fae548d3Szrj     {
1972*fae548d3Szrj       yychar = yytoken = YYEOF;
1973*fae548d3Szrj       YYDPRINTF ((stderr, "Now at end of input.\n"));
1974*fae548d3Szrj     }
1975*fae548d3Szrj   else
1976*fae548d3Szrj     {
1977*fae548d3Szrj       yytoken = YYTRANSLATE (yychar);
1978*fae548d3Szrj       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1979*fae548d3Szrj     }
1980*fae548d3Szrj 
1981*fae548d3Szrj   /* If the proper action on seeing token YYTOKEN is to reduce or to
1982*fae548d3Szrj      detect an error, take that action.  */
1983*fae548d3Szrj   yyn += yytoken;
1984*fae548d3Szrj   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1985*fae548d3Szrj     goto yydefault;
1986*fae548d3Szrj   yyn = yytable[yyn];
1987*fae548d3Szrj   if (yyn <= 0)
1988*fae548d3Szrj     {
1989*fae548d3Szrj       if (yytable_value_is_error (yyn))
1990*fae548d3Szrj         goto yyerrlab;
1991*fae548d3Szrj       yyn = -yyn;
1992*fae548d3Szrj       goto yyreduce;
1993*fae548d3Szrj     }
1994*fae548d3Szrj 
1995*fae548d3Szrj   /* Count tokens shifted since error; after three, turn off error
1996*fae548d3Szrj      status.  */
1997*fae548d3Szrj   if (yyerrstatus)
1998*fae548d3Szrj     yyerrstatus--;
1999*fae548d3Szrj 
2000*fae548d3Szrj   /* Shift the lookahead token.  */
2001*fae548d3Szrj   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2002*fae548d3Szrj 
2003*fae548d3Szrj   /* Discard the shifted token.  */
2004*fae548d3Szrj   yychar = YYEMPTY;
2005*fae548d3Szrj 
2006*fae548d3Szrj   yystate = yyn;
2007*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2008*fae548d3Szrj   *++yyvsp = yylval;
2009*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_END
2010*fae548d3Szrj 
2011*fae548d3Szrj   goto yynewstate;
2012*fae548d3Szrj 
2013*fae548d3Szrj 
2014*fae548d3Szrj /*-----------------------------------------------------------.
2015*fae548d3Szrj | yydefault -- do the default action for the current state.  |
2016*fae548d3Szrj `-----------------------------------------------------------*/
2017*fae548d3Szrj yydefault:
2018*fae548d3Szrj   yyn = yydefact[yystate];
2019*fae548d3Szrj   if (yyn == 0)
2020*fae548d3Szrj     goto yyerrlab;
2021*fae548d3Szrj   goto yyreduce;
2022*fae548d3Szrj 
2023*fae548d3Szrj 
2024*fae548d3Szrj /*-----------------------------.
2025*fae548d3Szrj | yyreduce -- Do a reduction.  |
2026*fae548d3Szrj `-----------------------------*/
2027*fae548d3Szrj yyreduce:
2028*fae548d3Szrj   /* yyn is the number of a rule to reduce with.  */
2029*fae548d3Szrj   yylen = yyr2[yyn];
2030*fae548d3Szrj 
2031*fae548d3Szrj   /* If YYLEN is nonzero, implement the default value of the action:
2032*fae548d3Szrj      '$$ = $1'.
2033*fae548d3Szrj 
2034*fae548d3Szrj      Otherwise, the following line sets YYVAL to garbage.
2035*fae548d3Szrj      This behavior is undocumented and Bison
2036*fae548d3Szrj      users should not rely upon it.  Assigning to YYVAL
2037*fae548d3Szrj      unconditionally makes the parser a bit smaller, and it avoids a
2038*fae548d3Szrj      GCC warning that YYVAL may be used uninitialized.  */
2039*fae548d3Szrj   yyval = yyvsp[1-yylen];
2040*fae548d3Szrj 
2041*fae548d3Szrj 
2042*fae548d3Szrj   YY_REDUCE_PRINT (yyn);
2043*fae548d3Szrj   switch (yyn)
2044*fae548d3Szrj     {
2045*fae548d3Szrj         case 12:
2046*fae548d3Szrj #line 255 "yyscript.y" /* yacc.c:1648  */
2047*fae548d3Szrj     { script_set_common_allocation(closure, 1); }
2048*fae548d3Szrj #line 2049 "yyscript.c" /* yacc.c:1648  */
2049*fae548d3Szrj     break;
2050*fae548d3Szrj 
2051*fae548d3Szrj   case 13:
2052*fae548d3Szrj #line 257 "yyscript.y" /* yacc.c:1648  */
2053*fae548d3Szrj     { script_start_group(closure); }
2054*fae548d3Szrj #line 2055 "yyscript.c" /* yacc.c:1648  */
2055*fae548d3Szrj     break;
2056*fae548d3Szrj 
2057*fae548d3Szrj   case 14:
2058*fae548d3Szrj #line 259 "yyscript.y" /* yacc.c:1648  */
2059*fae548d3Szrj     { script_end_group(closure); }
2060*fae548d3Szrj #line 2061 "yyscript.c" /* yacc.c:1648  */
2061*fae548d3Szrj     break;
2062*fae548d3Szrj 
2063*fae548d3Szrj   case 15:
2064*fae548d3Szrj #line 261 "yyscript.y" /* yacc.c:1648  */
2065*fae548d3Szrj     { script_set_common_allocation(closure, 0); }
2066*fae548d3Szrj #line 2067 "yyscript.c" /* yacc.c:1648  */
2067*fae548d3Szrj     break;
2068*fae548d3Szrj 
2069*fae548d3Szrj   case 18:
2070*fae548d3Szrj #line 265 "yyscript.y" /* yacc.c:1648  */
2071*fae548d3Szrj     { script_parse_option(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2072*fae548d3Szrj #line 2073 "yyscript.c" /* yacc.c:1648  */
2073*fae548d3Szrj     break;
2074*fae548d3Szrj 
2075*fae548d3Szrj   case 19:
2076*fae548d3Szrj #line 267 "yyscript.y" /* yacc.c:1648  */
2077*fae548d3Szrj     {
2078*fae548d3Szrj 	      if (!script_check_output_format(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length,
2079*fae548d3Szrj 					      NULL, 0, NULL, 0))
2080*fae548d3Szrj 		YYABORT;
2081*fae548d3Szrj 	    }
2082*fae548d3Szrj #line 2083 "yyscript.c" /* yacc.c:1648  */
2083*fae548d3Szrj     break;
2084*fae548d3Szrj 
2085*fae548d3Szrj   case 20:
2086*fae548d3Szrj #line 273 "yyscript.y" /* yacc.c:1648  */
2087*fae548d3Szrj     {
2088*fae548d3Szrj 	      if (!script_check_output_format(closure, (yyvsp[-5].string).value, (yyvsp[-5].string).length,
2089*fae548d3Szrj 					      (yyvsp[-3].string).value, (yyvsp[-3].string).length,
2090*fae548d3Szrj 					      (yyvsp[-1].string).value, (yyvsp[-1].string).length))
2091*fae548d3Szrj 		YYABORT;
2092*fae548d3Szrj 	    }
2093*fae548d3Szrj #line 2094 "yyscript.c" /* yacc.c:1648  */
2094*fae548d3Szrj     break;
2095*fae548d3Szrj 
2096*fae548d3Szrj   case 22:
2097*fae548d3Szrj #line 281 "yyscript.y" /* yacc.c:1648  */
2098*fae548d3Szrj     { script_add_search_dir(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2099*fae548d3Szrj #line 2100 "yyscript.c" /* yacc.c:1648  */
2100*fae548d3Szrj     break;
2101*fae548d3Szrj 
2102*fae548d3Szrj   case 23:
2103*fae548d3Szrj #line 283 "yyscript.y" /* yacc.c:1648  */
2104*fae548d3Szrj     { script_start_sections(closure); }
2105*fae548d3Szrj #line 2106 "yyscript.c" /* yacc.c:1648  */
2106*fae548d3Szrj     break;
2107*fae548d3Szrj 
2108*fae548d3Szrj   case 24:
2109*fae548d3Szrj #line 285 "yyscript.y" /* yacc.c:1648  */
2110*fae548d3Szrj     { script_finish_sections(closure); }
2111*fae548d3Szrj #line 2112 "yyscript.c" /* yacc.c:1648  */
2112*fae548d3Szrj     break;
2113*fae548d3Szrj 
2114*fae548d3Szrj   case 25:
2115*fae548d3Szrj #line 287 "yyscript.y" /* yacc.c:1648  */
2116*fae548d3Szrj     { script_set_target(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2117*fae548d3Szrj #line 2118 "yyscript.c" /* yacc.c:1648  */
2118*fae548d3Szrj     break;
2119*fae548d3Szrj 
2120*fae548d3Szrj   case 26:
2121*fae548d3Szrj #line 289 "yyscript.y" /* yacc.c:1648  */
2122*fae548d3Szrj     { script_push_lex_into_version_mode(closure); }
2123*fae548d3Szrj #line 2124 "yyscript.c" /* yacc.c:1648  */
2124*fae548d3Szrj     break;
2125*fae548d3Szrj 
2126*fae548d3Szrj   case 27:
2127*fae548d3Szrj #line 291 "yyscript.y" /* yacc.c:1648  */
2128*fae548d3Szrj     { script_pop_lex_mode(closure); }
2129*fae548d3Szrj #line 2130 "yyscript.c" /* yacc.c:1648  */
2130*fae548d3Szrj     break;
2131*fae548d3Szrj 
2132*fae548d3Szrj   case 28:
2133*fae548d3Szrj #line 293 "yyscript.y" /* yacc.c:1648  */
2134*fae548d3Szrj     { script_set_entry(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2135*fae548d3Szrj #line 2136 "yyscript.c" /* yacc.c:1648  */
2136*fae548d3Szrj     break;
2137*fae548d3Szrj 
2138*fae548d3Szrj   case 30:
2139*fae548d3Szrj #line 296 "yyscript.y" /* yacc.c:1648  */
2140*fae548d3Szrj     { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2141*fae548d3Szrj #line 2142 "yyscript.c" /* yacc.c:1648  */
2142*fae548d3Szrj     break;
2143*fae548d3Szrj 
2144*fae548d3Szrj   case 31:
2145*fae548d3Szrj #line 298 "yyscript.y" /* yacc.c:1648  */
2146*fae548d3Szrj     { script_include_directive(PARSING_LINKER_SCRIPT, closure,
2147*fae548d3Szrj 				       (yyvsp[0].string).value, (yyvsp[0].string).length); }
2148*fae548d3Szrj #line 2149 "yyscript.c" /* yacc.c:1648  */
2149*fae548d3Szrj     break;
2150*fae548d3Szrj 
2151*fae548d3Szrj   case 35:
2152*fae548d3Szrj #line 317 "yyscript.y" /* yacc.c:1648  */
2153*fae548d3Szrj     { script_push_lex_into_expression_mode(closure); }
2154*fae548d3Szrj #line 2155 "yyscript.c" /* yacc.c:1648  */
2155*fae548d3Szrj     break;
2156*fae548d3Szrj 
2157*fae548d3Szrj   case 36:
2158*fae548d3Szrj #line 319 "yyscript.y" /* yacc.c:1648  */
2159*fae548d3Szrj     { script_pop_lex_mode(closure); }
2160*fae548d3Szrj #line 2161 "yyscript.c" /* yacc.c:1648  */
2161*fae548d3Szrj     break;
2162*fae548d3Szrj 
2163*fae548d3Szrj   case 37:
2164*fae548d3Szrj #line 324 "yyscript.y" /* yacc.c:1648  */
2165*fae548d3Szrj     { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2166*fae548d3Szrj #line 2167 "yyscript.c" /* yacc.c:1648  */
2167*fae548d3Szrj     break;
2168*fae548d3Szrj 
2169*fae548d3Szrj   case 38:
2170*fae548d3Szrj #line 326 "yyscript.y" /* yacc.c:1648  */
2171*fae548d3Szrj     { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2172*fae548d3Szrj #line 2173 "yyscript.c" /* yacc.c:1648  */
2173*fae548d3Szrj     break;
2174*fae548d3Szrj 
2175*fae548d3Szrj   case 39:
2176*fae548d3Szrj #line 328 "yyscript.y" /* yacc.c:1648  */
2177*fae548d3Szrj     { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2178*fae548d3Szrj #line 2179 "yyscript.c" /* yacc.c:1648  */
2179*fae548d3Szrj     break;
2180*fae548d3Szrj 
2181*fae548d3Szrj   case 42:
2182*fae548d3Szrj #line 340 "yyscript.y" /* yacc.c:1648  */
2183*fae548d3Szrj     { script_add_file(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2184*fae548d3Szrj #line 2185 "yyscript.c" /* yacc.c:1648  */
2185*fae548d3Szrj     break;
2186*fae548d3Szrj 
2187*fae548d3Szrj   case 43:
2188*fae548d3Szrj #line 342 "yyscript.y" /* yacc.c:1648  */
2189*fae548d3Szrj     { script_add_library(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2190*fae548d3Szrj #line 2191 "yyscript.c" /* yacc.c:1648  */
2191*fae548d3Szrj     break;
2192*fae548d3Szrj 
2193*fae548d3Szrj   case 44:
2194*fae548d3Szrj #line 344 "yyscript.y" /* yacc.c:1648  */
2195*fae548d3Szrj     { script_start_as_needed(closure); }
2196*fae548d3Szrj #line 2197 "yyscript.c" /* yacc.c:1648  */
2197*fae548d3Szrj     break;
2198*fae548d3Szrj 
2199*fae548d3Szrj   case 45:
2200*fae548d3Szrj #line 346 "yyscript.y" /* yacc.c:1648  */
2201*fae548d3Szrj     { script_end_as_needed(closure); }
2202*fae548d3Szrj #line 2203 "yyscript.c" /* yacc.c:1648  */
2203*fae548d3Szrj     break;
2204*fae548d3Szrj 
2205*fae548d3Szrj   case 48:
2206*fae548d3Szrj #line 358 "yyscript.y" /* yacc.c:1648  */
2207*fae548d3Szrj     { script_set_entry(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2208*fae548d3Szrj #line 2209 "yyscript.c" /* yacc.c:1648  */
2209*fae548d3Szrj     break;
2210*fae548d3Szrj 
2211*fae548d3Szrj   case 50:
2212*fae548d3Szrj #line 361 "yyscript.y" /* yacc.c:1648  */
2213*fae548d3Szrj     { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2214*fae548d3Szrj #line 2215 "yyscript.c" /* yacc.c:1648  */
2215*fae548d3Szrj     break;
2216*fae548d3Szrj 
2217*fae548d3Szrj   case 51:
2218*fae548d3Szrj #line 363 "yyscript.y" /* yacc.c:1648  */
2219*fae548d3Szrj     { script_include_directive(PARSING_SECTIONS_BLOCK, closure,
2220*fae548d3Szrj 				       (yyvsp[0].string).value, (yyvsp[0].string).length); }
2221*fae548d3Szrj #line 2222 "yyscript.c" /* yacc.c:1648  */
2222*fae548d3Szrj     break;
2223*fae548d3Szrj 
2224*fae548d3Szrj   case 52:
2225*fae548d3Szrj #line 366 "yyscript.y" /* yacc.c:1648  */
2226*fae548d3Szrj     { script_start_output_section(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, &(yyvsp[0].output_section_header)); }
2227*fae548d3Szrj #line 2228 "yyscript.c" /* yacc.c:1648  */
2228*fae548d3Szrj     break;
2229*fae548d3Szrj 
2230*fae548d3Szrj   case 53:
2231*fae548d3Szrj #line 368 "yyscript.y" /* yacc.c:1648  */
2232*fae548d3Szrj     { script_finish_output_section(closure, &(yyvsp[0].output_section_trailer)); }
2233*fae548d3Szrj #line 2234 "yyscript.c" /* yacc.c:1648  */
2234*fae548d3Szrj     break;
2235*fae548d3Szrj 
2236*fae548d3Szrj   case 54:
2237*fae548d3Szrj #line 374 "yyscript.y" /* yacc.c:1648  */
2238*fae548d3Szrj     { script_push_lex_into_expression_mode(closure); }
2239*fae548d3Szrj #line 2240 "yyscript.c" /* yacc.c:1648  */
2240*fae548d3Szrj     break;
2241*fae548d3Szrj 
2242*fae548d3Szrj   case 55:
2243*fae548d3Szrj #line 376 "yyscript.y" /* yacc.c:1648  */
2244*fae548d3Szrj     { script_pop_lex_mode(closure); }
2245*fae548d3Szrj #line 2246 "yyscript.c" /* yacc.c:1648  */
2246*fae548d3Szrj     break;
2247*fae548d3Szrj 
2248*fae548d3Szrj   case 56:
2249*fae548d3Szrj #line 378 "yyscript.y" /* yacc.c:1648  */
2250*fae548d3Szrj     {
2251*fae548d3Szrj 	      (yyval.output_section_header).address = (yyvsp[-5].output_section_header).address;
2252*fae548d3Szrj 	      (yyval.output_section_header).section_type = (yyvsp[-5].output_section_header).section_type;
2253*fae548d3Szrj 	      (yyval.output_section_header).load_address = (yyvsp[-4].expr);
2254*fae548d3Szrj 	      (yyval.output_section_header).align = (yyvsp[-3].expr);
2255*fae548d3Szrj 	      (yyval.output_section_header).subalign = (yyvsp[-2].expr);
2256*fae548d3Szrj 	      (yyval.output_section_header).constraint = (yyvsp[0].constraint);
2257*fae548d3Szrj 	    }
2258*fae548d3Szrj #line 2259 "yyscript.c" /* yacc.c:1648  */
2259*fae548d3Szrj     break;
2260*fae548d3Szrj 
2261*fae548d3Szrj   case 57:
2262*fae548d3Szrj #line 394 "yyscript.y" /* yacc.c:1648  */
2263*fae548d3Szrj     {
2264*fae548d3Szrj 	      (yyval.output_section_header).address = NULL;
2265*fae548d3Szrj 	      (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2266*fae548d3Szrj 	    }
2267*fae548d3Szrj #line 2268 "yyscript.c" /* yacc.c:1648  */
2268*fae548d3Szrj     break;
2269*fae548d3Szrj 
2270*fae548d3Szrj   case 58:
2271*fae548d3Szrj #line 399 "yyscript.y" /* yacc.c:1648  */
2272*fae548d3Szrj     {
2273*fae548d3Szrj 	      (yyval.output_section_header).address = NULL;
2274*fae548d3Szrj 	      (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2275*fae548d3Szrj 	    }
2276*fae548d3Szrj #line 2277 "yyscript.c" /* yacc.c:1648  */
2277*fae548d3Szrj     break;
2278*fae548d3Szrj 
2279*fae548d3Szrj   case 59:
2280*fae548d3Szrj #line 404 "yyscript.y" /* yacc.c:1648  */
2281*fae548d3Szrj     {
2282*fae548d3Szrj 	      (yyval.output_section_header).address = (yyvsp[-1].expr);
2283*fae548d3Szrj 	      (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2284*fae548d3Szrj 	    }
2285*fae548d3Szrj #line 2286 "yyscript.c" /* yacc.c:1648  */
2286*fae548d3Szrj     break;
2287*fae548d3Szrj 
2288*fae548d3Szrj   case 60:
2289*fae548d3Szrj #line 409 "yyscript.y" /* yacc.c:1648  */
2290*fae548d3Szrj     {
2291*fae548d3Szrj 	      (yyval.output_section_header).address = (yyvsp[-3].expr);
2292*fae548d3Szrj 	      (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2293*fae548d3Szrj 	    }
2294*fae548d3Szrj #line 2295 "yyscript.c" /* yacc.c:1648  */
2295*fae548d3Szrj     break;
2296*fae548d3Szrj 
2297*fae548d3Szrj   case 61:
2298*fae548d3Szrj #line 414 "yyscript.y" /* yacc.c:1648  */
2299*fae548d3Szrj     {
2300*fae548d3Szrj 	      (yyval.output_section_header).address = NULL;
2301*fae548d3Szrj 	      (yyval.output_section_header).section_type = (yyvsp[-2].section_type);
2302*fae548d3Szrj 	    }
2303*fae548d3Szrj #line 2304 "yyscript.c" /* yacc.c:1648  */
2304*fae548d3Szrj     break;
2305*fae548d3Szrj 
2306*fae548d3Szrj   case 62:
2307*fae548d3Szrj #line 419 "yyscript.y" /* yacc.c:1648  */
2308*fae548d3Szrj     {
2309*fae548d3Szrj 	      (yyval.output_section_header).address = (yyvsp[-4].expr);
2310*fae548d3Szrj 	      (yyval.output_section_header).section_type = (yyvsp[-2].section_type);
2311*fae548d3Szrj 	    }
2312*fae548d3Szrj #line 2313 "yyscript.c" /* yacc.c:1648  */
2313*fae548d3Szrj     break;
2314*fae548d3Szrj 
2315*fae548d3Szrj   case 63:
2316*fae548d3Szrj #line 428 "yyscript.y" /* yacc.c:1648  */
2317*fae548d3Szrj     { (yyval.section_type) = SCRIPT_SECTION_TYPE_NOLOAD; }
2318*fae548d3Szrj #line 2319 "yyscript.c" /* yacc.c:1648  */
2319*fae548d3Szrj     break;
2320*fae548d3Szrj 
2321*fae548d3Szrj   case 64:
2322*fae548d3Szrj #line 430 "yyscript.y" /* yacc.c:1648  */
2323*fae548d3Szrj     {
2324*fae548d3Szrj 	      yyerror(closure, "DSECT section type is unsupported");
2325*fae548d3Szrj 	      (yyval.section_type) = SCRIPT_SECTION_TYPE_DSECT;
2326*fae548d3Szrj 	    }
2327*fae548d3Szrj #line 2328 "yyscript.c" /* yacc.c:1648  */
2328*fae548d3Szrj     break;
2329*fae548d3Szrj 
2330*fae548d3Szrj   case 65:
2331*fae548d3Szrj #line 435 "yyscript.y" /* yacc.c:1648  */
2332*fae548d3Szrj     {
2333*fae548d3Szrj 	      yyerror(closure, "COPY section type is unsupported");
2334*fae548d3Szrj 	      (yyval.section_type) = SCRIPT_SECTION_TYPE_COPY;
2335*fae548d3Szrj 	    }
2336*fae548d3Szrj #line 2337 "yyscript.c" /* yacc.c:1648  */
2337*fae548d3Szrj     break;
2338*fae548d3Szrj 
2339*fae548d3Szrj   case 66:
2340*fae548d3Szrj #line 440 "yyscript.y" /* yacc.c:1648  */
2341*fae548d3Szrj     {
2342*fae548d3Szrj 	      yyerror(closure, "INFO section type is unsupported");
2343*fae548d3Szrj 	      (yyval.section_type) = SCRIPT_SECTION_TYPE_INFO;
2344*fae548d3Szrj 	    }
2345*fae548d3Szrj #line 2346 "yyscript.c" /* yacc.c:1648  */
2346*fae548d3Szrj     break;
2347*fae548d3Szrj 
2348*fae548d3Szrj   case 67:
2349*fae548d3Szrj #line 445 "yyscript.y" /* yacc.c:1648  */
2350*fae548d3Szrj     {
2351*fae548d3Szrj 	      yyerror(closure, "OVERLAY section type is unsupported");
2352*fae548d3Szrj 	      (yyval.section_type) = SCRIPT_SECTION_TYPE_OVERLAY;
2353*fae548d3Szrj 	    }
2354*fae548d3Szrj #line 2355 "yyscript.c" /* yacc.c:1648  */
2355*fae548d3Szrj     break;
2356*fae548d3Szrj 
2357*fae548d3Szrj   case 68:
2358*fae548d3Szrj #line 454 "yyscript.y" /* yacc.c:1648  */
2359*fae548d3Szrj     { (yyval.expr) = NULL; }
2360*fae548d3Szrj #line 2361 "yyscript.c" /* yacc.c:1648  */
2361*fae548d3Szrj     break;
2362*fae548d3Szrj 
2363*fae548d3Szrj   case 69:
2364*fae548d3Szrj #line 456 "yyscript.y" /* yacc.c:1648  */
2365*fae548d3Szrj     { (yyval.expr) = (yyvsp[-1].expr); }
2366*fae548d3Szrj #line 2367 "yyscript.c" /* yacc.c:1648  */
2367*fae548d3Szrj     break;
2368*fae548d3Szrj 
2369*fae548d3Szrj   case 70:
2370*fae548d3Szrj #line 462 "yyscript.y" /* yacc.c:1648  */
2371*fae548d3Szrj     { (yyval.expr) = NULL; }
2372*fae548d3Szrj #line 2373 "yyscript.c" /* yacc.c:1648  */
2373*fae548d3Szrj     break;
2374*fae548d3Szrj 
2375*fae548d3Szrj   case 71:
2376*fae548d3Szrj #line 464 "yyscript.y" /* yacc.c:1648  */
2377*fae548d3Szrj     { (yyval.expr) = (yyvsp[-1].expr); }
2378*fae548d3Szrj #line 2379 "yyscript.c" /* yacc.c:1648  */
2379*fae548d3Szrj     break;
2380*fae548d3Szrj 
2381*fae548d3Szrj   case 72:
2382*fae548d3Szrj #line 470 "yyscript.y" /* yacc.c:1648  */
2383*fae548d3Szrj     { (yyval.expr) = NULL; }
2384*fae548d3Szrj #line 2385 "yyscript.c" /* yacc.c:1648  */
2385*fae548d3Szrj     break;
2386*fae548d3Szrj 
2387*fae548d3Szrj   case 73:
2388*fae548d3Szrj #line 472 "yyscript.y" /* yacc.c:1648  */
2389*fae548d3Szrj     { (yyval.expr) = (yyvsp[-1].expr); }
2390*fae548d3Szrj #line 2391 "yyscript.c" /* yacc.c:1648  */
2391*fae548d3Szrj     break;
2392*fae548d3Szrj 
2393*fae548d3Szrj   case 74:
2394*fae548d3Szrj #line 478 "yyscript.y" /* yacc.c:1648  */
2395*fae548d3Szrj     { (yyval.constraint) = CONSTRAINT_NONE; }
2396*fae548d3Szrj #line 2397 "yyscript.c" /* yacc.c:1648  */
2397*fae548d3Szrj     break;
2398*fae548d3Szrj 
2399*fae548d3Szrj   case 75:
2400*fae548d3Szrj #line 480 "yyscript.y" /* yacc.c:1648  */
2401*fae548d3Szrj     { (yyval.constraint) = CONSTRAINT_ONLY_IF_RO; }
2402*fae548d3Szrj #line 2403 "yyscript.c" /* yacc.c:1648  */
2403*fae548d3Szrj     break;
2404*fae548d3Szrj 
2405*fae548d3Szrj   case 76:
2406*fae548d3Szrj #line 482 "yyscript.y" /* yacc.c:1648  */
2407*fae548d3Szrj     { (yyval.constraint) = CONSTRAINT_ONLY_IF_RW; }
2408*fae548d3Szrj #line 2409 "yyscript.c" /* yacc.c:1648  */
2409*fae548d3Szrj     break;
2410*fae548d3Szrj 
2411*fae548d3Szrj   case 77:
2412*fae548d3Szrj #line 484 "yyscript.y" /* yacc.c:1648  */
2413*fae548d3Szrj     { (yyval.constraint) = CONSTRAINT_SPECIAL; }
2414*fae548d3Szrj #line 2415 "yyscript.c" /* yacc.c:1648  */
2415*fae548d3Szrj     break;
2416*fae548d3Szrj 
2417*fae548d3Szrj   case 78:
2418*fae548d3Szrj #line 490 "yyscript.y" /* yacc.c:1648  */
2419*fae548d3Szrj     {
2420*fae548d3Szrj 	      (yyval.output_section_trailer).fill = (yyvsp[-1].expr);
2421*fae548d3Szrj 	      (yyval.output_section_trailer).phdrs = (yyvsp[-2].string_list);
2422*fae548d3Szrj 	    }
2423*fae548d3Szrj #line 2424 "yyscript.c" /* yacc.c:1648  */
2424*fae548d3Szrj     break;
2425*fae548d3Szrj 
2426*fae548d3Szrj   case 79:
2427*fae548d3Szrj #line 499 "yyscript.y" /* yacc.c:1648  */
2428*fae548d3Szrj     { script_set_section_region(closure, (yyvsp[0].string).value, (yyvsp[0].string).length, 1); }
2429*fae548d3Szrj #line 2430 "yyscript.c" /* yacc.c:1648  */
2430*fae548d3Szrj     break;
2431*fae548d3Szrj 
2432*fae548d3Szrj   case 81:
2433*fae548d3Szrj #line 506 "yyscript.y" /* yacc.c:1648  */
2434*fae548d3Szrj     { script_set_section_region(closure, (yyvsp[0].string).value, (yyvsp[0].string).length, 0); }
2435*fae548d3Szrj #line 2436 "yyscript.c" /* yacc.c:1648  */
2436*fae548d3Szrj     break;
2437*fae548d3Szrj 
2438*fae548d3Szrj   case 83:
2439*fae548d3Szrj #line 513 "yyscript.y" /* yacc.c:1648  */
2440*fae548d3Szrj     { (yyval.string_list) = script_string_list_push_back((yyvsp[-2].string_list), (yyvsp[0].string).value, (yyvsp[0].string).length); }
2441*fae548d3Szrj #line 2442 "yyscript.c" /* yacc.c:1648  */
2442*fae548d3Szrj     break;
2443*fae548d3Szrj 
2444*fae548d3Szrj   case 84:
2445*fae548d3Szrj #line 515 "yyscript.y" /* yacc.c:1648  */
2446*fae548d3Szrj     { (yyval.string_list) = NULL; }
2447*fae548d3Szrj #line 2448 "yyscript.c" /* yacc.c:1648  */
2448*fae548d3Szrj     break;
2449*fae548d3Szrj 
2450*fae548d3Szrj   case 85:
2451*fae548d3Szrj #line 522 "yyscript.y" /* yacc.c:1648  */
2452*fae548d3Szrj     { (yyval.expr) = (yyvsp[0].expr); }
2453*fae548d3Szrj #line 2454 "yyscript.c" /* yacc.c:1648  */
2454*fae548d3Szrj     break;
2455*fae548d3Szrj 
2456*fae548d3Szrj   case 86:
2457*fae548d3Szrj #line 524 "yyscript.y" /* yacc.c:1648  */
2458*fae548d3Szrj     { (yyval.expr) = NULL; }
2459*fae548d3Szrj #line 2460 "yyscript.c" /* yacc.c:1648  */
2460*fae548d3Szrj     break;
2461*fae548d3Szrj 
2462*fae548d3Szrj   case 91:
2463*fae548d3Szrj #line 540 "yyscript.y" /* yacc.c:1648  */
2464*fae548d3Szrj     { script_add_data(closure, (yyvsp[-3].integer), (yyvsp[-1].expr)); }
2465*fae548d3Szrj #line 2466 "yyscript.c" /* yacc.c:1648  */
2466*fae548d3Szrj     break;
2467*fae548d3Szrj 
2468*fae548d3Szrj   case 92:
2469*fae548d3Szrj #line 542 "yyscript.y" /* yacc.c:1648  */
2470*fae548d3Szrj     { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2471*fae548d3Szrj #line 2472 "yyscript.c" /* yacc.c:1648  */
2472*fae548d3Szrj     break;
2473*fae548d3Szrj 
2474*fae548d3Szrj   case 93:
2475*fae548d3Szrj #line 544 "yyscript.y" /* yacc.c:1648  */
2476*fae548d3Szrj     { script_add_fill(closure, (yyvsp[-1].expr)); }
2477*fae548d3Szrj #line 2478 "yyscript.c" /* yacc.c:1648  */
2478*fae548d3Szrj     break;
2479*fae548d3Szrj 
2480*fae548d3Szrj   case 94:
2481*fae548d3Szrj #line 546 "yyscript.y" /* yacc.c:1648  */
2482*fae548d3Szrj     {
2483*fae548d3Szrj 	      /* The GNU linker uses CONSTRUCTORS for the a.out object
2484*fae548d3Szrj 		 file format.  It does nothing when using ELF.  Since
2485*fae548d3Szrj 		 some ELF linker scripts use it although it does
2486*fae548d3Szrj 		 nothing, we accept it and ignore it.  */
2487*fae548d3Szrj 	    }
2488*fae548d3Szrj #line 2489 "yyscript.c" /* yacc.c:1648  */
2489*fae548d3Szrj     break;
2490*fae548d3Szrj 
2491*fae548d3Szrj   case 96:
2492*fae548d3Szrj #line 554 "yyscript.y" /* yacc.c:1648  */
2493*fae548d3Szrj     { script_include_directive(PARSING_SECTION_COMMANDS, closure,
2494*fae548d3Szrj 				       (yyvsp[0].string).value, (yyvsp[0].string).length); }
2495*fae548d3Szrj #line 2496 "yyscript.c" /* yacc.c:1648  */
2496*fae548d3Szrj     break;
2497*fae548d3Szrj 
2498*fae548d3Szrj   case 98:
2499*fae548d3Szrj #line 563 "yyscript.y" /* yacc.c:1648  */
2500*fae548d3Szrj     { (yyval.integer) = QUAD; }
2501*fae548d3Szrj #line 2502 "yyscript.c" /* yacc.c:1648  */
2502*fae548d3Szrj     break;
2503*fae548d3Szrj 
2504*fae548d3Szrj   case 99:
2505*fae548d3Szrj #line 565 "yyscript.y" /* yacc.c:1648  */
2506*fae548d3Szrj     { (yyval.integer) = SQUAD; }
2507*fae548d3Szrj #line 2508 "yyscript.c" /* yacc.c:1648  */
2508*fae548d3Szrj     break;
2509*fae548d3Szrj 
2510*fae548d3Szrj   case 100:
2511*fae548d3Szrj #line 567 "yyscript.y" /* yacc.c:1648  */
2512*fae548d3Szrj     { (yyval.integer) = LONG; }
2513*fae548d3Szrj #line 2514 "yyscript.c" /* yacc.c:1648  */
2514*fae548d3Szrj     break;
2515*fae548d3Szrj 
2516*fae548d3Szrj   case 101:
2517*fae548d3Szrj #line 569 "yyscript.y" /* yacc.c:1648  */
2518*fae548d3Szrj     { (yyval.integer) = SHORT; }
2519*fae548d3Szrj #line 2520 "yyscript.c" /* yacc.c:1648  */
2520*fae548d3Szrj     break;
2521*fae548d3Szrj 
2522*fae548d3Szrj   case 102:
2523*fae548d3Szrj #line 571 "yyscript.y" /* yacc.c:1648  */
2524*fae548d3Szrj     { (yyval.integer) = BYTE; }
2525*fae548d3Szrj #line 2526 "yyscript.c" /* yacc.c:1648  */
2526*fae548d3Szrj     break;
2527*fae548d3Szrj 
2528*fae548d3Szrj   case 103:
2529*fae548d3Szrj #line 578 "yyscript.y" /* yacc.c:1648  */
2530*fae548d3Szrj     { script_add_input_section(closure, &(yyvsp[0].input_section_spec), 0); }
2531*fae548d3Szrj #line 2532 "yyscript.c" /* yacc.c:1648  */
2532*fae548d3Szrj     break;
2533*fae548d3Szrj 
2534*fae548d3Szrj   case 104:
2535*fae548d3Szrj #line 580 "yyscript.y" /* yacc.c:1648  */
2536*fae548d3Szrj     { script_add_input_section(closure, &(yyvsp[-1].input_section_spec), 1); }
2537*fae548d3Szrj #line 2538 "yyscript.c" /* yacc.c:1648  */
2538*fae548d3Szrj     break;
2539*fae548d3Szrj 
2540*fae548d3Szrj   case 105:
2541*fae548d3Szrj #line 586 "yyscript.y" /* yacc.c:1648  */
2542*fae548d3Szrj     {
2543*fae548d3Szrj 	      (yyval.input_section_spec).file.name = (yyvsp[0].string);
2544*fae548d3Szrj 	      (yyval.input_section_spec).file.sort = SORT_WILDCARD_NONE;
2545*fae548d3Szrj 	      (yyval.input_section_spec).input_sections.sections = NULL;
2546*fae548d3Szrj 	      (yyval.input_section_spec).input_sections.exclude = NULL;
2547*fae548d3Szrj 	    }
2548*fae548d3Szrj #line 2549 "yyscript.c" /* yacc.c:1648  */
2549*fae548d3Szrj     break;
2550*fae548d3Szrj 
2551*fae548d3Szrj   case 106:
2552*fae548d3Szrj #line 593 "yyscript.y" /* yacc.c:1648  */
2553*fae548d3Szrj     {
2554*fae548d3Szrj 	      (yyval.input_section_spec).file = (yyvsp[-3].wildcard_section);
2555*fae548d3Szrj 	      (yyval.input_section_spec).input_sections = (yyvsp[-1].wildcard_sections);
2556*fae548d3Szrj 	    }
2557*fae548d3Szrj #line 2558 "yyscript.c" /* yacc.c:1648  */
2558*fae548d3Szrj     break;
2559*fae548d3Szrj 
2560*fae548d3Szrj   case 107:
2561*fae548d3Szrj #line 602 "yyscript.y" /* yacc.c:1648  */
2562*fae548d3Szrj     {
2563*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[0].string);
2564*fae548d3Szrj 	      (yyval.wildcard_section).sort = SORT_WILDCARD_NONE;
2565*fae548d3Szrj 	    }
2566*fae548d3Szrj #line 2567 "yyscript.c" /* yacc.c:1648  */
2567*fae548d3Szrj     break;
2568*fae548d3Szrj 
2569*fae548d3Szrj   case 108:
2570*fae548d3Szrj #line 607 "yyscript.y" /* yacc.c:1648  */
2571*fae548d3Szrj     {
2572*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[-1].string);
2573*fae548d3Szrj 	      (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME;
2574*fae548d3Szrj 	    }
2575*fae548d3Szrj #line 2576 "yyscript.c" /* yacc.c:1648  */
2576*fae548d3Szrj     break;
2577*fae548d3Szrj 
2578*fae548d3Szrj   case 109:
2579*fae548d3Szrj #line 616 "yyscript.y" /* yacc.c:1648  */
2580*fae548d3Szrj     {
2581*fae548d3Szrj 	      (yyval.wildcard_sections).sections = script_string_sort_list_add((yyvsp[-2].wildcard_sections).sections, &(yyvsp[0].wildcard_section));
2582*fae548d3Szrj 	      (yyval.wildcard_sections).exclude = (yyvsp[-2].wildcard_sections).exclude;
2583*fae548d3Szrj 	    }
2584*fae548d3Szrj #line 2585 "yyscript.c" /* yacc.c:1648  */
2585*fae548d3Szrj     break;
2586*fae548d3Szrj 
2587*fae548d3Szrj   case 110:
2588*fae548d3Szrj #line 621 "yyscript.y" /* yacc.c:1648  */
2589*fae548d3Szrj     {
2590*fae548d3Szrj 	      (yyval.wildcard_sections).sections = script_new_string_sort_list(&(yyvsp[0].wildcard_section));
2591*fae548d3Szrj 	      (yyval.wildcard_sections).exclude = NULL;
2592*fae548d3Szrj 	    }
2593*fae548d3Szrj #line 2594 "yyscript.c" /* yacc.c:1648  */
2594*fae548d3Szrj     break;
2595*fae548d3Szrj 
2596*fae548d3Szrj   case 111:
2597*fae548d3Szrj #line 626 "yyscript.y" /* yacc.c:1648  */
2598*fae548d3Szrj     {
2599*fae548d3Szrj 	      (yyval.wildcard_sections).sections = (yyvsp[-5].wildcard_sections).sections;
2600*fae548d3Szrj 	      (yyval.wildcard_sections).exclude = script_string_list_append((yyvsp[-5].wildcard_sections).exclude, (yyvsp[-1].string_list));
2601*fae548d3Szrj 	    }
2602*fae548d3Szrj #line 2603 "yyscript.c" /* yacc.c:1648  */
2603*fae548d3Szrj     break;
2604*fae548d3Szrj 
2605*fae548d3Szrj   case 112:
2606*fae548d3Szrj #line 631 "yyscript.y" /* yacc.c:1648  */
2607*fae548d3Szrj     {
2608*fae548d3Szrj 	      (yyval.wildcard_sections).sections = NULL;
2609*fae548d3Szrj 	      (yyval.wildcard_sections).exclude = (yyvsp[-1].string_list);
2610*fae548d3Szrj 	    }
2611*fae548d3Szrj #line 2612 "yyscript.c" /* yacc.c:1648  */
2612*fae548d3Szrj     break;
2613*fae548d3Szrj 
2614*fae548d3Szrj   case 113:
2615*fae548d3Szrj #line 640 "yyscript.y" /* yacc.c:1648  */
2616*fae548d3Szrj     {
2617*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[0].string);
2618*fae548d3Szrj 	      (yyval.wildcard_section).sort = SORT_WILDCARD_NONE;
2619*fae548d3Szrj 	    }
2620*fae548d3Szrj #line 2621 "yyscript.c" /* yacc.c:1648  */
2621*fae548d3Szrj     break;
2622*fae548d3Szrj 
2623*fae548d3Szrj   case 114:
2624*fae548d3Szrj #line 645 "yyscript.y" /* yacc.c:1648  */
2625*fae548d3Szrj     {
2626*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[-1].wildcard_section).name;
2627*fae548d3Szrj 	      switch ((yyvsp[-1].wildcard_section).sort)
2628*fae548d3Szrj 		{
2629*fae548d3Szrj 		case SORT_WILDCARD_NONE:
2630*fae548d3Szrj 		  (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME;
2631*fae548d3Szrj 		  break;
2632*fae548d3Szrj 		case SORT_WILDCARD_BY_NAME:
2633*fae548d3Szrj 		case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
2634*fae548d3Szrj 		  break;
2635*fae548d3Szrj 		case SORT_WILDCARD_BY_ALIGNMENT:
2636*fae548d3Szrj 		case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
2637*fae548d3Szrj 		  (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME_BY_ALIGNMENT;
2638*fae548d3Szrj 		  break;
2639*fae548d3Szrj 		default:
2640*fae548d3Szrj 		  abort();
2641*fae548d3Szrj 		}
2642*fae548d3Szrj 	    }
2643*fae548d3Szrj #line 2644 "yyscript.c" /* yacc.c:1648  */
2644*fae548d3Szrj     break;
2645*fae548d3Szrj 
2646*fae548d3Szrj   case 115:
2647*fae548d3Szrj #line 664 "yyscript.y" /* yacc.c:1648  */
2648*fae548d3Szrj     {
2649*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[-1].wildcard_section).name;
2650*fae548d3Szrj 	      switch ((yyvsp[-1].wildcard_section).sort)
2651*fae548d3Szrj 		{
2652*fae548d3Szrj 		case SORT_WILDCARD_NONE:
2653*fae548d3Szrj 		  (yyval.wildcard_section).sort = SORT_WILDCARD_BY_ALIGNMENT;
2654*fae548d3Szrj 		  break;
2655*fae548d3Szrj 		case SORT_WILDCARD_BY_ALIGNMENT:
2656*fae548d3Szrj 		case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
2657*fae548d3Szrj 		  break;
2658*fae548d3Szrj 		case SORT_WILDCARD_BY_NAME:
2659*fae548d3Szrj 		case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
2660*fae548d3Szrj 		  (yyval.wildcard_section).sort = SORT_WILDCARD_BY_ALIGNMENT_BY_NAME;
2661*fae548d3Szrj 		  break;
2662*fae548d3Szrj 		default:
2663*fae548d3Szrj 		  abort();
2664*fae548d3Szrj 		}
2665*fae548d3Szrj 	    }
2666*fae548d3Szrj #line 2667 "yyscript.c" /* yacc.c:1648  */
2667*fae548d3Szrj     break;
2668*fae548d3Szrj 
2669*fae548d3Szrj   case 116:
2670*fae548d3Szrj #line 683 "yyscript.y" /* yacc.c:1648  */
2671*fae548d3Szrj     {
2672*fae548d3Szrj 	      (yyval.wildcard_section).name = (yyvsp[-1].string);
2673*fae548d3Szrj 	      (yyval.wildcard_section).sort = SORT_WILDCARD_BY_INIT_PRIORITY;
2674*fae548d3Szrj 	    }
2675*fae548d3Szrj #line 2676 "yyscript.c" /* yacc.c:1648  */
2676*fae548d3Szrj     break;
2677*fae548d3Szrj 
2678*fae548d3Szrj   case 117:
2679*fae548d3Szrj #line 692 "yyscript.y" /* yacc.c:1648  */
2680*fae548d3Szrj     { (yyval.string_list) = script_string_list_push_back((yyvsp[-2].string_list), (yyvsp[0].string).value, (yyvsp[0].string).length); }
2681*fae548d3Szrj #line 2682 "yyscript.c" /* yacc.c:1648  */
2682*fae548d3Szrj     break;
2683*fae548d3Szrj 
2684*fae548d3Szrj   case 118:
2685*fae548d3Szrj #line 694 "yyscript.y" /* yacc.c:1648  */
2686*fae548d3Szrj     { (yyval.string_list) = script_new_string_list((yyvsp[0].string).value, (yyvsp[0].string).length); }
2687*fae548d3Szrj #line 2688 "yyscript.c" /* yacc.c:1648  */
2688*fae548d3Szrj     break;
2689*fae548d3Szrj 
2690*fae548d3Szrj   case 119:
2691*fae548d3Szrj #line 701 "yyscript.y" /* yacc.c:1648  */
2692*fae548d3Szrj     { (yyval.string) = (yyvsp[0].string); }
2693*fae548d3Szrj #line 2694 "yyscript.c" /* yacc.c:1648  */
2694*fae548d3Szrj     break;
2695*fae548d3Szrj 
2696*fae548d3Szrj   case 120:
2697*fae548d3Szrj #line 703 "yyscript.y" /* yacc.c:1648  */
2698*fae548d3Szrj     {
2699*fae548d3Szrj 	      (yyval.string).value = "*";
2700*fae548d3Szrj 	      (yyval.string).length = 1;
2701*fae548d3Szrj 	    }
2702*fae548d3Szrj #line 2703 "yyscript.c" /* yacc.c:1648  */
2703*fae548d3Szrj     break;
2704*fae548d3Szrj 
2705*fae548d3Szrj   case 121:
2706*fae548d3Szrj #line 708 "yyscript.y" /* yacc.c:1648  */
2707*fae548d3Szrj     {
2708*fae548d3Szrj 	      (yyval.string).value = "?";
2709*fae548d3Szrj 	      (yyval.string).length = 1;
2710*fae548d3Szrj 	    }
2711*fae548d3Szrj #line 2712 "yyscript.c" /* yacc.c:1648  */
2712*fae548d3Szrj     break;
2713*fae548d3Szrj 
2714*fae548d3Szrj   case 124:
2715*fae548d3Szrj #line 723 "yyscript.y" /* yacc.c:1648  */
2716*fae548d3Szrj     { script_add_memory(closure, (yyvsp[-9].string).value, (yyvsp[-9].string).length, (yyvsp[-8].integer), (yyvsp[-4].expr), (yyvsp[0].expr)); }
2717*fae548d3Szrj #line 2718 "yyscript.c" /* yacc.c:1648  */
2718*fae548d3Szrj     break;
2719*fae548d3Szrj 
2720*fae548d3Szrj   case 125:
2721*fae548d3Szrj #line 726 "yyscript.y" /* yacc.c:1648  */
2722*fae548d3Szrj     { script_include_directive(PARSING_MEMORY_DEF, closure,
2723*fae548d3Szrj 				     (yyvsp[0].string).value, (yyvsp[0].string).length); }
2724*fae548d3Szrj #line 2725 "yyscript.c" /* yacc.c:1648  */
2725*fae548d3Szrj     break;
2726*fae548d3Szrj 
2727*fae548d3Szrj   case 127:
2728*fae548d3Szrj #line 734 "yyscript.y" /* yacc.c:1648  */
2729*fae548d3Szrj     { (yyval.integer) = script_parse_memory_attr(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, 0); }
2730*fae548d3Szrj #line 2731 "yyscript.c" /* yacc.c:1648  */
2731*fae548d3Szrj     break;
2732*fae548d3Szrj 
2733*fae548d3Szrj   case 128:
2734*fae548d3Szrj #line 737 "yyscript.y" /* yacc.c:1648  */
2735*fae548d3Szrj     { (yyval.integer) = script_parse_memory_attr(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, 1); }
2736*fae548d3Szrj #line 2737 "yyscript.c" /* yacc.c:1648  */
2737*fae548d3Szrj     break;
2738*fae548d3Szrj 
2739*fae548d3Szrj   case 129:
2740*fae548d3Szrj #line 739 "yyscript.y" /* yacc.c:1648  */
2741*fae548d3Szrj     { (yyval.integer) = 0; }
2742*fae548d3Szrj #line 2743 "yyscript.c" /* yacc.c:1648  */
2743*fae548d3Szrj     break;
2744*fae548d3Szrj 
2745*fae548d3Szrj   case 138:
2746*fae548d3Szrj #line 767 "yyscript.y" /* yacc.c:1648  */
2747*fae548d3Szrj     { script_add_phdr(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-2].integer), &(yyvsp[-1].phdr_info)); }
2748*fae548d3Szrj #line 2749 "yyscript.c" /* yacc.c:1648  */
2749*fae548d3Szrj     break;
2750*fae548d3Szrj 
2751*fae548d3Szrj   case 139:
2752*fae548d3Szrj #line 776 "yyscript.y" /* yacc.c:1648  */
2753*fae548d3Szrj     { (yyval.integer) = script_phdr_string_to_type(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2754*fae548d3Szrj #line 2755 "yyscript.c" /* yacc.c:1648  */
2755*fae548d3Szrj     break;
2756*fae548d3Szrj 
2757*fae548d3Szrj   case 140:
2758*fae548d3Szrj #line 778 "yyscript.y" /* yacc.c:1648  */
2759*fae548d3Szrj     { (yyval.integer) = (yyvsp[0].integer); }
2760*fae548d3Szrj #line 2761 "yyscript.c" /* yacc.c:1648  */
2761*fae548d3Szrj     break;
2762*fae548d3Szrj 
2763*fae548d3Szrj   case 141:
2764*fae548d3Szrj #line 784 "yyscript.y" /* yacc.c:1648  */
2765*fae548d3Szrj     { memset(&(yyval.phdr_info), 0, sizeof(struct Phdr_info)); }
2766*fae548d3Szrj #line 2767 "yyscript.c" /* yacc.c:1648  */
2767*fae548d3Szrj     break;
2768*fae548d3Szrj 
2769*fae548d3Szrj   case 142:
2770*fae548d3Szrj #line 786 "yyscript.y" /* yacc.c:1648  */
2771*fae548d3Szrj     {
2772*fae548d3Szrj 	      (yyval.phdr_info) = (yyvsp[0].phdr_info);
2773*fae548d3Szrj 	      if ((yyvsp[-1].string).length == 7 && strncmp((yyvsp[-1].string).value, "FILEHDR", 7) == 0)
2774*fae548d3Szrj 		(yyval.phdr_info).includes_filehdr = 1;
2775*fae548d3Szrj 	      else
2776*fae548d3Szrj 		yyerror(closure, "PHDRS syntax error");
2777*fae548d3Szrj 	    }
2778*fae548d3Szrj #line 2779 "yyscript.c" /* yacc.c:1648  */
2779*fae548d3Szrj     break;
2780*fae548d3Szrj 
2781*fae548d3Szrj   case 143:
2782*fae548d3Szrj #line 794 "yyscript.y" /* yacc.c:1648  */
2783*fae548d3Szrj     {
2784*fae548d3Szrj 	      (yyval.phdr_info) = (yyvsp[0].phdr_info);
2785*fae548d3Szrj 	      (yyval.phdr_info).includes_phdrs = 1;
2786*fae548d3Szrj 	    }
2787*fae548d3Szrj #line 2788 "yyscript.c" /* yacc.c:1648  */
2788*fae548d3Szrj     break;
2789*fae548d3Szrj 
2790*fae548d3Szrj   case 144:
2791*fae548d3Szrj #line 799 "yyscript.y" /* yacc.c:1648  */
2792*fae548d3Szrj     {
2793*fae548d3Szrj 	      (yyval.phdr_info) = (yyvsp[0].phdr_info);
2794*fae548d3Szrj 	      if ((yyvsp[-4].string).length == 5 && strncmp((yyvsp[-4].string).value, "FLAGS", 5) == 0)
2795*fae548d3Szrj 		{
2796*fae548d3Szrj 		  (yyval.phdr_info).is_flags_valid = 1;
2797*fae548d3Szrj 		  (yyval.phdr_info).flags = (yyvsp[-2].integer);
2798*fae548d3Szrj 		}
2799*fae548d3Szrj 	      else
2800*fae548d3Szrj 		yyerror(closure, "PHDRS syntax error");
2801*fae548d3Szrj 	    }
2802*fae548d3Szrj #line 2803 "yyscript.c" /* yacc.c:1648  */
2803*fae548d3Szrj     break;
2804*fae548d3Szrj 
2805*fae548d3Szrj   case 145:
2806*fae548d3Szrj #line 810 "yyscript.y" /* yacc.c:1648  */
2807*fae548d3Szrj     {
2808*fae548d3Szrj 	      (yyval.phdr_info) = (yyvsp[0].phdr_info);
2809*fae548d3Szrj 	      (yyval.phdr_info).load_address = (yyvsp[-2].expr);
2810*fae548d3Szrj 	    }
2811*fae548d3Szrj #line 2812 "yyscript.c" /* yacc.c:1648  */
2812*fae548d3Szrj     break;
2813*fae548d3Szrj 
2814*fae548d3Szrj   case 146:
2815*fae548d3Szrj #line 819 "yyscript.y" /* yacc.c:1648  */
2816*fae548d3Szrj     { script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, (yyvsp[0].expr), 0, 0); }
2817*fae548d3Szrj #line 2818 "yyscript.c" /* yacc.c:1648  */
2818*fae548d3Szrj     break;
2819*fae548d3Szrj 
2820*fae548d3Szrj   case 147:
2821*fae548d3Szrj #line 821 "yyscript.y" /* yacc.c:1648  */
2822*fae548d3Szrj     {
2823*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2824*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_add(s, (yyvsp[0].expr));
2825*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2826*fae548d3Szrj 	    }
2827*fae548d3Szrj #line 2828 "yyscript.c" /* yacc.c:1648  */
2828*fae548d3Szrj     break;
2829*fae548d3Szrj 
2830*fae548d3Szrj   case 148:
2831*fae548d3Szrj #line 827 "yyscript.y" /* yacc.c:1648  */
2832*fae548d3Szrj     {
2833*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2834*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_sub(s, (yyvsp[0].expr));
2835*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2836*fae548d3Szrj 	    }
2837*fae548d3Szrj #line 2838 "yyscript.c" /* yacc.c:1648  */
2838*fae548d3Szrj     break;
2839*fae548d3Szrj 
2840*fae548d3Szrj   case 149:
2841*fae548d3Szrj #line 833 "yyscript.y" /* yacc.c:1648  */
2842*fae548d3Szrj     {
2843*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2844*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_mult(s, (yyvsp[0].expr));
2845*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2846*fae548d3Szrj 	    }
2847*fae548d3Szrj #line 2848 "yyscript.c" /* yacc.c:1648  */
2848*fae548d3Szrj     break;
2849*fae548d3Szrj 
2850*fae548d3Szrj   case 150:
2851*fae548d3Szrj #line 839 "yyscript.y" /* yacc.c:1648  */
2852*fae548d3Szrj     {
2853*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2854*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_div(s, (yyvsp[0].expr));
2855*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2856*fae548d3Szrj 	    }
2857*fae548d3Szrj #line 2858 "yyscript.c" /* yacc.c:1648  */
2858*fae548d3Szrj     break;
2859*fae548d3Szrj 
2860*fae548d3Szrj   case 151:
2861*fae548d3Szrj #line 845 "yyscript.y" /* yacc.c:1648  */
2862*fae548d3Szrj     {
2863*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2864*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_lshift(s, (yyvsp[0].expr));
2865*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2866*fae548d3Szrj 	    }
2867*fae548d3Szrj #line 2868 "yyscript.c" /* yacc.c:1648  */
2868*fae548d3Szrj     break;
2869*fae548d3Szrj 
2870*fae548d3Szrj   case 152:
2871*fae548d3Szrj #line 851 "yyscript.y" /* yacc.c:1648  */
2872*fae548d3Szrj     {
2873*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2874*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_rshift(s, (yyvsp[0].expr));
2875*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2876*fae548d3Szrj 	    }
2877*fae548d3Szrj #line 2878 "yyscript.c" /* yacc.c:1648  */
2878*fae548d3Szrj     break;
2879*fae548d3Szrj 
2880*fae548d3Szrj   case 153:
2881*fae548d3Szrj #line 857 "yyscript.y" /* yacc.c:1648  */
2882*fae548d3Szrj     {
2883*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2884*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_bitwise_and(s, (yyvsp[0].expr));
2885*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2886*fae548d3Szrj 	    }
2887*fae548d3Szrj #line 2888 "yyscript.c" /* yacc.c:1648  */
2888*fae548d3Szrj     break;
2889*fae548d3Szrj 
2890*fae548d3Szrj   case 154:
2891*fae548d3Szrj #line 863 "yyscript.y" /* yacc.c:1648  */
2892*fae548d3Szrj     {
2893*fae548d3Szrj 	      Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2894*fae548d3Szrj 	      Expression_ptr e = script_exp_binary_bitwise_or(s, (yyvsp[0].expr));
2895*fae548d3Szrj 	      script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2896*fae548d3Szrj 	    }
2897*fae548d3Szrj #line 2898 "yyscript.c" /* yacc.c:1648  */
2898*fae548d3Szrj     break;
2899*fae548d3Szrj 
2900*fae548d3Szrj   case 155:
2901*fae548d3Szrj #line 869 "yyscript.y" /* yacc.c:1648  */
2902*fae548d3Szrj     { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 0, 1); }
2903*fae548d3Szrj #line 2904 "yyscript.c" /* yacc.c:1648  */
2904*fae548d3Szrj     break;
2905*fae548d3Szrj 
2906*fae548d3Szrj   case 156:
2907*fae548d3Szrj #line 871 "yyscript.y" /* yacc.c:1648  */
2908*fae548d3Szrj     { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 1, 0); }
2909*fae548d3Szrj #line 2910 "yyscript.c" /* yacc.c:1648  */
2910*fae548d3Szrj     break;
2911*fae548d3Szrj 
2912*fae548d3Szrj   case 157:
2913*fae548d3Szrj #line 873 "yyscript.y" /* yacc.c:1648  */
2914*fae548d3Szrj     { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 1, 1); }
2915*fae548d3Szrj #line 2916 "yyscript.c" /* yacc.c:1648  */
2916*fae548d3Szrj     break;
2917*fae548d3Szrj 
2918*fae548d3Szrj   case 158:
2919*fae548d3Szrj #line 878 "yyscript.y" /* yacc.c:1648  */
2920*fae548d3Szrj     { script_push_lex_into_expression_mode(closure); }
2921*fae548d3Szrj #line 2922 "yyscript.c" /* yacc.c:1648  */
2922*fae548d3Szrj     break;
2923*fae548d3Szrj 
2924*fae548d3Szrj   case 159:
2925*fae548d3Szrj #line 880 "yyscript.y" /* yacc.c:1648  */
2926*fae548d3Szrj     {
2927*fae548d3Szrj 	      script_pop_lex_mode(closure);
2928*fae548d3Szrj 	      (yyval.expr) = (yyvsp[0].expr);
2929*fae548d3Szrj 	    }
2930*fae548d3Szrj #line 2931 "yyscript.c" /* yacc.c:1648  */
2931*fae548d3Szrj     break;
2932*fae548d3Szrj 
2933*fae548d3Szrj   case 160:
2934*fae548d3Szrj #line 889 "yyscript.y" /* yacc.c:1648  */
2935*fae548d3Szrj     { (yyval.expr) = (yyvsp[-1].expr); }
2936*fae548d3Szrj #line 2937 "yyscript.c" /* yacc.c:1648  */
2937*fae548d3Szrj     break;
2938*fae548d3Szrj 
2939*fae548d3Szrj   case 161:
2940*fae548d3Szrj #line 891 "yyscript.y" /* yacc.c:1648  */
2941*fae548d3Szrj     { (yyval.expr) = script_exp_unary_minus((yyvsp[0].expr)); }
2942*fae548d3Szrj #line 2943 "yyscript.c" /* yacc.c:1648  */
2943*fae548d3Szrj     break;
2944*fae548d3Szrj 
2945*fae548d3Szrj   case 162:
2946*fae548d3Szrj #line 893 "yyscript.y" /* yacc.c:1648  */
2947*fae548d3Szrj     { (yyval.expr) = script_exp_unary_logical_not((yyvsp[0].expr)); }
2948*fae548d3Szrj #line 2949 "yyscript.c" /* yacc.c:1648  */
2949*fae548d3Szrj     break;
2950*fae548d3Szrj 
2951*fae548d3Szrj   case 163:
2952*fae548d3Szrj #line 895 "yyscript.y" /* yacc.c:1648  */
2953*fae548d3Szrj     { (yyval.expr) = script_exp_unary_bitwise_not((yyvsp[0].expr)); }
2954*fae548d3Szrj #line 2955 "yyscript.c" /* yacc.c:1648  */
2955*fae548d3Szrj     break;
2956*fae548d3Szrj 
2957*fae548d3Szrj   case 164:
2958*fae548d3Szrj #line 897 "yyscript.y" /* yacc.c:1648  */
2959*fae548d3Szrj     { (yyval.expr) = (yyvsp[0].expr); }
2960*fae548d3Szrj #line 2961 "yyscript.c" /* yacc.c:1648  */
2961*fae548d3Szrj     break;
2962*fae548d3Szrj 
2963*fae548d3Szrj   case 165:
2964*fae548d3Szrj #line 899 "yyscript.y" /* yacc.c:1648  */
2965*fae548d3Szrj     { (yyval.expr) = script_exp_binary_mult((yyvsp[-2].expr), (yyvsp[0].expr)); }
2966*fae548d3Szrj #line 2967 "yyscript.c" /* yacc.c:1648  */
2967*fae548d3Szrj     break;
2968*fae548d3Szrj 
2969*fae548d3Szrj   case 166:
2970*fae548d3Szrj #line 901 "yyscript.y" /* yacc.c:1648  */
2971*fae548d3Szrj     { (yyval.expr) = script_exp_binary_div((yyvsp[-2].expr), (yyvsp[0].expr)); }
2972*fae548d3Szrj #line 2973 "yyscript.c" /* yacc.c:1648  */
2973*fae548d3Szrj     break;
2974*fae548d3Szrj 
2975*fae548d3Szrj   case 167:
2976*fae548d3Szrj #line 903 "yyscript.y" /* yacc.c:1648  */
2977*fae548d3Szrj     { (yyval.expr) = script_exp_binary_mod((yyvsp[-2].expr), (yyvsp[0].expr)); }
2978*fae548d3Szrj #line 2979 "yyscript.c" /* yacc.c:1648  */
2979*fae548d3Szrj     break;
2980*fae548d3Szrj 
2981*fae548d3Szrj   case 168:
2982*fae548d3Szrj #line 905 "yyscript.y" /* yacc.c:1648  */
2983*fae548d3Szrj     { (yyval.expr) = script_exp_binary_add((yyvsp[-2].expr), (yyvsp[0].expr)); }
2984*fae548d3Szrj #line 2985 "yyscript.c" /* yacc.c:1648  */
2985*fae548d3Szrj     break;
2986*fae548d3Szrj 
2987*fae548d3Szrj   case 169:
2988*fae548d3Szrj #line 907 "yyscript.y" /* yacc.c:1648  */
2989*fae548d3Szrj     { (yyval.expr) = script_exp_binary_sub((yyvsp[-2].expr), (yyvsp[0].expr)); }
2990*fae548d3Szrj #line 2991 "yyscript.c" /* yacc.c:1648  */
2991*fae548d3Szrj     break;
2992*fae548d3Szrj 
2993*fae548d3Szrj   case 170:
2994*fae548d3Szrj #line 909 "yyscript.y" /* yacc.c:1648  */
2995*fae548d3Szrj     { (yyval.expr) = script_exp_binary_lshift((yyvsp[-2].expr), (yyvsp[0].expr)); }
2996*fae548d3Szrj #line 2997 "yyscript.c" /* yacc.c:1648  */
2997*fae548d3Szrj     break;
2998*fae548d3Szrj 
2999*fae548d3Szrj   case 171:
3000*fae548d3Szrj #line 911 "yyscript.y" /* yacc.c:1648  */
3001*fae548d3Szrj     { (yyval.expr) = script_exp_binary_rshift((yyvsp[-2].expr), (yyvsp[0].expr)); }
3002*fae548d3Szrj #line 3003 "yyscript.c" /* yacc.c:1648  */
3003*fae548d3Szrj     break;
3004*fae548d3Szrj 
3005*fae548d3Szrj   case 172:
3006*fae548d3Szrj #line 913 "yyscript.y" /* yacc.c:1648  */
3007*fae548d3Szrj     { (yyval.expr) = script_exp_binary_eq((yyvsp[-2].expr), (yyvsp[0].expr)); }
3008*fae548d3Szrj #line 3009 "yyscript.c" /* yacc.c:1648  */
3009*fae548d3Szrj     break;
3010*fae548d3Szrj 
3011*fae548d3Szrj   case 173:
3012*fae548d3Szrj #line 915 "yyscript.y" /* yacc.c:1648  */
3013*fae548d3Szrj     { (yyval.expr) = script_exp_binary_ne((yyvsp[-2].expr), (yyvsp[0].expr)); }
3014*fae548d3Szrj #line 3015 "yyscript.c" /* yacc.c:1648  */
3015*fae548d3Szrj     break;
3016*fae548d3Szrj 
3017*fae548d3Szrj   case 174:
3018*fae548d3Szrj #line 917 "yyscript.y" /* yacc.c:1648  */
3019*fae548d3Szrj     { (yyval.expr) = script_exp_binary_le((yyvsp[-2].expr), (yyvsp[0].expr)); }
3020*fae548d3Szrj #line 3021 "yyscript.c" /* yacc.c:1648  */
3021*fae548d3Szrj     break;
3022*fae548d3Szrj 
3023*fae548d3Szrj   case 175:
3024*fae548d3Szrj #line 919 "yyscript.y" /* yacc.c:1648  */
3025*fae548d3Szrj     { (yyval.expr) = script_exp_binary_ge((yyvsp[-2].expr), (yyvsp[0].expr)); }
3026*fae548d3Szrj #line 3027 "yyscript.c" /* yacc.c:1648  */
3027*fae548d3Szrj     break;
3028*fae548d3Szrj 
3029*fae548d3Szrj   case 176:
3030*fae548d3Szrj #line 921 "yyscript.y" /* yacc.c:1648  */
3031*fae548d3Szrj     { (yyval.expr) = script_exp_binary_lt((yyvsp[-2].expr), (yyvsp[0].expr)); }
3032*fae548d3Szrj #line 3033 "yyscript.c" /* yacc.c:1648  */
3033*fae548d3Szrj     break;
3034*fae548d3Szrj 
3035*fae548d3Szrj   case 177:
3036*fae548d3Szrj #line 923 "yyscript.y" /* yacc.c:1648  */
3037*fae548d3Szrj     { (yyval.expr) = script_exp_binary_gt((yyvsp[-2].expr), (yyvsp[0].expr)); }
3038*fae548d3Szrj #line 3039 "yyscript.c" /* yacc.c:1648  */
3039*fae548d3Szrj     break;
3040*fae548d3Szrj 
3041*fae548d3Szrj   case 178:
3042*fae548d3Szrj #line 925 "yyscript.y" /* yacc.c:1648  */
3043*fae548d3Szrj     { (yyval.expr) = script_exp_binary_bitwise_and((yyvsp[-2].expr), (yyvsp[0].expr)); }
3044*fae548d3Szrj #line 3045 "yyscript.c" /* yacc.c:1648  */
3045*fae548d3Szrj     break;
3046*fae548d3Szrj 
3047*fae548d3Szrj   case 179:
3048*fae548d3Szrj #line 927 "yyscript.y" /* yacc.c:1648  */
3049*fae548d3Szrj     { (yyval.expr) = script_exp_binary_bitwise_xor((yyvsp[-2].expr), (yyvsp[0].expr)); }
3050*fae548d3Szrj #line 3051 "yyscript.c" /* yacc.c:1648  */
3051*fae548d3Szrj     break;
3052*fae548d3Szrj 
3053*fae548d3Szrj   case 180:
3054*fae548d3Szrj #line 929 "yyscript.y" /* yacc.c:1648  */
3055*fae548d3Szrj     { (yyval.expr) = script_exp_binary_bitwise_or((yyvsp[-2].expr), (yyvsp[0].expr)); }
3056*fae548d3Szrj #line 3057 "yyscript.c" /* yacc.c:1648  */
3057*fae548d3Szrj     break;
3058*fae548d3Szrj 
3059*fae548d3Szrj   case 181:
3060*fae548d3Szrj #line 931 "yyscript.y" /* yacc.c:1648  */
3061*fae548d3Szrj     { (yyval.expr) = script_exp_binary_logical_and((yyvsp[-2].expr), (yyvsp[0].expr)); }
3062*fae548d3Szrj #line 3063 "yyscript.c" /* yacc.c:1648  */
3063*fae548d3Szrj     break;
3064*fae548d3Szrj 
3065*fae548d3Szrj   case 182:
3066*fae548d3Szrj #line 933 "yyscript.y" /* yacc.c:1648  */
3067*fae548d3Szrj     { (yyval.expr) = script_exp_binary_logical_or((yyvsp[-2].expr), (yyvsp[0].expr)); }
3068*fae548d3Szrj #line 3069 "yyscript.c" /* yacc.c:1648  */
3069*fae548d3Szrj     break;
3070*fae548d3Szrj 
3071*fae548d3Szrj   case 183:
3072*fae548d3Szrj #line 935 "yyscript.y" /* yacc.c:1648  */
3073*fae548d3Szrj     { (yyval.expr) = script_exp_trinary_cond((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
3074*fae548d3Szrj #line 3075 "yyscript.c" /* yacc.c:1648  */
3075*fae548d3Szrj     break;
3076*fae548d3Szrj 
3077*fae548d3Szrj   case 184:
3078*fae548d3Szrj #line 937 "yyscript.y" /* yacc.c:1648  */
3079*fae548d3Szrj     { (yyval.expr) = script_exp_integer((yyvsp[0].integer)); }
3080*fae548d3Szrj #line 3081 "yyscript.c" /* yacc.c:1648  */
3081*fae548d3Szrj     break;
3082*fae548d3Szrj 
3083*fae548d3Szrj   case 185:
3084*fae548d3Szrj #line 939 "yyscript.y" /* yacc.c:1648  */
3085*fae548d3Szrj     { (yyval.expr) = script_symbol(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
3086*fae548d3Szrj #line 3087 "yyscript.c" /* yacc.c:1648  */
3087*fae548d3Szrj     break;
3088*fae548d3Szrj 
3089*fae548d3Szrj   case 186:
3090*fae548d3Szrj #line 941 "yyscript.y" /* yacc.c:1648  */
3091*fae548d3Szrj     { (yyval.expr) = script_exp_function_max((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3092*fae548d3Szrj #line 3093 "yyscript.c" /* yacc.c:1648  */
3093*fae548d3Szrj     break;
3094*fae548d3Szrj 
3095*fae548d3Szrj   case 187:
3096*fae548d3Szrj #line 943 "yyscript.y" /* yacc.c:1648  */
3097*fae548d3Szrj     { (yyval.expr) = script_exp_function_min((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3098*fae548d3Szrj #line 3099 "yyscript.c" /* yacc.c:1648  */
3099*fae548d3Szrj     break;
3100*fae548d3Szrj 
3101*fae548d3Szrj   case 188:
3102*fae548d3Szrj #line 945 "yyscript.y" /* yacc.c:1648  */
3103*fae548d3Szrj     { (yyval.expr) = script_exp_function_defined((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3104*fae548d3Szrj #line 3105 "yyscript.c" /* yacc.c:1648  */
3105*fae548d3Szrj     break;
3106*fae548d3Szrj 
3107*fae548d3Szrj   case 189:
3108*fae548d3Szrj #line 947 "yyscript.y" /* yacc.c:1648  */
3109*fae548d3Szrj     { (yyval.expr) = script_exp_function_sizeof_headers(); }
3110*fae548d3Szrj #line 3111 "yyscript.c" /* yacc.c:1648  */
3111*fae548d3Szrj     break;
3112*fae548d3Szrj 
3113*fae548d3Szrj   case 190:
3114*fae548d3Szrj #line 949 "yyscript.y" /* yacc.c:1648  */
3115*fae548d3Szrj     { (yyval.expr) = script_exp_function_alignof((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3116*fae548d3Szrj #line 3117 "yyscript.c" /* yacc.c:1648  */
3117*fae548d3Szrj     break;
3118*fae548d3Szrj 
3119*fae548d3Szrj   case 191:
3120*fae548d3Szrj #line 951 "yyscript.y" /* yacc.c:1648  */
3121*fae548d3Szrj     { (yyval.expr) = script_exp_function_sizeof((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3122*fae548d3Szrj #line 3123 "yyscript.c" /* yacc.c:1648  */
3123*fae548d3Szrj     break;
3124*fae548d3Szrj 
3125*fae548d3Szrj   case 192:
3126*fae548d3Szrj #line 953 "yyscript.y" /* yacc.c:1648  */
3127*fae548d3Szrj     { (yyval.expr) = script_exp_function_addr((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3128*fae548d3Szrj #line 3129 "yyscript.c" /* yacc.c:1648  */
3129*fae548d3Szrj     break;
3130*fae548d3Szrj 
3131*fae548d3Szrj   case 193:
3132*fae548d3Szrj #line 955 "yyscript.y" /* yacc.c:1648  */
3133*fae548d3Szrj     { (yyval.expr) = script_exp_function_loadaddr((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3134*fae548d3Szrj #line 3135 "yyscript.c" /* yacc.c:1648  */
3135*fae548d3Szrj     break;
3136*fae548d3Szrj 
3137*fae548d3Szrj   case 194:
3138*fae548d3Szrj #line 957 "yyscript.y" /* yacc.c:1648  */
3139*fae548d3Szrj     { (yyval.expr) = script_exp_function_origin(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3140*fae548d3Szrj #line 3141 "yyscript.c" /* yacc.c:1648  */
3141*fae548d3Szrj     break;
3142*fae548d3Szrj 
3143*fae548d3Szrj   case 195:
3144*fae548d3Szrj #line 959 "yyscript.y" /* yacc.c:1648  */
3145*fae548d3Szrj     { (yyval.expr) = script_exp_function_length(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3146*fae548d3Szrj #line 3147 "yyscript.c" /* yacc.c:1648  */
3147*fae548d3Szrj     break;
3148*fae548d3Szrj 
3149*fae548d3Szrj   case 196:
3150*fae548d3Szrj #line 961 "yyscript.y" /* yacc.c:1648  */
3151*fae548d3Szrj     { (yyval.expr) = script_exp_function_constant((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3152*fae548d3Szrj #line 3153 "yyscript.c" /* yacc.c:1648  */
3153*fae548d3Szrj     break;
3154*fae548d3Szrj 
3155*fae548d3Szrj   case 197:
3156*fae548d3Szrj #line 963 "yyscript.y" /* yacc.c:1648  */
3157*fae548d3Szrj     { (yyval.expr) = script_exp_function_absolute((yyvsp[-1].expr)); }
3158*fae548d3Szrj #line 3159 "yyscript.c" /* yacc.c:1648  */
3159*fae548d3Szrj     break;
3160*fae548d3Szrj 
3161*fae548d3Szrj   case 198:
3162*fae548d3Szrj #line 965 "yyscript.y" /* yacc.c:1648  */
3163*fae548d3Szrj     { (yyval.expr) = script_exp_function_align(script_exp_string(".", 1), (yyvsp[-1].expr)); }
3164*fae548d3Szrj #line 3165 "yyscript.c" /* yacc.c:1648  */
3165*fae548d3Szrj     break;
3166*fae548d3Szrj 
3167*fae548d3Szrj   case 199:
3168*fae548d3Szrj #line 967 "yyscript.y" /* yacc.c:1648  */
3169*fae548d3Szrj     { (yyval.expr) = script_exp_function_align((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3170*fae548d3Szrj #line 3171 "yyscript.c" /* yacc.c:1648  */
3171*fae548d3Szrj     break;
3172*fae548d3Szrj 
3173*fae548d3Szrj   case 200:
3174*fae548d3Szrj #line 969 "yyscript.y" /* yacc.c:1648  */
3175*fae548d3Szrj     { (yyval.expr) = script_exp_function_align(script_exp_string(".", 1), (yyvsp[-1].expr)); }
3176*fae548d3Szrj #line 3177 "yyscript.c" /* yacc.c:1648  */
3177*fae548d3Szrj     break;
3178*fae548d3Szrj 
3179*fae548d3Szrj   case 201:
3180*fae548d3Szrj #line 971 "yyscript.y" /* yacc.c:1648  */
3181*fae548d3Szrj     {
3182*fae548d3Szrj 	      script_data_segment_align(closure);
3183*fae548d3Szrj 	      (yyval.expr) = script_exp_function_data_segment_align((yyvsp[-3].expr), (yyvsp[-1].expr));
3184*fae548d3Szrj 	    }
3185*fae548d3Szrj #line 3186 "yyscript.c" /* yacc.c:1648  */
3186*fae548d3Szrj     break;
3187*fae548d3Szrj 
3188*fae548d3Szrj   case 202:
3189*fae548d3Szrj #line 976 "yyscript.y" /* yacc.c:1648  */
3190*fae548d3Szrj     {
3191*fae548d3Szrj 	      script_data_segment_relro_end(closure);
3192*fae548d3Szrj 	      (yyval.expr) = script_exp_function_data_segment_relro_end((yyvsp[-3].expr), (yyvsp[-1].expr));
3193*fae548d3Szrj 	    }
3194*fae548d3Szrj #line 3195 "yyscript.c" /* yacc.c:1648  */
3195*fae548d3Szrj     break;
3196*fae548d3Szrj 
3197*fae548d3Szrj   case 203:
3198*fae548d3Szrj #line 981 "yyscript.y" /* yacc.c:1648  */
3199*fae548d3Szrj     { (yyval.expr) = script_exp_function_data_segment_end((yyvsp[-1].expr)); }
3200*fae548d3Szrj #line 3201 "yyscript.c" /* yacc.c:1648  */
3201*fae548d3Szrj     break;
3202*fae548d3Szrj 
3203*fae548d3Szrj   case 204:
3204*fae548d3Szrj #line 983 "yyscript.y" /* yacc.c:1648  */
3205*fae548d3Szrj     {
3206*fae548d3Szrj 	      (yyval.expr) = script_exp_function_segment_start((yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr));
3207*fae548d3Szrj 	      /* We need to take note of any SEGMENT_START expressions
3208*fae548d3Szrj 		 because they change the behaviour of -Ttext, -Tdata and
3209*fae548d3Szrj 		 -Tbss options.  */
3210*fae548d3Szrj 	      script_saw_segment_start_expression(closure);
3211*fae548d3Szrj 	    }
3212*fae548d3Szrj #line 3213 "yyscript.c" /* yacc.c:1648  */
3213*fae548d3Szrj     break;
3214*fae548d3Szrj 
3215*fae548d3Szrj   case 205:
3216*fae548d3Szrj #line 991 "yyscript.y" /* yacc.c:1648  */
3217*fae548d3Szrj     { (yyval.expr) = script_exp_function_assert((yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3218*fae548d3Szrj #line 3219 "yyscript.c" /* yacc.c:1648  */
3219*fae548d3Szrj     break;
3220*fae548d3Szrj 
3221*fae548d3Szrj   case 206:
3222*fae548d3Szrj #line 997 "yyscript.y" /* yacc.c:1648  */
3223*fae548d3Szrj     { script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, (yyvsp[0].expr), 0, 0); }
3224*fae548d3Szrj #line 3225 "yyscript.c" /* yacc.c:1648  */
3225*fae548d3Szrj     break;
3226*fae548d3Szrj 
3227*fae548d3Szrj   case 210:
3228*fae548d3Szrj #line 1015 "yyscript.y" /* yacc.c:1648  */
3229*fae548d3Szrj     { script_new_vers_node (closure, NULL, (yyvsp[-3].versyms)); }
3230*fae548d3Szrj #line 3231 "yyscript.c" /* yacc.c:1648  */
3231*fae548d3Szrj     break;
3232*fae548d3Szrj 
3233*fae548d3Szrj   case 214:
3234*fae548d3Szrj #line 1030 "yyscript.y" /* yacc.c:1648  */
3235*fae548d3Szrj     {
3236*fae548d3Szrj 	      script_register_vers_node (closure, NULL, 0, (yyvsp[-2].versnode), NULL);
3237*fae548d3Szrj 	    }
3238*fae548d3Szrj #line 3239 "yyscript.c" /* yacc.c:1648  */
3239*fae548d3Szrj     break;
3240*fae548d3Szrj 
3241*fae548d3Szrj   case 215:
3242*fae548d3Szrj #line 1034 "yyscript.y" /* yacc.c:1648  */
3243*fae548d3Szrj     {
3244*fae548d3Szrj 	      script_register_vers_node (closure, (yyvsp[-4].string).value, (yyvsp[-4].string).length, (yyvsp[-2].versnode),
3245*fae548d3Szrj 					 NULL);
3246*fae548d3Szrj 	    }
3247*fae548d3Szrj #line 3248 "yyscript.c" /* yacc.c:1648  */
3248*fae548d3Szrj     break;
3249*fae548d3Szrj 
3250*fae548d3Szrj   case 216:
3251*fae548d3Szrj #line 1039 "yyscript.y" /* yacc.c:1648  */
3252*fae548d3Szrj     {
3253*fae548d3Szrj 	      script_register_vers_node (closure, (yyvsp[-5].string).value, (yyvsp[-5].string).length, (yyvsp[-3].versnode), (yyvsp[-1].deplist));
3254*fae548d3Szrj 	    }
3255*fae548d3Szrj #line 3256 "yyscript.c" /* yacc.c:1648  */
3256*fae548d3Szrj     break;
3257*fae548d3Szrj 
3258*fae548d3Szrj   case 217:
3259*fae548d3Szrj #line 1046 "yyscript.y" /* yacc.c:1648  */
3260*fae548d3Szrj     {
3261*fae548d3Szrj 	      (yyval.deplist) = script_add_vers_depend (closure, NULL, (yyvsp[0].string).value, (yyvsp[0].string).length);
3262*fae548d3Szrj 	    }
3263*fae548d3Szrj #line 3264 "yyscript.c" /* yacc.c:1648  */
3264*fae548d3Szrj     break;
3265*fae548d3Szrj 
3266*fae548d3Szrj   case 218:
3267*fae548d3Szrj #line 1050 "yyscript.y" /* yacc.c:1648  */
3268*fae548d3Szrj     {
3269*fae548d3Szrj 	      (yyval.deplist) = script_add_vers_depend (closure, (yyvsp[-1].deplist), (yyvsp[0].string).value, (yyvsp[0].string).length);
3270*fae548d3Szrj 	    }
3271*fae548d3Szrj #line 3272 "yyscript.c" /* yacc.c:1648  */
3272*fae548d3Szrj     break;
3273*fae548d3Szrj 
3274*fae548d3Szrj   case 219:
3275*fae548d3Szrj #line 1057 "yyscript.y" /* yacc.c:1648  */
3276*fae548d3Szrj     { (yyval.versnode) = script_new_vers_node (closure, NULL, NULL); }
3277*fae548d3Szrj #line 3278 "yyscript.c" /* yacc.c:1648  */
3278*fae548d3Szrj     break;
3279*fae548d3Szrj 
3280*fae548d3Szrj   case 220:
3281*fae548d3Szrj #line 1059 "yyscript.y" /* yacc.c:1648  */
3282*fae548d3Szrj     { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-1].versyms), NULL); }
3283*fae548d3Szrj #line 3284 "yyscript.c" /* yacc.c:1648  */
3284*fae548d3Szrj     break;
3285*fae548d3Szrj 
3286*fae548d3Szrj   case 221:
3287*fae548d3Szrj #line 1061 "yyscript.y" /* yacc.c:1648  */
3288*fae548d3Szrj     { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-1].versyms), NULL); }
3289*fae548d3Szrj #line 3290 "yyscript.c" /* yacc.c:1648  */
3290*fae548d3Szrj     break;
3291*fae548d3Szrj 
3292*fae548d3Szrj   case 222:
3293*fae548d3Szrj #line 1063 "yyscript.y" /* yacc.c:1648  */
3294*fae548d3Szrj     { (yyval.versnode) = script_new_vers_node (closure, NULL, (yyvsp[-1].versyms)); }
3295*fae548d3Szrj #line 3296 "yyscript.c" /* yacc.c:1648  */
3296*fae548d3Szrj     break;
3297*fae548d3Szrj 
3298*fae548d3Szrj   case 223:
3299*fae548d3Szrj #line 1065 "yyscript.y" /* yacc.c:1648  */
3300*fae548d3Szrj     { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-5].versyms), (yyvsp[-1].versyms)); }
3301*fae548d3Szrj #line 3302 "yyscript.c" /* yacc.c:1648  */
3302*fae548d3Szrj     break;
3303*fae548d3Szrj 
3304*fae548d3Szrj   case 224:
3305*fae548d3Szrj #line 1074 "yyscript.y" /* yacc.c:1648  */
3306*fae548d3Szrj     {
3307*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, NULL, (yyvsp[0].string).value,
3308*fae548d3Szrj 					    (yyvsp[0].string).length, 0);
3309*fae548d3Szrj 	    }
3310*fae548d3Szrj #line 3311 "yyscript.c" /* yacc.c:1648  */
3311*fae548d3Szrj     break;
3312*fae548d3Szrj 
3313*fae548d3Szrj   case 225:
3314*fae548d3Szrj #line 1079 "yyscript.y" /* yacc.c:1648  */
3315*fae548d3Szrj     {
3316*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, NULL, (yyvsp[0].string).value,
3317*fae548d3Szrj 					    (yyvsp[0].string).length, 1);
3318*fae548d3Szrj 	    }
3319*fae548d3Szrj #line 3320 "yyscript.c" /* yacc.c:1648  */
3320*fae548d3Szrj     break;
3321*fae548d3Szrj 
3322*fae548d3Szrj   case 226:
3323*fae548d3Szrj #line 1084 "yyscript.y" /* yacc.c:1648  */
3324*fae548d3Szrj     {
3325*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), (yyvsp[0].string).value,
3326*fae548d3Szrj                                             (yyvsp[0].string).length, 0);
3327*fae548d3Szrj 	    }
3328*fae548d3Szrj #line 3329 "yyscript.c" /* yacc.c:1648  */
3329*fae548d3Szrj     break;
3330*fae548d3Szrj 
3331*fae548d3Szrj   case 227:
3332*fae548d3Szrj #line 1089 "yyscript.y" /* yacc.c:1648  */
3333*fae548d3Szrj     {
3334*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), (yyvsp[0].string).value,
3335*fae548d3Szrj                                             (yyvsp[0].string).length, 1);
3336*fae548d3Szrj 	    }
3337*fae548d3Szrj #line 3338 "yyscript.c" /* yacc.c:1648  */
3338*fae548d3Szrj     break;
3339*fae548d3Szrj 
3340*fae548d3Szrj   case 228:
3341*fae548d3Szrj #line 1095 "yyscript.y" /* yacc.c:1648  */
3342*fae548d3Szrj     { version_script_push_lang (closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3343*fae548d3Szrj #line 3344 "yyscript.c" /* yacc.c:1648  */
3344*fae548d3Szrj     break;
3345*fae548d3Szrj 
3346*fae548d3Szrj   case 229:
3347*fae548d3Szrj #line 1097 "yyscript.y" /* yacc.c:1648  */
3348*fae548d3Szrj     {
3349*fae548d3Szrj 	      (yyval.versyms) = (yyvsp[-2].versyms);
3350*fae548d3Szrj 	      version_script_pop_lang(closure);
3351*fae548d3Szrj 	    }
3352*fae548d3Szrj #line 3353 "yyscript.c" /* yacc.c:1648  */
3353*fae548d3Szrj     break;
3354*fae548d3Szrj 
3355*fae548d3Szrj   case 230:
3356*fae548d3Szrj #line 1105 "yyscript.y" /* yacc.c:1648  */
3357*fae548d3Szrj     { version_script_push_lang (closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3358*fae548d3Szrj #line 3359 "yyscript.c" /* yacc.c:1648  */
3359*fae548d3Szrj     break;
3360*fae548d3Szrj 
3361*fae548d3Szrj   case 231:
3362*fae548d3Szrj #line 1107 "yyscript.y" /* yacc.c:1648  */
3363*fae548d3Szrj     {
3364*fae548d3Szrj 	      (yyval.versyms) = script_merge_expressions ((yyvsp[-8].versyms), (yyvsp[-2].versyms));
3365*fae548d3Szrj 	      version_script_pop_lang(closure);
3366*fae548d3Szrj 	    }
3367*fae548d3Szrj #line 3368 "yyscript.c" /* yacc.c:1648  */
3368*fae548d3Szrj     break;
3369*fae548d3Szrj 
3370*fae548d3Szrj   case 232:
3371*fae548d3Szrj #line 1112 "yyscript.y" /* yacc.c:1648  */
3372*fae548d3Szrj     {
3373*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, NULL, "extern",
3374*fae548d3Szrj 					    sizeof("extern") - 1, 1);
3375*fae548d3Szrj 	    }
3376*fae548d3Szrj #line 3377 "yyscript.c" /* yacc.c:1648  */
3377*fae548d3Szrj     break;
3378*fae548d3Szrj 
3379*fae548d3Szrj   case 233:
3380*fae548d3Szrj #line 1117 "yyscript.y" /* yacc.c:1648  */
3381*fae548d3Szrj     {
3382*fae548d3Szrj 	      (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), "extern",
3383*fae548d3Szrj 					    sizeof("extern") - 1, 1);
3384*fae548d3Szrj 	    }
3385*fae548d3Szrj #line 3386 "yyscript.c" /* yacc.c:1648  */
3386*fae548d3Szrj     break;
3387*fae548d3Szrj 
3388*fae548d3Szrj   case 234:
3389*fae548d3Szrj #line 1127 "yyscript.y" /* yacc.c:1648  */
3390*fae548d3Szrj     { (yyval.string) = (yyvsp[0].string); }
3391*fae548d3Szrj #line 3392 "yyscript.c" /* yacc.c:1648  */
3392*fae548d3Szrj     break;
3393*fae548d3Szrj 
3394*fae548d3Szrj   case 235:
3395*fae548d3Szrj #line 1129 "yyscript.y" /* yacc.c:1648  */
3396*fae548d3Szrj     { (yyval.string) = (yyvsp[0].string); }
3397*fae548d3Szrj #line 3398 "yyscript.c" /* yacc.c:1648  */
3398*fae548d3Szrj     break;
3399*fae548d3Szrj 
3400*fae548d3Szrj 
3401*fae548d3Szrj #line 3402 "yyscript.c" /* yacc.c:1648  */
3402*fae548d3Szrj       default: break;
3403*fae548d3Szrj     }
3404*fae548d3Szrj   /* User semantic actions sometimes alter yychar, and that requires
3405*fae548d3Szrj      that yytoken be updated with the new translation.  We take the
3406*fae548d3Szrj      approach of translating immediately before every use of yytoken.
3407*fae548d3Szrj      One alternative is translating here after every semantic action,
3408*fae548d3Szrj      but that translation would be missed if the semantic action invokes
3409*fae548d3Szrj      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3410*fae548d3Szrj      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3411*fae548d3Szrj      incorrect destructor might then be invoked immediately.  In the
3412*fae548d3Szrj      case of YYERROR or YYBACKUP, subsequent parser actions might lead
3413*fae548d3Szrj      to an incorrect destructor call or verbose syntax error message
3414*fae548d3Szrj      before the lookahead is translated.  */
3415*fae548d3Szrj   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3416*fae548d3Szrj 
3417*fae548d3Szrj   YYPOPSTACK (yylen);
3418*fae548d3Szrj   yylen = 0;
3419*fae548d3Szrj   YY_STACK_PRINT (yyss, yyssp);
3420*fae548d3Szrj 
3421*fae548d3Szrj   *++yyvsp = yyval;
3422*fae548d3Szrj 
3423*fae548d3Szrj   /* Now 'shift' the result of the reduction.  Determine what state
3424*fae548d3Szrj      that goes to, based on the state we popped back to and the rule
3425*fae548d3Szrj      number reduced by.  */
3426*fae548d3Szrj 
3427*fae548d3Szrj   yyn = yyr1[yyn];
3428*fae548d3Szrj 
3429*fae548d3Szrj   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3430*fae548d3Szrj   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3431*fae548d3Szrj     yystate = yytable[yystate];
3432*fae548d3Szrj   else
3433*fae548d3Szrj     yystate = yydefgoto[yyn - YYNTOKENS];
3434*fae548d3Szrj 
3435*fae548d3Szrj   goto yynewstate;
3436*fae548d3Szrj 
3437*fae548d3Szrj 
3438*fae548d3Szrj /*--------------------------------------.
3439*fae548d3Szrj | yyerrlab -- here on detecting error.  |
3440*fae548d3Szrj `--------------------------------------*/
3441*fae548d3Szrj yyerrlab:
3442*fae548d3Szrj   /* Make sure we have latest lookahead translation.  See comments at
3443*fae548d3Szrj      user semantic actions for why this is necessary.  */
3444*fae548d3Szrj   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3445*fae548d3Szrj 
3446*fae548d3Szrj   /* If not already recovering from an error, report this error.  */
3447*fae548d3Szrj   if (!yyerrstatus)
3448*fae548d3Szrj     {
3449*fae548d3Szrj       ++yynerrs;
3450*fae548d3Szrj #if ! YYERROR_VERBOSE
3451*fae548d3Szrj       yyerror (closure, YY_("syntax error"));
3452*fae548d3Szrj #else
3453*fae548d3Szrj # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3454*fae548d3Szrj                                         yyssp, yytoken)
3455*fae548d3Szrj       {
3456*fae548d3Szrj         char const *yymsgp = YY_("syntax error");
3457*fae548d3Szrj         int yysyntax_error_status;
3458*fae548d3Szrj         yysyntax_error_status = YYSYNTAX_ERROR;
3459*fae548d3Szrj         if (yysyntax_error_status == 0)
3460*fae548d3Szrj           yymsgp = yymsg;
3461*fae548d3Szrj         else if (yysyntax_error_status == 1)
3462*fae548d3Szrj           {
3463*fae548d3Szrj             if (yymsg != yymsgbuf)
3464*fae548d3Szrj               YYSTACK_FREE (yymsg);
3465*fae548d3Szrj             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3466*fae548d3Szrj             if (!yymsg)
3467*fae548d3Szrj               {
3468*fae548d3Szrj                 yymsg = yymsgbuf;
3469*fae548d3Szrj                 yymsg_alloc = sizeof yymsgbuf;
3470*fae548d3Szrj                 yysyntax_error_status = 2;
3471*fae548d3Szrj               }
3472*fae548d3Szrj             else
3473*fae548d3Szrj               {
3474*fae548d3Szrj                 yysyntax_error_status = YYSYNTAX_ERROR;
3475*fae548d3Szrj                 yymsgp = yymsg;
3476*fae548d3Szrj               }
3477*fae548d3Szrj           }
3478*fae548d3Szrj         yyerror (closure, yymsgp);
3479*fae548d3Szrj         if (yysyntax_error_status == 2)
3480*fae548d3Szrj           goto yyexhaustedlab;
3481*fae548d3Szrj       }
3482*fae548d3Szrj # undef YYSYNTAX_ERROR
3483*fae548d3Szrj #endif
3484*fae548d3Szrj     }
3485*fae548d3Szrj 
3486*fae548d3Szrj 
3487*fae548d3Szrj 
3488*fae548d3Szrj   if (yyerrstatus == 3)
3489*fae548d3Szrj     {
3490*fae548d3Szrj       /* If just tried and failed to reuse lookahead token after an
3491*fae548d3Szrj          error, discard it.  */
3492*fae548d3Szrj 
3493*fae548d3Szrj       if (yychar <= YYEOF)
3494*fae548d3Szrj         {
3495*fae548d3Szrj           /* Return failure if at end of input.  */
3496*fae548d3Szrj           if (yychar == YYEOF)
3497*fae548d3Szrj             YYABORT;
3498*fae548d3Szrj         }
3499*fae548d3Szrj       else
3500*fae548d3Szrj         {
3501*fae548d3Szrj           yydestruct ("Error: discarding",
3502*fae548d3Szrj                       yytoken, &yylval, closure);
3503*fae548d3Szrj           yychar = YYEMPTY;
3504*fae548d3Szrj         }
3505*fae548d3Szrj     }
3506*fae548d3Szrj 
3507*fae548d3Szrj   /* Else will try to reuse lookahead token after shifting the error
3508*fae548d3Szrj      token.  */
3509*fae548d3Szrj   goto yyerrlab1;
3510*fae548d3Szrj 
3511*fae548d3Szrj 
3512*fae548d3Szrj /*---------------------------------------------------.
3513*fae548d3Szrj | yyerrorlab -- error raised explicitly by YYERROR.  |
3514*fae548d3Szrj `---------------------------------------------------*/
3515*fae548d3Szrj yyerrorlab:
3516*fae548d3Szrj 
3517*fae548d3Szrj   /* Pacify compilers like GCC when the user code never invokes
3518*fae548d3Szrj      YYERROR and the label yyerrorlab therefore never appears in user
3519*fae548d3Szrj      code.  */
3520*fae548d3Szrj   if (/*CONSTCOND*/ 0)
3521*fae548d3Szrj      goto yyerrorlab;
3522*fae548d3Szrj 
3523*fae548d3Szrj   /* Do not reclaim the symbols of the rule whose action triggered
3524*fae548d3Szrj      this YYERROR.  */
3525*fae548d3Szrj   YYPOPSTACK (yylen);
3526*fae548d3Szrj   yylen = 0;
3527*fae548d3Szrj   YY_STACK_PRINT (yyss, yyssp);
3528*fae548d3Szrj   yystate = *yyssp;
3529*fae548d3Szrj   goto yyerrlab1;
3530*fae548d3Szrj 
3531*fae548d3Szrj 
3532*fae548d3Szrj /*-------------------------------------------------------------.
3533*fae548d3Szrj | yyerrlab1 -- common code for both syntax error and YYERROR.  |
3534*fae548d3Szrj `-------------------------------------------------------------*/
3535*fae548d3Szrj yyerrlab1:
3536*fae548d3Szrj   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3537*fae548d3Szrj 
3538*fae548d3Szrj   for (;;)
3539*fae548d3Szrj     {
3540*fae548d3Szrj       yyn = yypact[yystate];
3541*fae548d3Szrj       if (!yypact_value_is_default (yyn))
3542*fae548d3Szrj         {
3543*fae548d3Szrj           yyn += YYTERROR;
3544*fae548d3Szrj           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3545*fae548d3Szrj             {
3546*fae548d3Szrj               yyn = yytable[yyn];
3547*fae548d3Szrj               if (0 < yyn)
3548*fae548d3Szrj                 break;
3549*fae548d3Szrj             }
3550*fae548d3Szrj         }
3551*fae548d3Szrj 
3552*fae548d3Szrj       /* Pop the current state because it cannot handle the error token.  */
3553*fae548d3Szrj       if (yyssp == yyss)
3554*fae548d3Szrj         YYABORT;
3555*fae548d3Szrj 
3556*fae548d3Szrj 
3557*fae548d3Szrj       yydestruct ("Error: popping",
3558*fae548d3Szrj                   yystos[yystate], yyvsp, closure);
3559*fae548d3Szrj       YYPOPSTACK (1);
3560*fae548d3Szrj       yystate = *yyssp;
3561*fae548d3Szrj       YY_STACK_PRINT (yyss, yyssp);
3562*fae548d3Szrj     }
3563*fae548d3Szrj 
3564*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3565*fae548d3Szrj   *++yyvsp = yylval;
3566*fae548d3Szrj   YY_IGNORE_MAYBE_UNINITIALIZED_END
3567*fae548d3Szrj 
3568*fae548d3Szrj 
3569*fae548d3Szrj   /* Shift the error token.  */
3570*fae548d3Szrj   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3571*fae548d3Szrj 
3572*fae548d3Szrj   yystate = yyn;
3573*fae548d3Szrj   goto yynewstate;
3574*fae548d3Szrj 
3575*fae548d3Szrj 
3576*fae548d3Szrj /*-------------------------------------.
3577*fae548d3Szrj | yyacceptlab -- YYACCEPT comes here.  |
3578*fae548d3Szrj `-------------------------------------*/
3579*fae548d3Szrj yyacceptlab:
3580*fae548d3Szrj   yyresult = 0;
3581*fae548d3Szrj   goto yyreturn;
3582*fae548d3Szrj 
3583*fae548d3Szrj /*-----------------------------------.
3584*fae548d3Szrj | yyabortlab -- YYABORT comes here.  |
3585*fae548d3Szrj `-----------------------------------*/
3586*fae548d3Szrj yyabortlab:
3587*fae548d3Szrj   yyresult = 1;
3588*fae548d3Szrj   goto yyreturn;
3589*fae548d3Szrj 
3590*fae548d3Szrj #if !defined yyoverflow || YYERROR_VERBOSE
3591*fae548d3Szrj /*-------------------------------------------------.
3592*fae548d3Szrj | yyexhaustedlab -- memory exhaustion comes here.  |
3593*fae548d3Szrj `-------------------------------------------------*/
3594*fae548d3Szrj yyexhaustedlab:
3595*fae548d3Szrj   yyerror (closure, YY_("memory exhausted"));
3596*fae548d3Szrj   yyresult = 2;
3597*fae548d3Szrj   /* Fall through.  */
3598*fae548d3Szrj #endif
3599*fae548d3Szrj 
3600*fae548d3Szrj yyreturn:
3601*fae548d3Szrj   if (yychar != YYEMPTY)
3602*fae548d3Szrj     {
3603*fae548d3Szrj       /* Make sure we have latest lookahead translation.  See comments at
3604*fae548d3Szrj          user semantic actions for why this is necessary.  */
3605*fae548d3Szrj       yytoken = YYTRANSLATE (yychar);
3606*fae548d3Szrj       yydestruct ("Cleanup: discarding lookahead",
3607*fae548d3Szrj                   yytoken, &yylval, closure);
3608*fae548d3Szrj     }
3609*fae548d3Szrj   /* Do not reclaim the symbols of the rule whose action triggered
3610*fae548d3Szrj      this YYABORT or YYACCEPT.  */
3611*fae548d3Szrj   YYPOPSTACK (yylen);
3612*fae548d3Szrj   YY_STACK_PRINT (yyss, yyssp);
3613*fae548d3Szrj   while (yyssp != yyss)
3614*fae548d3Szrj     {
3615*fae548d3Szrj       yydestruct ("Cleanup: popping",
3616*fae548d3Szrj                   yystos[*yyssp], yyvsp, closure);
3617*fae548d3Szrj       YYPOPSTACK (1);
3618*fae548d3Szrj     }
3619*fae548d3Szrj #ifndef yyoverflow
3620*fae548d3Szrj   if (yyss != yyssa)
3621*fae548d3Szrj     YYSTACK_FREE (yyss);
3622*fae548d3Szrj #endif
3623*fae548d3Szrj #if YYERROR_VERBOSE
3624*fae548d3Szrj   if (yymsg != yymsgbuf)
3625*fae548d3Szrj     YYSTACK_FREE (yymsg);
3626*fae548d3Szrj #endif
3627*fae548d3Szrj   return yyresult;
3628*fae548d3Szrj }
3629*fae548d3Szrj #line 1151 "yyscript.y" /* yacc.c:1907  */
3630*fae548d3Szrj 
3631