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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [ld/] [ldgram.c] - Blame information for rev 853

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

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

powered by: WebSVN 2.1.0

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