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