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