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