OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [ld/] [ldgram.c] - Blame information for rev 252

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.