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