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