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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-binutils/] [binutils-2.19.1/] [ld/] [ldgram.c] - Blame information for rev 6

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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