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