Initialize Tizen 2.3
[external/binutils.git] / ld / ldgram.c
1 /* A Bison parser, made by GNU Bison 2.3.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6    Free Software Foundation, Inc.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2, or (at your option)
11    any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street, Fifth Floor,
21    Boston, MA 02110-1301, USA.  */
22
23 /* As a special exception, you may create a larger work that contains
24    part or all of the Bison parser skeleton and distribute that work
25    under terms of your choice, so long as that work isn't itself a
26    parser generator using the skeleton or a modified version thereof
27    as a parser skeleton.  Alternatively, if you modify or redistribute
28    the parser skeleton itself, you may (at your option) remove this
29    special exception, which will cause the skeleton and the resulting
30    Bison output files to be licensed under the GNU General Public
31    License without this special exception.
32
33    This special exception was added by the Free Software Foundation in
34    version 2.2 of Bison.  */
35
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37    simplifying the original so-called "semantic" parser.  */
38
39 /* All symbols defined below should begin with yy or YY, to avoid
40    infringing on user name space.  This should be done even for local
41    variables, as they might otherwise be expanded by user macros.
42    There are some unavoidable exceptions within include files to
43    define necessary library symbols; they are noted "INFRINGES ON
44    USER NAME SPACE" below.  */
45
46 /* Identify Bison output.  */
47 #define YYBISON 1
48
49 /* Bison version.  */
50 #define YYBISON_VERSION "2.3"
51
52 /* Skeleton name.  */
53 #define YYSKELETON_NAME "yacc.c"
54
55 /* Pure parsers.  */
56 #define YYPURE 0
57
58 /* Using locations.  */
59 #define YYLSP_NEEDED 0
60
61
62
63 /* Tokens.  */
64 #ifndef YYTOKENTYPE
65 # define YYTOKENTYPE
66    /* Put the tokens into the symbol table, so that GDB and other debuggers
67       know about them.  */
68    enum yytokentype {
69      INT = 258,
70      NAME = 259,
71      LNAME = 260,
72      OREQ = 261,
73      ANDEQ = 262,
74      RSHIFTEQ = 263,
75      LSHIFTEQ = 264,
76      DIVEQ = 265,
77      MULTEQ = 266,
78      MINUSEQ = 267,
79      PLUSEQ = 268,
80      OROR = 269,
81      ANDAND = 270,
82      NE = 271,
83      EQ = 272,
84      GE = 273,
85      LE = 274,
86      RSHIFT = 275,
87      LSHIFT = 276,
88      UNARY = 277,
89      END = 278,
90      ALIGN_K = 279,
91      BLOCK = 280,
92      BIND = 281,
93      QUAD = 282,
94      SQUAD = 283,
95      LONG = 284,
96      SHORT = 285,
97      BYTE = 286,
98      SECTIONS = 287,
99      PHDRS = 288,
100      INSERT_K = 289,
101      AFTER = 290,
102      BEFORE = 291,
103      DATA_SEGMENT_ALIGN = 292,
104      DATA_SEGMENT_RELRO_END = 293,
105      DATA_SEGMENT_END = 294,
106      SORT_BY_NAME = 295,
107      SORT_BY_ALIGNMENT = 296,
108      SORT_BY_INIT_PRIORITY = 297,
109      SIZEOF_HEADERS = 298,
110      OUTPUT_FORMAT = 299,
111      FORCE_COMMON_ALLOCATION = 300,
112      OUTPUT_ARCH = 301,
113      INHIBIT_COMMON_ALLOCATION = 302,
114      SEGMENT_START = 303,
115      INCLUDE = 304,
116      MEMORY = 305,
117      REGION_ALIAS = 306,
118      LD_FEATURE = 307,
119      NOLOAD = 308,
120      DSECT = 309,
121      COPY = 310,
122      INFO = 311,
123      OVERLAY = 312,
124      DEFINED = 313,
125      TARGET_K = 314,
126      SEARCH_DIR = 315,
127      MAP = 316,
128      ENTRY = 317,
129      NEXT = 318,
130      SIZEOF = 319,
131      ALIGNOF = 320,
132      ADDR = 321,
133      LOADADDR = 322,
134      MAX_K = 323,
135      MIN_K = 324,
136      STARTUP = 325,
137      HLL = 326,
138      SYSLIB = 327,
139      FLOAT = 328,
140      NOFLOAT = 329,
141      NOCROSSREFS = 330,
142      ORIGIN = 331,
143      FILL = 332,
144      LENGTH = 333,
145      CREATE_OBJECT_SYMBOLS = 334,
146      INPUT = 335,
147      GROUP = 336,
148      OUTPUT = 337,
149      CONSTRUCTORS = 338,
150      ALIGNMOD = 339,
151      AT = 340,
152      SUBALIGN = 341,
153      PROVIDE = 342,
154      PROVIDE_HIDDEN = 343,
155      AS_NEEDED = 344,
156      CHIP = 345,
157      LIST = 346,
158      SECT = 347,
159      ABSOLUTE = 348,
160      LOAD = 349,
161      NEWLINE = 350,
162      ENDWORD = 351,
163      ORDER = 352,
164      NAMEWORD = 353,
165      ASSERT_K = 354,
166      FORMAT = 355,
167      PUBLIC = 356,
168      DEFSYMEND = 357,
169      BASE = 358,
170      ALIAS = 359,
171      TRUNCATE = 360,
172      REL = 361,
173      INPUT_SCRIPT = 362,
174      INPUT_MRI_SCRIPT = 363,
175      INPUT_DEFSYM = 364,
176      CASE = 365,
177      EXTERN = 366,
178      START = 367,
179      VERS_TAG = 368,
180      VERS_IDENTIFIER = 369,
181      GLOBAL = 370,
182      LOCAL = 371,
183      VERSIONK = 372,
184      INPUT_VERSION_SCRIPT = 373,
185      KEEP = 374,
186      ONLY_IF_RO = 375,
187      ONLY_IF_RW = 376,
188      SPECIAL = 377,
189      INPUT_SECTION_FLAGS = 378,
190      EXCLUDE_FILE = 379,
191      CONSTANT = 380,
192      INPUT_DYNAMIC_LIST = 381
193    };
194 #endif
195 /* Tokens.  */
196 #define INT 258
197 #define NAME 259
198 #define LNAME 260
199 #define OREQ 261
200 #define ANDEQ 262
201 #define RSHIFTEQ 263
202 #define LSHIFTEQ 264
203 #define DIVEQ 265
204 #define MULTEQ 266
205 #define MINUSEQ 267
206 #define PLUSEQ 268
207 #define OROR 269
208 #define ANDAND 270
209 #define NE 271
210 #define EQ 272
211 #define GE 273
212 #define LE 274
213 #define RSHIFT 275
214 #define LSHIFT 276
215 #define UNARY 277
216 #define END 278
217 #define ALIGN_K 279
218 #define BLOCK 280
219 #define BIND 281
220 #define QUAD 282
221 #define SQUAD 283
222 #define LONG 284
223 #define SHORT 285
224 #define BYTE 286
225 #define SECTIONS 287
226 #define PHDRS 288
227 #define INSERT_K 289
228 #define AFTER 290
229 #define BEFORE 291
230 #define DATA_SEGMENT_ALIGN 292
231 #define DATA_SEGMENT_RELRO_END 293
232 #define DATA_SEGMENT_END 294
233 #define SORT_BY_NAME 295
234 #define SORT_BY_ALIGNMENT 296
235 #define SORT_BY_INIT_PRIORITY 297
236 #define SIZEOF_HEADERS 298
237 #define OUTPUT_FORMAT 299
238 #define FORCE_COMMON_ALLOCATION 300
239 #define OUTPUT_ARCH 301
240 #define INHIBIT_COMMON_ALLOCATION 302
241 #define SEGMENT_START 303
242 #define INCLUDE 304
243 #define MEMORY 305
244 #define REGION_ALIAS 306
245 #define LD_FEATURE 307
246 #define NOLOAD 308
247 #define DSECT 309
248 #define COPY 310
249 #define INFO 311
250 #define OVERLAY 312
251 #define DEFINED 313
252 #define TARGET_K 314
253 #define SEARCH_DIR 315
254 #define MAP 316
255 #define ENTRY 317
256 #define NEXT 318
257 #define SIZEOF 319
258 #define ALIGNOF 320
259 #define ADDR 321
260 #define LOADADDR 322
261 #define MAX_K 323
262 #define MIN_K 324
263 #define STARTUP 325
264 #define HLL 326
265 #define SYSLIB 327
266 #define FLOAT 328
267 #define NOFLOAT 329
268 #define NOCROSSREFS 330
269 #define ORIGIN 331
270 #define FILL 332
271 #define LENGTH 333
272 #define CREATE_OBJECT_SYMBOLS 334
273 #define INPUT 335
274 #define GROUP 336
275 #define OUTPUT 337
276 #define CONSTRUCTORS 338
277 #define ALIGNMOD 339
278 #define AT 340
279 #define SUBALIGN 341
280 #define PROVIDE 342
281 #define PROVIDE_HIDDEN 343
282 #define AS_NEEDED 344
283 #define CHIP 345
284 #define LIST 346
285 #define SECT 347
286 #define ABSOLUTE 348
287 #define LOAD 349
288 #define NEWLINE 350
289 #define ENDWORD 351
290 #define ORDER 352
291 #define NAMEWORD 353
292 #define ASSERT_K 354
293 #define FORMAT 355
294 #define PUBLIC 356
295 #define DEFSYMEND 357
296 #define BASE 358
297 #define ALIAS 359
298 #define TRUNCATE 360
299 #define REL 361
300 #define INPUT_SCRIPT 362
301 #define INPUT_MRI_SCRIPT 363
302 #define INPUT_DEFSYM 364
303 #define CASE 365
304 #define EXTERN 366
305 #define START 367
306 #define VERS_TAG 368
307 #define VERS_IDENTIFIER 369
308 #define GLOBAL 370
309 #define LOCAL 371
310 #define VERSIONK 372
311 #define INPUT_VERSION_SCRIPT 373
312 #define KEEP 374
313 #define ONLY_IF_RO 375
314 #define ONLY_IF_RW 376
315 #define SPECIAL 377
316 #define INPUT_SECTION_FLAGS 378
317 #define EXCLUDE_FILE 379
318 #define CONSTANT 380
319 #define INPUT_DYNAMIC_LIST 381
320
321
322
323
324 /* Copy the first part of user declarations.  */
325 #line 24 "ldgram.y"
326
327 /*
328
329  */
330
331 #define DONTDECLARE_MALLOC
332
333 #include "sysdep.h"
334 #include "bfd.h"
335 #include "bfdlink.h"
336 #include "ld.h"
337 #include "ldexp.h"
338 #include "ldver.h"
339 #include "ldlang.h"
340 #include "ldfile.h"
341 #include "ldemul.h"
342 #include "ldmisc.h"
343 #include "ldmain.h"
344 #include "mri.h"
345 #include "ldctor.h"
346 #include "ldlex.h"
347
348 #ifndef YYDEBUG
349 #define YYDEBUG 1
350 #endif
351
352 static enum section_type sectype;
353 static lang_memory_region_type *region;
354
355 bfd_boolean ldgram_had_keep = FALSE;
356 char *ldgram_vers_current_lang = NULL;
357
358 #define ERROR_NAME_MAX 20
359 static char *error_names[ERROR_NAME_MAX];
360 static int error_index;
361 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
362 #define POP_ERROR()   error_index--;
363
364
365 /* Enabling traces.  */
366 #ifndef YYDEBUG
367 # define YYDEBUG 0
368 #endif
369
370 /* Enabling verbose error messages.  */
371 #ifdef YYERROR_VERBOSE
372 # undef YYERROR_VERBOSE
373 # define YYERROR_VERBOSE 1
374 #else
375 # define YYERROR_VERBOSE 0
376 #endif
377
378 /* Enabling the token table.  */
379 #ifndef YYTOKEN_TABLE
380 # define YYTOKEN_TABLE 0
381 #endif
382
383 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
384 typedef union YYSTYPE
385 #line 62 "ldgram.y"
386 {
387   bfd_vma integer;
388   struct big_int
389     {
390       bfd_vma integer;
391       char *str;
392     } bigint;
393   fill_type *fill;
394   char *name;
395   const char *cname;
396   struct wildcard_spec wildcard;
397   struct wildcard_list *wildcard_list;
398   struct name_list *name_list;
399   struct flag_info_list *flag_info_list;
400   struct flag_info *flag_info;
401   int token;
402   union etree_union *etree;
403   struct phdr_info
404     {
405       bfd_boolean filehdr;
406       bfd_boolean phdrs;
407       union etree_union *at;
408       union etree_union *flags;
409     } phdr;
410   struct lang_nocrossref *nocrossref;
411   struct lang_output_section_phdr_list *section_phdr;
412   struct bfd_elf_version_deps *deflist;
413   struct bfd_elf_version_expr *versyms;
414   struct bfd_elf_version_tree *versnode;
415 }
416 /* Line 193 of yacc.c.  */
417 #line 418 "ldgram.c"
418         YYSTYPE;
419 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
420 # define YYSTYPE_IS_DECLARED 1
421 # define YYSTYPE_IS_TRIVIAL 1
422 #endif
423
424
425
426 /* Copy the second part of user declarations.  */
427
428
429 /* Line 216 of yacc.c.  */
430 #line 431 "ldgram.c"
431
432 #ifdef short
433 # undef short
434 #endif
435
436 #ifdef YYTYPE_UINT8
437 typedef YYTYPE_UINT8 yytype_uint8;
438 #else
439 typedef unsigned char yytype_uint8;
440 #endif
441
442 #ifdef YYTYPE_INT8
443 typedef YYTYPE_INT8 yytype_int8;
444 #elif (defined __STDC__ || defined __C99__FUNC__ \
445      || defined __cplusplus || defined _MSC_VER)
446 typedef signed char yytype_int8;
447 #else
448 typedef short int yytype_int8;
449 #endif
450
451 #ifdef YYTYPE_UINT16
452 typedef YYTYPE_UINT16 yytype_uint16;
453 #else
454 typedef unsigned short int yytype_uint16;
455 #endif
456
457 #ifdef YYTYPE_INT16
458 typedef YYTYPE_INT16 yytype_int16;
459 #else
460 typedef short int yytype_int16;
461 #endif
462
463 #ifndef YYSIZE_T
464 # ifdef __SIZE_TYPE__
465 #  define YYSIZE_T __SIZE_TYPE__
466 # elif defined size_t
467 #  define YYSIZE_T size_t
468 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
469      || defined __cplusplus || defined _MSC_VER)
470 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
471 #  define YYSIZE_T size_t
472 # else
473 #  define YYSIZE_T unsigned int
474 # endif
475 #endif
476
477 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
478
479 #ifndef YY_
480 # if defined YYENABLE_NLS && YYENABLE_NLS
481 #  if ENABLE_NLS
482 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
483 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
484 #  endif
485 # endif
486 # ifndef YY_
487 #  define YY_(msgid) msgid
488 # endif
489 #endif
490
491 /* Suppress unused-variable warnings by "using" E.  */
492 #if ! defined lint || defined __GNUC__
493 # define YYUSE(e) ((void) (e))
494 #else
495 # define YYUSE(e) /* empty */
496 #endif
497
498 /* Identity function, used to suppress warnings about constant conditions.  */
499 #ifndef lint
500 # define YYID(n) (n)
501 #else
502 #if (defined __STDC__ || defined __C99__FUNC__ \
503      || defined __cplusplus || defined _MSC_VER)
504 static int
505 YYID (int i)
506 #else
507 static int
508 YYID (i)
509     int i;
510 #endif
511 {
512   return i;
513 }
514 #endif
515
516 #if ! defined yyoverflow || YYERROR_VERBOSE
517
518 /* The parser invokes alloca or malloc; define the necessary symbols.  */
519
520 # ifdef YYSTACK_USE_ALLOCA
521 #  if YYSTACK_USE_ALLOCA
522 #   ifdef __GNUC__
523 #    define YYSTACK_ALLOC __builtin_alloca
524 #   elif defined __BUILTIN_VA_ARG_INCR
525 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
526 #   elif defined _AIX
527 #    define YYSTACK_ALLOC __alloca
528 #   elif defined _MSC_VER
529 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
530 #    define alloca _alloca
531 #   else
532 #    define YYSTACK_ALLOC alloca
533 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
534      || defined __cplusplus || defined _MSC_VER)
535 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
536 #     ifndef _STDLIB_H
537 #      define _STDLIB_H 1
538 #     endif
539 #    endif
540 #   endif
541 #  endif
542 # endif
543
544 # ifdef YYSTACK_ALLOC
545    /* Pacify GCC's `empty if-body' warning.  */
546 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
547 #  ifndef YYSTACK_ALLOC_MAXIMUM
548     /* The OS might guarantee only one guard page at the bottom of the stack,
549        and a page size can be as small as 4096 bytes.  So we cannot safely
550        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
551        to allow for a few compiler-allocated temporary stack slots.  */
552 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
553 #  endif
554 # else
555 #  define YYSTACK_ALLOC YYMALLOC
556 #  define YYSTACK_FREE YYFREE
557 #  ifndef YYSTACK_ALLOC_MAXIMUM
558 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
559 #  endif
560 #  if (defined __cplusplus && ! defined _STDLIB_H \
561        && ! ((defined YYMALLOC || defined malloc) \
562              && (defined YYFREE || defined free)))
563 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
564 #   ifndef _STDLIB_H
565 #    define _STDLIB_H 1
566 #   endif
567 #  endif
568 #  ifndef YYMALLOC
569 #   define YYMALLOC malloc
570 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
571      || defined __cplusplus || defined _MSC_VER)
572 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
573 #   endif
574 #  endif
575 #  ifndef YYFREE
576 #   define YYFREE free
577 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
578      || defined __cplusplus || defined _MSC_VER)
579 void free (void *); /* INFRINGES ON USER NAME SPACE */
580 #   endif
581 #  endif
582 # endif
583 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
584
585
586 #if (! defined yyoverflow \
587      && (! defined __cplusplus \
588          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
589
590 /* A type that is properly aligned for any stack member.  */
591 union yyalloc
592 {
593   yytype_int16 yyss;
594   YYSTYPE yyvs;
595   };
596
597 /* The size of the maximum gap between one aligned stack and the next.  */
598 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
599
600 /* The size of an array large to enough to hold all stacks, each with
601    N elements.  */
602 # define YYSTACK_BYTES(N) \
603      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
604       + YYSTACK_GAP_MAXIMUM)
605
606 /* Copy COUNT objects from FROM to TO.  The source and destination do
607    not overlap.  */
608 # ifndef YYCOPY
609 #  if defined __GNUC__ && 1 < __GNUC__
610 #   define YYCOPY(To, From, Count) \
611       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
612 #  else
613 #   define YYCOPY(To, From, Count)              \
614       do                                        \
615         {                                       \
616           YYSIZE_T yyi;                         \
617           for (yyi = 0; yyi < (Count); yyi++)   \
618             (To)[yyi] = (From)[yyi];            \
619         }                                       \
620       while (YYID (0))
621 #  endif
622 # endif
623
624 /* Relocate STACK from its old location to the new one.  The
625    local variables YYSIZE and YYSTACKSIZE give the old and new number of
626    elements in the stack, and YYPTR gives the new location of the
627    stack.  Advance YYPTR to a properly aligned location for the next
628    stack.  */
629 # define YYSTACK_RELOCATE(Stack)                                        \
630     do                                                                  \
631       {                                                                 \
632         YYSIZE_T yynewbytes;                                            \
633         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
634         Stack = &yyptr->Stack;                                          \
635         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
636         yyptr += yynewbytes / sizeof (*yyptr);                          \
637       }                                                                 \
638     while (YYID (0))
639
640 #endif
641
642 /* YYFINAL -- State number of the termination state.  */
643 #define YYFINAL  17
644 /* YYLAST -- Last index in YYTABLE.  */
645 #define YYLAST   1887
646
647 /* YYNTOKENS -- Number of terminals.  */
648 #define YYNTOKENS  150
649 /* YYNNTS -- Number of nonterminals.  */
650 #define YYNNTS  128
651 /* YYNRULES -- Number of rules.  */
652 #define YYNRULES  364
653 /* YYNRULES -- Number of states.  */
654 #define YYNSTATES  787
655
656 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
657 #define YYUNDEFTOK  2
658 #define YYMAXUTOK   381
659
660 #define YYTRANSLATE(YYX)                                                \
661   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
662
663 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
664 static const yytype_uint8 yytranslate[] =
665 {
666        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
667        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
668        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
669        2,     2,     2,   148,     2,     2,     2,    34,    21,     2,
670       37,   145,    32,    30,   143,    31,     2,    33,     2,     2,
671        2,     2,     2,     2,     2,     2,     2,     2,    16,   144,
672       24,     6,    25,    15,     2,     2,     2,     2,     2,     2,
673        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
674        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
675        2,   146,     2,   147,    20,     2,     2,     2,     2,     2,
676        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
677        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
678        2,     2,     2,    57,    19,    58,   149,     2,     2,     2,
679        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
680        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
681        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
682        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
683        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
684        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
685        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
686        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
687        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
688        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
689        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
690        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
691        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
692        5,     7,     8,     9,    10,    11,    12,    13,    14,    17,
693       18,    22,    23,    26,    27,    28,    29,    35,    36,    38,
694       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
695       49,    50,    51,    52,    53,    54,    55,    56,    59,    60,
696       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
697       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
698       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
699       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
700      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
701      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
702      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
703      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
704      141,   142
705 };
706
707 #if YYDEBUG
708 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
709    YYRHS.  */
710 static const yytype_uint16 yyprhs[] =
711 {
712        0,     0,     3,     6,     9,    12,    15,    18,    20,    21,
713       26,    27,    30,    34,    35,    38,    43,    45,    47,    50,
714       52,    57,    62,    66,    69,    74,    78,    83,    88,    93,
715       98,   103,   106,   109,   112,   117,   122,   125,   128,   131,
716      134,   135,   141,   144,   145,   149,   152,   153,   155,   159,
717      161,   165,   166,   168,   172,   173,   176,   178,   181,   185,
718      186,   189,   192,   193,   195,   197,   199,   201,   203,   205,
719      207,   209,   211,   213,   218,   223,   228,   233,   242,   247,
720      249,   251,   256,   257,   263,   268,   269,   275,   280,   285,
721      289,   293,   300,   305,   307,   311,   314,   316,   320,   323,
722      324,   330,   331,   339,   340,   347,   352,   355,   358,   359,
723      364,   367,   368,   376,   378,   380,   382,   384,   390,   395,
724      400,   408,   416,   424,   432,   441,   446,   448,   452,   457,
725      460,   462,   466,   468,   470,   473,   477,   482,   487,   493,
726      495,   496,   502,   505,   507,   509,   511,   516,   518,   523,
727      528,   529,   538,   539,   545,   548,   550,   551,   553,   555,
728      557,   559,   561,   563,   565,   568,   569,   571,   573,   575,
729      577,   579,   581,   583,   585,   587,   589,   593,   597,   604,
730      611,   613,   614,   619,   621,   622,   626,   628,   629,   637,
731      638,   644,   648,   652,   653,   657,   659,   662,   664,   667,
732      672,   677,   681,   685,   687,   692,   696,   697,   699,   701,
733      702,   705,   709,   710,   713,   716,   720,   725,   728,   731,
734      734,   738,   742,   746,   750,   754,   758,   762,   766,   770,
735      774,   778,   782,   786,   790,   794,   798,   804,   808,   812,
736      817,   819,   821,   826,   831,   836,   841,   846,   851,   856,
737      863,   870,   877,   882,   889,   894,   896,   903,   910,   917,
738      922,   927,   931,   932,   937,   938,   943,   944,   949,   950,
739      952,   954,   956,   957,   958,   959,   960,   961,   962,   982,
740      983,   984,   985,   986,   987,  1006,  1007,  1008,  1016,  1017,
741     1023,  1025,  1027,  1029,  1031,  1033,  1037,  1038,  1041,  1045,
742     1048,  1055,  1066,  1069,  1071,  1072,  1074,  1077,  1078,  1079,
743     1083,  1084,  1085,  1086,  1087,  1099,  1104,  1105,  1108,  1109,
744     1110,  1117,  1119,  1120,  1124,  1130,  1131,  1135,  1136,  1139,
745     1141,  1144,  1149,  1152,  1153,  1156,  1157,  1163,  1165,  1168,
746     1173,  1179,  1186,  1188,  1191,  1192,  1195,  1200,  1205,  1214,
747     1216,  1218,  1222,  1226,  1227,  1237,  1238,  1246,  1248,  1252,
748     1254,  1258,  1260,  1264,  1265
749 };
750
751 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
752 static const yytype_int16 yyrhs[] =
753 {
754      151,     0,    -1,   123,   167,    -1,   124,   155,    -1,   134,
755      266,    -1,   142,   261,    -1,   125,   153,    -1,     4,    -1,
756       -1,   154,     4,     6,   222,    -1,    -1,   156,   157,    -1,
757      157,   158,   111,    -1,    -1,   106,   222,    -1,   106,   222,
758      143,   222,    -1,     4,    -1,   107,    -1,   113,   160,    -1,
759      112,    -1,   117,     4,     6,   222,    -1,   117,     4,   143,
760      222,    -1,   117,     4,   222,    -1,   116,     4,    -1,   108,
761        4,   143,   222,    -1,   108,     4,   222,    -1,   108,     4,
762        6,   222,    -1,    38,     4,     6,   222,    -1,    38,     4,
763      143,   222,    -1,   100,     4,     6,   222,    -1,   100,     4,
764      143,   222,    -1,   109,   162,    -1,   110,   161,    -1,   114,
765        4,    -1,   120,     4,   143,     4,    -1,   120,     4,   143,
766        3,    -1,   119,   222,    -1,   121,     3,    -1,   126,   163,
767       -1,   127,   164,    -1,    -1,    65,   152,   159,   157,    36,
768       -1,   128,     4,    -1,    -1,   160,   143,     4,    -1,   160,
769        4,    -1,    -1,     4,    -1,   161,   143,     4,    -1,     4,
770       -1,   162,   143,     4,    -1,    -1,     4,    -1,   163,   143,
771        4,    -1,    -1,   165,   166,    -1,     4,    -1,   166,     4,
772       -1,   166,   143,     4,    -1,    -1,   168,   169,    -1,   169,
773      170,    -1,    -1,   202,    -1,   177,    -1,   253,    -1,   213,
774       -1,   214,    -1,   216,    -1,   218,    -1,   179,    -1,   268,
775       -1,   144,    -1,    75,    37,     4,   145,    -1,    76,    37,
776      152,   145,    -1,    98,    37,   152,   145,    -1,    60,    37,
777        4,   145,    -1,    60,    37,     4,   143,     4,   143,     4,
778      145,    -1,    62,    37,     4,   145,    -1,    61,    -1,    63,
779       -1,    96,    37,   173,   145,    -1,    -1,    97,   171,    37,
780      173,   145,    -1,    77,    37,   152,   145,    -1,    -1,    65,
781      152,   172,   169,    36,    -1,    91,    37,   219,   145,    -1,
782      127,    37,   164,   145,    -1,    48,    49,     4,    -1,    48,
783       50,     4,    -1,    67,    37,     4,   143,     4,   145,    -1,
784       68,    37,     4,   145,    -1,     4,    -1,   173,   143,     4,
785       -1,   173,     4,    -1,     5,    -1,   173,   143,     5,    -1,
786      173,     5,    -1,    -1,   105,    37,   174,   173,   145,    -1,
787       -1,   173,   143,   105,    37,   175,   173,   145,    -1,    -1,
788      173,   105,    37,   176,   173,   145,    -1,    46,    57,   178,
789       58,    -1,   178,   228,    -1,   178,   179,    -1,    -1,    78,
790       37,     4,   145,    -1,   200,   199,    -1,    -1,   115,   180,
791       37,   222,   143,     4,   145,    -1,     4,    -1,    32,    -1,
792       15,    -1,   181,    -1,   140,    37,   185,   145,   181,    -1,
793       54,    37,   181,   145,    -1,    55,    37,   181,   145,    -1,
794       54,    37,    55,    37,   181,   145,   145,    -1,    54,    37,
795       54,    37,   181,   145,   145,    -1,    55,    37,    54,    37,
796      181,   145,   145,    -1,    55,    37,    55,    37,   181,   145,
797      145,    -1,    54,    37,   140,    37,   185,   145,   181,   145,
798       -1,    56,    37,   181,   145,    -1,     4,    -1,   183,    21,
799        4,    -1,   139,    37,   183,   145,    -1,   185,   181,    -1,
800      181,    -1,   186,   201,   182,    -1,   182,    -1,     4,    -1,
801      184,     4,    -1,   146,   186,   147,    -1,   184,   146,   186,
802      147,    -1,   182,    37,   186,   145,    -1,   184,   182,    37,
803      186,   145,    -1,   187,    -1,    -1,   135,    37,   189,   187,
804      145,    -1,   200,   199,    -1,    95,    -1,   144,    -1,    99,
805       -1,    54,    37,    99,   145,    -1,   188,    -1,   195,    37,
806      220,   145,    -1,    93,    37,   196,   145,    -1,    -1,   115,
807      191,    37,   222,   143,     4,   145,   199,    -1,    -1,    65,
808      152,   192,   194,    36,    -1,   193,   190,    -1,   190,    -1,
809       -1,   193,    -1,    41,    -1,    42,    -1,    43,    -1,    44,
810       -1,    45,    -1,   220,    -1,     6,   196,    -1,    -1,    14,
811       -1,    13,    -1,    12,    -1,    11,    -1,    10,    -1,     9,
812       -1,     8,    -1,     7,    -1,   144,    -1,   143,    -1,     4,
813        6,   220,    -1,     4,   198,   220,    -1,   103,    37,     4,
814        6,   220,   145,    -1,   104,    37,     4,     6,   220,   145,
815       -1,   143,    -1,    -1,    66,    57,   203,    58,    -1,   204,
816       -1,    -1,   204,   201,   205,    -1,   205,    -1,    -1,     4,
817      206,   210,    16,   208,   201,   209,    -1,    -1,    65,   152,
818      207,   203,    36,    -1,    92,     6,   220,    -1,    94,     6,
819      220,    -1,    -1,    37,   211,   145,    -1,   212,    -1,   211,
820      212,    -1,     4,    -1,   148,     4,    -1,    86,    37,   152,
821      145,    -1,    87,    37,   215,   145,    -1,    87,    37,   145,
822       -1,   215,   201,   152,    -1,   152,    -1,    88,    37,   217,
823      145,    -1,   217,   201,   152,    -1,    -1,    89,    -1,    90,
824       -1,    -1,     4,   219,    -1,     4,   143,   219,    -1,    -1,
825      221,   222,    -1,    31,   222,    -1,    37,   222,   145,    -1,
826       79,    37,   222,   145,    -1,   148,   222,    -1,    30,   222,
827       -1,   149,   222,    -1,   222,    32,   222,    -1,   222,    33,
828      222,    -1,   222,    34,   222,    -1,   222,    30,   222,    -1,
829      222,    31,   222,    -1,   222,    29,   222,    -1,   222,    28,
830      222,    -1,   222,    23,   222,    -1,   222,    22,   222,    -1,
831      222,    27,   222,    -1,   222,    26,   222,    -1,   222,    24,
832      222,    -1,   222,    25,   222,    -1,   222,    21,   222,    -1,
833      222,    20,   222,    -1,   222,    19,   222,    -1,   222,    15,
834      222,    16,   222,    -1,   222,    18,   222,    -1,   222,    17,
835      222,    -1,    74,    37,     4,   145,    -1,     3,    -1,    59,
836       -1,    81,    37,     4,   145,    -1,    80,    37,     4,   145,
837       -1,    82,    37,     4,   145,    -1,    83,    37,     4,   145,
838       -1,   141,    37,     4,   145,    -1,   109,    37,   222,   145,
839       -1,    38,    37,   222,   145,    -1,    38,    37,   222,   143,
840      222,   145,    -1,    51,    37,   222,   143,   222,   145,    -1,
841       52,    37,   222,   143,   222,   145,    -1,    53,    37,   222,
842      145,    -1,    64,    37,     4,   143,   222,   145,    -1,    39,
843       37,   222,   145,    -1,     4,    -1,    84,    37,   222,   143,
844      222,   145,    -1,    85,    37,   222,   143,   222,   145,    -1,
845      115,    37,   222,   143,     4,   145,    -1,    92,    37,     4,
846      145,    -1,    94,    37,     4,   145,    -1,   101,    25,     4,
847       -1,    -1,   101,    37,   222,   145,    -1,    -1,    38,    37,
848      222,   145,    -1,    -1,   102,    37,   222,   145,    -1,    -1,
849      136,    -1,   137,    -1,   138,    -1,    -1,    -1,    -1,    -1,
850       -1,    -1,     4,   229,   244,   224,   225,   226,   230,   227,
851       57,   231,   194,    58,   232,   247,   223,   248,   197,   233,
852      201,    -1,    -1,    -1,    -1,    -1,    -1,    73,   234,   245,
853      246,   224,   226,   235,    57,   236,   249,    58,   237,   247,
854      223,   248,   197,   238,   201,    -1,    -1,    -1,    97,   239,
855      244,   240,    57,   178,    58,    -1,    -1,    65,   152,   241,
856      178,    36,    -1,    69,    -1,    70,    -1,    71,    -1,    72,
857       -1,    73,    -1,    37,   242,   145,    -1,    -1,    37,   145,
858       -1,   222,   243,    16,    -1,   243,    16,    -1,    40,    37,
859      222,   145,   243,    16,    -1,    40,    37,   222,   145,    39,
860       37,   222,   145,   243,    16,    -1,   222,    16,    -1,    16,
861       -1,    -1,    91,    -1,    25,     4,    -1,    -1,    -1,   248,
862       16,     4,    -1,    -1,    -1,    -1,    -1,   249,     4,   250,
863       57,   194,    58,   251,   248,   197,   252,   201,    -1,    47,
864       57,   254,    58,    -1,    -1,   254,   255,    -1,    -1,    -1,
865        4,   256,   258,   259,   257,   144,    -1,   222,    -1,    -1,
866        4,   260,   259,    -1,   101,    37,   222,   145,   259,    -1,
867       -1,    37,   222,   145,    -1,    -1,   262,   263,    -1,   264,
868       -1,   263,   264,    -1,    57,   265,    58,   144,    -1,   274,
869      144,    -1,    -1,   267,   270,    -1,    -1,   269,   133,    57,
870      270,    58,    -1,   271,    -1,   270,   271,    -1,    57,   273,
871       58,   144,    -1,   129,    57,   273,    58,   144,    -1,   129,
872       57,   273,    58,   272,   144,    -1,   129,    -1,   272,   129,
873       -1,    -1,   274,   144,    -1,   131,    16,   274,   144,    -1,
874      132,    16,   274,   144,    -1,   131,    16,   274,   144,   132,
875       16,   274,   144,    -1,   130,    -1,     4,    -1,   274,   144,
876      130,    -1,   274,   144,     4,    -1,    -1,   274,   144,   127,
877        4,    57,   275,   274,   277,    58,    -1,    -1,   127,     4,
878       57,   276,   274,   277,    58,    -1,   131,    -1,   274,   144,
879      131,    -1,   132,    -1,   274,   144,   132,    -1,   127,    -1,
880      274,   144,   127,    -1,    -1,   144,    -1
881 };
882
883 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
884 static const yytype_uint16 yyrline[] =
885 {
886        0,   168,   168,   169,   170,   171,   172,   176,   180,   180,
887      190,   190,   203,   204,   208,   209,   210,   213,   216,   217,
888      218,   220,   222,   224,   226,   228,   230,   232,   234,   236,
889      238,   240,   241,   242,   244,   246,   248,   250,   252,   253,
890      255,   254,   258,   260,   264,   265,   266,   270,   272,   276,
891      278,   283,   284,   285,   290,   290,   295,   297,   299,   304,
892      304,   310,   311,   316,   317,   318,   319,   320,   321,   322,
893      323,   324,   325,   326,   328,   330,   332,   335,   337,   339,
894      341,   343,   345,   344,   348,   351,   350,   354,   358,   359,
895      361,   363,   365,   370,   373,   376,   379,   382,   385,   389,
896      388,   393,   392,   397,   396,   403,   407,   408,   409,   413,
897      415,   416,   416,   424,   428,   432,   439,   446,   453,   460,
898      467,   474,   481,   488,   495,   502,   511,   529,   550,   563,
899      572,   583,   592,   603,   612,   621,   625,   634,   638,   646,
900      648,   647,   654,   655,   659,   660,   665,   670,   671,   676,
901      680,   680,   684,   683,   690,   691,   694,   696,   700,   702,
902      704,   706,   708,   713,   720,   722,   726,   728,   730,   732,
903      734,   736,   738,   740,   745,   745,   750,   754,   762,   766,
904      774,   774,   778,   781,   781,   784,   785,   790,   789,   795,
905      794,   801,   809,   817,   818,   822,   823,   827,   829,   834,
906      839,   840,   845,   847,   853,   855,   857,   861,   863,   869,
907      872,   881,   892,   892,   898,   900,   902,   904,   906,   908,
908      911,   913,   915,   917,   919,   921,   923,   925,   927,   929,
909      931,   933,   935,   937,   939,   941,   943,   945,   947,   949,
910      951,   953,   956,   958,   960,   962,   964,   966,   968,   970,
911      972,   974,   976,   978,   987,   989,   991,   993,   995,   997,
912      999,  1005,  1006,  1010,  1011,  1015,  1016,  1020,  1021,  1025,
913     1026,  1027,  1028,  1031,  1035,  1038,  1044,  1046,  1031,  1053,
914     1055,  1057,  1062,  1064,  1052,  1074,  1076,  1074,  1082,  1081,
915     1088,  1089,  1090,  1091,  1092,  1096,  1097,  1098,  1102,  1103,
916     1108,  1109,  1114,  1115,  1120,  1121,  1126,  1128,  1133,  1136,
917     1149,  1153,  1158,  1160,  1151,  1168,  1171,  1173,  1177,  1178,
918     1177,  1187,  1232,  1235,  1247,  1256,  1259,  1266,  1266,  1278,
919     1279,  1283,  1287,  1296,  1296,  1310,  1310,  1320,  1321,  1325,
920     1329,  1333,  1340,  1344,  1352,  1355,  1359,  1363,  1367,  1374,
921     1378,  1382,  1386,  1391,  1390,  1404,  1403,  1413,  1417,  1421,
922     1425,  1429,  1433,  1439,  1441
923 };
924 #endif
925
926 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
927 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
928    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
929 static const char *const yytname[] =
930 {
931   "$end", "error", "$undefined", "INT", "NAME", "LNAME", "'='", "OREQ",
932   "ANDEQ", "RSHIFTEQ", "LSHIFTEQ", "DIVEQ", "MULTEQ", "MINUSEQ", "PLUSEQ",
933   "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "NE", "EQ", "'<'",
934   "'>'", "GE", "LE", "RSHIFT", "LSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'",
935   "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD", "SQUAD",
936   "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", "INSERT_K", "AFTER",
937   "BEFORE", "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_RELRO_END",
938   "DATA_SEGMENT_END", "SORT_BY_NAME", "SORT_BY_ALIGNMENT",
939   "SORT_BY_INIT_PRIORITY", "'{'", "'}'", "SIZEOF_HEADERS", "OUTPUT_FORMAT",
940   "FORCE_COMMON_ALLOCATION", "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION",
941   "SEGMENT_START", "INCLUDE", "MEMORY", "REGION_ALIAS", "LD_FEATURE",
942   "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED", "TARGET_K",
943   "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ALIGNOF", "ADDR",
944   "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT",
945   "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH",
946   "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS",
947   "ALIGNMOD", "AT", "SUBALIGN", "PROVIDE", "PROVIDE_HIDDEN", "AS_NEEDED",
948   "CHIP", "LIST", "SECT", "ABSOLUTE", "LOAD", "NEWLINE", "ENDWORD",
949   "ORDER", "NAMEWORD", "ASSERT_K", "FORMAT", "PUBLIC", "DEFSYMEND", "BASE",
950   "ALIAS", "TRUNCATE", "REL", "INPUT_SCRIPT", "INPUT_MRI_SCRIPT",
951   "INPUT_DEFSYM", "CASE", "EXTERN", "START", "VERS_TAG", "VERS_IDENTIFIER",
952   "GLOBAL", "LOCAL", "VERSIONK", "INPUT_VERSION_SCRIPT", "KEEP",
953   "ONLY_IF_RO", "ONLY_IF_RW", "SPECIAL", "INPUT_SECTION_FLAGS",
954   "EXCLUDE_FILE", "CONSTANT", "INPUT_DYNAMIC_LIST", "','", "';'", "')'",
955   "'['", "']'", "'!'", "'~'", "$accept", "file", "filename", "defsym_expr",
956   "@1", "mri_script_file", "@2", "mri_script_lines", "mri_script_command",
957   "@3", "ordernamelist", "mri_load_name_list", "mri_abs_name_list",
958   "casesymlist", "extern_name_list", "@4", "extern_name_list_body",
959   "script_file", "@5", "ifile_list", "ifile_p1", "@6", "@7", "input_list",
960   "@8", "@9", "@10", "sections", "sec_or_group_p1", "statement_anywhere",
961   "@11", "wildcard_name", "wildcard_spec", "sect_flag_list", "sect_flags",
962   "exclude_name_list", "file_NAME_list", "input_section_spec_no_keep",
963   "input_section_spec", "@12", "statement", "@13", "@14", "statement_list",
964   "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op",
965   "end", "assignment", "opt_comma", "memory", "memory_spec_list_opt",
966   "memory_spec_list", "memory_spec", "@15", "@16", "origin_spec",
967   "length_spec", "attributes_opt", "attributes_list", "attributes_string",
968   "startup", "high_level_library", "high_level_library_NAME_list",
969   "low_level_library", "low_level_library_NAME_list",
970   "floating_point_support", "nocrossref_list", "mustbe_exp", "@17", "exp",
971   "memspec_at_opt", "opt_at", "opt_align", "opt_subalign",
972   "sect_constraint", "section", "@18", "@19", "@20", "@21", "@22", "@23",
973   "@24", "@25", "@26", "@27", "@28", "@29", "@30", "type", "atype",
974   "opt_exp_with_type", "opt_exp_without_type", "opt_nocrossrefs",
975   "memspec_opt", "phdr_opt", "overlay_section", "@31", "@32", "@33",
976   "phdrs", "phdr_list", "phdr", "@34", "@35", "phdr_type",
977   "phdr_qualifiers", "phdr_val", "dynamic_list_file", "@36",
978   "dynamic_list_nodes", "dynamic_list_node", "dynamic_list_tag",
979   "version_script_file", "@37", "version", "@38", "vers_nodes",
980   "vers_node", "verdep", "vers_tag", "vers_defns", "@39", "@40",
981   "opt_semicolon", 0
982 };
983 #endif
984
985 # ifdef YYPRINT
986 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
987    token YYLEX-NUM.  */
988 static const yytype_uint16 yytoknum[] =
989 {
990        0,   256,   257,   258,   259,   260,    61,   261,   262,   263,
991      264,   265,   266,   267,   268,    63,    58,   269,   270,   124,
992       94,    38,   271,   272,    60,    62,   273,   274,   275,   276,
993       43,    45,    42,    47,    37,   277,   278,    40,   279,   280,
994      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
995      291,   292,   293,   294,   295,   296,   297,   123,   125,   298,
996      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
997      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
998      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
999      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1000      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1001      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
1002      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
1003      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
1004      379,   380,   381,    44,    59,    41,    91,    93,    33,   126
1005 };
1006 # endif
1007
1008 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1009 static const yytype_uint16 yyr1[] =
1010 {
1011        0,   150,   151,   151,   151,   151,   151,   152,   154,   153,
1012      156,   155,   157,   157,   158,   158,   158,   158,   158,   158,
1013      158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1014      158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1015      159,   158,   158,   158,   160,   160,   160,   161,   161,   162,
1016      162,   163,   163,   163,   165,   164,   166,   166,   166,   168,
1017      167,   169,   169,   170,   170,   170,   170,   170,   170,   170,
1018      170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
1019      170,   170,   171,   170,   170,   172,   170,   170,   170,   170,
1020      170,   170,   170,   173,   173,   173,   173,   173,   173,   174,
1021      173,   175,   173,   176,   173,   177,   178,   178,   178,   179,
1022      179,   180,   179,   181,   181,   181,   182,   182,   182,   182,
1023      182,   182,   182,   182,   182,   182,   183,   183,   184,   185,
1024      185,   186,   186,   187,   187,   187,   187,   187,   187,   188,
1025      189,   188,   190,   190,   190,   190,   190,   190,   190,   190,
1026      191,   190,   192,   190,   193,   193,   194,   194,   195,   195,
1027      195,   195,   195,   196,   197,   197,   198,   198,   198,   198,
1028      198,   198,   198,   198,   199,   199,   200,   200,   200,   200,
1029      201,   201,   202,   203,   203,   204,   204,   206,   205,   207,
1030      205,   208,   209,   210,   210,   211,   211,   212,   212,   213,
1031      214,   214,   215,   215,   216,   217,   217,   218,   218,   219,
1032      219,   219,   221,   220,   222,   222,   222,   222,   222,   222,
1033      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1034      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1035      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1036      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1037      222,   223,   223,   224,   224,   225,   225,   226,   226,   227,
1038      227,   227,   227,   229,   230,   231,   232,   233,   228,   234,
1039      235,   236,   237,   238,   228,   239,   240,   228,   241,   228,
1040      242,   242,   242,   242,   242,   243,   243,   243,   244,   244,
1041      244,   244,   245,   245,   246,   246,   247,   247,   248,   248,
1042      249,   250,   251,   252,   249,   253,   254,   254,   256,   257,
1043      255,   258,   259,   259,   259,   260,   260,   262,   261,   263,
1044      263,   264,   265,   267,   266,   269,   268,   270,   270,   271,
1045      271,   271,   272,   272,   273,   273,   273,   273,   273,   274,
1046      274,   274,   274,   275,   274,   276,   274,   274,   274,   274,
1047      274,   274,   274,   277,   277
1048 };
1049
1050 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1051 static const yytype_uint8 yyr2[] =
1052 {
1053        0,     2,     2,     2,     2,     2,     2,     1,     0,     4,
1054        0,     2,     3,     0,     2,     4,     1,     1,     2,     1,
1055        4,     4,     3,     2,     4,     3,     4,     4,     4,     4,
1056        4,     2,     2,     2,     4,     4,     2,     2,     2,     2,
1057        0,     5,     2,     0,     3,     2,     0,     1,     3,     1,
1058        3,     0,     1,     3,     0,     2,     1,     2,     3,     0,
1059        2,     2,     0,     1,     1,     1,     1,     1,     1,     1,
1060        1,     1,     1,     4,     4,     4,     4,     8,     4,     1,
1061        1,     4,     0,     5,     4,     0,     5,     4,     4,     3,
1062        3,     6,     4,     1,     3,     2,     1,     3,     2,     0,
1063        5,     0,     7,     0,     6,     4,     2,     2,     0,     4,
1064        2,     0,     7,     1,     1,     1,     1,     5,     4,     4,
1065        7,     7,     7,     7,     8,     4,     1,     3,     4,     2,
1066        1,     3,     1,     1,     2,     3,     4,     4,     5,     1,
1067        0,     5,     2,     1,     1,     1,     4,     1,     4,     4,
1068        0,     8,     0,     5,     2,     1,     0,     1,     1,     1,
1069        1,     1,     1,     1,     2,     0,     1,     1,     1,     1,
1070        1,     1,     1,     1,     1,     1,     3,     3,     6,     6,
1071        1,     0,     4,     1,     0,     3,     1,     0,     7,     0,
1072        5,     3,     3,     0,     3,     1,     2,     1,     2,     4,
1073        4,     3,     3,     1,     4,     3,     0,     1,     1,     0,
1074        2,     3,     0,     2,     2,     3,     4,     2,     2,     2,
1075        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1076        3,     3,     3,     3,     3,     3,     5,     3,     3,     4,
1077        1,     1,     4,     4,     4,     4,     4,     4,     4,     6,
1078        6,     6,     4,     6,     4,     1,     6,     6,     6,     4,
1079        4,     3,     0,     4,     0,     4,     0,     4,     0,     1,
1080        1,     1,     0,     0,     0,     0,     0,     0,    19,     0,
1081        0,     0,     0,     0,    18,     0,     0,     7,     0,     5,
1082        1,     1,     1,     1,     1,     3,     0,     2,     3,     2,
1083        6,    10,     2,     1,     0,     1,     2,     0,     0,     3,
1084        0,     0,     0,     0,    11,     4,     0,     2,     0,     0,
1085        6,     1,     0,     3,     5,     0,     3,     0,     2,     1,
1086        2,     4,     2,     0,     2,     0,     5,     1,     2,     4,
1087        5,     6,     1,     2,     0,     2,     4,     4,     8,     1,
1088        1,     3,     3,     0,     9,     0,     7,     1,     3,     1,
1089        3,     1,     3,     0,     1
1090 };
1091
1092 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1093    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1094    means the default is an error.  */
1095 static const yytype_uint16 yydefact[] =
1096 {
1097        0,    59,    10,     8,   333,   327,     0,     2,    62,     3,
1098       13,     6,     0,     4,     0,     5,     0,     1,    60,    11,
1099        0,   344,     0,   334,   337,     0,   328,   329,     0,     0,
1100        0,     0,     0,    79,     0,    80,     0,     0,     0,     0,
1101        0,     0,     0,     0,     0,     0,     0,   207,   208,     0,
1102        0,    82,     0,     0,     0,   111,     0,    72,    61,    64,
1103       70,     0,    63,    66,    67,    68,    69,    65,    71,     0,
1104       16,     0,     0,     0,     0,    17,     0,     0,     0,    19,
1105       46,     0,     0,     0,     0,     0,     0,    51,    54,     0,
1106        0,     0,   350,   361,   349,   357,   359,     0,     0,   344,
1107      338,   357,   359,     0,     0,   330,   212,   173,   172,   171,
1108      170,   169,   168,   167,   166,   212,   108,   316,     0,     0,
1109        0,     0,     7,    85,   184,     0,     0,     0,     0,     0,
1110        0,     0,     0,   206,   209,     0,     0,     0,     0,     0,
1111        0,    54,   175,   174,   110,     0,     0,    40,     0,   240,
1112      255,     0,     0,     0,     0,     0,     0,     0,     0,   241,
1113        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114        0,     0,     0,     0,     0,     0,    14,     0,    49,    31,
1115       47,    32,    18,    33,    23,     0,    36,     0,    37,    52,
1116       38,    39,     0,    42,    12,     9,     0,     0,     0,     0,
1117      345,     0,     0,   332,   176,     0,   177,     0,     0,    89,
1118       90,     0,     0,    62,   187,     0,     0,   181,   186,     0,
1119        0,     0,     0,     0,     0,     0,   201,   203,   181,   181,
1120      209,     0,    93,    96,     0,     0,     0,     0,     0,     0,
1121        0,     0,     0,     0,     0,    13,     0,     0,   218,   214,
1122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1123        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1124      217,   219,     0,     0,     0,     0,     0,     0,     0,     0,
1125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1126        0,     0,     0,     0,    25,     0,     0,    45,     0,     0,
1127        0,    22,     0,     0,    56,    55,   355,     0,     0,   339,
1128      352,   362,   351,   358,   360,     0,   331,   213,   273,   105,
1129        0,   279,   285,   107,   106,   318,   315,   317,     0,    76,
1130       78,   335,   193,   189,   182,   180,     0,     0,    92,    73,
1131       74,    84,   109,   199,   200,     0,   204,     0,   209,   210,
1132       87,    99,    95,    98,     0,     0,    81,     0,    75,   212,
1133      212,     0,    88,     0,    27,    28,    43,    29,    30,   215,
1134        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1135        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1136      238,   237,   235,   234,   233,   228,   227,   231,   232,   230,
1137      229,   226,   225,   223,   224,   220,   221,   222,    15,    26,
1138       24,    50,    48,    44,    20,    21,    35,    34,    53,    57,
1139        0,     0,   346,   347,     0,   342,   340,     0,   296,   288,
1140        0,   296,     0,     0,    86,     0,     0,   184,   185,     0,
1141      202,   205,   211,     0,   103,    94,    97,     0,    83,     0,
1142        0,     0,   336,    41,     0,   248,   254,     0,     0,   252,
1143        0,   239,   216,   243,   242,   244,   245,     0,     0,   259,
1144      260,   247,     0,   246,     0,    58,   363,   360,   353,   343,
1145      341,     0,     0,   296,     0,   264,   108,   303,     0,   304,
1146      286,   321,   322,     0,   197,     0,     0,   195,     0,     0,
1147       91,     0,     0,   101,   178,   179,     0,     0,     0,     0,
1148        0,     0,     0,     0,   236,   364,     0,     0,     0,   290,
1149      291,   292,   293,   294,   297,     0,     0,     0,     0,   299,
1150        0,   266,     0,   302,   305,   264,     0,   325,     0,   319,
1151        0,   198,   194,   196,     0,   181,   190,   100,     0,     0,
1152      112,   249,   250,   251,   253,   256,   257,   258,   356,     0,
1153      363,   295,     0,   298,     0,     0,   268,   289,   268,   108,
1154        0,   322,     0,     0,    77,   212,     0,   104,     0,   348,
1155        0,   296,     0,     0,     0,   274,   280,     0,     0,   323,
1156        0,   320,   191,     0,   188,   102,   354,     0,     0,   263,
1157        0,     0,   272,     0,   287,   326,   322,   212,     0,   300,
1158      265,     0,   269,   270,   271,     0,   281,   324,   192,     0,
1159      267,   275,   310,   296,   156,     0,     0,   133,   115,   114,
1160      158,   159,   160,   161,   162,     0,     0,     0,     0,     0,
1161      143,   145,   150,     0,     0,     0,   144,     0,   116,     0,
1162        0,   139,   147,   155,   157,     0,     0,     0,   311,   282,
1163      301,     0,     0,     0,   152,   212,     0,   140,     0,     0,
1164      113,     0,   132,   181,     0,   134,     0,     0,   154,   276,
1165      212,   142,     0,   307,     0,     0,     0,     0,     0,     0,
1166        0,     0,     0,   156,     0,   163,     0,     0,   126,     0,
1167      130,     0,     0,   135,     0,   181,   181,     0,   307,     0,
1168      156,     0,   262,     0,     0,   146,     0,   118,     0,     0,
1169      119,   125,     0,   149,     0,   113,     0,     0,   128,     0,
1170      129,   131,   137,   136,   181,   262,   148,     0,   306,     0,
1171      308,     0,     0,     0,     0,     0,   153,     0,   141,   127,
1172      117,   138,   308,   312,     0,   165,     0,     0,     0,     0,
1173        0,     0,   165,   308,   261,   212,     0,   283,   121,   120,
1174        0,   122,   123,     0,   277,   165,   164,   309,   181,   124,
1175      151,   181,   313,   284,   278,   181,   314
1176 };
1177
1178 /* YYDEFGOTO[NTERM-NUM].  */
1179 static const yytype_int16 yydefgoto[] =
1180 {
1181       -1,     6,   123,    11,    12,     9,    10,    19,    90,   245,
1182      182,   181,   179,   190,   191,   192,   305,     7,     8,    18,
1183       58,   136,   213,   235,   443,   549,   502,    59,   207,   323,
1184      140,   648,   649,   699,   650,   701,   673,   651,   652,   697,
1185      653,   666,   693,   654,   655,   656,   694,   767,   115,   144,
1186       61,   704,    62,   216,   217,   218,   332,   437,   545,   594,
1187      436,   496,   497,    63,    64,   228,    65,   229,    66,   231,
1188      695,   205,   250,   740,   531,   566,   585,   615,   324,   428,
1189      602,   624,   708,   781,   430,   603,   622,   683,   778,   431,
1190      536,   486,   525,   484,   485,   489,   535,   712,   755,   625,
1191      682,   763,   785,    67,   208,   327,   432,   573,   492,   539,
1192      571,    15,    16,    26,    27,   103,    13,    14,    68,    69,
1193       23,    24,   427,    97,    98,   518,   421,   516
1194 };
1195
1196 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1197    STATE-NUM.  */
1198 #define YYPACT_NINF -714
1199 static const yytype_int16 yypact[] =
1200 {
1201      247,  -714,  -714,  -714,  -714,  -714,    79,  -714,  -714,  -714,
1202     -714,  -714,    81,  -714,   -24,  -714,    35,  -714,   907,  1618,
1203      112,   103,    67,   -24,  -714,   109,    35,  -714,  1006,    70,
1204       75,   188,   105,  -714,   148,  -714,   150,   171,   155,   195,
1205      205,   213,   217,   221,   224,   235,   239,  -714,  -714,   245,
1206      250,  -714,   256,   265,   271,  -714,   278,  -714,  -714,  -714,
1207     -714,   189,  -714,  -714,  -714,  -714,  -714,  -714,  -714,   162,
1208     -714,   313,   150,   318,   754,  -714,   321,   326,   330,  -714,
1209     -714,   333,   336,   345,   754,   347,   350,   359,  -714,   360,
1210      254,   754,  -714,   365,  -714,   369,   371,   332,   232,   103,
1211     -714,  -714,  -714,   334,   244,  -714,  -714,  -714,  -714,  -714,
1212     -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,   387,   391,
1213      393,   394,  -714,  -714,    43,   397,   398,   399,   150,   150,
1214      402,   150,     4,  -714,   403,    41,   372,   150,   404,   410,
1215      378,  -714,  -714,  -714,  -714,   373,    32,  -714,    45,  -714,
1216     -714,   754,   754,   754,   379,   392,   395,   400,   405,  -714,
1217      414,   423,   424,   425,   426,   428,   430,   432,   433,   435,
1218      436,   437,   438,   439,   754,   754,  1432,   508,  -714,   285,
1219     -714,   291,    17,  -714,  -714,   595,  1795,   292,  -714,  -714,
1220      293,  -714,   446,  -714,  -714,  1795,   382,   109,   109,   296,
1221      117,   383,   335,   117,  -714,   754,  -714,   258,    46,  -714,
1222     -714,   -28,   319,  -714,  -714,   150,   419,    -2,  -714,   337,
1223      339,   342,   343,   348,   349,   352,  -714,  -714,   100,   108,
1224       25,   354,  -714,  -714,   444,    14,    41,   357,   476,   489,
1225      754,   363,   -24,   754,   754,  -714,   754,   754,  -714,  -714,
1226     1045,   754,   754,   754,   754,   754,   497,   500,   754,   509,
1227      514,   516,   517,   754,   754,   521,   522,   754,   754,   525,
1228     -714,  -714,   754,   754,   754,   754,   754,   754,   754,   754,
1229      754,   754,   754,   754,   754,   754,   754,   754,   754,   754,
1230      754,   754,   754,   754,  1795,   528,   529,  -714,   531,   754,
1231      754,  1795,   356,   532,  -714,    39,  -714,   396,   406,  -714,
1232     -714,   533,  -714,  -714,  -714,   -64,  -714,  1795,  1006,  -714,
1233      150,  -714,  -714,  -714,  -714,  -714,  -714,  -714,   537,  -714,
1234     -714,   223,   506,  -714,  -714,  -714,    43,   540,  -714,  -714,
1235     -714,  -714,  -714,  -714,  -714,   150,  -714,   150,   403,  -714,
1236     -714,  -714,  -714,  -714,   511,    48,  -714,    18,  -714,  -714,
1237     -714,  1452,  -714,    36,  1795,  1795,  1641,  1795,  1795,  -714,
1238      916,  1065,  1472,  1492,  1085,   408,   407,  1105,   409,   418,
1239      421,   429,  1512,  1532,   434,   440,  1125,  1559,   441,  1755,
1240     1639,  1811,  1826,  1840,  1853,   999,   999,   390,   390,   390,
1241      390,   314,   314,   163,   163,  -714,  -714,  -714,  1795,  1795,
1242     1795,  -714,  -714,  -714,  1795,  1795,  -714,  -714,  -714,  -714,
1243      545,   109,   133,   117,   496,  -714,  -714,   -48,   633,  -714,
1244      716,   633,   754,   412,  -714,     2,   552,    43,  -714,   449,
1245     -714,  -714,  -714,    41,  -714,  -714,  -714,   534,  -714,   450,
1246      458,   569,  -714,  -714,   754,  -714,  -714,   754,   754,  -714,
1247      754,  -714,  -714,  -714,  -714,  -714,  -714,   754,   754,  -714,
1248     -714,  -714,   571,  -714,   754,  -714,   460,   561,  -714,  -714,
1249     -714,   374,   541,  1667,   564,   480,  -714,  -714,  1775,   492,
1250     -714,  1795,    28,   580,  -714,   601,     3,  -714,   515,   570,
1251     -714,    31,    41,  -714,  -714,  -714,   465,  1145,  1174,  1194,
1252     1214,  1234,  1254,   467,  1795,   117,   557,   109,   109,  -714,
1253     -714,  -714,  -714,  -714,  -714,   471,   754,   234,   602,  -714,
1254      582,   583,   413,  -714,  -714,   480,   563,   590,   591,  -714,
1255      484,  -714,  -714,  -714,   624,   488,  -714,  -714,    78,    41,
1256     -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,   491,
1257      460,  -714,  1274,  -714,   754,   603,   539,  -714,   539,  -714,
1258      754,    28,   754,   495,  -714,  -714,   548,  -714,    86,   117,
1259      585,   236,  1303,   754,   607,  -714,  -714,   427,  1323,  -714,
1260     1343,  -714,  -714,   639,  -714,  -714,  -714,   613,   636,  -714,
1261     1363,   754,   130,   598,  -714,  -714,    28,  -714,   754,  -714,
1262     -714,  1383,  -714,  -714,  -714,   604,  -714,  -714,  -714,  1403,
1263     -714,  -714,  -714,   621,   817,    51,   644,   877,  -714,  -714,
1264     -714,  -714,  -714,  -714,  -714,   625,   628,   629,   150,   630,
1265     -714,  -714,  -714,   631,   645,   646,  -714,    84,  -714,   651,
1266       12,  -714,  -714,  -714,   817,   623,   653,   189,  -714,  -714,
1267     -714,   242,   320,    82,  -714,  -714,   654,  -714,   689,    82,
1268     -714,   657,  -714,   -45,    84,   658,    84,   659,  -714,  -714,
1269     -714,  -714,   641,   674,   663,   664,   558,   665,   560,   669,
1270      671,   566,   576,   817,   577,  -714,   754,    16,  -714,   -12,
1271     -714,    22,    80,  -714,    84,   135,   -17,    84,   674,   578,
1272      817,   705,   627,    82,    82,  -714,    82,  -714,    82,    82,
1273     -714,  -714,   688,  -714,  1579,   581,   584,   726,  -714,    82,
1274     -714,  -714,  -714,  -714,   149,   627,  -714,   673,  -714,   708,
1275     -714,   589,   592,    26,   594,   596,  -714,   731,  -714,  -714,
1276     -714,  -714,  -714,  -714,   736,   104,   600,   605,    82,   606,
1277      611,   614,   104,  -714,  -714,  -714,   745,  -714,  -714,  -714,
1278      615,  -714,  -714,   189,  -714,   104,  -714,  -714,   488,  -714,
1279     -714,   488,  -714,  -714,  -714,   488,  -714
1280 };
1281
1282 /* YYPGOTO[NTERM-NUM].  */
1283 static const yytype_int16 yypgoto[] =
1284 {
1285     -714,  -714,   -68,  -714,  -714,  -714,  -714,   507,  -714,  -714,
1286     -714,  -714,  -714,  -714,   620,  -714,  -714,  -714,  -714,   549,
1287     -714,  -714,  -714,  -221,  -714,  -714,  -714,  -714,  -444,   -13,
1288     -714,  -105,  -308,  -714,  -714,    47,  -601,    68,  -714,  -714,
1289      110,  -714,  -714,  -714,  -653,  -714,     1,  -713,  -714,  -629,
1290     -565,  -216,  -714,   340,  -714,   442,  -714,  -714,  -714,  -714,
1291     -714,  -714,   274,  -714,  -714,  -714,  -714,  -714,  -714,  -205,
1292     -104,  -714,   -74,    37,   238,  -714,   203,  -714,  -714,  -714,
1293     -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,
1294     -714,  -714,  -714,  -459,   355,  -714,  -714,    71,  -676,  -714,
1295     -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,  -714,  -532,
1296     -714,  -714,  -714,  -714,   750,  -714,  -714,  -714,  -714,  -714,
1297      546,   -20,  -714,   684,   -11,  -714,  -714,   227
1298 };
1299
1300 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1301    positive, shift that token.  If negative, reduce the rule which
1302    number is the opposite.  If zero, do what YYDEFACT says.
1303    If YYTABLE_NINF, syntax error.  */
1304 #define YYTABLE_NINF -336
1305 static const yytype_int16 yytable[] =
1306 {
1307      176,   336,   204,   100,   147,    60,   494,   494,   122,   727,
1308      186,   206,   345,   347,   104,   357,   675,   195,   352,   353,
1309      725,   297,   352,   353,   528,   349,   670,   628,   681,   230,
1310      670,   628,   537,    21,  -183,   352,   353,   628,   243,   589,
1311      722,   628,   532,   419,   629,   232,   233,   214,   629,   774,
1312      325,   246,   445,   446,   629,   658,  -183,   737,   629,   657,
1313      222,   223,   782,   225,   227,   425,   671,   636,   637,   237,
1314      671,   636,   637,   705,   617,   706,   762,   248,   249,    17,
1315      426,   479,   352,   353,   670,    20,   670,   775,   670,   657,
1316      352,   353,    25,    21,   452,   628,   480,   628,   335,   628,
1317      270,   271,   703,   294,   326,    22,   734,    92,   215,   659,
1318      765,   301,   629,    92,   629,   328,   629,   329,    91,   354,
1319      766,   310,   598,   354,    99,   587,   335,   116,   657,   538,
1320      733,   317,   117,   728,   684,   685,   354,   310,   671,   636,
1321      637,   335,   120,   442,   780,   657,   234,   333,   542,   226,
1322      495,   495,   645,   447,   122,   644,   645,   355,   676,   356,
1323      298,   355,   647,   448,   626,    22,   361,   729,   348,   364,
1324      365,   758,   367,   368,   355,   244,   547,   370,   371,   372,
1325      373,   374,   420,   354,   377,   121,   307,   308,   247,   382,
1326      383,   354,   125,   386,   387,   288,   289,   290,   389,   390,
1327      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
1328      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
1329      687,   355,   501,   577,   645,   414,   415,    28,   124,   355,
1330       93,   595,   126,    94,    95,    96,    93,   118,   119,    94,
1331      101,   102,   127,   335,   311,   344,   670,   312,   313,   314,
1332      128,   335,   429,   346,   129,   449,   450,   628,   130,   434,
1333      311,   131,   318,   312,   313,   477,   612,   613,   614,    29,
1334       30,    31,   132,   527,   629,   597,   133,   440,   335,   441,
1335      732,   548,   134,    32,    33,    34,    35,   135,    36,    37,
1336       38,    39,   335,   137,   751,   145,   684,   685,    40,    41,
1337       42,    43,   138,   519,   520,   521,   522,   523,   139,    44,
1338       45,    46,    47,    48,    49,   141,   319,   146,    60,    50,
1339       51,    52,   148,   320,   670,   177,    53,    54,   578,   576,
1340      178,   321,   142,   143,   180,   628,    43,   183,    55,   672,
1341      184,   686,   677,   100,   286,   287,   288,   289,   290,   185,
1342       56,   187,   629,   188,   483,   322,   488,   483,   491,   416,
1343      417,    53,    54,   189,   193,   194,   672,    57,   672,   196,
1344        1,     2,     3,    55,   689,   690,   200,   149,   150,   524,
1345      507,     4,   687,   508,   509,   197,   510,   198,   203,     5,
1346      199,   209,   202,   511,   512,   210,   731,   211,   212,   672,
1347      514,   219,   220,   221,   151,   152,   224,   230,   238,   236,
1348      476,   153,   154,   155,   239,   240,   251,   318,   284,   285,
1349      286,   287,   288,   289,   290,   156,   157,   158,   295,   252,
1350      242,   318,   253,   159,   296,   302,   303,   254,   160,   306,
1351      309,   315,   255,   519,   520,   521,   522,   523,   161,   567,
1352      304,   256,   562,   162,   163,   164,   165,   166,   167,   168,
1353      257,   258,   259,   260,   330,   261,   169,   262,   170,   263,
1354      264,   592,   265,   266,   267,   268,   269,   334,   320,   316,
1355      337,   351,   359,   171,   338,   604,   321,   339,   340,   172,
1356      582,    43,   320,   341,   342,   360,   588,   343,   590,   350,
1357      321,   375,   358,   618,   376,    43,   559,   560,   362,   600,
1358      322,   149,   150,   378,   292,   173,    53,    54,   379,   524,
1359      380,   381,   174,   175,   322,   384,   385,   611,    55,   388,
1360       53,    54,   411,   412,   619,   413,   418,   424,   151,   152,
1361      422,   433,    55,   435,   439,   153,   154,   155,   444,   475,
1362      423,   460,   461,   478,   463,   493,   688,   691,   692,   156,
1363      157,   158,   783,   464,   700,   784,   465,   159,   498,   786,
1364      664,   503,   160,   506,   466,   513,   709,   517,   526,   469,
1365      529,   530,   161,   534,   540,   470,   473,   162,   163,   164,
1366      165,   166,   167,   168,   500,   504,   730,   688,   149,   150,
1367      169,   299,   170,   505,   515,   541,   546,   544,   741,   742,
1368      550,   700,   557,   744,   745,   558,   561,   171,   563,   564,
1369      569,   565,   724,   172,   750,   151,   152,   570,   572,   574,
1370      575,   335,   153,   154,   155,   579,   149,   150,   730,   591,
1371      583,   584,   593,   596,   601,   607,   156,   157,   158,   173,
1372      608,   293,   609,   770,   159,   616,   174,   175,   527,   160,
1373      660,   621,   661,   151,   152,   662,   663,   665,   667,   161,
1374      481,   154,   155,   482,   162,   163,   164,   165,   166,   167,
1375      168,   679,   668,   669,   156,   157,   158,   169,   674,   170,
1376      680,   696,   159,   698,   702,  -113,   707,   160,   710,   711,
1377      713,   714,   716,   715,   171,   717,   718,   161,   719,   738,
1378      172,   720,   162,   163,   164,   165,   166,   167,   168,   149,
1379      150,   721,   723,   736,   746,   169,  -133,   170,   739,   748,
1380      749,   753,   487,   754,   756,   761,   173,   757,   300,   759,
1381      764,   760,   171,   174,   175,   768,   151,   152,   172,   777,
1382      769,   771,   366,   153,   154,   155,   772,   149,   150,   773,
1383      779,   241,   331,   743,   678,   726,   776,   156,   157,   158,
1384      543,   586,   752,   568,   173,   159,   105,   499,   438,   735,
1385      160,   174,   175,   201,   151,   152,   490,   580,   363,     0,
1386      161,   153,   154,   155,     0,   162,   163,   164,   165,   166,
1387      167,   168,     0,     0,     0,   156,   157,   158,   169,     0,
1388      170,     0,     0,   159,     0,     0,     0,     0,   160,     0,
1389        0,   627,     0,     0,     0,   171,     0,     0,   161,     0,
1390        0,   172,   628,   162,   163,   164,   165,   166,   167,   168,
1391        0,     0,     0,     0,     0,     0,   169,     0,   170,   629,
1392        0,     0,     0,     0,     0,     0,     0,   173,   630,   631,
1393      632,   633,   634,   171,   174,   175,     0,     0,     0,   172,
1394        0,   635,   636,   637,     0,     0,     0,     0,     0,     0,
1395        0,     0,   638,   106,   107,   108,   109,   110,   111,   112,
1396      113,   114,     0,     0,     0,   173,     0,     0,     0,     0,
1397        0,     0,   174,   175,     0,     0,     0,     0,     0,     0,
1398      639,    28,   640,     0,  -113,     0,   641,     0,     0,     0,
1399       53,    54,     0,     0,     0,     0,     0,     0,     0,     0,
1400        0,   272,   642,   273,   274,   275,   276,   277,   278,   279,
1401      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
1402      290,     0,   643,    29,    30,    31,   644,   645,     0,     0,
1403        0,   646,     0,   647,     0,     0,     0,    32,    33,    34,
1404       35,     0,    36,    37,    38,    39,     0,     0,     0,     0,
1405        0,     0,    40,    41,    42,    43,     0,     0,     0,     0,
1406        0,     0,     0,    44,    45,    46,    47,    48,    49,     0,
1407        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
1408       53,    54,   106,   107,   108,   109,   110,   111,   112,   113,
1409      114,     0,    55,   280,   281,   282,   283,   284,   285,   286,
1410      287,   288,   289,   290,    56,     0,     0,     0,     0,     0,
1411     -335,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1412        0,    57,     0,     0,     0,     0,     0,     0,     0,   454,
1413      272,   455,   273,   274,   275,   276,   277,   278,   279,   280,
1414      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1415      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1416      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1417      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1418      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1419      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1420      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1421      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1422      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1423      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1424      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1425        0,     0,     0,     0,     0,     0,     0,     0,     0,   272,
1426      369,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1427      282,   283,   284,   285,   286,   287,   288,   289,   290,   272,
1428      456,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1429      282,   283,   284,   285,   286,   287,   288,   289,   290,   272,
1430      459,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1431      282,   283,   284,   285,   286,   287,   288,   289,   290,   272,
1432      462,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1433      282,   283,   284,   285,   286,   287,   288,   289,   290,   272,
1434      471,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1435      282,   283,   284,   285,   286,   287,   288,   289,   290,   272,
1436      551,   273,   274,   275,   276,   277,   278,   279,   280,   281,
1437      282,   283,   284,   285,   286,   287,   288,   289,   290,     0,
1438        0,     0,     0,     0,     0,     0,     0,     0,   272,   552,
1439      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1440      283,   284,   285,   286,   287,   288,   289,   290,   272,   553,
1441      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1442      283,   284,   285,   286,   287,   288,   289,   290,   272,   554,
1443      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1444      283,   284,   285,   286,   287,   288,   289,   290,   272,   555,
1445      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1446      283,   284,   285,   286,   287,   288,   289,   290,   272,   556,
1447      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1448      283,   284,   285,   286,   287,   288,   289,   290,   272,   581,
1449      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1450      283,   284,   285,   286,   287,   288,   289,   290,     0,     0,
1451        0,     0,     0,     0,     0,     0,     0,   272,   599,   273,
1452      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1453      284,   285,   286,   287,   288,   289,   290,   272,   605,   273,
1454      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1455      284,   285,   286,   287,   288,   289,   290,   272,   606,   273,
1456      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1457      284,   285,   286,   287,   288,   289,   290,   272,   610,   273,
1458      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1459      284,   285,   286,   287,   288,   289,   290,   272,   620,   273,
1460      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1461      284,   285,   286,   287,   288,   289,   290,   272,   623,   273,
1462      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1463      284,   285,   286,   287,   288,   289,   290,     0,     0,     0,
1464        0,     0,     0,     0,   272,   291,   273,   274,   275,   276,
1465      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
1466      287,   288,   289,   290,   272,   451,   273,   274,   275,   276,
1467      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
1468      287,   288,   289,   290,     0,   457,     0,     0,     0,     0,
1469        0,     0,    70,     0,     0,     0,     0,     0,     0,     0,
1470        0,     0,     0,     0,     0,   458,     0,     0,     0,     0,
1471        0,     0,     0,     0,     0,    70,     0,     0,     0,     0,
1472        0,     0,     0,     0,     0,   467,    71,   274,   275,   276,
1473      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
1474      287,   288,   289,   290,     0,   468,     0,   453,     0,    71,
1475        0,     0,   272,    72,   273,   274,   275,   276,   277,   278,
1476      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
1477      289,   290,   472,     0,   527,     0,    72,     0,     0,     0,
1478        0,     0,     0,     0,     0,     0,     0,     0,    73,     0,
1479        0,     0,   747,     0,    74,    75,    76,    77,    78,   -43,
1480       79,    80,    81,     0,    82,    83,     0,    84,    85,    86,
1481        0,    73,     0,     0,    87,    88,    89,    74,    75,    76,
1482       77,    78,     0,    79,    80,    81,     0,    82,    83,     0,
1483       84,    85,    86,     0,     0,     0,     0,    87,    88,    89,
1484      272,   474,   273,   274,   275,   276,   277,   278,   279,   280,
1485      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1486      272,   533,   273,   274,   275,   276,   277,   278,   279,   280,
1487      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1488      272,     0,   273,   274,   275,   276,   277,   278,   279,   280,
1489      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
1490      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1491      285,   286,   287,   288,   289,   290,   276,   277,   278,   279,
1492      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
1493      290,   277,   278,   279,   280,   281,   282,   283,   284,   285,
1494      286,   287,   288,   289,   290,   278,   279,   280,   281,   282,
1495      283,   284,   285,   286,   287,   288,   289,   290
1496 };
1497
1498 static const yytype_int16 yycheck[] =
1499 {
1500       74,   217,   106,    23,    72,    18,     4,     4,     4,    21,
1501       84,   115,   228,   229,    25,   236,     4,    91,     4,     5,
1502        4,     4,     4,     5,   483,   230,     4,    15,   657,     4,
1503        4,    15,     4,    57,    36,     4,     5,    15,     6,   571,
1504      693,    15,   486,     4,    32,     4,     5,     4,    32,   762,
1505        4,     6,     4,     5,    32,     4,    58,   710,    32,   624,
1506      128,   129,   775,   131,   132,   129,    54,    55,    56,   137,
1507       54,    55,    56,   674,   606,   676,   752,   151,   152,     0,
1508      144,   129,     4,     5,     4,     4,     4,   763,     4,   654,
1509        4,     5,    57,    57,    58,    15,   144,    15,   143,    15,
1510      174,   175,   147,   177,    58,   129,   707,     4,    65,    58,
1511        6,   185,    32,     4,    32,   143,    32,   145,     6,   105,
1512       16,     4,   581,   105,    57,   569,   143,    57,   693,   101,
1513      147,   205,    57,   145,    54,    55,   105,     4,    54,    55,
1514       56,   143,    37,   348,   773,   710,   105,   215,   145,   145,
1515      148,   148,   140,   105,     4,   139,   140,   143,   146,   145,
1516      143,   143,   146,   145,   623,   129,   240,   145,   143,   243,
1517      244,   145,   246,   247,   143,   143,   145,   251,   252,   253,
1518      254,   255,   143,   105,   258,    37,   197,   198,   143,   263,
1519      264,   105,    37,   267,   268,    32,    33,    34,   272,   273,
1520      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1521      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
1522      140,   143,   443,   145,   140,   299,   300,     4,    57,   143,
1523      127,   145,    37,   130,   131,   132,   127,    49,    50,   130,
1524      131,   132,    37,   143,   127,   145,     4,   130,   131,   132,
1525       37,   143,   320,   145,    37,   359,   360,    15,    37,    36,
1526      127,    37,     4,   130,   131,   132,   136,   137,   138,    46,
1527       47,    48,    37,    37,    32,    39,    37,   345,   143,   347,
1528      145,   502,    37,    60,    61,    62,    63,    37,    65,    66,
1529       67,    68,   143,    37,   145,   133,    54,    55,    75,    76,
1530       77,    78,    37,    69,    70,    71,    72,    73,    37,    86,
1531       87,    88,    89,    90,    91,    37,    58,     4,   331,    96,
1532       97,    98,     4,    65,     4,     4,   103,   104,   549,   545,
1533        4,    73,   143,   144,     4,    15,    78,     4,   115,   647,
1534        4,    99,   650,   363,    30,    31,    32,    33,    34,     4,
1535      127,     4,    32,     3,   428,    97,   430,   431,   432,     3,
1536        4,   103,   104,     4,     4,   111,   674,   144,   676,     4,
1537      123,   124,   125,   115,    54,    55,   144,     3,     4,   145,
1538      454,   134,   140,   457,   458,    16,   460,    16,   144,   142,
1539       58,     4,    58,   467,   468,     4,   704,     4,     4,   707,
1540      474,     4,     4,     4,    30,    31,     4,     4,     4,    37,
1541      421,    37,    38,    39,     4,    37,    37,     4,    28,    29,
1542       30,    31,    32,    33,    34,    51,    52,    53,   143,    37,
1543       57,     4,    37,    59,   143,   143,   143,    37,    64,    57,
1544      144,    58,    37,    69,    70,    71,    72,    73,    74,    36,
1545        4,    37,   526,    79,    80,    81,    82,    83,    84,    85,
1546       37,    37,    37,    37,   145,    37,    92,    37,    94,    37,
1547       37,   575,    37,    37,    37,    37,    37,    58,    65,   144,
1548      143,    37,     6,   109,   145,    58,    73,   145,   145,   115,
1549      564,    78,    65,   145,   145,     6,   570,   145,   572,   145,
1550       73,     4,   145,   607,     4,    78,   517,   518,   145,   583,
1551       97,     3,     4,     4,     6,   141,   103,   104,     4,   145,
1552        4,     4,   148,   149,    97,     4,     4,   601,   115,     4,
1553      103,   104,     4,     4,   608,     4,     4,     4,    30,    31,
1554      144,     4,   115,    37,     4,    37,    38,    39,    37,     4,
1555      144,   143,   145,    57,   145,   143,   661,   662,   663,    51,
1556       52,    53,   778,   145,   669,   781,   145,    59,    16,   785,
1557      638,    37,    64,     4,   145,     4,   680,    16,    37,   145,
1558       16,   101,    74,    91,     4,   145,   145,    79,    80,    81,
1559       82,    83,    84,    85,   145,   145,   701,   702,     3,     4,
1560       92,     6,    94,   145,   144,     4,    36,    92,   713,   714,
1561      145,   716,   145,   718,   719,    58,   145,   109,    16,    37,
1562       57,    38,   696,   115,   729,    30,    31,    37,    37,   145,
1563        6,   143,    37,    38,    39,   144,     3,     4,   743,   144,
1564       37,   102,    94,    58,    37,     6,    51,    52,    53,   141,
1565       37,   143,    16,   758,    59,    57,   148,   149,    37,    64,
1566       16,    57,    37,    30,    31,    37,    37,    37,    37,    74,
1567       37,    38,    39,    40,    79,    80,    81,    82,    83,    84,
1568       85,    58,    37,    37,    51,    52,    53,    92,    37,    94,
1569       37,    37,    59,     4,    37,    37,    37,    64,    57,    25,
1570       37,    37,    37,   145,   109,   145,    37,    74,    37,     4,
1571      115,   145,    79,    80,    81,    82,    83,    84,    85,     3,
1572        4,   145,   145,   145,    36,    92,   145,    94,   101,   145,
1573        4,    58,    16,    25,   145,     4,   141,   145,   143,   145,
1574        4,   145,   109,   148,   149,   145,    30,    31,   115,     4,
1575      145,   145,   245,    37,    38,    39,   145,     3,     4,   145,
1576      145,   141,   213,   716,   654,   697,   765,    51,    52,    53,
1577      496,   568,   735,   535,   141,    59,    26,   437,   336,   708,
1578       64,   148,   149,    99,    30,    31,   431,   560,   242,    -1,
1579       74,    37,    38,    39,    -1,    79,    80,    81,    82,    83,
1580       84,    85,    -1,    -1,    -1,    51,    52,    53,    92,    -1,
1581       94,    -1,    -1,    59,    -1,    -1,    -1,    -1,    64,    -1,
1582       -1,     4,    -1,    -1,    -1,   109,    -1,    -1,    74,    -1,
1583       -1,   115,    15,    79,    80,    81,    82,    83,    84,    85,
1584       -1,    -1,    -1,    -1,    -1,    -1,    92,    -1,    94,    32,
1585       -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,    41,    42,
1586       43,    44,    45,   109,   148,   149,    -1,    -1,    -1,   115,
1587       -1,    54,    55,    56,    -1,    -1,    -1,    -1,    -1,    -1,
1588       -1,    -1,    65,     6,     7,     8,     9,    10,    11,    12,
1589       13,    14,    -1,    -1,    -1,   141,    -1,    -1,    -1,    -1,
1590       -1,    -1,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,
1591       93,     4,    95,    -1,    37,    -1,    99,    -1,    -1,    -1,
1592      103,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1593       -1,    15,   115,    17,    18,    19,    20,    21,    22,    23,
1594       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1595       34,    -1,   135,    46,    47,    48,   139,   140,    -1,    -1,
1596       -1,   144,    -1,   146,    -1,    -1,    -1,    60,    61,    62,
1597       63,    -1,    65,    66,    67,    68,    -1,    -1,    -1,    -1,
1598       -1,    -1,    75,    76,    77,    78,    -1,    -1,    -1,    -1,
1599       -1,    -1,    -1,    86,    87,    88,    89,    90,    91,    -1,
1600       -1,    -1,    -1,    96,    97,    98,    -1,    -1,    -1,    -1,
1601      103,   104,     6,     7,     8,     9,    10,    11,    12,    13,
1602       14,    -1,   115,    24,    25,    26,    27,    28,    29,    30,
1603       31,    32,    33,    34,   127,    -1,    -1,    -1,    -1,    -1,
1604      133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1605       -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   143,
1606       15,   145,    17,    18,    19,    20,    21,    22,    23,    24,
1607       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1608       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1609       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1610       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1611       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1612       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1613       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1614       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1615       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1616       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1617       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,
1619      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1620       26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
1621      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1622       26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
1623      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1624       26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
1625      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1626       26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
1627      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1628       26,    27,    28,    29,    30,    31,    32,    33,    34,    15,
1629      145,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1630       26,    27,    28,    29,    30,    31,    32,    33,    34,    -1,
1631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,   145,
1632       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1633       27,    28,    29,    30,    31,    32,    33,    34,    15,   145,
1634       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1635       27,    28,    29,    30,    31,    32,    33,    34,    15,   145,
1636       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1637       27,    28,    29,    30,    31,    32,    33,    34,    15,   145,
1638       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1639       27,    28,    29,    30,    31,    32,    33,    34,    15,   145,
1640       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1641       27,    28,    29,    30,    31,    32,    33,    34,    15,   145,
1642       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1643       27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,
1644       -1,    -1,    -1,    -1,    -1,    -1,    -1,    15,   145,    17,
1645       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1646       28,    29,    30,    31,    32,    33,    34,    15,   145,    17,
1647       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1648       28,    29,    30,    31,    32,    33,    34,    15,   145,    17,
1649       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1650       28,    29,    30,    31,    32,    33,    34,    15,   145,    17,
1651       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1652       28,    29,    30,    31,    32,    33,    34,    15,   145,    17,
1653       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1654       28,    29,    30,    31,    32,    33,    34,    15,   145,    17,
1655       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1656       28,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
1657       -1,    -1,    -1,    -1,    15,   143,    17,    18,    19,    20,
1658       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1659       31,    32,    33,    34,    15,   143,    17,    18,    19,    20,
1660       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1661       31,    32,    33,    34,    -1,   143,    -1,    -1,    -1,    -1,
1662       -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1663       -1,    -1,    -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,
1664       -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,    -1,    -1,
1665       -1,    -1,    -1,    -1,    -1,   143,    38,    18,    19,    20,
1666       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1667       31,    32,    33,    34,    -1,   143,    -1,    36,    -1,    38,
1668       -1,    -1,    15,    65,    17,    18,    19,    20,    21,    22,
1669       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1670       33,    34,   143,    -1,    37,    -1,    65,    -1,    -1,    -1,
1671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
1672       -1,    -1,   143,    -1,   106,   107,   108,   109,   110,   111,
1673      112,   113,   114,    -1,   116,   117,    -1,   119,   120,   121,
1674       -1,   100,    -1,    -1,   126,   127,   128,   106,   107,   108,
1675      109,   110,    -1,   112,   113,   114,    -1,   116,   117,    -1,
1676      119,   120,   121,    -1,    -1,    -1,    -1,   126,   127,   128,
1677       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1678       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1679       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1680       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1681       15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
1682       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1683       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1684       29,    30,    31,    32,    33,    34,    20,    21,    22,    23,
1685       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1686       34,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1687       30,    31,    32,    33,    34,    22,    23,    24,    25,    26,
1688       27,    28,    29,    30,    31,    32,    33,    34
1689 };
1690
1691 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1692    symbol of state STATE-NUM.  */
1693 static const yytype_uint16 yystos[] =
1694 {
1695        0,   123,   124,   125,   134,   142,   151,   167,   168,   155,
1696      156,   153,   154,   266,   267,   261,   262,     0,   169,   157,
1697        4,    57,   129,   270,   271,    57,   263,   264,     4,    46,
1698       47,    48,    60,    61,    62,    63,    65,    66,    67,    68,
1699       75,    76,    77,    78,    86,    87,    88,    89,    90,    91,
1700       96,    97,    98,   103,   104,   115,   127,   144,   170,   177,
1701      179,   200,   202,   213,   214,   216,   218,   253,   268,   269,
1702        4,    38,    65,   100,   106,   107,   108,   109,   110,   112,
1703      113,   114,   116,   117,   119,   120,   121,   126,   127,   128,
1704      158,     6,     4,   127,   130,   131,   132,   273,   274,    57,
1705      271,   131,   132,   265,   274,   264,     6,     7,     8,     9,
1706       10,    11,    12,    13,    14,   198,    57,    57,    49,    50,
1707       37,    37,     4,   152,    57,    37,    37,    37,    37,    37,
1708       37,    37,    37,    37,    37,    37,   171,    37,    37,    37,
1709      180,    37,   143,   144,   199,   133,     4,   152,     4,     3,
1710        4,    30,    31,    37,    38,    39,    51,    52,    53,    59,
1711       64,    74,    79,    80,    81,    82,    83,    84,    85,    92,
1712       94,   109,   115,   141,   148,   149,   222,     4,     4,   162,
1713        4,   161,   160,     4,     4,     4,   222,     4,     3,     4,
1714      163,   164,   165,     4,   111,   222,     4,    16,    16,    58,
1715      144,   273,    58,   144,   220,   221,   220,   178,   254,     4,
1716        4,     4,     4,   172,     4,    65,   203,   204,   205,     4,
1717        4,     4,   152,   152,     4,   152,   145,   152,   215,   217,
1718        4,   219,     4,     5,   105,   173,    37,   152,     4,     4,
1719       37,   164,    57,     6,   143,   159,     6,   143,   222,   222,
1720      222,    37,    37,    37,    37,    37,    37,    37,    37,    37,
1721       37,    37,    37,    37,    37,    37,    37,    37,    37,    37,
1722      222,   222,    15,    17,    18,    19,    20,    21,    22,    23,
1723       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1724       34,   143,     6,   143,   222,   143,   143,     4,   143,     6,
1725      143,   222,   143,   143,     4,   166,    57,   274,   274,   144,
1726        4,   127,   130,   131,   132,    58,   144,   222,     4,    58,
1727       65,    73,    97,   179,   228,     4,    58,   255,   143,   145,
1728      145,   169,   206,   152,    58,   143,   201,   143,   145,   145,
1729      145,   145,   145,   145,   145,   201,   145,   201,   143,   219,
1730      145,    37,     4,     5,   105,   143,   145,   173,   145,     6,
1731        6,   222,   145,   270,   222,   222,   157,   222,   222,   145,
1732      222,   222,   222,   222,   222,     4,     4,   222,     4,     4,
1733        4,     4,   222,   222,     4,     4,   222,   222,     4,   222,
1734      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1735      222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1736      222,     4,     4,     4,   222,   222,     3,     4,     4,     4,
1737      143,   276,   144,   144,     4,   129,   144,   272,   229,   152,
1738      234,   239,   256,     4,    36,    37,   210,   207,   205,     4,
1739      152,   152,   219,   174,    37,     4,     5,   105,   145,   220,
1740      220,   143,    58,    36,   143,   145,   145,   143,   143,   145,
1741      143,   145,   145,   145,   145,   145,   145,   143,   143,   145,
1742      145,   145,   143,   145,    16,     4,   274,   132,    57,   129,
1743      144,    37,    40,   222,   243,   244,   241,    16,   222,   245,
1744      244,   222,   258,   143,     4,   148,   211,   212,    16,   203,
1745      145,   173,   176,    37,   145,   145,     4,   222,   222,   222,
1746      222,   222,   222,     4,   222,   144,   277,    16,   275,    69,
1747       70,    71,    72,    73,   145,   242,    37,    37,   243,    16,
1748      101,   224,   178,    16,    91,   246,   240,     4,   101,   259,
1749        4,     4,   145,   212,    92,   208,    36,   145,   173,   175,
1750      145,   145,   145,   145,   145,   145,   145,   145,    58,   274,
1751      274,   145,   222,    16,    37,    38,   225,    36,   224,    57,
1752       37,   260,    37,   257,   145,     6,   201,   145,   173,   144,
1753      277,   145,   222,    37,   102,   226,   226,   178,   222,   259,
1754      222,   144,   220,    94,   209,   145,    58,    39,   243,   145,
1755      222,    37,   230,   235,    58,   145,   145,     6,    37,    16,
1756      145,   222,   136,   137,   138,   227,    57,   259,   220,   222,
1757      145,    57,   236,   145,   231,   249,   243,     4,    15,    32,
1758       41,    42,    43,    44,    45,    54,    55,    56,    65,    93,
1759       95,    99,   115,   135,   139,   140,   144,   146,   181,   182,
1760      184,   187,   188,   190,   193,   194,   195,   200,     4,    58,
1761       16,    37,    37,    37,   152,    37,   191,    37,    37,    37,
1762        4,    54,   182,   186,    37,     4,   146,   182,   190,    58,
1763       37,   199,   250,   237,    54,    55,    99,   140,   181,    54,
1764       55,   181,   181,   192,   196,   220,    37,   189,     4,   183,
1765      181,   185,    37,   147,   201,   186,   186,    37,   232,   220,
1766       57,    25,   247,    37,    37,   145,    37,   145,    37,    37,
1767      145,   145,   194,   145,   222,     4,   187,    21,   145,   145,
1768      181,   182,   145,   147,   186,   247,   145,   194,     4,   101,
1769      223,   181,   181,   185,   181,   181,    36,   143,   145,     4,
1770      181,   145,   223,    58,    25,   248,   145,   145,   145,   145,
1771      145,     4,   248,   251,     4,     6,    16,   197,   145,   145,
1772      181,   145,   145,   145,   197,   248,   196,     4,   238,   145,
1773      199,   233,   197,   201,   201,   252,   201
1774 };
1775
1776 #define yyerrok         (yyerrstatus = 0)
1777 #define yyclearin       (yychar = YYEMPTY)
1778 #define YYEMPTY         (-2)
1779 #define YYEOF           0
1780
1781 #define YYACCEPT        goto yyacceptlab
1782 #define YYABORT         goto yyabortlab
1783 #define YYERROR         goto yyerrorlab
1784
1785
1786 /* Like YYERROR except do call yyerror.  This remains here temporarily
1787    to ease the transition to the new meaning of YYERROR, for GCC.
1788    Once GCC version 2 has supplanted version 1, this can go.  */
1789
1790 #define YYFAIL          goto yyerrlab
1791
1792 #define YYRECOVERING()  (!!yyerrstatus)
1793
1794 #define YYBACKUP(Token, Value)                                  \
1795 do                                                              \
1796   if (yychar == YYEMPTY && yylen == 1)                          \
1797     {                                                           \
1798       yychar = (Token);                                         \
1799       yylval = (Value);                                         \
1800       yytoken = YYTRANSLATE (yychar);                           \
1801       YYPOPSTACK (1);                                           \
1802       goto yybackup;                                            \
1803     }                                                           \
1804   else                                                          \
1805     {                                                           \
1806       yyerror (YY_("syntax error: cannot back up")); \
1807       YYERROR;                                                  \
1808     }                                                           \
1809 while (YYID (0))
1810
1811
1812 #define YYTERROR        1
1813 #define YYERRCODE       256
1814
1815
1816 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1817    If N is 0, then set CURRENT to the empty location which ends
1818    the previous symbol: RHS[0] (always defined).  */
1819
1820 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1821 #ifndef YYLLOC_DEFAULT
1822 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
1823     do                                                                  \
1824       if (YYID (N))                                                    \
1825         {                                                               \
1826           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
1827           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
1828           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
1829           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
1830         }                                                               \
1831       else                                                              \
1832         {                                                               \
1833           (Current).first_line   = (Current).last_line   =              \
1834             YYRHSLOC (Rhs, 0).last_line;                                \
1835           (Current).first_column = (Current).last_column =              \
1836             YYRHSLOC (Rhs, 0).last_column;                              \
1837         }                                                               \
1838     while (YYID (0))
1839 #endif
1840
1841
1842 /* YY_LOCATION_PRINT -- Print the location on the stream.
1843    This macro was not mandated originally: define only if we know
1844    we won't break user code: when these are the locations we know.  */
1845
1846 #ifndef YY_LOCATION_PRINT
1847 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1848 #  define YY_LOCATION_PRINT(File, Loc)                  \
1849      fprintf (File, "%d.%d-%d.%d",                      \
1850               (Loc).first_line, (Loc).first_column,     \
1851               (Loc).last_line,  (Loc).last_column)
1852 # else
1853 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1854 # endif
1855 #endif
1856
1857
1858 /* YYLEX -- calling `yylex' with the right arguments.  */
1859
1860 #ifdef YYLEX_PARAM
1861 # define YYLEX yylex (YYLEX_PARAM)
1862 #else
1863 # define YYLEX yylex ()
1864 #endif
1865
1866 /* Enable debugging if requested.  */
1867 #if YYDEBUG
1868
1869 # ifndef YYFPRINTF
1870 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1871 #  define YYFPRINTF fprintf
1872 # endif
1873
1874 # define YYDPRINTF(Args)                        \
1875 do {                                            \
1876   if (yydebug)                                  \
1877     YYFPRINTF Args;                             \
1878 } while (YYID (0))
1879
1880 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
1881 do {                                                                      \
1882   if (yydebug)                                                            \
1883     {                                                                     \
1884       YYFPRINTF (stderr, "%s ", Title);                                   \
1885       yy_symbol_print (stderr,                                            \
1886                   Type, Value); \
1887       YYFPRINTF (stderr, "\n");                                           \
1888     }                                                                     \
1889 } while (YYID (0))
1890
1891
1892 /*--------------------------------.
1893 | Print this symbol on YYOUTPUT.  |
1894 `--------------------------------*/
1895
1896 /*ARGSUSED*/
1897 #if (defined __STDC__ || defined __C99__FUNC__ \
1898      || defined __cplusplus || defined _MSC_VER)
1899 static void
1900 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1901 #else
1902 static void
1903 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1904     FILE *yyoutput;
1905     int yytype;
1906     YYSTYPE const * const yyvaluep;
1907 #endif
1908 {
1909   if (!yyvaluep)
1910     return;
1911 # ifdef YYPRINT
1912   if (yytype < YYNTOKENS)
1913     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1914 # else
1915   YYUSE (yyoutput);
1916 # endif
1917   switch (yytype)
1918     {
1919       default:
1920         break;
1921     }
1922 }
1923
1924
1925 /*--------------------------------.
1926 | Print this symbol on YYOUTPUT.  |
1927 `--------------------------------*/
1928
1929 #if (defined __STDC__ || defined __C99__FUNC__ \
1930      || defined __cplusplus || defined _MSC_VER)
1931 static void
1932 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1933 #else
1934 static void
1935 yy_symbol_print (yyoutput, yytype, yyvaluep)
1936     FILE *yyoutput;
1937     int yytype;
1938     YYSTYPE const * const yyvaluep;
1939 #endif
1940 {
1941   if (yytype < YYNTOKENS)
1942     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1943   else
1944     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1945
1946   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1947   YYFPRINTF (yyoutput, ")");
1948 }
1949
1950 /*------------------------------------------------------------------.
1951 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1952 | TOP (included).                                                   |
1953 `------------------------------------------------------------------*/
1954
1955 #if (defined __STDC__ || defined __C99__FUNC__ \
1956      || defined __cplusplus || defined _MSC_VER)
1957 static void
1958 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
1959 #else
1960 static void
1961 yy_stack_print (bottom, top)
1962     yytype_int16 *bottom;
1963     yytype_int16 *top;
1964 #endif
1965 {
1966   YYFPRINTF (stderr, "Stack now");
1967   for (; bottom <= top; ++bottom)
1968     YYFPRINTF (stderr, " %d", *bottom);
1969   YYFPRINTF (stderr, "\n");
1970 }
1971
1972 # define YY_STACK_PRINT(Bottom, Top)                            \
1973 do {                                                            \
1974   if (yydebug)                                                  \
1975     yy_stack_print ((Bottom), (Top));                           \
1976 } while (YYID (0))
1977
1978
1979 /*------------------------------------------------.
1980 | Report that the YYRULE is going to be reduced.  |
1981 `------------------------------------------------*/
1982
1983 #if (defined __STDC__ || defined __C99__FUNC__ \
1984      || defined __cplusplus || defined _MSC_VER)
1985 static void
1986 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1987 #else
1988 static void
1989 yy_reduce_print (yyvsp, yyrule)
1990     YYSTYPE *yyvsp;
1991     int yyrule;
1992 #endif
1993 {
1994   int yynrhs = yyr2[yyrule];
1995   int yyi;
1996   unsigned long int yylno = yyrline[yyrule];
1997   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1998              yyrule - 1, yylno);
1999   /* The symbols being reduced.  */
2000   for (yyi = 0; yyi < yynrhs; yyi++)
2001     {
2002       fprintf (stderr, "   $%d = ", yyi + 1);
2003       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2004                        &(yyvsp[(yyi + 1) - (yynrhs)])
2005                                        );
2006       fprintf (stderr, "\n");
2007     }
2008 }
2009
2010 # define YY_REDUCE_PRINT(Rule)          \
2011 do {                                    \
2012   if (yydebug)                          \
2013     yy_reduce_print (yyvsp, Rule); \
2014 } while (YYID (0))
2015
2016 /* Nonzero means print parse trace.  It is left uninitialized so that
2017    multiple parsers can coexist.  */
2018 int yydebug;
2019 #else /* !YYDEBUG */
2020 # define YYDPRINTF(Args)
2021 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2022 # define YY_STACK_PRINT(Bottom, Top)
2023 # define YY_REDUCE_PRINT(Rule)
2024 #endif /* !YYDEBUG */
2025
2026
2027 /* YYINITDEPTH -- initial size of the parser's stacks.  */
2028 #ifndef YYINITDEPTH
2029 # define YYINITDEPTH 200
2030 #endif
2031
2032 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2033    if the built-in stack extension method is used).
2034
2035    Do not make this value too large; the results are undefined if
2036    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2037    evaluated with infinite-precision integer arithmetic.  */
2038
2039 #ifndef YYMAXDEPTH
2040 # define YYMAXDEPTH 10000
2041 #endif
2042
2043 \f
2044
2045 #if YYERROR_VERBOSE
2046
2047 # ifndef yystrlen
2048 #  if defined __GLIBC__ && defined _STRING_H
2049 #   define yystrlen strlen
2050 #  else
2051 /* Return the length of YYSTR.  */
2052 #if (defined __STDC__ || defined __C99__FUNC__ \
2053      || defined __cplusplus || defined _MSC_VER)
2054 static YYSIZE_T
2055 yystrlen (const char *yystr)
2056 #else
2057 static YYSIZE_T
2058 yystrlen (yystr)
2059     const char *yystr;
2060 #endif
2061 {
2062   YYSIZE_T yylen;
2063   for (yylen = 0; yystr[yylen]; yylen++)
2064     continue;
2065   return yylen;
2066 }
2067 #  endif
2068 # endif
2069
2070 # ifndef yystpcpy
2071 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2072 #   define yystpcpy stpcpy
2073 #  else
2074 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2075    YYDEST.  */
2076 #if (defined __STDC__ || defined __C99__FUNC__ \
2077      || defined __cplusplus || defined _MSC_VER)
2078 static char *
2079 yystpcpy (char *yydest, const char *yysrc)
2080 #else
2081 static char *
2082 yystpcpy (yydest, yysrc)
2083     char *yydest;
2084     const char *yysrc;
2085 #endif
2086 {
2087   char *yyd = yydest;
2088   const char *yys = yysrc;
2089
2090   while ((*yyd++ = *yys++) != '\0')
2091     continue;
2092
2093   return yyd - 1;
2094 }
2095 #  endif
2096 # endif
2097
2098 # ifndef yytnamerr
2099 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2100    quotes and backslashes, so that it's suitable for yyerror.  The
2101    heuristic is that double-quoting is unnecessary unless the string
2102    contains an apostrophe, a comma, or backslash (other than
2103    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2104    null, do not copy; instead, return the length of what the result
2105    would have been.  */
2106 static YYSIZE_T
2107 yytnamerr (char *yyres, const char *yystr)
2108 {
2109   if (*yystr == '"')
2110     {
2111       YYSIZE_T yyn = 0;
2112       char const *yyp = yystr;
2113
2114       for (;;)
2115         switch (*++yyp)
2116           {
2117           case '\'':
2118           case ',':
2119             goto do_not_strip_quotes;
2120
2121           case '\\':
2122             if (*++yyp != '\\')
2123               goto do_not_strip_quotes;
2124             /* Fall through.  */
2125           default:
2126             if (yyres)
2127               yyres[yyn] = *yyp;
2128             yyn++;
2129             break;
2130
2131           case '"':
2132             if (yyres)
2133               yyres[yyn] = '\0';
2134             return yyn;
2135           }
2136     do_not_strip_quotes: ;
2137     }
2138
2139   if (! yyres)
2140     return yystrlen (yystr);
2141
2142   return yystpcpy (yyres, yystr) - yyres;
2143 }
2144 # endif
2145
2146 /* Copy into YYRESULT an error message about the unexpected token
2147    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2148    including the terminating null byte.  If YYRESULT is null, do not
2149    copy anything; just return the number of bytes that would be
2150    copied.  As a special case, return 0 if an ordinary "syntax error"
2151    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2152    size calculation.  */
2153 static YYSIZE_T
2154 yysyntax_error (char *yyresult, int yystate, int yychar)
2155 {
2156   int yyn = yypact[yystate];
2157
2158   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2159     return 0;
2160   else
2161     {
2162       int yytype = YYTRANSLATE (yychar);
2163       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2164       YYSIZE_T yysize = yysize0;
2165       YYSIZE_T yysize1;
2166       int yysize_overflow = 0;
2167       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2168       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2169       int yyx;
2170
2171 # if 0
2172       /* This is so xgettext sees the translatable formats that are
2173          constructed on the fly.  */
2174       YY_("syntax error, unexpected %s");
2175       YY_("syntax error, unexpected %s, expecting %s");
2176       YY_("syntax error, unexpected %s, expecting %s or %s");
2177       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2178       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2179 # endif
2180       char *yyfmt;
2181       char const *yyf;
2182       static char const yyunexpected[] = "syntax error, unexpected %s";
2183       static char const yyexpecting[] = ", expecting %s";
2184       static char const yyor[] = " or %s";
2185       char yyformat[sizeof yyunexpected
2186                     + sizeof yyexpecting - 1
2187                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2188                        * (sizeof yyor - 1))];
2189       char const *yyprefix = yyexpecting;
2190
2191       /* Start YYX at -YYN if negative to avoid negative indexes in
2192          YYCHECK.  */
2193       int yyxbegin = yyn < 0 ? -yyn : 0;
2194
2195       /* Stay within bounds of both yycheck and yytname.  */
2196       int yychecklim = YYLAST - yyn + 1;
2197       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2198       int yycount = 1;
2199
2200       yyarg[0] = yytname[yytype];
2201       yyfmt = yystpcpy (yyformat, yyunexpected);
2202
2203       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2204         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2205           {
2206             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2207               {
2208                 yycount = 1;
2209                 yysize = yysize0;
2210                 yyformat[sizeof yyunexpected - 1] = '\0';
2211                 break;
2212               }
2213             yyarg[yycount++] = yytname[yyx];
2214             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2215             yysize_overflow |= (yysize1 < yysize);
2216             yysize = yysize1;
2217             yyfmt = yystpcpy (yyfmt, yyprefix);
2218             yyprefix = yyor;
2219           }
2220
2221       yyf = YY_(yyformat);
2222       yysize1 = yysize + yystrlen (yyf);
2223       yysize_overflow |= (yysize1 < yysize);
2224       yysize = yysize1;
2225
2226       if (yysize_overflow)
2227         return YYSIZE_MAXIMUM;
2228
2229       if (yyresult)
2230         {
2231           /* Avoid sprintf, as that infringes on the user's name space.
2232              Don't have undefined behavior even if the translation
2233              produced a string with the wrong number of "%s"s.  */
2234           char *yyp = yyresult;
2235           int yyi = 0;
2236           while ((*yyp = *yyf) != '\0')
2237             {
2238               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2239                 {
2240                   yyp += yytnamerr (yyp, yyarg[yyi++]);
2241                   yyf += 2;
2242                 }
2243               else
2244                 {
2245                   yyp++;
2246                   yyf++;
2247                 }
2248             }
2249         }
2250       return yysize;
2251     }
2252 }
2253 #endif /* YYERROR_VERBOSE */
2254 \f
2255
2256 /*-----------------------------------------------.
2257 | Release the memory associated to this symbol.  |
2258 `-----------------------------------------------*/
2259
2260 /*ARGSUSED*/
2261 #if (defined __STDC__ || defined __C99__FUNC__ \
2262      || defined __cplusplus || defined _MSC_VER)
2263 static void
2264 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2265 #else
2266 static void
2267 yydestruct (yymsg, yytype, yyvaluep)
2268     const char *yymsg;
2269     int yytype;
2270     YYSTYPE *yyvaluep;
2271 #endif
2272 {
2273   YYUSE (yyvaluep);
2274
2275   if (!yymsg)
2276     yymsg = "Deleting";
2277   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2278
2279   switch (yytype)
2280     {
2281
2282       default:
2283         break;
2284     }
2285 }
2286 \f
2287
2288 /* Prevent warnings from -Wmissing-prototypes.  */
2289
2290 #ifdef YYPARSE_PARAM
2291 #if defined __STDC__ || defined __cplusplus
2292 int yyparse (void *YYPARSE_PARAM);
2293 #else
2294 int yyparse ();
2295 #endif
2296 #else /* ! YYPARSE_PARAM */
2297 #if defined __STDC__ || defined __cplusplus
2298 int yyparse (void);
2299 #else
2300 int yyparse ();
2301 #endif
2302 #endif /* ! YYPARSE_PARAM */
2303
2304
2305
2306 /* The look-ahead symbol.  */
2307 int yychar;
2308
2309 /* The semantic value of the look-ahead symbol.  */
2310 YYSTYPE yylval;
2311
2312 /* Number of syntax errors so far.  */
2313 int yynerrs;
2314
2315
2316
2317 /*----------.
2318 | yyparse.  |
2319 `----------*/
2320
2321 #ifdef YYPARSE_PARAM
2322 #if (defined __STDC__ || defined __C99__FUNC__ \
2323      || defined __cplusplus || defined _MSC_VER)
2324 int
2325 yyparse (void *YYPARSE_PARAM)
2326 #else
2327 int
2328 yyparse (YYPARSE_PARAM)
2329     void *YYPARSE_PARAM;
2330 #endif
2331 #else /* ! YYPARSE_PARAM */
2332 #if (defined __STDC__ || defined __C99__FUNC__ \
2333      || defined __cplusplus || defined _MSC_VER)
2334 int
2335 yyparse (void)
2336 #else
2337 int
2338 yyparse ()
2339
2340 #endif
2341 #endif
2342 {
2343   
2344   int yystate;
2345   int yyn;
2346   int yyresult;
2347   /* Number of tokens to shift before error messages enabled.  */
2348   int yyerrstatus;
2349   /* Look-ahead token as an internal (translated) token number.  */
2350   int yytoken = 0;
2351 #if YYERROR_VERBOSE
2352   /* Buffer for error messages, and its allocated size.  */
2353   char yymsgbuf[128];
2354   char *yymsg = yymsgbuf;
2355   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2356 #endif
2357
2358   /* Three stacks and their tools:
2359      `yyss': related to states,
2360      `yyvs': related to semantic values,
2361      `yyls': related to locations.
2362
2363      Refer to the stacks thru separate pointers, to allow yyoverflow
2364      to reallocate them elsewhere.  */
2365
2366   /* The state stack.  */
2367   yytype_int16 yyssa[YYINITDEPTH];
2368   yytype_int16 *yyss = yyssa;
2369   yytype_int16 *yyssp;
2370
2371   /* The semantic value stack.  */
2372   YYSTYPE yyvsa[YYINITDEPTH];
2373   YYSTYPE *yyvs = yyvsa;
2374   YYSTYPE *yyvsp;
2375
2376
2377
2378 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
2379
2380   YYSIZE_T yystacksize = YYINITDEPTH;
2381
2382   /* The variables used to return semantic value and location from the
2383      action routines.  */
2384   YYSTYPE yyval;
2385
2386
2387   /* The number of symbols on the RHS of the reduced rule.
2388      Keep to zero when no symbol should be popped.  */
2389   int yylen = 0;
2390
2391   YYDPRINTF ((stderr, "Starting parse\n"));
2392
2393   yystate = 0;
2394   yyerrstatus = 0;
2395   yynerrs = 0;
2396   yychar = YYEMPTY;             /* Cause a token to be read.  */
2397
2398   /* Initialize stack pointers.
2399      Waste one element of value and location stack
2400      so that they stay on the same level as the state stack.
2401      The wasted elements are never initialized.  */
2402
2403   yyssp = yyss;
2404   yyvsp = yyvs;
2405
2406   goto yysetstate;
2407
2408 /*------------------------------------------------------------.
2409 | yynewstate -- Push a new state, which is found in yystate.  |
2410 `------------------------------------------------------------*/
2411  yynewstate:
2412   /* In all cases, when you get here, the value and location stacks
2413      have just been pushed.  So pushing a state here evens the stacks.  */
2414   yyssp++;
2415
2416  yysetstate:
2417   *yyssp = yystate;
2418
2419   if (yyss + yystacksize - 1 <= yyssp)
2420     {
2421       /* Get the current used size of the three stacks, in elements.  */
2422       YYSIZE_T yysize = yyssp - yyss + 1;
2423
2424 #ifdef yyoverflow
2425       {
2426         /* Give user a chance to reallocate the stack.  Use copies of
2427            these so that the &'s don't force the real ones into
2428            memory.  */
2429         YYSTYPE *yyvs1 = yyvs;
2430         yytype_int16 *yyss1 = yyss;
2431
2432
2433         /* Each stack pointer address is followed by the size of the
2434            data in use in that stack, in bytes.  This used to be a
2435            conditional around just the two extra args, but that might
2436            be undefined if yyoverflow is a macro.  */
2437         yyoverflow (YY_("memory exhausted"),
2438                     &yyss1, yysize * sizeof (*yyssp),
2439                     &yyvs1, yysize * sizeof (*yyvsp),
2440
2441                     &yystacksize);
2442
2443         yyss = yyss1;
2444         yyvs = yyvs1;
2445       }
2446 #else /* no yyoverflow */
2447 # ifndef YYSTACK_RELOCATE
2448       goto yyexhaustedlab;
2449 # else
2450       /* Extend the stack our own way.  */
2451       if (YYMAXDEPTH <= yystacksize)
2452         goto yyexhaustedlab;
2453       yystacksize *= 2;
2454       if (YYMAXDEPTH < yystacksize)
2455         yystacksize = YYMAXDEPTH;
2456
2457       {
2458         yytype_int16 *yyss1 = yyss;
2459         union yyalloc *yyptr =
2460           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2461         if (! yyptr)
2462           goto yyexhaustedlab;
2463         YYSTACK_RELOCATE (yyss);
2464         YYSTACK_RELOCATE (yyvs);
2465
2466 #  undef YYSTACK_RELOCATE
2467         if (yyss1 != yyssa)
2468           YYSTACK_FREE (yyss1);
2469       }
2470 # endif
2471 #endif /* no yyoverflow */
2472
2473       yyssp = yyss + yysize - 1;
2474       yyvsp = yyvs + yysize - 1;
2475
2476
2477       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2478                   (unsigned long int) yystacksize));
2479
2480       if (yyss + yystacksize - 1 <= yyssp)
2481         YYABORT;
2482     }
2483
2484   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2485
2486   goto yybackup;
2487
2488 /*-----------.
2489 | yybackup.  |
2490 `-----------*/
2491 yybackup:
2492
2493   /* Do appropriate processing given the current state.  Read a
2494      look-ahead token if we need one and don't already have one.  */
2495
2496   /* First try to decide what to do without reference to look-ahead token.  */
2497   yyn = yypact[yystate];
2498   if (yyn == YYPACT_NINF)
2499     goto yydefault;
2500
2501   /* Not known => get a look-ahead token if don't already have one.  */
2502
2503   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
2504   if (yychar == YYEMPTY)
2505     {
2506       YYDPRINTF ((stderr, "Reading a token: "));
2507       yychar = YYLEX;
2508     }
2509
2510   if (yychar <= YYEOF)
2511     {
2512       yychar = yytoken = YYEOF;
2513       YYDPRINTF ((stderr, "Now at end of input.\n"));
2514     }
2515   else
2516     {
2517       yytoken = YYTRANSLATE (yychar);
2518       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2519     }
2520
2521   /* If the proper action on seeing token YYTOKEN is to reduce or to
2522      detect an error, take that action.  */
2523   yyn += yytoken;
2524   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2525     goto yydefault;
2526   yyn = yytable[yyn];
2527   if (yyn <= 0)
2528     {
2529       if (yyn == 0 || yyn == YYTABLE_NINF)
2530         goto yyerrlab;
2531       yyn = -yyn;
2532       goto yyreduce;
2533     }
2534
2535   if (yyn == YYFINAL)
2536     YYACCEPT;
2537
2538   /* Count tokens shifted since error; after three, turn off error
2539      status.  */
2540   if (yyerrstatus)
2541     yyerrstatus--;
2542
2543   /* Shift the look-ahead token.  */
2544   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2545
2546   /* Discard the shifted token unless it is eof.  */
2547   if (yychar != YYEOF)
2548     yychar = YYEMPTY;
2549
2550   yystate = yyn;
2551   *++yyvsp = yylval;
2552
2553   goto yynewstate;
2554
2555
2556 /*-----------------------------------------------------------.
2557 | yydefault -- do the default action for the current state.  |
2558 `-----------------------------------------------------------*/
2559 yydefault:
2560   yyn = yydefact[yystate];
2561   if (yyn == 0)
2562     goto yyerrlab;
2563   goto yyreduce;
2564
2565
2566 /*-----------------------------.
2567 | yyreduce -- Do a reduction.  |
2568 `-----------------------------*/
2569 yyreduce:
2570   /* yyn is the number of a rule to reduce with.  */
2571   yylen = yyr2[yyn];
2572
2573   /* If YYLEN is nonzero, implement the default value of the action:
2574      `$$ = $1'.
2575
2576      Otherwise, the following line sets YYVAL to garbage.
2577      This behavior is undocumented and Bison
2578      users should not rely upon it.  Assigning to YYVAL
2579      unconditionally makes the parser a bit smaller, and it avoids a
2580      GCC warning that YYVAL may be used uninitialized.  */
2581   yyval = yyvsp[1-yylen];
2582
2583
2584   YY_REDUCE_PRINT (yyn);
2585   switch (yyn)
2586     {
2587         case 8:
2588 #line 180 "ldgram.y"
2589     { ldlex_defsym(); }
2590     break;
2591
2592   case 9:
2593 #line 182 "ldgram.y"
2594     {
2595                   ldlex_popstate();
2596                   lang_add_assignment (exp_defsym ((yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].etree)));
2597                 }
2598     break;
2599
2600   case 10:
2601 #line 190 "ldgram.y"
2602     {
2603                   ldlex_mri_script ();
2604                   PUSH_ERROR (_("MRI style script"));
2605                 }
2606     break;
2607
2608   case 11:
2609 #line 195 "ldgram.y"
2610     {
2611                   ldlex_popstate ();
2612                   mri_draw_tree ();
2613                   POP_ERROR ();
2614                 }
2615     break;
2616
2617   case 16:
2618 #line 210 "ldgram.y"
2619     {
2620                         einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),(yyvsp[(1) - (1)].name));
2621                         }
2622     break;
2623
2624   case 17:
2625 #line 213 "ldgram.y"
2626     {
2627                         config.map_filename = "-";
2628                         }
2629     break;
2630
2631   case 20:
2632 #line 219 "ldgram.y"
2633     { mri_public((yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].etree)); }
2634     break;
2635
2636   case 21:
2637 #line 221 "ldgram.y"
2638     { mri_public((yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].etree)); }
2639     break;
2640
2641   case 22:
2642 #line 223 "ldgram.y"
2643     { mri_public((yyvsp[(2) - (3)].name), (yyvsp[(3) - (3)].etree)); }
2644     break;
2645
2646   case 23:
2647 #line 225 "ldgram.y"
2648     { mri_format((yyvsp[(2) - (2)].name)); }
2649     break;
2650
2651   case 24:
2652 #line 227 "ldgram.y"
2653     { mri_output_section((yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].etree));}
2654     break;
2655
2656   case 25:
2657 #line 229 "ldgram.y"
2658     { mri_output_section((yyvsp[(2) - (3)].name), (yyvsp[(3) - (3)].etree));}
2659     break;
2660
2661   case 26:
2662 #line 231 "ldgram.y"
2663     { mri_output_section((yyvsp[(2) - (4)].name), (yyvsp[(4) - (4)].etree));}
2664     break;
2665
2666   case 27:
2667 #line 233 "ldgram.y"
2668     { mri_align((yyvsp[(2) - (4)].name),(yyvsp[(4) - (4)].etree)); }
2669     break;
2670
2671   case 28:
2672 #line 235 "ldgram.y"
2673     { mri_align((yyvsp[(2) - (4)].name),(yyvsp[(4) - (4)].etree)); }
2674     break;
2675
2676   case 29:
2677 #line 237 "ldgram.y"
2678     { mri_alignmod((yyvsp[(2) - (4)].name),(yyvsp[(4) - (4)].etree)); }
2679     break;
2680
2681   case 30:
2682 #line 239 "ldgram.y"
2683     { mri_alignmod((yyvsp[(2) - (4)].name),(yyvsp[(4) - (4)].etree)); }
2684     break;
2685
2686   case 33:
2687 #line 243 "ldgram.y"
2688     { mri_name((yyvsp[(2) - (2)].name)); }
2689     break;
2690
2691   case 34:
2692 #line 245 "ldgram.y"
2693     { mri_alias((yyvsp[(2) - (4)].name),(yyvsp[(4) - (4)].name),0);}
2694     break;
2695
2696   case 35:
2697 #line 247 "ldgram.y"
2698     { mri_alias ((yyvsp[(2) - (4)].name), 0, (int) (yyvsp[(4) - (4)].bigint).integer); }
2699     break;
2700
2701   case 36:
2702 #line 249 "ldgram.y"
2703     { mri_base((yyvsp[(2) - (2)].etree)); }
2704     break;
2705
2706   case 37:
2707 #line 251 "ldgram.y"
2708     { mri_truncate ((unsigned int) (yyvsp[(2) - (2)].bigint).integer); }
2709     break;
2710
2711   case 40:
2712 #line 255 "ldgram.y"
2713     { ldlex_script (); ldfile_open_command_file((yyvsp[(2) - (2)].name)); }
2714     break;
2715
2716   case 41:
2717 #line 257 "ldgram.y"
2718     { ldlex_popstate (); }
2719     break;
2720
2721   case 42:
2722 #line 259 "ldgram.y"
2723     { lang_add_entry ((yyvsp[(2) - (2)].name), FALSE); }
2724     break;
2725
2726   case 44:
2727 #line 264 "ldgram.y"
2728     { mri_order((yyvsp[(3) - (3)].name)); }
2729     break;
2730
2731   case 45:
2732 #line 265 "ldgram.y"
2733     { mri_order((yyvsp[(2) - (2)].name)); }
2734     break;
2735
2736   case 47:
2737 #line 271 "ldgram.y"
2738     { mri_load((yyvsp[(1) - (1)].name)); }
2739     break;
2740
2741   case 48:
2742 #line 272 "ldgram.y"
2743     { mri_load((yyvsp[(3) - (3)].name)); }
2744     break;
2745
2746   case 49:
2747 #line 277 "ldgram.y"
2748     { mri_only_load((yyvsp[(1) - (1)].name)); }
2749     break;
2750
2751   case 50:
2752 #line 279 "ldgram.y"
2753     { mri_only_load((yyvsp[(3) - (3)].name)); }
2754     break;
2755
2756   case 51:
2757 #line 283 "ldgram.y"
2758     { (yyval.name) = NULL; }
2759     break;
2760
2761   case 54:
2762 #line 290 "ldgram.y"
2763     { ldlex_expression (); }
2764     break;
2765
2766   case 55:
2767 #line 292 "ldgram.y"
2768     { ldlex_popstate (); }
2769     break;
2770
2771   case 56:
2772 #line 296 "ldgram.y"
2773     { ldlang_add_undef ((yyvsp[(1) - (1)].name), FALSE); }
2774     break;
2775
2776   case 57:
2777 #line 298 "ldgram.y"
2778     { ldlang_add_undef ((yyvsp[(2) - (2)].name), FALSE); }
2779     break;
2780
2781   case 58:
2782 #line 300 "ldgram.y"
2783     { ldlang_add_undef ((yyvsp[(3) - (3)].name), FALSE); }
2784     break;
2785
2786   case 59:
2787 #line 304 "ldgram.y"
2788     { ldlex_both(); }
2789     break;
2790
2791   case 60:
2792 #line 306 "ldgram.y"
2793     { ldlex_popstate(); }
2794     break;
2795
2796   case 73:
2797 #line 327 "ldgram.y"
2798     { lang_add_target((yyvsp[(3) - (4)].name)); }
2799     break;
2800
2801   case 74:
2802 #line 329 "ldgram.y"
2803     { ldfile_add_library_path ((yyvsp[(3) - (4)].name), FALSE); }
2804     break;
2805
2806   case 75:
2807 #line 331 "ldgram.y"
2808     { lang_add_output((yyvsp[(3) - (4)].name), 1); }
2809     break;
2810
2811   case 76:
2812 #line 333 "ldgram.y"
2813     { lang_add_output_format ((yyvsp[(3) - (4)].name), (char *) NULL,
2814                                             (char *) NULL, 1); }
2815     break;
2816
2817   case 77:
2818 #line 336 "ldgram.y"
2819     { lang_add_output_format ((yyvsp[(3) - (8)].name), (yyvsp[(5) - (8)].name), (yyvsp[(7) - (8)].name), 1); }
2820     break;
2821
2822   case 78:
2823 #line 338 "ldgram.y"
2824     { ldfile_set_output_arch ((yyvsp[(3) - (4)].name), bfd_arch_unknown); }
2825     break;
2826
2827   case 79:
2828 #line 340 "ldgram.y"
2829     { command_line.force_common_definition = TRUE ; }
2830     break;
2831
2832   case 80:
2833 #line 342 "ldgram.y"
2834     { command_line.inhibit_common_definition = TRUE ; }
2835     break;
2836
2837   case 82:
2838 #line 345 "ldgram.y"
2839     { lang_enter_group (); }
2840     break;
2841
2842   case 83:
2843 #line 347 "ldgram.y"
2844     { lang_leave_group (); }
2845     break;
2846
2847   case 84:
2848 #line 349 "ldgram.y"
2849     { lang_add_map((yyvsp[(3) - (4)].name)); }
2850     break;
2851
2852   case 85:
2853 #line 351 "ldgram.y"
2854     { ldlex_script (); ldfile_open_command_file((yyvsp[(2) - (2)].name)); }
2855     break;
2856
2857   case 86:
2858 #line 353 "ldgram.y"
2859     { ldlex_popstate (); }
2860     break;
2861
2862   case 87:
2863 #line 355 "ldgram.y"
2864     {
2865                   lang_add_nocrossref ((yyvsp[(3) - (4)].nocrossref));
2866                 }
2867     break;
2868
2869   case 89:
2870 #line 360 "ldgram.y"
2871     { lang_add_insert ((yyvsp[(3) - (3)].name), 0); }
2872     break;
2873
2874   case 90:
2875 #line 362 "ldgram.y"
2876     { lang_add_insert ((yyvsp[(3) - (3)].name), 1); }
2877     break;
2878
2879   case 91:
2880 #line 364 "ldgram.y"
2881     { lang_memory_region_alias ((yyvsp[(3) - (6)].name), (yyvsp[(5) - (6)].name)); }
2882     break;
2883
2884   case 92:
2885 #line 366 "ldgram.y"
2886     { lang_ld_feature ((yyvsp[(3) - (4)].name)); }
2887     break;
2888
2889   case 93:
2890 #line 371 "ldgram.y"
2891     { lang_add_input_file((yyvsp[(1) - (1)].name),lang_input_file_is_search_file_enum,
2892                                  (char *)NULL); }
2893     break;
2894
2895   case 94:
2896 #line 374 "ldgram.y"
2897     { lang_add_input_file((yyvsp[(3) - (3)].name),lang_input_file_is_search_file_enum,
2898                                  (char *)NULL); }
2899     break;
2900
2901   case 95:
2902 #line 377 "ldgram.y"
2903     { lang_add_input_file((yyvsp[(2) - (2)].name),lang_input_file_is_search_file_enum,
2904                                  (char *)NULL); }
2905     break;
2906
2907   case 96:
2908 #line 380 "ldgram.y"
2909     { lang_add_input_file((yyvsp[(1) - (1)].name),lang_input_file_is_l_enum,
2910                                  (char *)NULL); }
2911     break;
2912
2913   case 97:
2914 #line 383 "ldgram.y"
2915     { lang_add_input_file((yyvsp[(3) - (3)].name),lang_input_file_is_l_enum,
2916                                  (char *)NULL); }
2917     break;
2918
2919   case 98:
2920 #line 386 "ldgram.y"
2921     { lang_add_input_file((yyvsp[(2) - (2)].name),lang_input_file_is_l_enum,
2922                                  (char *)NULL); }
2923     break;
2924
2925   case 99:
2926 #line 389 "ldgram.y"
2927     { (yyval.integer) = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; }
2928     break;
2929
2930   case 100:
2931 #line 391 "ldgram.y"
2932     { add_DT_NEEDED_for_regular = (yyvsp[(3) - (5)].integer); }
2933     break;
2934
2935   case 101:
2936 #line 393 "ldgram.y"
2937     { (yyval.integer) = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; }
2938     break;
2939
2940   case 102:
2941 #line 395 "ldgram.y"
2942     { add_DT_NEEDED_for_regular = (yyvsp[(5) - (7)].integer); }
2943     break;
2944
2945   case 103:
2946 #line 397 "ldgram.y"
2947     { (yyval.integer) = add_DT_NEEDED_for_regular; add_DT_NEEDED_for_regular = TRUE; }
2948     break;
2949
2950   case 104:
2951 #line 399 "ldgram.y"
2952     { add_DT_NEEDED_for_regular = (yyvsp[(4) - (6)].integer); }
2953     break;
2954
2955   case 109:
2956 #line 414 "ldgram.y"
2957     { lang_add_entry ((yyvsp[(3) - (4)].name), FALSE); }
2958     break;
2959
2960   case 111:
2961 #line 416 "ldgram.y"
2962     {ldlex_expression ();}
2963     break;
2964
2965   case 112:
2966 #line 417 "ldgram.y"
2967     { ldlex_popstate ();
2968                   lang_add_assignment (exp_assert ((yyvsp[(4) - (7)].etree), (yyvsp[(6) - (7)].name))); }
2969     break;
2970
2971   case 113:
2972 #line 425 "ldgram.y"
2973     {
2974                           (yyval.cname) = (yyvsp[(1) - (1)].name);
2975                         }
2976     break;
2977
2978   case 114:
2979 #line 429 "ldgram.y"
2980     {
2981                           (yyval.cname) = "*";
2982                         }
2983     break;
2984
2985   case 115:
2986 #line 433 "ldgram.y"
2987     {
2988                           (yyval.cname) = "?";
2989                         }
2990     break;
2991
2992   case 116:
2993 #line 440 "ldgram.y"
2994     {
2995                           (yyval.wildcard).name = (yyvsp[(1) - (1)].cname);
2996                           (yyval.wildcard).sorted = none;
2997                           (yyval.wildcard).exclude_name_list = NULL;
2998                           (yyval.wildcard).section_flag_list = NULL;
2999                         }
3000     break;
3001
3002   case 117:
3003 #line 447 "ldgram.y"
3004     {
3005                           (yyval.wildcard).name = (yyvsp[(5) - (5)].cname);
3006                           (yyval.wildcard).sorted = none;
3007                           (yyval.wildcard).exclude_name_list = (yyvsp[(3) - (5)].name_list);
3008                           (yyval.wildcard).section_flag_list = NULL;
3009                         }
3010     break;
3011
3012   case 118:
3013 #line 454 "ldgram.y"
3014     {
3015                           (yyval.wildcard).name = (yyvsp[(3) - (4)].cname);
3016                           (yyval.wildcard).sorted = by_name;
3017                           (yyval.wildcard).exclude_name_list = NULL;
3018                           (yyval.wildcard).section_flag_list = NULL;
3019                         }
3020     break;
3021
3022   case 119:
3023 #line 461 "ldgram.y"
3024     {
3025                           (yyval.wildcard).name = (yyvsp[(3) - (4)].cname);
3026                           (yyval.wildcard).sorted = by_alignment;
3027                           (yyval.wildcard).exclude_name_list = NULL;
3028                           (yyval.wildcard).section_flag_list = NULL;
3029                         }
3030     break;
3031
3032   case 120:
3033 #line 468 "ldgram.y"
3034     {
3035                           (yyval.wildcard).name = (yyvsp[(5) - (7)].cname);
3036                           (yyval.wildcard).sorted = by_name_alignment;
3037                           (yyval.wildcard).exclude_name_list = NULL;
3038                           (yyval.wildcard).section_flag_list = NULL;
3039                         }
3040     break;
3041
3042   case 121:
3043 #line 475 "ldgram.y"
3044     {
3045                           (yyval.wildcard).name = (yyvsp[(5) - (7)].cname);
3046                           (yyval.wildcard).sorted = by_name;
3047                           (yyval.wildcard).exclude_name_list = NULL;
3048                           (yyval.wildcard).section_flag_list = NULL;
3049                         }
3050     break;
3051
3052   case 122:
3053 #line 482 "ldgram.y"
3054     {
3055                           (yyval.wildcard).name = (yyvsp[(5) - (7)].cname);
3056                           (yyval.wildcard).sorted = by_alignment_name;
3057                           (yyval.wildcard).exclude_name_list = NULL;
3058                           (yyval.wildcard).section_flag_list = NULL;
3059                         }
3060     break;
3061
3062   case 123:
3063 #line 489 "ldgram.y"
3064     {
3065                           (yyval.wildcard).name = (yyvsp[(5) - (7)].cname);
3066                           (yyval.wildcard).sorted = by_alignment;
3067                           (yyval.wildcard).exclude_name_list = NULL;
3068                           (yyval.wildcard).section_flag_list = NULL;
3069                         }
3070     break;
3071
3072   case 124:
3073 #line 496 "ldgram.y"
3074     {
3075                           (yyval.wildcard).name = (yyvsp[(7) - (8)].cname);
3076                           (yyval.wildcard).sorted = by_name;
3077                           (yyval.wildcard).exclude_name_list = (yyvsp[(5) - (8)].name_list);
3078                           (yyval.wildcard).section_flag_list = NULL;
3079                         }
3080     break;
3081
3082   case 125:
3083 #line 503 "ldgram.y"
3084     {
3085                           (yyval.wildcard).name = (yyvsp[(3) - (4)].cname);
3086                           (yyval.wildcard).sorted = by_init_priority;
3087                           (yyval.wildcard).exclude_name_list = NULL;
3088                           (yyval.wildcard).section_flag_list = NULL;
3089                         }
3090     break;
3091
3092   case 126:
3093 #line 512 "ldgram.y"
3094     {
3095                           struct flag_info_list *n;
3096                           n = ((struct flag_info_list *) xmalloc (sizeof *n));
3097                           if ((yyvsp[(1) - (1)].name)[0] == '!')
3098                             {
3099                               n->with = without_flags;
3100                               n->name = &(yyvsp[(1) - (1)].name)[1];
3101                             }
3102                           else
3103                             {
3104                               n->with = with_flags;
3105                               n->name = (yyvsp[(1) - (1)].name);
3106                             }
3107                           n->valid = FALSE;
3108                           n->next = NULL;
3109                           (yyval.flag_info_list) = n;
3110                         }
3111     break;
3112
3113   case 127:
3114 #line 530 "ldgram.y"
3115     {
3116                           struct flag_info_list *n;
3117                           n = ((struct flag_info_list *) xmalloc (sizeof *n));
3118                           if ((yyvsp[(3) - (3)].name)[0] == '!')
3119                             {
3120                               n->with = without_flags;
3121                               n->name = &(yyvsp[(3) - (3)].name)[1];
3122                             }
3123                           else
3124                             {
3125                               n->with = with_flags;
3126                               n->name = (yyvsp[(3) - (3)].name);
3127                             }
3128                           n->valid = FALSE;
3129                           n->next = (yyvsp[(1) - (3)].flag_info_list);
3130                           (yyval.flag_info_list) = n;
3131                         }
3132     break;
3133
3134   case 128:
3135 #line 551 "ldgram.y"
3136     {
3137                           struct flag_info *n;
3138                           n = ((struct flag_info *) xmalloc (sizeof *n));
3139                           n->flag_list = (yyvsp[(3) - (4)].flag_info_list);
3140                           n->flags_initialized = FALSE;
3141                           n->not_with_flags = 0;
3142                           n->only_with_flags = 0;
3143                           (yyval.flag_info) = n;
3144                         }
3145     break;
3146
3147   case 129:
3148 #line 564 "ldgram.y"
3149     {
3150                           struct name_list *tmp;
3151                           tmp = (struct name_list *) xmalloc (sizeof *tmp);
3152                           tmp->name = (yyvsp[(2) - (2)].cname);
3153                           tmp->next = (yyvsp[(1) - (2)].name_list);
3154                           (yyval.name_list) = tmp;
3155                         }
3156     break;
3157
3158   case 130:
3159 #line 573 "ldgram.y"
3160     {
3161                           struct name_list *tmp;
3162                           tmp = (struct name_list *) xmalloc (sizeof *tmp);
3163                           tmp->name = (yyvsp[(1) - (1)].cname);
3164                           tmp->next = NULL;
3165                           (yyval.name_list) = tmp;
3166                         }
3167     break;
3168
3169   case 131:
3170 #line 584 "ldgram.y"
3171     {
3172                           struct wildcard_list *tmp;
3173                           tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
3174                           tmp->next = (yyvsp[(1) - (3)].wildcard_list);
3175                           tmp->spec = (yyvsp[(3) - (3)].wildcard);
3176                           (yyval.wildcard_list) = tmp;
3177                         }
3178     break;
3179
3180   case 132:
3181 #line 593 "ldgram.y"
3182     {
3183                           struct wildcard_list *tmp;
3184                           tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
3185                           tmp->next = NULL;
3186                           tmp->spec = (yyvsp[(1) - (1)].wildcard);
3187                           (yyval.wildcard_list) = tmp;
3188                         }
3189     break;
3190
3191   case 133:
3192 #line 604 "ldgram.y"
3193     {
3194                           struct wildcard_spec tmp;
3195                           tmp.name = (yyvsp[(1) - (1)].name);
3196                           tmp.exclude_name_list = NULL;
3197                           tmp.sorted = none;
3198                           tmp.section_flag_list = NULL;
3199                           lang_add_wild (&tmp, NULL, ldgram_had_keep);
3200                         }
3201     break;
3202
3203   case 134:
3204 #line 613 "ldgram.y"
3205     {
3206                           struct wildcard_spec tmp;
3207                           tmp.name = (yyvsp[(2) - (2)].name);
3208                           tmp.exclude_name_list = NULL;
3209                           tmp.sorted = none;
3210                           tmp.section_flag_list = (yyvsp[(1) - (2)].flag_info);
3211                           lang_add_wild (&tmp, NULL, ldgram_had_keep);
3212                         }
3213     break;
3214
3215   case 135:
3216 #line 622 "ldgram.y"
3217     {
3218                           lang_add_wild (NULL, (yyvsp[(2) - (3)].wildcard_list), ldgram_had_keep);
3219                         }
3220     break;
3221
3222   case 136:
3223 #line 626 "ldgram.y"
3224     {
3225                           struct wildcard_spec tmp;
3226                           tmp.name = NULL;
3227                           tmp.exclude_name_list = NULL;
3228                           tmp.sorted = none;
3229                           tmp.section_flag_list = (yyvsp[(1) - (4)].flag_info);
3230                           lang_add_wild (NULL, (yyvsp[(3) - (4)].wildcard_list), ldgram_had_keep);
3231                         }
3232     break;
3233
3234   case 137:
3235 #line 635 "ldgram.y"
3236     {
3237                           lang_add_wild (&(yyvsp[(1) - (4)].wildcard), (yyvsp[(3) - (4)].wildcard_list), ldgram_had_keep);
3238                         }
3239     break;
3240
3241   case 138:
3242 #line 639 "ldgram.y"
3243     {
3244                           (yyvsp[(2) - (5)].wildcard).section_flag_list = (yyvsp[(1) - (5)].flag_info);
3245                           lang_add_wild (&(yyvsp[(2) - (5)].wildcard), (yyvsp[(4) - (5)].wildcard_list), ldgram_had_keep);
3246                         }
3247     break;
3248
3249   case 140:
3250 #line 648 "ldgram.y"
3251     { ldgram_had_keep = TRUE; }
3252     break;
3253
3254   case 141:
3255 #line 650 "ldgram.y"
3256     { ldgram_had_keep = FALSE; }
3257     break;
3258
3259   case 143:
3260 #line 656 "ldgram.y"
3261     {
3262                 lang_add_attribute(lang_object_symbols_statement_enum);
3263                 }
3264     break;
3265
3266   case 145:
3267 #line 661 "ldgram.y"
3268     {
3269
3270                   lang_add_attribute(lang_constructors_statement_enum);
3271                 }
3272     break;
3273
3274   case 146:
3275 #line 666 "ldgram.y"
3276     {
3277                   constructors_sorted = TRUE;
3278                   lang_add_attribute (lang_constructors_statement_enum);
3279                 }
3280     break;
3281
3282   case 148:
3283 #line 672 "ldgram.y"
3284     {
3285                           lang_add_data ((int) (yyvsp[(1) - (4)].integer), (yyvsp[(3) - (4)].etree));
3286                         }
3287     break;
3288
3289   case 149:
3290 #line 677 "ldgram.y"
3291     {
3292                           lang_add_fill ((yyvsp[(3) - (4)].fill));
3293                         }
3294     break;
3295
3296   case 150:
3297 #line 680 "ldgram.y"
3298     {ldlex_expression ();}
3299     break;
3300
3301   case 151:
3302 #line 681 "ldgram.y"
3303     { ldlex_popstate ();
3304                           lang_add_assignment (exp_assert ((yyvsp[(4) - (8)].etree), (yyvsp[(6) - (8)].name))); }
3305     break;
3306
3307   case 152:
3308 #line 684 "ldgram.y"
3309     { ldlex_script (); ldfile_open_command_file((yyvsp[(2) - (2)].name)); }
3310     break;
3311
3312   case 153:
3313 #line 686 "ldgram.y"
3314     { ldlex_popstate (); }
3315     break;
3316
3317   case 158:
3318 #line 701 "ldgram.y"
3319     { (yyval.integer) = (yyvsp[(1) - (1)].token); }
3320     break;
3321
3322   case 159:
3323 #line 703 "ldgram.y"
3324     { (yyval.integer) = (yyvsp[(1) - (1)].token); }
3325     break;
3326
3327   case 160:
3328 #line 705 "ldgram.y"
3329     { (yyval.integer) = (yyvsp[(1) - (1)].token); }
3330     break;
3331
3332   case 161:
3333 #line 707 "ldgram.y"
3334     { (yyval.integer) = (yyvsp[(1) - (1)].token); }
3335     break;
3336
3337   case 162:
3338 #line 709 "ldgram.y"
3339     { (yyval.integer) = (yyvsp[(1) - (1)].token); }
3340     break;
3341
3342   case 163:
3343 #line 714 "ldgram.y"
3344     {
3345                   (yyval.fill) = exp_get_fill ((yyvsp[(1) - (1)].etree), 0, "fill value");
3346                 }
3347     break;
3348
3349   case 164:
3350 #line 721 "ldgram.y"
3351     { (yyval.fill) = (yyvsp[(2) - (2)].fill); }
3352     break;
3353
3354   case 165:
3355 #line 722 "ldgram.y"
3356     { (yyval.fill) = (fill_type *) 0; }
3357     break;
3358
3359   case 166:
3360 #line 727 "ldgram.y"
3361     { (yyval.token) = '+'; }
3362     break;
3363
3364   case 167:
3365 #line 729 "ldgram.y"
3366     { (yyval.token) = '-'; }
3367     break;
3368
3369   case 168:
3370 #line 731 "ldgram.y"
3371     { (yyval.token) = '*'; }
3372     break;
3373
3374   case 169:
3375 #line 733 "ldgram.y"
3376     { (yyval.token) = '/'; }
3377     break;
3378
3379   case 170:
3380 #line 735 "ldgram.y"
3381     { (yyval.token) = LSHIFT; }
3382     break;
3383
3384   case 171:
3385 #line 737 "ldgram.y"
3386     { (yyval.token) = RSHIFT; }
3387     break;
3388
3389   case 172:
3390 #line 739 "ldgram.y"
3391     { (yyval.token) = '&'; }
3392     break;
3393
3394   case 173:
3395 #line 741 "ldgram.y"
3396     { (yyval.token) = '|'; }
3397     break;
3398
3399   case 176:
3400 #line 751 "ldgram.y"
3401     {
3402                   lang_add_assignment (exp_assign ((yyvsp[(1) - (3)].name), (yyvsp[(3) - (3)].etree)));
3403                 }
3404     break;
3405
3406   case 177:
3407 #line 755 "ldgram.y"
3408     {
3409                   lang_add_assignment (exp_assign ((yyvsp[(1) - (3)].name),
3410                                                    exp_binop ((yyvsp[(2) - (3)].token),
3411                                                               exp_nameop (NAME,
3412                                                                           (yyvsp[(1) - (3)].name)),
3413                                                               (yyvsp[(3) - (3)].etree))));
3414                 }
3415     break;
3416
3417   case 178:
3418 #line 763 "ldgram.y"
3419     {
3420                   lang_add_assignment (exp_provide ((yyvsp[(3) - (6)].name), (yyvsp[(5) - (6)].etree), FALSE));
3421                 }
3422     break;
3423
3424   case 179:
3425 #line 767 "ldgram.y"
3426     {
3427                   lang_add_assignment (exp_provide ((yyvsp[(3) - (6)].name), (yyvsp[(5) - (6)].etree), TRUE));
3428                 }
3429     break;
3430
3431   case 187:
3432 #line 790 "ldgram.y"
3433     { region = lang_memory_region_lookup ((yyvsp[(1) - (1)].name), TRUE); }
3434     break;
3435
3436   case 188:
3437 #line 793 "ldgram.y"
3438     {}
3439     break;
3440
3441   case 189:
3442 #line 795 "ldgram.y"
3443     { ldlex_script (); ldfile_open_command_file((yyvsp[(2) - (2)].name)); }
3444     break;
3445
3446   case 190:
3447 #line 797 "ldgram.y"
3448     { ldlex_popstate (); }
3449     break;
3450
3451   case 191:
3452 #line 802 "ldgram.y"
3453     {
3454                   region->origin = exp_get_vma ((yyvsp[(3) - (3)].etree), 0, "origin");
3455                   region->current = region->origin;
3456                 }
3457     break;
3458
3459   case 192:
3460 #line 810 "ldgram.y"
3461     {
3462                   region->length = exp_get_vma ((yyvsp[(3) - (3)].etree), -1, "length");
3463                 }
3464     break;
3465
3466   case 193:
3467 #line 817 "ldgram.y"
3468     { /* dummy action to avoid bison 1.25 error message */ }
3469     break;
3470
3471   case 197:
3472 #line 828 "ldgram.y"
3473     { lang_set_flags (region, (yyvsp[(1) - (1)].name), 0); }
3474     break;
3475
3476   case 198:
3477 #line 830 "ldgram.y"
3478     { lang_set_flags (region, (yyvsp[(2) - (2)].name), 1); }
3479     break;
3480
3481   case 199:
3482 #line 835 "ldgram.y"
3483     { lang_startup((yyvsp[(3) - (4)].name)); }
3484     break;
3485
3486   case 201:
3487 #line 841 "ldgram.y"
3488     { ldemul_hll((char *)NULL); }
3489     break;
3490
3491   case 202:
3492 #line 846 "ldgram.y"
3493     { ldemul_hll((yyvsp[(3) - (3)].name)); }
3494     break;
3495
3496   case 203:
3497 #line 848 "ldgram.y"
3498     { ldemul_hll((yyvsp[(1) - (1)].name)); }
3499     break;
3500
3501   case 205:
3502 #line 856 "ldgram.y"
3503     { ldemul_syslib((yyvsp[(3) - (3)].name)); }
3504     break;
3505
3506   case 207:
3507 #line 862 "ldgram.y"
3508     { lang_float(TRUE); }
3509     break;
3510
3511   case 208:
3512 #line 864 "ldgram.y"
3513     { lang_float(FALSE); }
3514     break;
3515
3516   case 209:
3517 #line 869 "ldgram.y"
3518     {
3519                   (yyval.nocrossref) = NULL;
3520                 }
3521     break;
3522
3523   case 210:
3524 #line 873 "ldgram.y"
3525     {
3526                   struct lang_nocrossref *n;
3527
3528                   n = (struct lang_nocrossref *) xmalloc (sizeof *n);
3529                   n->name = (yyvsp[(1) - (2)].name);
3530                   n->next = (yyvsp[(2) - (2)].nocrossref);
3531                   (yyval.nocrossref) = n;
3532                 }
3533     break;
3534
3535   case 211:
3536 #line 882 "ldgram.y"
3537     {
3538                   struct lang_nocrossref *n;
3539
3540                   n = (struct lang_nocrossref *) xmalloc (sizeof *n);
3541                   n->name = (yyvsp[(1) - (3)].name);
3542                   n->next = (yyvsp[(3) - (3)].nocrossref);
3543                   (yyval.nocrossref) = n;
3544                 }
3545     break;
3546
3547   case 212:
3548 #line 892 "ldgram.y"
3549     { ldlex_expression (); }
3550     break;
3551
3552   case 213:
3553 #line 894 "ldgram.y"
3554     { ldlex_popstate (); (yyval.etree)=(yyvsp[(2) - (2)].etree);}
3555     break;
3556
3557   case 214:
3558 #line 899 "ldgram.y"
3559     { (yyval.etree) = exp_unop ('-', (yyvsp[(2) - (2)].etree)); }
3560     break;
3561
3562   case 215:
3563 #line 901 "ldgram.y"
3564     { (yyval.etree) = (yyvsp[(2) - (3)].etree); }
3565     break;
3566
3567   case 216:
3568 #line 903 "ldgram.y"
3569     { (yyval.etree) = exp_unop ((int) (yyvsp[(1) - (4)].integer),(yyvsp[(3) - (4)].etree)); }
3570     break;
3571
3572   case 217:
3573 #line 905 "ldgram.y"
3574     { (yyval.etree) = exp_unop ('!', (yyvsp[(2) - (2)].etree)); }
3575     break;
3576
3577   case 218:
3578 #line 907 "ldgram.y"
3579     { (yyval.etree) = (yyvsp[(2) - (2)].etree); }
3580     break;
3581
3582   case 219:
3583 #line 909 "ldgram.y"
3584     { (yyval.etree) = exp_unop ('~', (yyvsp[(2) - (2)].etree));}
3585     break;
3586
3587   case 220:
3588 #line 912 "ldgram.y"
3589     { (yyval.etree) = exp_binop ('*', (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3590     break;
3591
3592   case 221:
3593 #line 914 "ldgram.y"
3594     { (yyval.etree) = exp_binop ('/', (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3595     break;
3596
3597   case 222:
3598 #line 916 "ldgram.y"
3599     { (yyval.etree) = exp_binop ('%', (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3600     break;
3601
3602   case 223:
3603 #line 918 "ldgram.y"
3604     { (yyval.etree) = exp_binop ('+', (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3605     break;
3606
3607   case 224:
3608 #line 920 "ldgram.y"
3609     { (yyval.etree) = exp_binop ('-' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3610     break;
3611
3612   case 225:
3613 #line 922 "ldgram.y"
3614     { (yyval.etree) = exp_binop (LSHIFT , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3615     break;
3616
3617   case 226:
3618 #line 924 "ldgram.y"
3619     { (yyval.etree) = exp_binop (RSHIFT , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3620     break;
3621
3622   case 227:
3623 #line 926 "ldgram.y"
3624     { (yyval.etree) = exp_binop (EQ , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3625     break;
3626
3627   case 228:
3628 #line 928 "ldgram.y"
3629     { (yyval.etree) = exp_binop (NE , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3630     break;
3631
3632   case 229:
3633 #line 930 "ldgram.y"
3634     { (yyval.etree) = exp_binop (LE , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3635     break;
3636
3637   case 230:
3638 #line 932 "ldgram.y"
3639     { (yyval.etree) = exp_binop (GE , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3640     break;
3641
3642   case 231:
3643 #line 934 "ldgram.y"
3644     { (yyval.etree) = exp_binop ('<' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3645     break;
3646
3647   case 232:
3648 #line 936 "ldgram.y"
3649     { (yyval.etree) = exp_binop ('>' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3650     break;
3651
3652   case 233:
3653 #line 938 "ldgram.y"
3654     { (yyval.etree) = exp_binop ('&' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3655     break;
3656
3657   case 234:
3658 #line 940 "ldgram.y"
3659     { (yyval.etree) = exp_binop ('^' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3660     break;
3661
3662   case 235:
3663 #line 942 "ldgram.y"
3664     { (yyval.etree) = exp_binop ('|' , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3665     break;
3666
3667   case 236:
3668 #line 944 "ldgram.y"
3669     { (yyval.etree) = exp_trinop ('?' , (yyvsp[(1) - (5)].etree), (yyvsp[(3) - (5)].etree), (yyvsp[(5) - (5)].etree)); }
3670     break;
3671
3672   case 237:
3673 #line 946 "ldgram.y"
3674     { (yyval.etree) = exp_binop (ANDAND , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3675     break;
3676
3677   case 238:
3678 #line 948 "ldgram.y"
3679     { (yyval.etree) = exp_binop (OROR , (yyvsp[(1) - (3)].etree), (yyvsp[(3) - (3)].etree)); }
3680     break;
3681
3682   case 239:
3683 #line 950 "ldgram.y"
3684     { (yyval.etree) = exp_nameop (DEFINED, (yyvsp[(3) - (4)].name)); }
3685     break;
3686
3687   case 240:
3688 #line 952 "ldgram.y"
3689     { (yyval.etree) = exp_bigintop ((yyvsp[(1) - (1)].bigint).integer, (yyvsp[(1) - (1)].bigint).str); }
3690     break;
3691
3692   case 241:
3693 #line 954 "ldgram.y"
3694     { (yyval.etree) = exp_nameop (SIZEOF_HEADERS,0); }
3695     break;
3696
3697   case 242:
3698 #line 957 "ldgram.y"
3699     { (yyval.etree) = exp_nameop (ALIGNOF,(yyvsp[(3) - (4)].name)); }
3700     break;
3701
3702   case 243:
3703 #line 959 "ldgram.y"
3704     { (yyval.etree) = exp_nameop (SIZEOF,(yyvsp[(3) - (4)].name)); }
3705     break;
3706
3707   case 244:
3708 #line 961 "ldgram.y"
3709     { (yyval.etree) = exp_nameop (ADDR,(yyvsp[(3) - (4)].name)); }
3710     break;
3711
3712   case 245:
3713 #line 963 "ldgram.y"
3714     { (yyval.etree) = exp_nameop (LOADADDR,(yyvsp[(3) - (4)].name)); }
3715     break;
3716
3717   case 246:
3718 #line 965 "ldgram.y"
3719     { (yyval.etree) = exp_nameop (CONSTANT,(yyvsp[(3) - (4)].name)); }
3720     break;
3721
3722   case 247:
3723 #line 967 "ldgram.y"
3724     { (yyval.etree) = exp_unop (ABSOLUTE, (yyvsp[(3) - (4)].etree)); }
3725     break;
3726
3727   case 248:
3728 #line 969 "ldgram.y"
3729     { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[(3) - (4)].etree)); }
3730     break;
3731
3732   case 249:
3733 #line 971 "ldgram.y"
3734     { (yyval.etree) = exp_binop (ALIGN_K,(yyvsp[(3) - (6)].etree),(yyvsp[(5) - (6)].etree)); }
3735     break;
3736
3737   case 250:
3738 #line 973 "ldgram.y"
3739     { (yyval.etree) = exp_binop (DATA_SEGMENT_ALIGN, (yyvsp[(3) - (6)].etree), (yyvsp[(5) - (6)].etree)); }
3740     break;
3741
3742   case 251:
3743 #line 975 "ldgram.y"
3744     { (yyval.etree) = exp_binop (DATA_SEGMENT_RELRO_END, (yyvsp[(5) - (6)].etree), (yyvsp[(3) - (6)].etree)); }
3745     break;
3746
3747   case 252:
3748 #line 977 "ldgram.y"
3749     { (yyval.etree) = exp_unop (DATA_SEGMENT_END, (yyvsp[(3) - (4)].etree)); }
3750     break;
3751
3752   case 253:
3753 #line 979 "ldgram.y"
3754     { /* The operands to the expression node are
3755                              placed in the opposite order from the way
3756                              in which they appear in the script as
3757                              that allows us to reuse more code in
3758                              fold_binary.  */
3759                           (yyval.etree) = exp_binop (SEGMENT_START,
3760                                           (yyvsp[(5) - (6)].etree),
3761                                           exp_nameop (NAME, (yyvsp[(3) - (6)].name))); }
3762     break;
3763
3764   case 254:
3765 #line 988 "ldgram.y"
3766     { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[(3) - (4)].etree)); }
3767     break;
3768
3769   case 255:
3770 #line 990 "ldgram.y"
3771     { (yyval.etree) = exp_nameop (NAME,(yyvsp[(1) - (1)].name)); }
3772     break;
3773
3774   case 256:
3775 #line 992 "ldgram.y"
3776     { (yyval.etree) = exp_binop (MAX_K, (yyvsp[(3) - (6)].etree), (yyvsp[(5) - (6)].etree) ); }
3777     break;
3778
3779   case 257:
3780 #line 994 "ldgram.y"
3781     { (yyval.etree) = exp_binop (MIN_K, (yyvsp[(3) - (6)].etree), (yyvsp[(5) - (6)].etree) ); }
3782     break;
3783
3784   case 258:
3785 #line 996 "ldgram.y"
3786     { (yyval.etree) = exp_assert ((yyvsp[(3) - (6)].etree), (yyvsp[(5) - (6)].name)); }
3787     break;
3788
3789   case 259:
3790 #line 998 "ldgram.y"
3791     { (yyval.etree) = exp_nameop (ORIGIN, (yyvsp[(3) - (4)].name)); }
3792     break;
3793
3794   case 260:
3795 #line 1000 "ldgram.y"
3796     { (yyval.etree) = exp_nameop (LENGTH, (yyvsp[(3) - (4)].name)); }
3797     break;
3798
3799   case 261:
3800 #line 1005 "ldgram.y"
3801     { (yyval.name) = (yyvsp[(3) - (3)].name); }
3802     break;
3803
3804   case 262:
3805 #line 1006 "ldgram.y"
3806     { (yyval.name) = 0; }
3807     break;
3808
3809   case 263:
3810 #line 1010 "ldgram.y"
3811     { (yyval.etree) = (yyvsp[(3) - (4)].etree); }
3812     break;
3813
3814   case 264:
3815 #line 1011 "ldgram.y"
3816     { (yyval.etree) = 0; }
3817     break;
3818
3819   case 265:
3820 #line 1015 "ldgram.y"
3821     { (yyval.etree) = (yyvsp[(3) - (4)].etree); }
3822     break;
3823
3824   case 266:
3825 #line 1016 "ldgram.y"
3826     { (yyval.etree) = 0; }
3827     break;
3828
3829   case 267:
3830 #line 1020 "ldgram.y"
3831     { (yyval.etree) = (yyvsp[(3) - (4)].etree); }
3832     break;
3833
3834   case 268:
3835 #line 1021 "ldgram.y"
3836     { (yyval.etree) = 0; }
3837     break;
3838
3839   case 269:
3840 #line 1025 "ldgram.y"
3841     { (yyval.token) = ONLY_IF_RO; }
3842     break;
3843
3844   case 270:
3845 #line 1026 "ldgram.y"
3846     { (yyval.token) = ONLY_IF_RW; }
3847     break;
3848
3849   case 271:
3850 #line 1027 "ldgram.y"
3851     { (yyval.token) = SPECIAL; }
3852     break;
3853
3854   case 272:
3855 #line 1028 "ldgram.y"
3856     { (yyval.token) = 0; }
3857     break;
3858
3859   case 273:
3860 #line 1031 "ldgram.y"
3861     { ldlex_expression(); }
3862     break;
3863
3864   case 274:
3865 #line 1035 "ldgram.y"
3866     { ldlex_popstate (); ldlex_script (); }
3867     break;
3868
3869   case 275:
3870 #line 1038 "ldgram.y"
3871     {
3872                           lang_enter_output_section_statement((yyvsp[(1) - (9)].name), (yyvsp[(3) - (9)].etree),
3873                                                               sectype,
3874                                                               (yyvsp[(5) - (9)].etree), (yyvsp[(6) - (9)].etree), (yyvsp[(4) - (9)].etree), (yyvsp[(8) - (9)].token));
3875                         }
3876     break;
3877
3878   case 276:
3879 #line 1044 "ldgram.y"
3880     { ldlex_popstate (); ldlex_expression (); }
3881     break;
3882
3883   case 277:
3884 #line 1046 "ldgram.y"
3885     {
3886                   ldlex_popstate ();
3887                   lang_leave_output_section_statement ((yyvsp[(17) - (17)].fill), (yyvsp[(14) - (17)].name), (yyvsp[(16) - (17)].section_phdr), (yyvsp[(15) - (17)].name));
3888                 }
3889     break;
3890
3891   case 278:
3892 #line 1051 "ldgram.y"
3893     {}
3894     break;
3895
3896   case 279:
3897 #line 1053 "ldgram.y"
3898     { ldlex_expression (); }
3899     break;
3900
3901   case 280:
3902 #line 1055 "ldgram.y"
3903     { ldlex_popstate (); ldlex_script (); }
3904     break;
3905
3906   case 281:
3907 #line 1057 "ldgram.y"
3908     {
3909                           lang_enter_overlay ((yyvsp[(3) - (8)].etree), (yyvsp[(6) - (8)].etree));
3910                         }
3911     break;
3912
3913   case 282:
3914 #line 1062 "ldgram.y"
3915     { ldlex_popstate (); ldlex_expression (); }
3916     break;
3917
3918   case 283:
3919 #line 1064 "ldgram.y"
3920     {
3921                           ldlex_popstate ();
3922                           lang_leave_overlay ((yyvsp[(5) - (16)].etree), (int) (yyvsp[(4) - (16)].integer),
3923                                               (yyvsp[(16) - (16)].fill), (yyvsp[(13) - (16)].name), (yyvsp[(15) - (16)].section_phdr), (yyvsp[(14) - (16)].name));
3924                         }
3925     break;
3926
3927   case 285:
3928 #line 1074 "ldgram.y"
3929     { ldlex_expression (); }
3930     break;
3931
3932   case 286:
3933 #line 1076 "ldgram.y"
3934     {
3935                   ldlex_popstate ();
3936                   lang_add_assignment (exp_assign (".", (yyvsp[(3) - (3)].etree)));
3937                 }
3938     break;
3939
3940   case 288:
3941 #line 1082 "ldgram.y"
3942     { ldlex_script (); ldfile_open_command_file((yyvsp[(2) - (2)].name)); }
3943     break;
3944
3945   case 289:
3946 #line 1084 "ldgram.y"
3947     { ldlex_popstate (); }
3948     break;
3949
3950   case 290:
3951 #line 1088 "ldgram.y"
3952     { sectype = noload_section; }
3953     break;
3954
3955   case 291:
3956 #line 1089 "ldgram.y"
3957     { sectype = noalloc_section; }
3958     break;
3959
3960   case 292:
3961 #line 1090 "ldgram.y"
3962     { sectype = noalloc_section; }
3963     break;
3964
3965   case 293:
3966 #line 1091 "ldgram.y"
3967     { sectype = noalloc_section; }
3968     break;
3969
3970   case 294:
3971 #line 1092 "ldgram.y"
3972     { sectype = noalloc_section; }
3973     break;
3974
3975   case 296:
3976 #line 1097 "ldgram.y"
3977     { sectype = normal_section; }
3978     break;
3979
3980   case 297:
3981 #line 1098 "ldgram.y"
3982     { sectype = normal_section; }
3983     break;
3984
3985   case 298:
3986 #line 1102 "ldgram.y"
3987     { (yyval.etree) = (yyvsp[(1) - (3)].etree); }
3988     break;
3989
3990   case 299:
3991 #line 1103 "ldgram.y"
3992     { (yyval.etree) = (etree_type *)NULL;  }
3993     break;
3994
3995   case 300:
3996 #line 1108 "ldgram.y"
3997     { (yyval.etree) = (yyvsp[(3) - (6)].etree); }
3998     break;
3999
4000   case 301:
4001 #line 1110 "ldgram.y"
4002     { (yyval.etree) = (yyvsp[(3) - (10)].etree); }
4003     break;
4004
4005   case 302:
4006 #line 1114 "ldgram.y"
4007     { (yyval.etree) = (yyvsp[(1) - (2)].etree); }
4008     break;
4009
4010   case 303:
4011 #line 1115 "ldgram.y"
4012     { (yyval.etree) = (etree_type *) NULL;  }
4013     break;
4014
4015   case 304:
4016 #line 1120 "ldgram.y"
4017     { (yyval.integer) = 0; }
4018     break;
4019
4020   case 305:
4021 #line 1122 "ldgram.y"
4022     { (yyval.integer) = 1; }
4023     break;
4024
4025   case 306:
4026 #line 1127 "ldgram.y"
4027     { (yyval.name) = (yyvsp[(2) - (2)].name); }
4028     break;
4029
4030   case 307:
4031 #line 1128 "ldgram.y"
4032     { (yyval.name) = DEFAULT_MEMORY_REGION; }
4033     break;
4034
4035   case 308:
4036 #line 1133 "ldgram.y"
4037     {
4038                   (yyval.section_phdr) = NULL;
4039                 }
4040     break;
4041
4042   case 309:
4043 #line 1137 "ldgram.y"
4044     {
4045                   struct lang_output_section_phdr_list *n;
4046
4047                   n = ((struct lang_output_section_phdr_list *)
4048                        xmalloc (sizeof *n));
4049                   n->name = (yyvsp[(3) - (3)].name);
4050                   n->used = FALSE;
4051                   n->next = (yyvsp[(1) - (3)].section_phdr);
4052                   (yyval.section_phdr) = n;
4053                 }
4054     break;
4055
4056   case 311:
4057 #line 1153 "ldgram.y"
4058     {
4059                           ldlex_script ();
4060                           lang_enter_overlay_section ((yyvsp[(2) - (2)].name));
4061                         }
4062     break;
4063
4064   case 312:
4065 #line 1158 "ldgram.y"
4066     { ldlex_popstate (); ldlex_expression (); }
4067     break;
4068
4069   case 313:
4070 #line 1160 "ldgram.y"
4071     {
4072                           ldlex_popstate ();
4073                           lang_leave_overlay_section ((yyvsp[(9) - (9)].fill), (yyvsp[(8) - (9)].section_phdr));
4074                         }
4075     break;
4076
4077   case 318:
4078 #line 1177 "ldgram.y"
4079     { ldlex_expression (); }
4080     break;
4081
4082   case 319:
4083 #line 1178 "ldgram.y"
4084     { ldlex_popstate (); }
4085     break;
4086
4087   case 320:
4088 #line 1180 "ldgram.y"
4089     {
4090                   lang_new_phdr ((yyvsp[(1) - (6)].name), (yyvsp[(3) - (6)].etree), (yyvsp[(4) - (6)].phdr).filehdr, (yyvsp[(4) - (6)].phdr).phdrs, (yyvsp[(4) - (6)].phdr).at,
4091                                  (yyvsp[(4) - (6)].phdr).flags);
4092                 }
4093     break;
4094
4095   case 321:
4096 #line 1188 "ldgram.y"
4097     {
4098                   (yyval.etree) = (yyvsp[(1) - (1)].etree);
4099
4100                   if ((yyvsp[(1) - (1)].etree)->type.node_class == etree_name
4101                       && (yyvsp[(1) - (1)].etree)->type.node_code == NAME)
4102                     {
4103                       const char *s;
4104                       unsigned int i;
4105                       static const char * const phdr_types[] =
4106                         {
4107                           "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
4108                           "PT_INTERP", "PT_NOTE", "PT_SHLIB",
4109                           "PT_PHDR", "PT_TLS"
4110                         };
4111
4112                       s = (yyvsp[(1) - (1)].etree)->name.name;
4113                       for (i = 0;
4114                            i < sizeof phdr_types / sizeof phdr_types[0];
4115                            i++)
4116                         if (strcmp (s, phdr_types[i]) == 0)
4117                           {
4118                             (yyval.etree) = exp_intop (i);
4119                             break;
4120                           }
4121                       if (i == sizeof phdr_types / sizeof phdr_types[0])
4122                         {
4123                           if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
4124                             (yyval.etree) = exp_intop (0x6474e550);
4125                           else if (strcmp (s, "PT_GNU_STACK") == 0)
4126                             (yyval.etree) = exp_intop (0x6474e551);
4127                           else
4128                             {
4129                               einfo (_("\
4130 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
4131                                      s);
4132                               (yyval.etree) = exp_intop (0);
4133                             }
4134                         }
4135                     }
4136                 }
4137     break;
4138
4139   case 322:
4140 #line 1232 "ldgram.y"
4141     {
4142                   memset (&(yyval.phdr), 0, sizeof (struct phdr_info));
4143                 }
4144     break;
4145
4146   case 323:
4147 #line 1236 "ldgram.y"
4148     {
4149                   (yyval.phdr) = (yyvsp[(3) - (3)].phdr);
4150                   if (strcmp ((yyvsp[(1) - (3)].name), "FILEHDR") == 0 && (yyvsp[(2) - (3)].etree) == NULL)
4151                     (yyval.phdr).filehdr = TRUE;
4152                   else if (strcmp ((yyvsp[(1) - (3)].name), "PHDRS") == 0 && (yyvsp[(2) - (3)].etree) == NULL)
4153                     (yyval.phdr).phdrs = TRUE;
4154                   else if (strcmp ((yyvsp[(1) - (3)].name), "FLAGS") == 0 && (yyvsp[(2) - (3)].etree) != NULL)
4155                     (yyval.phdr).flags = (yyvsp[(2) - (3)].etree);
4156                   else
4157                     einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), (yyvsp[(1) - (3)].name));
4158                 }
4159     break;
4160
4161   case 324:
4162 #line 1248 "ldgram.y"
4163     {
4164                   (yyval.phdr) = (yyvsp[(5) - (5)].phdr);
4165                   (yyval.phdr).at = (yyvsp[(3) - (5)].etree);
4166                 }
4167     break;
4168
4169   case 325:
4170 #line 1256 "ldgram.y"
4171     {
4172                   (yyval.etree) = NULL;
4173                 }
4174     break;
4175
4176   case 326:
4177 #line 1260 "ldgram.y"
4178     {
4179                   (yyval.etree) = (yyvsp[(2) - (3)].etree);
4180                 }
4181     break;
4182
4183   case 327:
4184 #line 1266 "ldgram.y"
4185     {
4186                   ldlex_version_file ();
4187                   PUSH_ERROR (_("dynamic list"));
4188                 }
4189     break;
4190
4191   case 328:
4192 #line 1271 "ldgram.y"
4193     {
4194                   ldlex_popstate ();
4195                   POP_ERROR ();
4196                 }
4197     break;
4198
4199   case 332:
4200 #line 1288 "ldgram.y"
4201     {
4202                   lang_append_dynamic_list ((yyvsp[(1) - (2)].versyms));
4203                 }
4204     break;
4205
4206   case 333:
4207 #line 1296 "ldgram.y"
4208     {
4209                   ldlex_version_file ();
4210                   PUSH_ERROR (_("VERSION script"));
4211                 }
4212     break;
4213
4214   case 334:
4215 #line 1301 "ldgram.y"
4216     {
4217                   ldlex_popstate ();
4218                   POP_ERROR ();
4219                 }
4220     break;
4221
4222   case 335:
4223 #line 1310 "ldgram.y"
4224     {
4225                   ldlex_version_script ();
4226                 }
4227     break;
4228
4229   case 336:
4230 #line 1314 "ldgram.y"
4231     {
4232                   ldlex_popstate ();
4233                 }
4234     break;
4235
4236   case 339:
4237 #line 1326 "ldgram.y"
4238     {
4239                   lang_register_vers_node (NULL, (yyvsp[(2) - (4)].versnode), NULL);
4240                 }
4241     break;
4242
4243   case 340:
4244 #line 1330 "ldgram.y"
4245     {
4246                   lang_register_vers_node ((yyvsp[(1) - (5)].name), (yyvsp[(3) - (5)].versnode), NULL);
4247                 }
4248     break;
4249
4250   case 341:
4251 #line 1334 "ldgram.y"
4252     {
4253                   lang_register_vers_node ((yyvsp[(1) - (6)].name), (yyvsp[(3) - (6)].versnode), (yyvsp[(5) - (6)].deflist));
4254                 }
4255     break;
4256
4257   case 342:
4258 #line 1341 "ldgram.y"
4259     {
4260                   (yyval.deflist) = lang_add_vers_depend (NULL, (yyvsp[(1) - (1)].name));
4261                 }
4262     break;
4263
4264   case 343:
4265 #line 1345 "ldgram.y"
4266     {
4267                   (yyval.deflist) = lang_add_vers_depend ((yyvsp[(1) - (2)].deflist), (yyvsp[(2) - (2)].name));
4268                 }
4269     break;
4270
4271   case 344:
4272 #line 1352 "ldgram.y"
4273     {
4274                   (yyval.versnode) = lang_new_vers_node (NULL, NULL);
4275                 }
4276     break;
4277
4278   case 345:
4279 #line 1356 "ldgram.y"
4280     {
4281                   (yyval.versnode) = lang_new_vers_node ((yyvsp[(1) - (2)].versyms), NULL);
4282                 }
4283     break;
4284
4285   case 346:
4286 #line 1360 "ldgram.y"
4287     {
4288                   (yyval.versnode) = lang_new_vers_node ((yyvsp[(3) - (4)].versyms), NULL);
4289                 }
4290     break;
4291
4292   case 347:
4293 #line 1364 "ldgram.y"
4294     {
4295                   (yyval.versnode) = lang_new_vers_node (NULL, (yyvsp[(3) - (4)].versyms));
4296                 }
4297     break;
4298
4299   case 348:
4300 #line 1368 "ldgram.y"
4301     {
4302                   (yyval.versnode) = lang_new_vers_node ((yyvsp[(3) - (8)].versyms), (yyvsp[(7) - (8)].versyms));
4303                 }
4304     break;
4305
4306   case 349:
4307 #line 1375 "ldgram.y"
4308     {
4309                   (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[(1) - (1)].name), ldgram_vers_current_lang, FALSE);
4310                 }
4311     break;
4312
4313   case 350:
4314 #line 1379 "ldgram.y"
4315     {
4316                   (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[(1) - (1)].name), ldgram_vers_current_lang, TRUE);
4317                 }
4318     break;
4319
4320   case 351:
4321 #line 1383 "ldgram.y"
4322     {
4323                   (yyval.versyms) = lang_new_vers_pattern ((yyvsp[(1) - (3)].versyms), (yyvsp[(3) - (3)].name), ldgram_vers_current_lang, FALSE);
4324                 }
4325     break;
4326
4327   case 352:
4328 #line 1387 "ldgram.y"
4329     {
4330                   (yyval.versyms) = lang_new_vers_pattern ((yyvsp[(1) - (3)].versyms), (yyvsp[(3) - (3)].name), ldgram_vers_current_lang, TRUE);
4331                 }
4332     break;
4333
4334   case 353:
4335 #line 1391 "ldgram.y"
4336     {
4337                           (yyval.name) = ldgram_vers_current_lang;
4338                           ldgram_vers_current_lang = (yyvsp[(4) - (5)].name);
4339                         }
4340     break;
4341
4342   case 354:
4343 #line 1396 "ldgram.y"
4344     {
4345                           struct bfd_elf_version_expr *pat;
4346                           for (pat = (yyvsp[(7) - (9)].versyms); pat->next != NULL; pat = pat->next);
4347                           pat->next = (yyvsp[(1) - (9)].versyms);
4348                           (yyval.versyms) = (yyvsp[(7) - (9)].versyms);
4349                           ldgram_vers_current_lang = (yyvsp[(6) - (9)].name);
4350                         }
4351     break;
4352
4353   case 355:
4354 #line 1404 "ldgram.y"
4355     {
4356                           (yyval.name) = ldgram_vers_current_lang;
4357                           ldgram_vers_current_lang = (yyvsp[(2) - (3)].name);
4358                         }
4359     break;
4360
4361   case 356:
4362 #line 1409 "ldgram.y"
4363     {
4364                           (yyval.versyms) = (yyvsp[(5) - (7)].versyms);
4365                           ldgram_vers_current_lang = (yyvsp[(4) - (7)].name);
4366                         }
4367     break;
4368
4369   case 357:
4370 #line 1414 "ldgram.y"
4371     {
4372                   (yyval.versyms) = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, FALSE);
4373                 }
4374     break;
4375
4376   case 358:
4377 #line 1418 "ldgram.y"
4378     {
4379                   (yyval.versyms) = lang_new_vers_pattern ((yyvsp[(1) - (3)].versyms), "global", ldgram_vers_current_lang, FALSE);
4380                 }
4381     break;
4382
4383   case 359:
4384 #line 1422 "ldgram.y"
4385     {
4386                   (yyval.versyms) = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, FALSE);
4387                 }
4388     break;
4389
4390   case 360:
4391 #line 1426 "ldgram.y"
4392     {
4393                   (yyval.versyms) = lang_new_vers_pattern ((yyvsp[(1) - (3)].versyms), "local", ldgram_vers_current_lang, FALSE);
4394                 }
4395     break;
4396
4397   case 361:
4398 #line 1430 "ldgram.y"
4399     {
4400                   (yyval.versyms) = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, FALSE);
4401                 }
4402     break;
4403
4404   case 362:
4405 #line 1434 "ldgram.y"
4406     {
4407                   (yyval.versyms) = lang_new_vers_pattern ((yyvsp[(1) - (3)].versyms), "extern", ldgram_vers_current_lang, FALSE);
4408                 }
4409     break;
4410
4411
4412 /* Line 1267 of yacc.c.  */
4413 #line 4414 "ldgram.c"
4414       default: break;
4415     }
4416   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4417
4418   YYPOPSTACK (yylen);
4419   yylen = 0;
4420   YY_STACK_PRINT (yyss, yyssp);
4421
4422   *++yyvsp = yyval;
4423
4424
4425   /* Now `shift' the result of the reduction.  Determine what state
4426      that goes to, based on the state we popped back to and the rule
4427      number reduced by.  */
4428
4429   yyn = yyr1[yyn];
4430
4431   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4432   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4433     yystate = yytable[yystate];
4434   else
4435     yystate = yydefgoto[yyn - YYNTOKENS];
4436
4437   goto yynewstate;
4438
4439
4440 /*------------------------------------.
4441 | yyerrlab -- here on detecting error |
4442 `------------------------------------*/
4443 yyerrlab:
4444   /* If not already recovering from an error, report this error.  */
4445   if (!yyerrstatus)
4446     {
4447       ++yynerrs;
4448 #if ! YYERROR_VERBOSE
4449       yyerror (YY_("syntax error"));
4450 #else
4451       {
4452         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4453         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4454           {
4455             YYSIZE_T yyalloc = 2 * yysize;
4456             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4457               yyalloc = YYSTACK_ALLOC_MAXIMUM;
4458             if (yymsg != yymsgbuf)
4459               YYSTACK_FREE (yymsg);
4460             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4461             if (yymsg)
4462               yymsg_alloc = yyalloc;
4463             else
4464               {
4465                 yymsg = yymsgbuf;
4466                 yymsg_alloc = sizeof yymsgbuf;
4467               }
4468           }
4469
4470         if (0 < yysize && yysize <= yymsg_alloc)
4471           {
4472             (void) yysyntax_error (yymsg, yystate, yychar);
4473             yyerror (yymsg);
4474           }
4475         else
4476           {
4477             yyerror (YY_("syntax error"));
4478             if (yysize != 0)
4479               goto yyexhaustedlab;
4480           }
4481       }
4482 #endif
4483     }
4484
4485
4486
4487   if (yyerrstatus == 3)
4488     {
4489       /* If just tried and failed to reuse look-ahead token after an
4490          error, discard it.  */
4491
4492       if (yychar <= YYEOF)
4493         {
4494           /* Return failure if at end of input.  */
4495           if (yychar == YYEOF)
4496             YYABORT;
4497         }
4498       else
4499         {
4500           yydestruct ("Error: discarding",
4501                       yytoken, &yylval);
4502           yychar = YYEMPTY;
4503         }
4504     }
4505
4506   /* Else will try to reuse look-ahead token after shifting the error
4507      token.  */
4508   goto yyerrlab1;
4509
4510
4511 /*---------------------------------------------------.
4512 | yyerrorlab -- error raised explicitly by YYERROR.  |
4513 `---------------------------------------------------*/
4514 yyerrorlab:
4515
4516   /* Pacify compilers like GCC when the user code never invokes
4517      YYERROR and the label yyerrorlab therefore never appears in user
4518      code.  */
4519   if (/*CONSTCOND*/ 0)
4520      goto yyerrorlab;
4521
4522   /* Do not reclaim the symbols of the rule which action triggered
4523      this YYERROR.  */
4524   YYPOPSTACK (yylen);
4525   yylen = 0;
4526   YY_STACK_PRINT (yyss, yyssp);
4527   yystate = *yyssp;
4528   goto yyerrlab1;
4529
4530
4531 /*-------------------------------------------------------------.
4532 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
4533 `-------------------------------------------------------------*/
4534 yyerrlab1:
4535   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
4536
4537   for (;;)
4538     {
4539       yyn = yypact[yystate];
4540       if (yyn != YYPACT_NINF)
4541         {
4542           yyn += YYTERROR;
4543           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
4544             {
4545               yyn = yytable[yyn];
4546               if (0 < yyn)
4547                 break;
4548             }
4549         }
4550
4551       /* Pop the current state because it cannot handle the error token.  */
4552       if (yyssp == yyss)
4553         YYABORT;
4554
4555
4556       yydestruct ("Error: popping",
4557                   yystos[yystate], yyvsp);
4558       YYPOPSTACK (1);
4559       yystate = *yyssp;
4560       YY_STACK_PRINT (yyss, yyssp);
4561     }
4562
4563   if (yyn == YYFINAL)
4564     YYACCEPT;
4565
4566   *++yyvsp = yylval;
4567
4568
4569   /* Shift the error token.  */
4570   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
4571
4572   yystate = yyn;
4573   goto yynewstate;
4574
4575
4576 /*-------------------------------------.
4577 | yyacceptlab -- YYACCEPT comes here.  |
4578 `-------------------------------------*/
4579 yyacceptlab:
4580   yyresult = 0;
4581   goto yyreturn;
4582
4583 /*-----------------------------------.
4584 | yyabortlab -- YYABORT comes here.  |
4585 `-----------------------------------*/
4586 yyabortlab:
4587   yyresult = 1;
4588   goto yyreturn;
4589
4590 #ifndef yyoverflow
4591 /*-------------------------------------------------.
4592 | yyexhaustedlab -- memory exhaustion comes here.  |
4593 `-------------------------------------------------*/
4594 yyexhaustedlab:
4595   yyerror (YY_("memory exhausted"));
4596   yyresult = 2;
4597   /* Fall through.  */
4598 #endif
4599
4600 yyreturn:
4601   if (yychar != YYEOF && yychar != YYEMPTY)
4602      yydestruct ("Cleanup: discarding lookahead",
4603                  yytoken, &yylval);
4604   /* Do not reclaim the symbols of the rule which action triggered
4605      this YYABORT or YYACCEPT.  */
4606   YYPOPSTACK (yylen);
4607   YY_STACK_PRINT (yyss, yyssp);
4608   while (yyssp != yyss)
4609     {
4610       yydestruct ("Cleanup: popping",
4611                   yystos[*yyssp], yyvsp);
4612       YYPOPSTACK (1);
4613     }
4614 #ifndef yyoverflow
4615   if (yyss != yyssa)
4616     YYSTACK_FREE (yyss);
4617 #endif
4618 #if YYERROR_VERBOSE
4619   if (yymsg != yymsgbuf)
4620     YYSTACK_FREE (yymsg);
4621 #endif
4622   /* Make sure YYID is used.  */
4623   return YYID (yyresult);
4624 }
4625
4626
4627 #line 1444 "ldgram.y"
4628
4629 void
4630 yyerror(arg)
4631      const char *arg;
4632 {
4633   if (ldfile_assumed_script)
4634     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
4635            ldfile_input_filename);
4636   if (error_index > 0 && error_index < ERROR_NAME_MAX)
4637      einfo ("%P%F:%S: %s in %s\n", arg, error_names[error_index-1]);
4638   else
4639      einfo ("%P%F:%S: %s\n", arg);
4640 }
4641