1 /* A Bison parser, made by GNU Bison 3.0.5. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "3.0.5"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 1
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62
63
64 /* Copy the first part of user declarations. */
65 #line 26 "yyscript.y" /* yacc.c:339 */
66
67
68 #include "config.h"
69
70 #include <stddef.h>
71 #include <stdint.h>
72 #include <stdlib.h>
73 #include <string.h>
74
75 #include "script-c.h"
76
77
78 #line 79 "yyscript.c" /* yacc.c:339 */
79
80 # ifndef YY_NULLPTR
81 # if defined __cplusplus && 201103L <= __cplusplus
82 # define YY_NULLPTR nullptr
83 # else
84 # define YY_NULLPTR 0
85 # endif
86 # endif
87
88 /* Enabling verbose error messages. */
89 #ifdef YYERROR_VERBOSE
90 # undef YYERROR_VERBOSE
91 # define YYERROR_VERBOSE 1
92 #else
93 # define YYERROR_VERBOSE 1
94 #endif
95
96 /* In a future release of Bison, this section will be replaced
97 by #include "y.tab.h". */
98 #ifndef YY_YY_YYSCRIPT_H_INCLUDED
99 # define YY_YY_YYSCRIPT_H_INCLUDED
100 /* Debug traces. */
101 #ifndef YYDEBUG
102 # define YYDEBUG 0
103 #endif
104 #if YYDEBUG
105 extern int yydebug;
106 #endif
107
108 /* Token type. */
109 #ifndef YYTOKENTYPE
110 # define YYTOKENTYPE
111 enum yytokentype
112 {
113 PLUSEQ = 258,
114 MINUSEQ = 259,
115 MULTEQ = 260,
116 DIVEQ = 261,
117 LSHIFTEQ = 262,
118 RSHIFTEQ = 263,
119 ANDEQ = 264,
120 OREQ = 265,
121 OROR = 266,
122 ANDAND = 267,
123 EQ = 268,
124 NE = 269,
125 LE = 270,
126 GE = 271,
127 LSHIFT = 272,
128 RSHIFT = 273,
129 UNARY = 274,
130 STRING = 275,
131 QUOTED_STRING = 276,
132 INTEGER = 277,
133 ABSOLUTE = 278,
134 ADDR = 279,
135 ALIGN_K = 280,
136 ALIGNOF = 281,
137 ASSERT_K = 282,
138 AS_NEEDED = 283,
139 AT = 284,
140 BIND = 285,
141 BLOCK = 286,
142 BYTE = 287,
143 CONSTANT = 288,
144 CONSTRUCTORS = 289,
145 COPY = 290,
146 CREATE_OBJECT_SYMBOLS = 291,
147 DATA_SEGMENT_ALIGN = 292,
148 DATA_SEGMENT_END = 293,
149 DATA_SEGMENT_RELRO_END = 294,
150 DEFINED = 295,
151 DSECT = 296,
152 ENTRY = 297,
153 EXCLUDE_FILE = 298,
154 EXTERN = 299,
155 FILL = 300,
156 FLOAT = 301,
157 FORCE_COMMON_ALLOCATION = 302,
158 GLOBAL = 303,
159 GROUP = 304,
160 HIDDEN = 305,
161 HLL = 306,
162 INCLUDE = 307,
163 INHIBIT_COMMON_ALLOCATION = 308,
164 INFO = 309,
165 INPUT = 310,
166 KEEP = 311,
167 LEN = 312,
168 LENGTH = 313,
169 LOADADDR = 314,
170 LOCAL = 315,
171 LONG = 316,
172 MAP = 317,
173 MAX_K = 318,
174 MEMORY = 319,
175 MIN_K = 320,
176 NEXT = 321,
177 NOCROSSREFS = 322,
178 NOFLOAT = 323,
179 NOLOAD = 324,
180 ONLY_IF_RO = 325,
181 ONLY_IF_RW = 326,
182 ORG = 327,
183 ORIGIN = 328,
184 OUTPUT = 329,
185 OUTPUT_ARCH = 330,
186 OUTPUT_FORMAT = 331,
187 OVERLAY = 332,
188 PHDRS = 333,
189 PROVIDE = 334,
190 PROVIDE_HIDDEN = 335,
191 QUAD = 336,
192 SEARCH_DIR = 337,
193 SECTIONS = 338,
194 SEGMENT_START = 339,
195 SHORT = 340,
196 SIZEOF = 341,
197 SIZEOF_HEADERS = 342,
198 SORT_BY_ALIGNMENT = 343,
199 SORT_BY_INIT_PRIORITY = 344,
200 SORT_BY_NAME = 345,
201 SPECIAL = 346,
202 SQUAD = 347,
203 STARTUP = 348,
204 SUBALIGN = 349,
205 SYSLIB = 350,
206 TARGET_K = 351,
207 TRUNCATE = 352,
208 VERSIONK = 353,
209 OPTION = 354,
210 PARSING_LINKER_SCRIPT = 355,
211 PARSING_VERSION_SCRIPT = 356,
212 PARSING_DEFSYM = 357,
213 PARSING_DYNAMIC_LIST = 358,
214 PARSING_SECTIONS_BLOCK = 359,
215 PARSING_SECTION_COMMANDS = 360,
216 PARSING_MEMORY_DEF = 361
217 };
218 #endif
219 /* Tokens. */
220 #define PLUSEQ 258
221 #define MINUSEQ 259
222 #define MULTEQ 260
223 #define DIVEQ 261
224 #define LSHIFTEQ 262
225 #define RSHIFTEQ 263
226 #define ANDEQ 264
227 #define OREQ 265
228 #define OROR 266
229 #define ANDAND 267
230 #define EQ 268
231 #define NE 269
232 #define LE 270
233 #define GE 271
234 #define LSHIFT 272
235 #define RSHIFT 273
236 #define UNARY 274
237 #define STRING 275
238 #define QUOTED_STRING 276
239 #define INTEGER 277
240 #define ABSOLUTE 278
241 #define ADDR 279
242 #define ALIGN_K 280
243 #define ALIGNOF 281
244 #define ASSERT_K 282
245 #define AS_NEEDED 283
246 #define AT 284
247 #define BIND 285
248 #define BLOCK 286
249 #define BYTE 287
250 #define CONSTANT 288
251 #define CONSTRUCTORS 289
252 #define COPY 290
253 #define CREATE_OBJECT_SYMBOLS 291
254 #define DATA_SEGMENT_ALIGN 292
255 #define DATA_SEGMENT_END 293
256 #define DATA_SEGMENT_RELRO_END 294
257 #define DEFINED 295
258 #define DSECT 296
259 #define ENTRY 297
260 #define EXCLUDE_FILE 298
261 #define EXTERN 299
262 #define FILL 300
263 #define FLOAT 301
264 #define FORCE_COMMON_ALLOCATION 302
265 #define GLOBAL 303
266 #define GROUP 304
267 #define HIDDEN 305
268 #define HLL 306
269 #define INCLUDE 307
270 #define INHIBIT_COMMON_ALLOCATION 308
271 #define INFO 309
272 #define INPUT 310
273 #define KEEP 311
274 #define LEN 312
275 #define LENGTH 313
276 #define LOADADDR 314
277 #define LOCAL 315
278 #define LONG 316
279 #define MAP 317
280 #define MAX_K 318
281 #define MEMORY 319
282 #define MIN_K 320
283 #define NEXT 321
284 #define NOCROSSREFS 322
285 #define NOFLOAT 323
286 #define NOLOAD 324
287 #define ONLY_IF_RO 325
288 #define ONLY_IF_RW 326
289 #define ORG 327
290 #define ORIGIN 328
291 #define OUTPUT 329
292 #define OUTPUT_ARCH 330
293 #define OUTPUT_FORMAT 331
294 #define OVERLAY 332
295 #define PHDRS 333
296 #define PROVIDE 334
297 #define PROVIDE_HIDDEN 335
298 #define QUAD 336
299 #define SEARCH_DIR 337
300 #define SECTIONS 338
301 #define SEGMENT_START 339
302 #define SHORT 340
303 #define SIZEOF 341
304 #define SIZEOF_HEADERS 342
305 #define SORT_BY_ALIGNMENT 343
306 #define SORT_BY_INIT_PRIORITY 344
307 #define SORT_BY_NAME 345
308 #define SPECIAL 346
309 #define SQUAD 347
310 #define STARTUP 348
311 #define SUBALIGN 349
312 #define SYSLIB 350
313 #define TARGET_K 351
314 #define TRUNCATE 352
315 #define VERSIONK 353
316 #define OPTION 354
317 #define PARSING_LINKER_SCRIPT 355
318 #define PARSING_VERSION_SCRIPT 356
319 #define PARSING_DEFSYM 357
320 #define PARSING_DYNAMIC_LIST 358
321 #define PARSING_SECTIONS_BLOCK 359
322 #define PARSING_SECTION_COMMANDS 360
323 #define PARSING_MEMORY_DEF 361
324
325 /* Value type. */
326 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
327
328 union YYSTYPE
329 {
330 #line 53 "yyscript.y" /* yacc.c:355 */
331
332 /* A string. */
333 struct Parser_string string;
334 /* A number. */
335 uint64_t integer;
336 /* An expression. */
337 Expression_ptr expr;
338 /* An output section header. */
339 struct Parser_output_section_header output_section_header;
340 /* An output section trailer. */
341 struct Parser_output_section_trailer output_section_trailer;
342 /* A section constraint. */
343 enum Section_constraint constraint;
344 /* A complete input section specification. */
345 struct Input_section_spec input_section_spec;
346 /* A list of wildcard specifications, with exclusions. */
347 struct Wildcard_sections wildcard_sections;
348 /* A single wildcard specification. */
349 struct Wildcard_section wildcard_section;
350 /* A list of strings. */
351 String_list_ptr string_list;
352 /* Information for a program header. */
353 struct Phdr_info phdr_info;
354 /* Used for version scripts and within VERSION {}. */
355 struct Version_dependency_list* deplist;
356 struct Version_expression_list* versyms;
357 struct Version_tree* versnode;
358 enum Script_section_type section_type;
359
360 #line 361 "yyscript.c" /* yacc.c:355 */
361 };
362
363 typedef union YYSTYPE YYSTYPE;
364 # define YYSTYPE_IS_TRIVIAL 1
365 # define YYSTYPE_IS_DECLARED 1
366 #endif
367
368
369
370 int yyparse (void* closure);
371
372 #endif /* !YY_YY_YYSCRIPT_H_INCLUDED */
373
374 /* Copy the second part of user declarations. */
375
376 #line 377 "yyscript.c" /* yacc.c:358 */
377
378 #ifdef short
379 # undef short
380 #endif
381
382 #ifdef YYTYPE_UINT8
383 typedef YYTYPE_UINT8 yytype_uint8;
384 #else
385 typedef unsigned char yytype_uint8;
386 #endif
387
388 #ifdef YYTYPE_INT8
389 typedef YYTYPE_INT8 yytype_int8;
390 #else
391 typedef signed char yytype_int8;
392 #endif
393
394 #ifdef YYTYPE_UINT16
395 typedef YYTYPE_UINT16 yytype_uint16;
396 #else
397 typedef unsigned short int yytype_uint16;
398 #endif
399
400 #ifdef YYTYPE_INT16
401 typedef YYTYPE_INT16 yytype_int16;
402 #else
403 typedef short int yytype_int16;
404 #endif
405
406 #ifndef YYSIZE_T
407 # ifdef __SIZE_TYPE__
408 # define YYSIZE_T __SIZE_TYPE__
409 # elif defined size_t
410 # define YYSIZE_T size_t
411 # elif ! defined YYSIZE_T
412 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
413 # define YYSIZE_T size_t
414 # else
415 # define YYSIZE_T unsigned int
416 # endif
417 #endif
418
419 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
420
421 #ifndef YY_
422 # if defined YYENABLE_NLS && YYENABLE_NLS
423 # if ENABLE_NLS
424 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
425 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
426 # endif
427 # endif
428 # ifndef YY_
429 # define YY_(Msgid) Msgid
430 # endif
431 #endif
432
433 #ifndef YY_ATTRIBUTE
434 # if (defined __GNUC__ \
435 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
436 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
437 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
438 # else
439 # define YY_ATTRIBUTE(Spec) /* empty */
440 # endif
441 #endif
442
443 #ifndef YY_ATTRIBUTE_PURE
444 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
445 #endif
446
447 #ifndef YY_ATTRIBUTE_UNUSED
448 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
449 #endif
450
451 #if !defined _Noreturn \
452 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
453 # if defined _MSC_VER && 1200 <= _MSC_VER
454 # define _Noreturn __declspec (noreturn)
455 # else
456 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
457 # endif
458 #endif
459
460 /* Suppress unused-variable warnings by "using" E. */
461 #if ! defined lint || defined __GNUC__
462 # define YYUSE(E) ((void) (E))
463 #else
464 # define YYUSE(E) /* empty */
465 #endif
466
467 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
468 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
469 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
470 _Pragma ("GCC diagnostic push") \
471 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
472 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
473 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
474 _Pragma ("GCC diagnostic pop")
475 #else
476 # define YY_INITIAL_VALUE(Value) Value
477 #endif
478 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
479 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
480 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
481 #endif
482 #ifndef YY_INITIAL_VALUE
483 # define YY_INITIAL_VALUE(Value) /* Nothing. */
484 #endif
485
486
487 #if ! defined yyoverflow || YYERROR_VERBOSE
488
489 /* The parser invokes alloca or malloc; define the necessary symbols. */
490
491 # ifdef YYSTACK_USE_ALLOCA
492 # if YYSTACK_USE_ALLOCA
493 # ifdef __GNUC__
494 # define YYSTACK_ALLOC __builtin_alloca
495 # elif defined __BUILTIN_VA_ARG_INCR
496 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
497 # elif defined _AIX
498 # define YYSTACK_ALLOC __alloca
499 # elif defined _MSC_VER
500 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
501 # define alloca _alloca
502 # else
503 # define YYSTACK_ALLOC alloca
504 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
505 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
506 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
507 # ifndef EXIT_SUCCESS
508 # define EXIT_SUCCESS 0
509 # endif
510 # endif
511 # endif
512 # endif
513 # endif
514
515 # ifdef YYSTACK_ALLOC
516 /* Pacify GCC's 'empty if-body' warning. */
517 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
518 # ifndef YYSTACK_ALLOC_MAXIMUM
519 /* The OS might guarantee only one guard page at the bottom of the stack,
520 and a page size can be as small as 4096 bytes. So we cannot safely
521 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
522 to allow for a few compiler-allocated temporary stack slots. */
523 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
524 # endif
525 # else
526 # define YYSTACK_ALLOC YYMALLOC
527 # define YYSTACK_FREE YYFREE
528 # ifndef YYSTACK_ALLOC_MAXIMUM
529 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
530 # endif
531 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
532 && ! ((defined YYMALLOC || defined malloc) \
533 && (defined YYFREE || defined free)))
534 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
535 # ifndef EXIT_SUCCESS
536 # define EXIT_SUCCESS 0
537 # endif
538 # endif
539 # ifndef YYMALLOC
540 # define YYMALLOC malloc
541 # if ! defined malloc && ! defined EXIT_SUCCESS
542 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
543 # endif
544 # endif
545 # ifndef YYFREE
546 # define YYFREE free
547 # if ! defined free && ! defined EXIT_SUCCESS
548 void free (void *); /* INFRINGES ON USER NAME SPACE */
549 # endif
550 # endif
551 # endif
552 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
553
554
555 #if (! defined yyoverflow \
556 && (! defined __cplusplus \
557 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
558
559 /* A type that is properly aligned for any stack member. */
560 union yyalloc
561 {
562 yytype_int16 yyss_alloc;
563 YYSTYPE yyvs_alloc;
564 };
565
566 /* The size of the maximum gap between one aligned stack and the next. */
567 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
568
569 /* The size of an array large to enough to hold all stacks, each with
570 N elements. */
571 # define YYSTACK_BYTES(N) \
572 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
573 + YYSTACK_GAP_MAXIMUM)
574
575 # define YYCOPY_NEEDED 1
576
577 /* Relocate STACK from its old location to the new one. The
578 local variables YYSIZE and YYSTACKSIZE give the old and new number of
579 elements in the stack, and YYPTR gives the new location of the
580 stack. Advance YYPTR to a properly aligned location for the next
581 stack. */
582 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
583 do \
584 { \
585 YYSIZE_T yynewbytes; \
586 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
587 Stack = &yyptr->Stack_alloc; \
588 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
589 yyptr += yynewbytes / sizeof (*yyptr); \
590 } \
591 while (0)
592
593 #endif
594
595 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
596 /* Copy COUNT objects from SRC to DST. The source and destination do
597 not overlap. */
598 # ifndef YYCOPY
599 # if defined __GNUC__ && 1 < __GNUC__
600 # define YYCOPY(Dst, Src, Count) \
601 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
602 # else
603 # define YYCOPY(Dst, Src, Count) \
604 do \
605 { \
606 YYSIZE_T yyi; \
607 for (yyi = 0; yyi < (Count); yyi++) \
608 (Dst)[yyi] = (Src)[yyi]; \
609 } \
610 while (0)
611 # endif
612 # endif
613 #endif /* !YYCOPY_NEEDED */
614
615 /* YYFINAL -- State number of the termination state. */
616 #define YYFINAL 26
617 /* YYLAST -- Last index in YYTABLE. */
618 #define YYLAST 1465
619
620 /* YYNTOKENS -- Number of terminals. */
621 #define YYNTOKENS 130
622 /* YYNNTS -- Number of nonterminals. */
623 #define YYNNTS 70
624 /* YYNRULES -- Number of rules. */
625 #define YYNRULES 241
626 /* YYNSTATES -- Number of states. */
627 #define YYNSTATES 555
628
629 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
630 by yylex, with out-of-bounds checking. */
631 #define YYUNDEFTOK 2
632 #define YYMAXUTOK 361
633
634 #define YYTRANSLATE(YYX) \
635 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
636
637 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
638 as returned by yylex, without out-of-bounds checking. */
639 static const yytype_uint8 yytranslate[] =
640 {
641 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 126, 2, 2, 2, 31, 18, 2,
645 120, 121, 29, 27, 124, 28, 2, 30, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 13, 125,
647 21, 7, 22, 12, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 17, 2, 2, 2, 2, 2,
651 2, 2, 2, 2, 2, 2, 2, 2, 128, 2,
652 2, 127, 2, 2, 2, 2, 2, 2, 2, 2,
653 2, 2, 2, 122, 16, 123, 129, 2, 2, 2,
654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
666 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
667 5, 6, 8, 9, 10, 11, 14, 15, 19, 20,
668 23, 24, 25, 26, 32, 33, 34, 35, 36, 37,
669 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
670 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
671 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
672 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
673 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
674 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
675 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
676 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
677 118, 119
678 };
679
680 #if YYDEBUG
681 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
682 static const yytype_uint16 yyrline[] =
683 {
684 0, 236, 236, 237, 238, 239, 240, 241, 242, 247,
685 248, 253, 254, 257, 256, 260, 262, 263, 264, 266,
686 272, 279, 280, 283, 282, 286, 289, 288, 292, 294,
687 295, 297, 300, 301, 309, 317, 317, 323, 325, 327,
688 333, 334, 339, 341, 344, 343, 351, 352, 357, 359,
689 360, 362, 366, 365, 374, 376, 374, 393, 398, 403,
690 408, 413, 418, 427, 429, 434, 439, 444, 454, 455,
691 462, 463, 470, 471, 478, 479, 481, 483, 489, 498,
692 500, 505, 507, 512, 515, 521, 524, 529, 531, 537,
693 538, 539, 541, 543, 545, 552, 553, 556, 562, 564,
694 566, 568, 570, 577, 579, 585, 592, 601, 606, 615,
695 620, 625, 630, 639, 644, 663, 682, 691, 693, 700,
696 702, 707, 716, 717, 722, 725, 728, 733, 736, 739,
697 743, 745, 747, 751, 753, 755, 760, 761, 766, 775,
698 777, 784, 785, 793, 798, 809, 818, 820, 826, 832,
699 838, 844, 850, 856, 862, 868, 870, 872, 878, 878,
700 888, 890, 892, 894, 896, 898, 900, 902, 904, 906,
701 908, 910, 912, 914, 916, 918, 920, 922, 924, 926,
702 928, 930, 932, 934, 936, 938, 940, 942, 944, 946,
703 948, 950, 952, 954, 956, 958, 960, 962, 964, 966,
704 968, 970, 975, 980, 982, 990, 996, 1006, 1009, 1010,
705 1014, 1020, 1024, 1025, 1029, 1033, 1038, 1045, 1049, 1057,
706 1058, 1060, 1062, 1064, 1073, 1078, 1083, 1088, 1095, 1094,
707 1105, 1104, 1111, 1116, 1126, 1128, 1135, 1136, 1141, 1142,
708 1147, 1148
709 };
710 #endif
711
712 #if YYDEBUG || YYERROR_VERBOSE || 1
713 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
714 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
715 static const char *const yytname[] =
716 {
717 "$end", "error", "$undefined", "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ",
718 "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", "OREQ", "'?'", "':'", "OROR",
719 "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", "'<'", "'>'", "LE", "GE",
720 "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'", "UNARY", "STRING",
721 "QUOTED_STRING", "INTEGER", "ABSOLUTE", "ADDR", "ALIGN_K", "ALIGNOF",
722 "ASSERT_K", "AS_NEEDED", "AT", "BIND", "BLOCK", "BYTE", "CONSTANT",
723 "CONSTRUCTORS", "COPY", "CREATE_OBJECT_SYMBOLS", "DATA_SEGMENT_ALIGN",
724 "DATA_SEGMENT_END", "DATA_SEGMENT_RELRO_END", "DEFINED", "DSECT",
725 "ENTRY", "EXCLUDE_FILE", "EXTERN", "FILL", "FLOAT",
726 "FORCE_COMMON_ALLOCATION", "GLOBAL", "GROUP", "HIDDEN", "HLL", "INCLUDE",
727 "INHIBIT_COMMON_ALLOCATION", "INFO", "INPUT", "KEEP", "LEN", "LENGTH",
728 "LOADADDR", "LOCAL", "LONG", "MAP", "MAX_K", "MEMORY", "MIN_K", "NEXT",
729 "NOCROSSREFS", "NOFLOAT", "NOLOAD", "ONLY_IF_RO", "ONLY_IF_RW", "ORG",
730 "ORIGIN", "OUTPUT", "OUTPUT_ARCH", "OUTPUT_FORMAT", "OVERLAY", "PHDRS",
731 "PROVIDE", "PROVIDE_HIDDEN", "QUAD", "SEARCH_DIR", "SECTIONS",
732 "SEGMENT_START", "SHORT", "SIZEOF", "SIZEOF_HEADERS",
733 "SORT_BY_ALIGNMENT", "SORT_BY_INIT_PRIORITY", "SORT_BY_NAME", "SPECIAL",
734 "SQUAD", "STARTUP", "SUBALIGN", "SYSLIB", "TARGET_K", "TRUNCATE",
735 "VERSIONK", "OPTION", "PARSING_LINKER_SCRIPT", "PARSING_VERSION_SCRIPT",
736 "PARSING_DEFSYM", "PARSING_DYNAMIC_LIST", "PARSING_SECTIONS_BLOCK",
737 "PARSING_SECTION_COMMANDS", "PARSING_MEMORY_DEF", "'('", "')'", "'{'",
738 "'}'", "','", "';'", "'!'", "'o'", "'l'", "'~'", "$accept", "top",
739 "linker_script", "file_cmd", "$@1", "$@2", "$@3", "ignore_cmd",
740 "extern_name_list", "$@4", "extern_name_list_body", "input_list",
741 "input_list_element", "$@5", "sections_block", "section_block_cmd",
742 "$@6", "section_header", "$@7", "$@8", "opt_address_and_section_type",
743 "section_type", "opt_at", "opt_align", "opt_subalign", "opt_constraint",
744 "section_trailer", "opt_memspec", "opt_at_memspec", "opt_phdr",
745 "opt_fill", "section_cmds", "section_cmd", "data_length",
746 "input_section_spec", "input_section_no_keep", "wildcard_file",
747 "wildcard_sections", "wildcard_section", "exclude_names",
748 "wildcard_name", "memory_defs", "memory_def", "memory_attr",
749 "memory_origin", "memory_length", "phdrs_defs", "phdr_def", "phdr_type",
750 "phdr_info", "assignment", "parse_exp", "$@9", "exp", "defsym_expr",
751 "dynamic_list_expr", "dynamic_list_nodes", "dynamic_list_node",
752 "version_script", "vers_nodes", "vers_node", "verdep", "vers_tag",
753 "vers_defns", "$@10", "$@11", "string", "end", "opt_semicolon",
754 "opt_comma", YY_NULLPTR
755 };
756 #endif
757
758 # ifdef YYPRINT
759 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
760 (internal) symbol number NUM (which must be that of a token). */
761 static const yytype_uint16 yytoknum[] =
762 {
763 0, 256, 257, 258, 259, 260, 261, 61, 262, 263,
764 264, 265, 63, 58, 266, 267, 124, 94, 38, 268,
765 269, 60, 62, 270, 271, 272, 273, 43, 45, 42,
766 47, 37, 274, 275, 276, 277, 278, 279, 280, 281,
767 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
768 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
769 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
770 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
771 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
772 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
773 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
774 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
775 40, 41, 123, 125, 44, 59, 33, 111, 108, 126
776 };
777 # endif
778
779 #define YYPACT_NINF -423
780
781 #define yypact_value_is_default(Yystate) \
782 (!!((Yystate) == (-423)))
783
784 #define YYTABLE_NINF -120
785
786 #define yytable_value_is_error(Yytable_value) \
787 0
788
789 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
790 STATE-NUM. */
791 static const yytype_int16 yypact[] =
792 {
793 365, -423, 81, 214, -112, -423, -423, -423, 14, 1300,
794 -423, -423, 33, -423, 81, -423, -93, -423, 52, 103,
795 -423, -112, -423, 177, 568, 9, -423, -37, -28, -1,
796 -423, -423, 15, 214, -423, 19, -69, 60, 62, 1,
797 64, 80, 82, 73, 84, 90, 86, -423, -423, -423,
798 136, 318, -423, -423, 214, 208, 217, 104, 108, -423,
799 33, -423, 113, -423, 132, 155, 214, -423, 136, 318,
800 -423, -423, 157, -423, -423, 160, 214, 162, -423, -423,
801 -423, 168, -423, -423, -423, 169, -423, -423, 174, -423,
802 136, 38, -423, 92, -423, 214, -423, 195, 214, -423,
803 231, -423, 214, 214, -423, 214, 214, 214, -423, 214,
804 -423, 214, -423, -423, -423, -423, -423, -423, -423, -423,
805 -423, -423, -423, -423, 151, 103, 103, 192, 159, 156,
806 -423, 1253, 21, -423, 214, -423, -423, -423, 137, -423,
807 -423, -423, 39, 422, -423, 46, -423, 214, -423, 199,
808 207, 215, 220, 214, 231, 341, 316, -423, -40, -423,
809 -423, 144, 229, 3, 36, 345, 346, 264, -423, 266,
810 81, 267, -423, -423, -423, -423, -423, -423, -423, -423,
811 -423, -423, 269, 270, -423, -423, -423, 214, -17, 1253,
812 1253, -423, 271, 272, 276, 279, 280, 305, 306, 309,
813 310, 312, 322, 323, 324, 330, 332, 333, 337, 339,
814 -423, 1253, 1253, 1253, 1434, -423, 335, 265, 340, 343,
815 -423, 1156, 420, 1151, 350, 349, 355, 364, 356, 374,
816 375, -423, 376, 397, 398, 399, 400, 7, -423, -423,
817 -423, -10, 508, 214, -423, -423, -6, -423, 70, -423,
818 -423, 402, -423, 231, -423, -423, -423, 214, -423, -423,
819 300, -423, -423, -423, 191, -423, 401, -423, 103, 96,
820 159, 403, -423, -8, -423, -423, -423, 1253, 214, 1253,
821 214, 1253, 1253, 214, 1253, 1253, 1253, 214, 214, 214,
822 1253, 1253, 214, 214, 214, 281, -423, -423, 1253, 1253,
823 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
824 1253, 1253, 1253, 1253, 1253, 1253, 1253, -423, 214, -423,
825 -423, -423, -423, -423, -423, -423, 510, 406, 408, 491,
826 -423, 153, 214, -423, 216, -423, -423, -423, -423, 216,
827 53, 216, 53, -423, 412, 214, 410, -67, 413, 214,
828 -423, -423, 416, 231, -423, 415, -423, 29, -423, 421,
829 426, -423, -423, 405, 535, -423, -423, -423, 825, 430,
830 342, 431, 392, 862, 432, 714, 882, 751, 433, 434,
831 435, 771, 791, 455, 454, 458, -423, 1414, 731, 841,
832 948, 481, 562, 353, 353, 463, 463, 463, 463, 409,
833 409, 315, 315, -423, -423, -423, 474, 565, -423, 583,
834 1253, 480, 496, 591, 485, 486, 75, -423, 488, 490,
835 493, 497, -423, 495, -423, -423, -423, -423, 611, -423,
836 -423, -423, 98, 214, 499, 29, 500, 43, -423, -423,
837 159, 498, 103, 103, -423, -423, -423, 1253, -423, 214,
838 -423, -423, 1253, -423, 1253, -423, -423, -423, 1253, 1253,
839 -423, 1253, -423, 1253, -423, 598, -423, 902, 1253, 502,
840 -423, -423, 614, -423, -423, 216, -423, -423, -423, 216,
841 -423, -423, -423, 503, -423, -423, -423, 594, -423, -423,
842 507, 405, 933, 514, 970, 990, 1010, 1041, 1078, 1434,
843 214, -423, 596, -423, 1098, 1253, 114, -423, -423, 105,
844 512, -423, 519, 520, 159, 521, -423, -423, -423, -423,
845 -423, -423, -423, -423, 621, -423, -423, 1118, -423, -423,
846 -423, -423, -423, 18, 29, 29, -423, 214, 154, -423,
847 -423, -423, -423, 638, -423, -423, -423, -423, 214, 512,
848 -423, -423, -423, -423, -423
849 };
850
851 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
852 Performed when YYTABLE does not specify something else to do. Zero
853 means the default is an error. */
854 static const yytype_uint8 yydefact[] =
855 {
856 0, 10, 0, 0, 0, 47, 87, 123, 0, 2,
857 234, 235, 219, 3, 211, 212, 0, 4, 0, 0,
858 5, 207, 208, 6, 7, 241, 1, 0, 0, 0,
859 12, 13, 0, 0, 15, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 33, 9, 32,
861 0, 0, 224, 225, 232, 0, 0, 0, 0, 213,
862 219, 158, 0, 209, 0, 0, 0, 46, 0, 54,
863 121, 120, 0, 102, 94, 0, 0, 0, 100, 98,
864 101, 0, 99, 97, 88, 0, 90, 103, 0, 107,
865 0, 105, 240, 126, 158, 0, 35, 0, 0, 31,
866 0, 123, 0, 0, 137, 0, 0, 0, 23, 0,
867 26, 0, 237, 236, 29, 158, 158, 158, 158, 158,
868 158, 158, 158, 158, 0, 0, 0, 0, 220, 0,
869 206, 0, 0, 158, 0, 51, 49, 52, 0, 158,
870 158, 96, 0, 0, 158, 0, 89, 0, 122, 129,
871 0, 0, 0, 0, 0, 0, 0, 44, 241, 40,
872 42, 241, 0, 0, 0, 0, 0, 0, 47, 0,
873 0, 0, 147, 148, 149, 150, 146, 151, 152, 153,
874 154, 228, 0, 0, 214, 226, 227, 233, 0, 0,
875 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 189, 0, 0, 0, 159, 185, 0, 0, 0, 0,
878 57, 0, 68, 0, 0, 0, 0, 0, 105, 0,
879 0, 119, 0, 0, 0, 0, 0, 241, 110, 113,
880 125, 0, 0, 0, 28, 11, 36, 37, 241, 158,
881 43, 0, 16, 0, 17, 34, 19, 0, 21, 136,
882 0, 158, 158, 22, 0, 25, 0, 18, 0, 221,
883 222, 0, 215, 0, 217, 164, 161, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 162, 163, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 210, 0, 48,
888 87, 65, 64, 66, 63, 67, 0, 0, 0, 70,
889 59, 0, 0, 93, 0, 104, 95, 108, 91, 0,
890 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
891 38, 14, 0, 0, 41, 0, 140, 141, 139, 0,
892 0, 24, 27, 239, 0, 230, 216, 218, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 160, 0, 182, 181,
895 180, 179, 178, 172, 173, 176, 177, 174, 175, 170,
896 171, 168, 169, 165, 166, 167, 0, 0, 58, 0,
897 0, 0, 72, 0, 0, 0, 241, 118, 0, 0,
898 0, 0, 109, 0, 127, 131, 130, 132, 0, 30,
899 39, 155, 241, 0, 0, 141, 0, 141, 156, 157,
900 238, 0, 0, 0, 197, 192, 198, 0, 190, 0,
901 200, 196, 0, 203, 0, 188, 195, 193, 0, 0,
902 194, 0, 191, 0, 50, 80, 61, 0, 0, 0,
903 55, 60, 0, 92, 112, 0, 115, 116, 114, 0,
904 128, 158, 45, 0, 158, 143, 138, 0, 142, 229,
905 0, 239, 0, 0, 0, 0, 0, 0, 0, 183,
906 0, 53, 82, 69, 0, 0, 74, 62, 117, 241,
907 241, 20, 0, 0, 223, 0, 199, 205, 201, 202,
908 186, 187, 204, 79, 0, 84, 71, 0, 75, 76,
909 77, 56, 111, 0, 141, 141, 231, 0, 86, 73,
910 134, 133, 135, 0, 145, 144, 81, 158, 0, 241,
911 158, 85, 83, 78, 124
912 };
913
914 /* YYPGOTO[NTERM-NUM]. */
915 static const yytype_int16 yypgoto[] =
916 {
917 -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
918 -423, -148, 393, -423, 479, -423, -423, -423, -423, -423,
919 -423, 317, -423, -423, -423, -423, -423, -423, -423, -423,
920 -423, 329, -423, -423, -423, 509, -423, -423, -245, 171,
921 -21, 551, -423, -423, -423, -423, -423, -423, -423, -422,
922 -4, -83, -423, 259, -423, -423, -423, 632, 484, -423,
923 641, -423, 604, -15, -423, -423, -2, -60, 165, -23
924 };
925
926 /* YYDEFGOTO[NTERM-NUM]. */
927 static const yytype_int16 yydefgoto[] =
928 {
929 -1, 8, 9, 48, 97, 168, 170, 49, 152, 153,
930 246, 158, 159, 251, 23, 67, 219, 137, 138, 506,
931 222, 327, 329, 412, 470, 531, 501, 502, 525, 538,
932 549, 24, 84, 85, 86, 87, 88, 237, 238, 416,
933 239, 25, 148, 242, 428, 543, 164, 259, 357, 436,
934 68, 130, 131, 295, 17, 20, 21, 22, 13, 14,
935 15, 273, 57, 58, 268, 443, 215, 114, 441, 253
936 };
937
938 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
939 positive, shift that token. If negative, reduce the rule whose
940 number is the opposite. If YYTABLE_NINF, syntax error. */
941 static const yytype_int16 yytable[] =
942 {
943 16, 18, 93, 89, 62, 50, 248, 51, 136, -8,
944 19, 150, 16, 485, 26, 488, 10, 11, 425, 426,
945 90, 69, 91, 10, 11, 10, 11, 10, 11, 60,
946 146, 99, 172, 173, 174, 175, 176, 177, 178, 179,
947 180, 115, 116, 117, 118, 119, 120, 121, 122, 123,
948 217, 70, 124, 101, 185, 186, 224, 225, 70, 61,
949 427, 232, 10, 11, 135, 70, 52, 53, 71, 10,
950 11, 434, 10, 11, 141, 71, 10, 11, 187, 10,
951 11, 252, 71, 94, 92, 434, 10, 11, 540, 541,
952 54, 149, 95, 151, 55, 418, 155, 420, 160, 422,
953 162, 163, 233, 165, 166, 167, 56, 169, 272, 171,
954 182, 183, 544, 545, 10, 11, 345, 366, 349, 96,
955 435, 89, 230, 104, 256, 10, 11, 257, 343, 185,
956 186, 92, 218, 92, 435, 98, 52, 53, 93, 100,
957 228, 231, 226, 231, 216, 240, 542, 234, 235, 236,
958 220, 247, 160, 187, 234, 235, 236, 147, -119, 258,
959 54, 547, 260, 487, 189, 190, 352, 548, 16, 364,
960 10, 11, 191, 192, 193, 194, 195, 196, 359, 360,
961 102, 197, 103, 198, 105, 271, 274, 199, 200, 201,
962 202, 351, 185, 186, 92, 108, 474, 528, 529, 92,
963 106, 321, 107, 12, 109, 432, 111, 322, 203, 204,
964 10, 11, 110, 205, 344, 206, 187, 64, 530, 482,
965 323, 125, 92, 207, 10, 11, 532, 127, 70, 92,
966 126, 64, 65, 128, 208, 324, 209, 210, 132, 346,
967 32, 348, 66, 325, 350, 71, 65, 10, 11, 10,
968 11, 160, 133, 363, 32, 355, 66, 221, 358, 156,
969 112, 113, 69, 212, 10, 11, 213, 254, 92, 40,
970 41, 367, 157, 181, 413, 134, 369, 139, 371, 188,
971 140, 374, 142, 40, 41, 378, 379, 380, 143, 144,
972 383, 384, 385, 298, 145, 299, 300, 301, 302, 303,
973 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
974 314, 315, 316, 230, 361, 154, 406, 184, 417, 241,
975 419, 115, 116, 117, 118, 119, 120, 121, 122, 123,
976 415, 243, 231, 10, 11, 356, 244, 231, 231, 231,
977 231, 245, 231, 423, 314, 315, 316, 430, 249, 250,
978 255, 160, 261, 262, 298, 437, 299, 300, 301, 302,
979 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
980 313, 314, 315, 316, 306, 307, 308, 309, 310, 311,
981 312, 313, 314, 315, 316, 263, 89, 265, 267, 318,
982 214, 277, 278, 475, 269, 270, 279, 223, 510, 280,
983 281, 512, 386, 90, 298, 91, 299, 300, 301, 302,
984 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
985 313, 314, 315, 316, 70, 282, 283, 490, 491, 284,
986 285, 483, 286, 437, 70, 437, 312, 313, 314, 315,
987 316, 71, 287, 288, 289, 10, 11, 493, 275, 276,
988 290, 71, 291, 292, 508, 10, 11, 293, 417, 294,
989 317, 319, 328, 446, 551, 320, 447, 554, 421, 229,
990 333, 296, 297, 231, 332, 334, -119, 231, 1, 2,
991 3, 4, 5, 6, 7, 335, 475, 533, 310, 311,
992 312, 313, 314, 315, 316, 336, 337, 338, 523, 303,
993 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
994 314, 315, 316, 234, 235, 236, 449, 339, 340, 341,
995 342, 347, 353, 408, 362, 365, 553, 409, 410, 411,
996 440, 424, 437, 437, 429, 546, 368, 431, 370, 433,
997 372, 373, 438, 375, 376, 377, 552, 439, 442, 381,
998 382, 445, 448, 451, 455, 456, 457, 387, 388, 389,
999 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
1000 400, 401, 402, 403, 404, 405, 460, 70, 461, 462,
1001 70, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1002 313, 314, 315, 316, 71, 464, 466, 71, 10, 11,
1003 468, 10, 11, 469, 471, 72, 472, 473, 72, 476,
1004 73, 477, 74, 73, 478, 74, 480, 479, 481, 484,
1005 500, 489, 505, 75, 511, 486, 75, 507, 32, 513,
1006 76, 32, 514, 76, 77, 517, 92, 77, 524, 78,
1007 534, 535, 78, 537, 536, 550, 354, 264, 414, 407,
1008 509, 227, 161, 63, 266, 59, 515, 40, 41, 79,
1009 40, 41, 79, 80, 129, 0, 80, 0, 81, 467,
1010 82, 81, 0, 82, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 465, 0,
1012 83, 0, 0, 83, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 492, 0, 0, 0,
1014 0, 494, 0, 495, 0, 0, 0, 496, 497, 0,
1015 498, 0, 499, 0, 0, 0, 298, 504, 299, 300,
1016 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1017 311, 312, 313, 314, 315, 316, 300, 301, 302, 303,
1018 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1019 314, 315, 316, 298, 527, 299, 300, 301, 302, 303,
1020 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1021 314, 315, 316, 298, 0, 299, 300, 301, 302, 303,
1022 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1023 314, 315, 316, 298, 0, 299, 300, 301, 302, 303,
1024 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1025 314, 315, 316, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 298, 452, 299,
1027 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1028 310, 311, 312, 313, 314, 315, 316, 301, 302, 303,
1029 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1030 314, 315, 316, 0, 298, 454, 299, 300, 301, 302,
1031 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1032 313, 314, 315, 316, 298, 458, 299, 300, 301, 302,
1033 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1034 313, 314, 315, 316, 298, 459, 299, 300, 301, 302,
1035 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1036 313, 314, 315, 316, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 298, 444, 299, 300, 301,
1038 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
1039 312, 313, 314, 315, 316, 302, 303, 304, 305, 306,
1040 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1041 0, 0, 298, 450, 299, 300, 301, 302, 303, 304,
1042 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1043 315, 316, 298, 453, 299, 300, 301, 302, 303, 304,
1044 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1045 315, 316, 298, 503, 299, 300, 301, 302, 303, 304,
1046 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1047 315, 316, 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 298, 516, 299, 300, 301, 302, 303,
1049 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1050 314, 315, 316, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 298, 518, 299, 300, 301, 302, 303, 304, 305, 306,
1053 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1054 298, 519, 299, 300, 301, 302, 303, 304, 305, 306,
1055 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1056 298, 520, 299, 300, 301, 302, 303, 304, 305, 306,
1057 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 521, 298, 330, 299, 300, 301, 302, 303,
1060 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1061 314, 315, 316, 189, 190, 0, 0, 0, 0, 10,
1062 11, 191, 192, 193, 194, 195, 196, 0, 0, 522,
1063 197, 0, 198, 0, 321, 0, 199, 200, 201, 202,
1064 322, 0, 0, 0, 0, 0, 0, 0, 0, 526,
1065 0, 0, 0, 323, 0, 0, 0, 203, 204, 0,
1066 0, 0, 205, 0, 206, 0, 0, 0, 324, 539,
1067 0, 0, 207, 0, 0, 0, 325, 0, 0, 0,
1068 0, 0, 0, 208, 0, 209, 210, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1070 0, 331, 0, 0, 0, 0, 211, 326, 0, 0,
1071 189, 190, 212, 0, 0, 213, 10, 11, 191, 192,
1072 193, 194, 195, 196, 0, 0, 0, 197, 0, 198,
1073 0, 0, 0, 199, 200, 201, 202, 0, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 0, 203, 204, 0, 0, 0, 205,
1076 0, 206, 0, 10, 11, 0, 0, 0, 0, 207,
1077 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1078 208, 0, 209, 210, 0, 28, 0, 29, 0, 0,
1079 30, 0, 31, 32, 0, 33, 34, 0, 35, 0,
1080 0, 0, 0, 211, 0, 0, 0, 36, 0, 212,
1081 0, 0, 213, 0, 0, 0, 0, 0, 37, 38,
1082 0, 39, 40, 41, 0, 42, 43, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
1084 0, 45, 46, 0, 0, 0, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, 47, 298, 463, 299, 300,
1086 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1087 311, 312, 313, 314, 315, 316, 298, 0, 299, 300,
1088 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1089 311, 312, 313, 314, 315, 316
1090 };
1091
1092 static const yytype_int16 yycheck[] =
1093 {
1094 2, 3, 25, 24, 19, 9, 154, 9, 68, 0,
1095 122, 94, 14, 435, 0, 437, 33, 34, 85, 86,
1096 24, 23, 24, 33, 34, 33, 34, 33, 34, 122,
1097 90, 33, 115, 116, 117, 118, 119, 120, 121, 122,
1098 123, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1099 133, 12, 54, 122, 33, 34, 139, 140, 12, 7,
1100 127, 144, 33, 34, 66, 12, 33, 34, 29, 33,
1101 34, 42, 33, 34, 76, 29, 33, 34, 57, 33,
1102 34, 121, 29, 120, 124, 42, 33, 34, 70, 71,
1103 57, 93, 120, 95, 61, 340, 98, 342, 100, 344,
1104 102, 103, 56, 105, 106, 107, 73, 109, 125, 111,
1105 125, 126, 534, 535, 33, 34, 126, 125, 124, 120,
1106 91, 142, 143, 122, 121, 33, 34, 124, 121, 33,
1107 34, 124, 134, 124, 91, 120, 33, 34, 161, 120,
1108 142, 143, 103, 145, 123, 147, 128, 101, 102, 103,
1109 13, 153, 154, 57, 101, 102, 103, 65, 120, 123,
1110 57, 7, 164, 120, 27, 28, 249, 13, 170, 73,
1111 33, 34, 35, 36, 37, 38, 39, 40, 261, 262,
1112 120, 44, 120, 46, 120, 187, 188, 50, 51, 52,
1113 53, 121, 33, 34, 124, 122, 121, 83, 84, 124,
1114 120, 48, 120, 122, 120, 353, 120, 54, 71, 72,
1115 33, 34, 122, 76, 237, 78, 57, 40, 104, 121,
1116 67, 13, 124, 86, 33, 34, 121, 123, 12, 124,
1117 13, 40, 55, 125, 97, 82, 99, 100, 125, 241,
1118 63, 243, 65, 90, 246, 29, 55, 33, 34, 33,
1119 34, 253, 120, 268, 63, 257, 65, 120, 260, 28,
1120 124, 125, 264, 126, 33, 34, 129, 123, 124, 92,
1121 93, 273, 41, 122, 121, 120, 278, 120, 280, 123,
1122 120, 283, 120, 92, 93, 287, 288, 289, 120, 120,
1123 292, 293, 294, 12, 120, 14, 15, 16, 17, 18,
1124 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1125 29, 30, 31, 334, 123, 120, 318, 125, 339, 120,
1126 341, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1127 332, 124, 334, 33, 34, 35, 121, 339, 340, 341,
1128 342, 121, 344, 345, 29, 30, 31, 349, 7, 33,
1129 121, 353, 7, 7, 12, 357, 14, 15, 16, 17,
1130 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1131 28, 29, 30, 31, 21, 22, 23, 24, 25, 26,
1132 27, 28, 29, 30, 31, 121, 407, 121, 121, 124,
1133 131, 120, 120, 416, 125, 125, 120, 138, 481, 120,
1134 120, 484, 121, 407, 12, 407, 14, 15, 16, 17,
1135 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1136 28, 29, 30, 31, 12, 120, 120, 442, 443, 120,
1137 120, 433, 120, 435, 12, 437, 27, 28, 29, 30,
1138 31, 29, 120, 120, 120, 33, 34, 449, 189, 190,
1139 120, 29, 120, 120, 475, 33, 34, 120, 479, 120,
1140 125, 121, 42, 121, 547, 122, 124, 550, 56, 47,
1141 121, 212, 213, 475, 124, 120, 120, 479, 113, 114,
1142 115, 116, 117, 118, 119, 121, 509, 510, 25, 26,
1143 27, 28, 29, 30, 31, 121, 121, 121, 500, 18,
1144 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1145 29, 30, 31, 101, 102, 103, 124, 120, 120, 120,
1146 120, 13, 120, 13, 123, 122, 549, 121, 120, 38,
1147 125, 121, 534, 535, 121, 537, 277, 121, 279, 124,
1148 281, 282, 121, 284, 285, 286, 548, 121, 13, 290,
1149 291, 121, 121, 121, 121, 121, 121, 298, 299, 300,
1150 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
1151 311, 312, 313, 314, 315, 316, 121, 12, 124, 121,
1152 12, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1153 28, 29, 30, 31, 29, 121, 13, 29, 33, 34,
1154 120, 33, 34, 107, 13, 40, 121, 121, 40, 121,
1155 45, 121, 47, 45, 121, 47, 121, 120, 7, 120,
1156 22, 123, 120, 58, 121, 125, 58, 13, 63, 35,
1157 65, 63, 125, 65, 69, 121, 124, 69, 42, 74,
1158 121, 121, 74, 22, 123, 7, 253, 168, 331, 320,
1159 479, 142, 101, 21, 170, 14, 491, 92, 93, 94,
1160 92, 93, 94, 98, 60, -1, 98, -1, 103, 410,
1161 105, 103, -1, 105, -1, -1, -1, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1163 125, -1, -1, 125, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, 447, -1, -1, -1,
1165 -1, 452, -1, 454, -1, -1, -1, 458, 459, -1,
1166 461, -1, 463, -1, -1, -1, 12, 468, 14, 15,
1167 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1168 26, 27, 28, 29, 30, 31, 15, 16, 17, 18,
1169 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1170 29, 30, 31, 12, 505, 14, 15, 16, 17, 18,
1171 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1172 29, 30, 31, 12, -1, 14, 15, 16, 17, 18,
1173 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1174 29, 30, 31, 12, -1, 14, 15, 16, 17, 18,
1175 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1176 29, 30, 31, -1, -1, -1, -1, -1, -1, -1,
1177 -1, -1, -1, -1, -1, -1, -1, 12, 124, 14,
1178 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1179 25, 26, 27, 28, 29, 30, 31, 16, 17, 18,
1180 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1181 29, 30, 31, -1, 12, 124, 14, 15, 16, 17,
1182 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1183 28, 29, 30, 31, 12, 124, 14, 15, 16, 17,
1184 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1185 28, 29, 30, 31, 12, 124, 14, 15, 16, 17,
1186 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1187 28, 29, 30, 31, -1, -1, -1, -1, -1, -1,
1188 -1, -1, -1, -1, -1, 12, 121, 14, 15, 16,
1189 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1190 27, 28, 29, 30, 31, 17, 18, 19, 20, 21,
1191 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1192 -1, -1, 12, 121, 14, 15, 16, 17, 18, 19,
1193 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1194 30, 31, 12, 121, 14, 15, 16, 17, 18, 19,
1195 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1196 30, 31, 12, 121, 14, 15, 16, 17, 18, 19,
1197 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1198 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
1199 -1, -1, -1, 12, 121, 14, 15, 16, 17, 18,
1200 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1201 29, 30, 31, -1, -1, -1, -1, -1, -1, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1203 12, 121, 14, 15, 16, 17, 18, 19, 20, 21,
1204 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1205 12, 121, 14, 15, 16, 17, 18, 19, 20, 21,
1206 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1207 12, 121, 14, 15, 16, 17, 18, 19, 20, 21,
1208 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1210 -1, -1, 121, 12, 13, 14, 15, 16, 17, 18,
1211 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1212 29, 30, 31, 27, 28, -1, -1, -1, -1, 33,
1213 34, 35, 36, 37, 38, 39, 40, -1, -1, 121,
1214 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
1215 54, -1, -1, -1, -1, -1, -1, -1, -1, 121,
1216 -1, -1, -1, 67, -1, -1, -1, 71, 72, -1,
1217 -1, -1, 76, -1, 78, -1, -1, -1, 82, 121,
1218 -1, -1, 86, -1, -1, -1, 90, -1, -1, -1,
1219 -1, -1, -1, 97, -1, 99, 100, -1, -1, -1,
1220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1221 -1, 120, -1, -1, -1, -1, 120, 121, -1, -1,
1222 27, 28, 126, -1, -1, 129, 33, 34, 35, 36,
1223 37, 38, 39, 40, -1, -1, -1, 44, -1, 46,
1224 -1, -1, -1, 50, 51, 52, 53, -1, -1, -1,
1225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, 71, 72, -1, -1, -1, 76,
1227 -1, 78, -1, 33, 34, -1, -1, -1, -1, 86,
1228 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1229 97, -1, 99, 100, -1, 55, -1, 57, -1, -1,
1230 60, -1, 62, 63, -1, 65, 66, -1, 68, -1,
1231 -1, -1, -1, 120, -1, -1, -1, 77, -1, 126,
1232 -1, -1, 129, -1, -1, -1, -1, -1, 88, 89,
1233 -1, 91, 92, 93, -1, 95, 96, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
1235 -1, 111, 112, -1, -1, -1, -1, -1, -1, -1,
1236 -1, -1, -1, -1, -1, 125, 12, 13, 14, 15,
1237 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1238 26, 27, 28, 29, 30, 31, 12, -1, 14, 15,
1239 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1240 26, 27, 28, 29, 30, 31
1241 };
1242
1243 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1244 symbol of state STATE-NUM. */
1245 static const yytype_uint8 yystos[] =
1246 {
1247 0, 113, 114, 115, 116, 117, 118, 119, 131, 132,
1248 33, 34, 122, 188, 189, 190, 196, 184, 196, 122,
1249 185, 186, 187, 144, 161, 171, 0, 40, 55, 57,
1250 60, 62, 63, 65, 66, 68, 77, 88, 89, 91,
1251 92, 93, 95, 96, 109, 111, 112, 125, 133, 137,
1252 180, 196, 33, 34, 57, 61, 73, 192, 193, 190,
1253 122, 7, 193, 187, 40, 55, 65, 145, 180, 196,
1254 12, 29, 40, 45, 47, 58, 65, 69, 74, 94,
1255 98, 103, 105, 125, 162, 163, 164, 165, 166, 170,
1256 180, 196, 124, 199, 120, 120, 120, 134, 120, 196,
1257 120, 122, 120, 120, 122, 120, 120, 120, 122, 120,
1258 122, 120, 124, 125, 197, 3, 4, 5, 6, 7,
1259 8, 9, 10, 11, 196, 13, 13, 123, 125, 192,
1260 181, 182, 125, 120, 120, 196, 197, 147, 148, 120,
1261 120, 196, 120, 120, 120, 120, 197, 65, 172, 196,
1262 181, 196, 138, 139, 120, 196, 28, 41, 141, 142,
1263 196, 171, 196, 196, 176, 196, 196, 196, 135, 196,
1264 136, 196, 181, 181, 181, 181, 181, 181, 181, 181,
1265 181, 122, 193, 193, 125, 33, 34, 57, 123, 27,
1266 28, 35, 36, 37, 38, 39, 40, 44, 46, 50,
1267 51, 52, 53, 71, 72, 76, 78, 86, 97, 99,
1268 100, 120, 126, 129, 183, 196, 123, 181, 196, 146,
1269 13, 120, 150, 183, 181, 181, 103, 165, 196, 47,
1270 170, 196, 181, 56, 101, 102, 103, 167, 168, 170,
1271 196, 120, 173, 124, 121, 121, 140, 196, 141, 7,
1272 33, 143, 121, 199, 123, 121, 121, 124, 123, 177,
1273 196, 7, 7, 121, 144, 121, 188, 121, 194, 125,
1274 125, 196, 125, 191, 196, 183, 183, 120, 120, 120,
1275 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1276 120, 120, 120, 120, 120, 183, 183, 183, 12, 14,
1277 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1278 25, 26, 27, 28, 29, 30, 31, 125, 124, 121,
1279 122, 48, 54, 67, 82, 90, 121, 151, 42, 152,
1280 13, 120, 124, 121, 120, 121, 121, 121, 121, 120,
1281 120, 120, 120, 121, 199, 126, 196, 13, 196, 124,
1282 196, 121, 181, 120, 142, 196, 35, 178, 196, 181,
1283 181, 123, 123, 193, 73, 122, 125, 196, 183, 196,
1284 183, 196, 183, 183, 196, 183, 183, 183, 196, 196,
1285 196, 183, 183, 196, 196, 196, 121, 183, 183, 183,
1286 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
1287 183, 183, 183, 183, 183, 183, 196, 161, 13, 121,
1288 120, 38, 153, 121, 151, 196, 169, 170, 168, 170,
1289 168, 56, 168, 196, 121, 85, 86, 127, 174, 121,
1290 196, 121, 141, 124, 42, 91, 179, 196, 121, 121,
1291 125, 198, 13, 195, 121, 121, 121, 124, 121, 124,
1292 121, 121, 124, 121, 124, 121, 121, 121, 124, 124,
1293 121, 124, 121, 13, 121, 123, 13, 183, 120, 107,
1294 154, 13, 121, 121, 121, 199, 121, 121, 121, 120,
1295 121, 7, 121, 196, 120, 179, 125, 120, 179, 123,
1296 193, 193, 183, 196, 183, 183, 183, 183, 183, 183,
1297 22, 156, 157, 121, 183, 120, 149, 13, 170, 169,
1298 181, 121, 181, 35, 125, 198, 121, 121, 121, 121,
1299 121, 121, 121, 196, 42, 158, 121, 183, 83, 84,
1300 104, 155, 121, 199, 121, 121, 123, 22, 159, 121,
1301 70, 71, 128, 175, 179, 179, 196, 7, 13, 160,
1302 7, 181, 196, 199, 181
1303 };
1304
1305 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1306 static const yytype_uint8 yyr1[] =
1307 {
1308 0, 130, 131, 131, 131, 131, 131, 131, 131, 132,
1309 132, 133, 133, 134, 133, 133, 133, 133, 133, 133,
1310 133, 133, 133, 135, 133, 133, 136, 133, 133, 133,
1311 133, 133, 133, 133, 137, 139, 138, 140, 140, 140,
1312 141, 141, 142, 142, 143, 142, 144, 144, 145, 145,
1313 145, 145, 146, 145, 148, 149, 147, 150, 150, 150,
1314 150, 150, 150, 151, 151, 151, 151, 151, 152, 152,
1315 153, 153, 154, 154, 155, 155, 155, 155, 156, 157,
1316 157, 158, 158, 159, 159, 160, 160, 161, 161, 162,
1317 162, 162, 162, 162, 162, 162, 162, 162, 163, 163,
1318 163, 163, 163, 164, 164, 165, 165, 166, 166, 167,
1319 167, 167, 167, 168, 168, 168, 168, 169, 169, 170,
1320 170, 170, 171, 171, 172, 172, 172, 173, 173, 173,
1321 174, 174, 174, 175, 175, 175, 176, 176, 177, 178,
1322 178, 179, 179, 179, 179, 179, 180, 180, 180, 180,
1323 180, 180, 180, 180, 180, 180, 180, 180, 182, 181,
1324 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
1325 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
1326 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
1327 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
1328 183, 183, 183, 183, 183, 183, 184, 185, 186, 186,
1329 187, 188, 189, 189, 190, 190, 190, 191, 191, 192,
1330 192, 192, 192, 192, 193, 193, 193, 193, 194, 193,
1331 195, 193, 193, 193, 196, 196, 197, 197, 198, 198,
1332 199, 199
1333 };
1334
1335 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1336 static const yytype_uint8 yyr2[] =
1337 {
1338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 0, 4, 1, 0, 5, 1, 4, 4, 4, 4,
1340 8, 4, 4, 0, 5, 4, 0, 5, 4, 2,
1341 6, 2, 1, 1, 4, 0, 2, 1, 2, 3,
1342 1, 3, 1, 2, 0, 5, 2, 0, 4, 2,
1343 6, 2, 0, 7, 0, 0, 7, 1, 3, 2,
1344 4, 4, 5, 1, 1, 1, 1, 1, 0, 4,
1345 0, 4, 0, 4, 0, 1, 1, 1, 5, 2,
1346 0, 3, 0, 3, 0, 2, 0, 0, 2, 2,
1347 1, 4, 6, 4, 1, 4, 2, 1, 1, 1,
1348 1, 1, 1, 1, 4, 1, 4, 1, 4, 3,
1349 1, 6, 4, 1, 4, 4, 4, 3, 1, 1,
1350 1, 1, 3, 0, 10, 2, 0, 3, 4, 0,
1351 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1352 1, 0, 2, 2, 5, 5, 3, 3, 3, 3,
1353 3, 3, 3, 3, 3, 6, 6, 6, 0, 2,
1354 3, 2, 2, 2, 2, 3, 3, 3, 3, 3,
1355 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1356 3, 3, 3, 5, 1, 1, 6, 6, 4, 1,
1357 4, 4, 4, 4, 4, 4, 4, 4, 4, 6,
1358 4, 6, 6, 4, 6, 6, 3, 1, 1, 2,
1359 5, 1, 1, 2, 4, 5, 6, 1, 2, 0,
1360 2, 4, 4, 8, 1, 1, 3, 3, 0, 7,
1361 0, 9, 1, 3, 1, 1, 1, 1, 1, 0,
1362 1, 0
1363 };
1364
1365
1366 #define yyerrok (yyerrstatus = 0)
1367 #define yyclearin (yychar = YYEMPTY)
1368 #define YYEMPTY (-2)
1369 #define YYEOF 0
1370
1371 #define YYACCEPT goto yyacceptlab
1372 #define YYABORT goto yyabortlab
1373 #define YYERROR goto yyerrorlab
1374
1375
1376 #define YYRECOVERING() (!!yyerrstatus)
1377
1378 #define YYBACKUP(Token, Value) \
1379 do \
1380 if (yychar == YYEMPTY) \
1381 { \
1382 yychar = (Token); \
1383 yylval = (Value); \
1384 YYPOPSTACK (yylen); \
1385 yystate = *yyssp; \
1386 goto yybackup; \
1387 } \
1388 else \
1389 { \
1390 yyerror (closure, YY_("syntax error: cannot back up")); \
1391 YYERROR; \
1392 } \
1393 while (0)
1394
1395 /* Error token number */
1396 #define YYTERROR 1
1397 #define YYERRCODE 256
1398
1399
1400
1401 /* Enable debugging if requested. */
1402 #if YYDEBUG
1403
1404 # ifndef YYFPRINTF
1405 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1406 # define YYFPRINTF fprintf
1407 # endif
1408
1409 # define YYDPRINTF(Args) \
1410 do { \
1411 if (yydebug) \
1412 YYFPRINTF Args; \
1413 } while (0)
1414
1415 /* This macro is provided for backward compatibility. */
1416 #ifndef YY_LOCATION_PRINT
1417 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1418 #endif
1419
1420
1421 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1422 do { \
1423 if (yydebug) \
1424 { \
1425 YYFPRINTF (stderr, "%s ", Title); \
1426 yy_symbol_print (stderr, \
1427 Type, Value, closure); \
1428 YYFPRINTF (stderr, "\n"); \
1429 } \
1430 } while (0)
1431
1432
1433 /*----------------------------------------.
1434 | Print this symbol's value on YYOUTPUT. |
1435 `----------------------------------------*/
1436
1437 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * closure)1438 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* closure)
1439 {
1440 FILE *yyo = yyoutput;
1441 YYUSE (yyo);
1442 YYUSE (closure);
1443 if (!yyvaluep)
1444 return;
1445 # ifdef YYPRINT
1446 if (yytype < YYNTOKENS)
1447 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1448 # endif
1449 YYUSE (yytype);
1450 }
1451
1452
1453 /*--------------------------------.
1454 | Print this symbol on YYOUTPUT. |
1455 `--------------------------------*/
1456
1457 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * closure)1458 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* closure)
1459 {
1460 YYFPRINTF (yyoutput, "%s %s (",
1461 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
1462
1463 yy_symbol_value_print (yyoutput, yytype, yyvaluep, closure);
1464 YYFPRINTF (yyoutput, ")");
1465 }
1466
1467 /*------------------------------------------------------------------.
1468 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1469 | TOP (included). |
1470 `------------------------------------------------------------------*/
1471
1472 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)1473 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1474 {
1475 YYFPRINTF (stderr, "Stack now");
1476 for (; yybottom <= yytop; yybottom++)
1477 {
1478 int yybot = *yybottom;
1479 YYFPRINTF (stderr, " %d", yybot);
1480 }
1481 YYFPRINTF (stderr, "\n");
1482 }
1483
1484 # define YY_STACK_PRINT(Bottom, Top) \
1485 do { \
1486 if (yydebug) \
1487 yy_stack_print ((Bottom), (Top)); \
1488 } while (0)
1489
1490
1491 /*------------------------------------------------.
1492 | Report that the YYRULE is going to be reduced. |
1493 `------------------------------------------------*/
1494
1495 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule,void * closure)1496 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, void* closure)
1497 {
1498 unsigned long int yylno = yyrline[yyrule];
1499 int yynrhs = yyr2[yyrule];
1500 int yyi;
1501 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1502 yyrule - 1, yylno);
1503 /* The symbols being reduced. */
1504 for (yyi = 0; yyi < yynrhs; yyi++)
1505 {
1506 YYFPRINTF (stderr, " $%d = ", yyi + 1);
1507 yy_symbol_print (stderr,
1508 yystos[yyssp[yyi + 1 - yynrhs]],
1509 &(yyvsp[(yyi + 1) - (yynrhs)])
1510 , closure);
1511 YYFPRINTF (stderr, "\n");
1512 }
1513 }
1514
1515 # define YY_REDUCE_PRINT(Rule) \
1516 do { \
1517 if (yydebug) \
1518 yy_reduce_print (yyssp, yyvsp, Rule, closure); \
1519 } while (0)
1520
1521 /* Nonzero means print parse trace. It is left uninitialized so that
1522 multiple parsers can coexist. */
1523 int yydebug;
1524 #else /* !YYDEBUG */
1525 # define YYDPRINTF(Args)
1526 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1527 # define YY_STACK_PRINT(Bottom, Top)
1528 # define YY_REDUCE_PRINT(Rule)
1529 #endif /* !YYDEBUG */
1530
1531
1532 /* YYINITDEPTH -- initial size of the parser's stacks. */
1533 #ifndef YYINITDEPTH
1534 # define YYINITDEPTH 200
1535 #endif
1536
1537 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1538 if the built-in stack extension method is used).
1539
1540 Do not make this value too large; the results are undefined if
1541 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1542 evaluated with infinite-precision integer arithmetic. */
1543
1544 #ifndef YYMAXDEPTH
1545 # define YYMAXDEPTH 10000
1546 #endif
1547
1548
1549 #if YYERROR_VERBOSE
1550
1551 # ifndef yystrlen
1552 # if defined __GLIBC__ && defined _STRING_H
1553 # define yystrlen strlen
1554 # else
1555 /* Return the length of YYSTR. */
1556 static YYSIZE_T
yystrlen(const char * yystr)1557 yystrlen (const char *yystr)
1558 {
1559 YYSIZE_T yylen;
1560 for (yylen = 0; yystr[yylen]; yylen++)
1561 continue;
1562 return yylen;
1563 }
1564 # endif
1565 # endif
1566
1567 # ifndef yystpcpy
1568 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1569 # define yystpcpy stpcpy
1570 # else
1571 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1572 YYDEST. */
1573 static char *
yystpcpy(char * yydest,const char * yysrc)1574 yystpcpy (char *yydest, const char *yysrc)
1575 {
1576 char *yyd = yydest;
1577 const char *yys = yysrc;
1578
1579 while ((*yyd++ = *yys++) != '\0')
1580 continue;
1581
1582 return yyd - 1;
1583 }
1584 # endif
1585 # endif
1586
1587 # ifndef yytnamerr
1588 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1589 quotes and backslashes, so that it's suitable for yyerror. The
1590 heuristic is that double-quoting is unnecessary unless the string
1591 contains an apostrophe, a comma, or backslash (other than
1592 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1593 null, do not copy; instead, return the length of what the result
1594 would have been. */
1595 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)1596 yytnamerr (char *yyres, const char *yystr)
1597 {
1598 if (*yystr == '"')
1599 {
1600 YYSIZE_T yyn = 0;
1601 char const *yyp = yystr;
1602
1603 for (;;)
1604 switch (*++yyp)
1605 {
1606 case '\'':
1607 case ',':
1608 goto do_not_strip_quotes;
1609
1610 case '\\':
1611 if (*++yyp != '\\')
1612 goto do_not_strip_quotes;
1613 /* Fall through. */
1614 default:
1615 if (yyres)
1616 yyres[yyn] = *yyp;
1617 yyn++;
1618 break;
1619
1620 case '"':
1621 if (yyres)
1622 yyres[yyn] = '\0';
1623 return yyn;
1624 }
1625 do_not_strip_quotes: ;
1626 }
1627
1628 if (! yyres)
1629 return yystrlen (yystr);
1630
1631 return yystpcpy (yyres, yystr) - yyres;
1632 }
1633 # endif
1634
1635 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1636 about the unexpected token YYTOKEN for the state stack whose top is
1637 YYSSP.
1638
1639 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
1640 not large enough to hold the message. In that case, also set
1641 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
1642 required number of bytes is too large to store. */
1643 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)1644 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1645 yytype_int16 *yyssp, int yytoken)
1646 {
1647 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
1648 YYSIZE_T yysize = yysize0;
1649 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1650 /* Internationalized format string. */
1651 const char *yyformat = YY_NULLPTR;
1652 /* Arguments of yyformat. */
1653 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1654 /* Number of reported tokens (one for the "unexpected", one per
1655 "expected"). */
1656 int yycount = 0;
1657
1658 /* There are many possibilities here to consider:
1659 - If this state is a consistent state with a default action, then
1660 the only way this function was invoked is if the default action
1661 is an error action. In that case, don't check for expected
1662 tokens because there are none.
1663 - The only way there can be no lookahead present (in yychar) is if
1664 this state is a consistent state with a default action. Thus,
1665 detecting the absence of a lookahead is sufficient to determine
1666 that there is no unexpected or expected token to report. In that
1667 case, just report a simple "syntax error".
1668 - Don't assume there isn't a lookahead just because this state is a
1669 consistent state with a default action. There might have been a
1670 previous inconsistent state, consistent state with a non-default
1671 action, or user semantic action that manipulated yychar.
1672 - Of course, the expected token list depends on states to have
1673 correct lookahead information, and it depends on the parser not
1674 to perform extra reductions after fetching a lookahead from the
1675 scanner and before detecting a syntax error. Thus, state merging
1676 (from LALR or IELR) and default reductions corrupt the expected
1677 token list. However, the list is correct for canonical LR with
1678 one exception: it will still contain any token that will not be
1679 accepted due to an error action in a later state.
1680 */
1681 if (yytoken != YYEMPTY)
1682 {
1683 int yyn = yypact[*yyssp];
1684 yyarg[yycount++] = yytname[yytoken];
1685 if (!yypact_value_is_default (yyn))
1686 {
1687 /* Start YYX at -YYN if negative to avoid negative indexes in
1688 YYCHECK. In other words, skip the first -YYN actions for
1689 this state because they are default actions. */
1690 int yyxbegin = yyn < 0 ? -yyn : 0;
1691 /* Stay within bounds of both yycheck and yytname. */
1692 int yychecklim = YYLAST - yyn + 1;
1693 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1694 int yyx;
1695
1696 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1697 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1698 && !yytable_value_is_error (yytable[yyx + yyn]))
1699 {
1700 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1701 {
1702 yycount = 1;
1703 yysize = yysize0;
1704 break;
1705 }
1706 yyarg[yycount++] = yytname[yyx];
1707 {
1708 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
1709 if (! (yysize <= yysize1
1710 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1711 return 2;
1712 yysize = yysize1;
1713 }
1714 }
1715 }
1716 }
1717
1718 switch (yycount)
1719 {
1720 # define YYCASE_(N, S) \
1721 case N: \
1722 yyformat = S; \
1723 break
1724 default: /* Avoid compiler warnings. */
1725 YYCASE_(0, YY_("syntax error"));
1726 YYCASE_(1, YY_("syntax error, unexpected %s"));
1727 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1728 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1729 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1730 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1731 # undef YYCASE_
1732 }
1733
1734 {
1735 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1736 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1737 return 2;
1738 yysize = yysize1;
1739 }
1740
1741 if (*yymsg_alloc < yysize)
1742 {
1743 *yymsg_alloc = 2 * yysize;
1744 if (! (yysize <= *yymsg_alloc
1745 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1746 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1747 return 1;
1748 }
1749
1750 /* Avoid sprintf, as that infringes on the user's name space.
1751 Don't have undefined behavior even if the translation
1752 produced a string with the wrong number of "%s"s. */
1753 {
1754 char *yyp = *yymsg;
1755 int yyi = 0;
1756 while ((*yyp = *yyformat) != '\0')
1757 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1758 {
1759 yyp += yytnamerr (yyp, yyarg[yyi++]);
1760 yyformat += 2;
1761 }
1762 else
1763 {
1764 yyp++;
1765 yyformat++;
1766 }
1767 }
1768 return 0;
1769 }
1770 #endif /* YYERROR_VERBOSE */
1771
1772 /*-----------------------------------------------.
1773 | Release the memory associated to this symbol. |
1774 `-----------------------------------------------*/
1775
1776 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,void * closure)1777 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void* closure)
1778 {
1779 YYUSE (yyvaluep);
1780 YYUSE (closure);
1781 if (!yymsg)
1782 yymsg = "Deleting";
1783 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1784
1785 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1786 YYUSE (yytype);
1787 YY_IGNORE_MAYBE_UNINITIALIZED_END
1788 }
1789
1790
1791
1792
1793 /*----------.
1794 | yyparse. |
1795 `----------*/
1796
1797 int
yyparse(void * closure)1798 yyparse (void* closure)
1799 {
1800 /* The lookahead symbol. */
1801 int yychar;
1802
1803
1804 /* The semantic value of the lookahead symbol. */
1805 /* Default value used for initialization, for pacifying older GCCs
1806 or non-GCC compilers. */
1807 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
1808 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
1809
1810 /* Number of syntax errors so far. */
1811 int yynerrs;
1812
1813 int yystate;
1814 /* Number of tokens to shift before error messages enabled. */
1815 int yyerrstatus;
1816
1817 /* The stacks and their tools:
1818 'yyss': related to states.
1819 'yyvs': related to semantic values.
1820
1821 Refer to the stacks through separate pointers, to allow yyoverflow
1822 to reallocate them elsewhere. */
1823
1824 /* The state stack. */
1825 yytype_int16 yyssa[YYINITDEPTH];
1826 yytype_int16 *yyss;
1827 yytype_int16 *yyssp;
1828
1829 /* The semantic value stack. */
1830 YYSTYPE yyvsa[YYINITDEPTH];
1831 YYSTYPE *yyvs;
1832 YYSTYPE *yyvsp;
1833
1834 YYSIZE_T yystacksize;
1835
1836 int yyn;
1837 int yyresult;
1838 /* Lookahead token as an internal (translated) token number. */
1839 int yytoken = 0;
1840 /* The variables used to return semantic value and location from the
1841 action routines. */
1842 YYSTYPE yyval;
1843
1844 #if YYERROR_VERBOSE
1845 /* Buffer for error messages, and its allocated size. */
1846 char yymsgbuf[128];
1847 char *yymsg = yymsgbuf;
1848 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1849 #endif
1850
1851 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1852
1853 /* The number of symbols on the RHS of the reduced rule.
1854 Keep to zero when no symbol should be popped. */
1855 int yylen = 0;
1856
1857 yyssp = yyss = yyssa;
1858 yyvsp = yyvs = yyvsa;
1859 yystacksize = YYINITDEPTH;
1860
1861 YYDPRINTF ((stderr, "Starting parse\n"));
1862
1863 yystate = 0;
1864 yyerrstatus = 0;
1865 yynerrs = 0;
1866 yychar = YYEMPTY; /* Cause a token to be read. */
1867 goto yysetstate;
1868
1869 /*------------------------------------------------------------.
1870 | yynewstate -- Push a new state, which is found in yystate. |
1871 `------------------------------------------------------------*/
1872 yynewstate:
1873 /* In all cases, when you get here, the value and location stacks
1874 have just been pushed. So pushing a state here evens the stacks. */
1875 yyssp++;
1876
1877 yysetstate:
1878 *yyssp = yystate;
1879
1880 if (yyss + yystacksize - 1 <= yyssp)
1881 {
1882 /* Get the current used size of the three stacks, in elements. */
1883 YYSIZE_T yysize = yyssp - yyss + 1;
1884
1885 #ifdef yyoverflow
1886 {
1887 /* Give user a chance to reallocate the stack. Use copies of
1888 these so that the &'s don't force the real ones into
1889 memory. */
1890 YYSTYPE *yyvs1 = yyvs;
1891 yytype_int16 *yyss1 = yyss;
1892
1893 /* Each stack pointer address is followed by the size of the
1894 data in use in that stack, in bytes. This used to be a
1895 conditional around just the two extra args, but that might
1896 be undefined if yyoverflow is a macro. */
1897 yyoverflow (YY_("memory exhausted"),
1898 &yyss1, yysize * sizeof (*yyssp),
1899 &yyvs1, yysize * sizeof (*yyvsp),
1900 &yystacksize);
1901
1902 yyss = yyss1;
1903 yyvs = yyvs1;
1904 }
1905 #else /* no yyoverflow */
1906 # ifndef YYSTACK_RELOCATE
1907 goto yyexhaustedlab;
1908 # else
1909 /* Extend the stack our own way. */
1910 if (YYMAXDEPTH <= yystacksize)
1911 goto yyexhaustedlab;
1912 yystacksize *= 2;
1913 if (YYMAXDEPTH < yystacksize)
1914 yystacksize = YYMAXDEPTH;
1915
1916 {
1917 yytype_int16 *yyss1 = yyss;
1918 union yyalloc *yyptr =
1919 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1920 if (! yyptr)
1921 goto yyexhaustedlab;
1922 YYSTACK_RELOCATE (yyss_alloc, yyss);
1923 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1924 # undef YYSTACK_RELOCATE
1925 if (yyss1 != yyssa)
1926 YYSTACK_FREE (yyss1);
1927 }
1928 # endif
1929 #endif /* no yyoverflow */
1930
1931 yyssp = yyss + yysize - 1;
1932 yyvsp = yyvs + yysize - 1;
1933
1934 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1935 (unsigned long int) yystacksize));
1936
1937 if (yyss + yystacksize - 1 <= yyssp)
1938 YYABORT;
1939 }
1940
1941 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1942
1943 if (yystate == YYFINAL)
1944 YYACCEPT;
1945
1946 goto yybackup;
1947
1948 /*-----------.
1949 | yybackup. |
1950 `-----------*/
1951 yybackup:
1952
1953 /* Do appropriate processing given the current state. Read a
1954 lookahead token if we need one and don't already have one. */
1955
1956 /* First try to decide what to do without reference to lookahead token. */
1957 yyn = yypact[yystate];
1958 if (yypact_value_is_default (yyn))
1959 goto yydefault;
1960
1961 /* Not known => get a lookahead token if don't already have one. */
1962
1963 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1964 if (yychar == YYEMPTY)
1965 {
1966 YYDPRINTF ((stderr, "Reading a token: "));
1967 yychar = yylex (&yylval, closure);
1968 }
1969
1970 if (yychar <= YYEOF)
1971 {
1972 yychar = yytoken = YYEOF;
1973 YYDPRINTF ((stderr, "Now at end of input.\n"));
1974 }
1975 else
1976 {
1977 yytoken = YYTRANSLATE (yychar);
1978 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1979 }
1980
1981 /* If the proper action on seeing token YYTOKEN is to reduce or to
1982 detect an error, take that action. */
1983 yyn += yytoken;
1984 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1985 goto yydefault;
1986 yyn = yytable[yyn];
1987 if (yyn <= 0)
1988 {
1989 if (yytable_value_is_error (yyn))
1990 goto yyerrlab;
1991 yyn = -yyn;
1992 goto yyreduce;
1993 }
1994
1995 /* Count tokens shifted since error; after three, turn off error
1996 status. */
1997 if (yyerrstatus)
1998 yyerrstatus--;
1999
2000 /* Shift the lookahead token. */
2001 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2002
2003 /* Discard the shifted token. */
2004 yychar = YYEMPTY;
2005
2006 yystate = yyn;
2007 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2008 *++yyvsp = yylval;
2009 YY_IGNORE_MAYBE_UNINITIALIZED_END
2010
2011 goto yynewstate;
2012
2013
2014 /*-----------------------------------------------------------.
2015 | yydefault -- do the default action for the current state. |
2016 `-----------------------------------------------------------*/
2017 yydefault:
2018 yyn = yydefact[yystate];
2019 if (yyn == 0)
2020 goto yyerrlab;
2021 goto yyreduce;
2022
2023
2024 /*-----------------------------.
2025 | yyreduce -- Do a reduction. |
2026 `-----------------------------*/
2027 yyreduce:
2028 /* yyn is the number of a rule to reduce with. */
2029 yylen = yyr2[yyn];
2030
2031 /* If YYLEN is nonzero, implement the default value of the action:
2032 '$$ = $1'.
2033
2034 Otherwise, the following line sets YYVAL to garbage.
2035 This behavior is undocumented and Bison
2036 users should not rely upon it. Assigning to YYVAL
2037 unconditionally makes the parser a bit smaller, and it avoids a
2038 GCC warning that YYVAL may be used uninitialized. */
2039 yyval = yyvsp[1-yylen];
2040
2041
2042 YY_REDUCE_PRINT (yyn);
2043 switch (yyn)
2044 {
2045 case 12:
2046 #line 255 "yyscript.y" /* yacc.c:1648 */
2047 { script_set_common_allocation(closure, 1); }
2048 #line 2049 "yyscript.c" /* yacc.c:1648 */
2049 break;
2050
2051 case 13:
2052 #line 257 "yyscript.y" /* yacc.c:1648 */
2053 { script_start_group(closure); }
2054 #line 2055 "yyscript.c" /* yacc.c:1648 */
2055 break;
2056
2057 case 14:
2058 #line 259 "yyscript.y" /* yacc.c:1648 */
2059 { script_end_group(closure); }
2060 #line 2061 "yyscript.c" /* yacc.c:1648 */
2061 break;
2062
2063 case 15:
2064 #line 261 "yyscript.y" /* yacc.c:1648 */
2065 { script_set_common_allocation(closure, 0); }
2066 #line 2067 "yyscript.c" /* yacc.c:1648 */
2067 break;
2068
2069 case 18:
2070 #line 265 "yyscript.y" /* yacc.c:1648 */
2071 { script_parse_option(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2072 #line 2073 "yyscript.c" /* yacc.c:1648 */
2073 break;
2074
2075 case 19:
2076 #line 267 "yyscript.y" /* yacc.c:1648 */
2077 {
2078 if (!script_check_output_format(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length,
2079 NULL, 0, NULL, 0))
2080 YYABORT;
2081 }
2082 #line 2083 "yyscript.c" /* yacc.c:1648 */
2083 break;
2084
2085 case 20:
2086 #line 273 "yyscript.y" /* yacc.c:1648 */
2087 {
2088 if (!script_check_output_format(closure, (yyvsp[-5].string).value, (yyvsp[-5].string).length,
2089 (yyvsp[-3].string).value, (yyvsp[-3].string).length,
2090 (yyvsp[-1].string).value, (yyvsp[-1].string).length))
2091 YYABORT;
2092 }
2093 #line 2094 "yyscript.c" /* yacc.c:1648 */
2094 break;
2095
2096 case 22:
2097 #line 281 "yyscript.y" /* yacc.c:1648 */
2098 { script_add_search_dir(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2099 #line 2100 "yyscript.c" /* yacc.c:1648 */
2100 break;
2101
2102 case 23:
2103 #line 283 "yyscript.y" /* yacc.c:1648 */
2104 { script_start_sections(closure); }
2105 #line 2106 "yyscript.c" /* yacc.c:1648 */
2106 break;
2107
2108 case 24:
2109 #line 285 "yyscript.y" /* yacc.c:1648 */
2110 { script_finish_sections(closure); }
2111 #line 2112 "yyscript.c" /* yacc.c:1648 */
2112 break;
2113
2114 case 25:
2115 #line 287 "yyscript.y" /* yacc.c:1648 */
2116 { script_set_target(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2117 #line 2118 "yyscript.c" /* yacc.c:1648 */
2118 break;
2119
2120 case 26:
2121 #line 289 "yyscript.y" /* yacc.c:1648 */
2122 { script_push_lex_into_version_mode(closure); }
2123 #line 2124 "yyscript.c" /* yacc.c:1648 */
2124 break;
2125
2126 case 27:
2127 #line 291 "yyscript.y" /* yacc.c:1648 */
2128 { script_pop_lex_mode(closure); }
2129 #line 2130 "yyscript.c" /* yacc.c:1648 */
2130 break;
2131
2132 case 28:
2133 #line 293 "yyscript.y" /* yacc.c:1648 */
2134 { script_set_entry(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2135 #line 2136 "yyscript.c" /* yacc.c:1648 */
2136 break;
2137
2138 case 30:
2139 #line 296 "yyscript.y" /* yacc.c:1648 */
2140 { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2141 #line 2142 "yyscript.c" /* yacc.c:1648 */
2142 break;
2143
2144 case 31:
2145 #line 298 "yyscript.y" /* yacc.c:1648 */
2146 { script_include_directive(PARSING_LINKER_SCRIPT, closure,
2147 (yyvsp[0].string).value, (yyvsp[0].string).length); }
2148 #line 2149 "yyscript.c" /* yacc.c:1648 */
2149 break;
2150
2151 case 35:
2152 #line 317 "yyscript.y" /* yacc.c:1648 */
2153 { script_push_lex_into_expression_mode(closure); }
2154 #line 2155 "yyscript.c" /* yacc.c:1648 */
2155 break;
2156
2157 case 36:
2158 #line 319 "yyscript.y" /* yacc.c:1648 */
2159 { script_pop_lex_mode(closure); }
2160 #line 2161 "yyscript.c" /* yacc.c:1648 */
2161 break;
2162
2163 case 37:
2164 #line 324 "yyscript.y" /* yacc.c:1648 */
2165 { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2166 #line 2167 "yyscript.c" /* yacc.c:1648 */
2167 break;
2168
2169 case 38:
2170 #line 326 "yyscript.y" /* yacc.c:1648 */
2171 { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2172 #line 2173 "yyscript.c" /* yacc.c:1648 */
2173 break;
2174
2175 case 39:
2176 #line 328 "yyscript.y" /* yacc.c:1648 */
2177 { script_add_extern(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2178 #line 2179 "yyscript.c" /* yacc.c:1648 */
2179 break;
2180
2181 case 42:
2182 #line 340 "yyscript.y" /* yacc.c:1648 */
2183 { script_add_file(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2184 #line 2185 "yyscript.c" /* yacc.c:1648 */
2185 break;
2186
2187 case 43:
2188 #line 342 "yyscript.y" /* yacc.c:1648 */
2189 { script_add_library(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2190 #line 2191 "yyscript.c" /* yacc.c:1648 */
2191 break;
2192
2193 case 44:
2194 #line 344 "yyscript.y" /* yacc.c:1648 */
2195 { script_start_as_needed(closure); }
2196 #line 2197 "yyscript.c" /* yacc.c:1648 */
2197 break;
2198
2199 case 45:
2200 #line 346 "yyscript.y" /* yacc.c:1648 */
2201 { script_end_as_needed(closure); }
2202 #line 2203 "yyscript.c" /* yacc.c:1648 */
2203 break;
2204
2205 case 48:
2206 #line 358 "yyscript.y" /* yacc.c:1648 */
2207 { script_set_entry(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2208 #line 2209 "yyscript.c" /* yacc.c:1648 */
2209 break;
2210
2211 case 50:
2212 #line 361 "yyscript.y" /* yacc.c:1648 */
2213 { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2214 #line 2215 "yyscript.c" /* yacc.c:1648 */
2215 break;
2216
2217 case 51:
2218 #line 363 "yyscript.y" /* yacc.c:1648 */
2219 { script_include_directive(PARSING_SECTIONS_BLOCK, closure,
2220 (yyvsp[0].string).value, (yyvsp[0].string).length); }
2221 #line 2222 "yyscript.c" /* yacc.c:1648 */
2222 break;
2223
2224 case 52:
2225 #line 366 "yyscript.y" /* yacc.c:1648 */
2226 { script_start_output_section(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, &(yyvsp[0].output_section_header)); }
2227 #line 2228 "yyscript.c" /* yacc.c:1648 */
2228 break;
2229
2230 case 53:
2231 #line 368 "yyscript.y" /* yacc.c:1648 */
2232 { script_finish_output_section(closure, &(yyvsp[0].output_section_trailer)); }
2233 #line 2234 "yyscript.c" /* yacc.c:1648 */
2234 break;
2235
2236 case 54:
2237 #line 374 "yyscript.y" /* yacc.c:1648 */
2238 { script_push_lex_into_expression_mode(closure); }
2239 #line 2240 "yyscript.c" /* yacc.c:1648 */
2240 break;
2241
2242 case 55:
2243 #line 376 "yyscript.y" /* yacc.c:1648 */
2244 { script_pop_lex_mode(closure); }
2245 #line 2246 "yyscript.c" /* yacc.c:1648 */
2246 break;
2247
2248 case 56:
2249 #line 378 "yyscript.y" /* yacc.c:1648 */
2250 {
2251 (yyval.output_section_header).address = (yyvsp[-5].output_section_header).address;
2252 (yyval.output_section_header).section_type = (yyvsp[-5].output_section_header).section_type;
2253 (yyval.output_section_header).load_address = (yyvsp[-4].expr);
2254 (yyval.output_section_header).align = (yyvsp[-3].expr);
2255 (yyval.output_section_header).subalign = (yyvsp[-2].expr);
2256 (yyval.output_section_header).constraint = (yyvsp[0].constraint);
2257 }
2258 #line 2259 "yyscript.c" /* yacc.c:1648 */
2259 break;
2260
2261 case 57:
2262 #line 394 "yyscript.y" /* yacc.c:1648 */
2263 {
2264 (yyval.output_section_header).address = NULL;
2265 (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2266 }
2267 #line 2268 "yyscript.c" /* yacc.c:1648 */
2268 break;
2269
2270 case 58:
2271 #line 399 "yyscript.y" /* yacc.c:1648 */
2272 {
2273 (yyval.output_section_header).address = NULL;
2274 (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2275 }
2276 #line 2277 "yyscript.c" /* yacc.c:1648 */
2277 break;
2278
2279 case 59:
2280 #line 404 "yyscript.y" /* yacc.c:1648 */
2281 {
2282 (yyval.output_section_header).address = (yyvsp[-1].expr);
2283 (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2284 }
2285 #line 2286 "yyscript.c" /* yacc.c:1648 */
2286 break;
2287
2288 case 60:
2289 #line 409 "yyscript.y" /* yacc.c:1648 */
2290 {
2291 (yyval.output_section_header).address = (yyvsp[-3].expr);
2292 (yyval.output_section_header).section_type = SCRIPT_SECTION_TYPE_NONE;
2293 }
2294 #line 2295 "yyscript.c" /* yacc.c:1648 */
2295 break;
2296
2297 case 61:
2298 #line 414 "yyscript.y" /* yacc.c:1648 */
2299 {
2300 (yyval.output_section_header).address = NULL;
2301 (yyval.output_section_header).section_type = (yyvsp[-2].section_type);
2302 }
2303 #line 2304 "yyscript.c" /* yacc.c:1648 */
2304 break;
2305
2306 case 62:
2307 #line 419 "yyscript.y" /* yacc.c:1648 */
2308 {
2309 (yyval.output_section_header).address = (yyvsp[-4].expr);
2310 (yyval.output_section_header).section_type = (yyvsp[-2].section_type);
2311 }
2312 #line 2313 "yyscript.c" /* yacc.c:1648 */
2313 break;
2314
2315 case 63:
2316 #line 428 "yyscript.y" /* yacc.c:1648 */
2317 { (yyval.section_type) = SCRIPT_SECTION_TYPE_NOLOAD; }
2318 #line 2319 "yyscript.c" /* yacc.c:1648 */
2319 break;
2320
2321 case 64:
2322 #line 430 "yyscript.y" /* yacc.c:1648 */
2323 {
2324 yyerror(closure, "DSECT section type is unsupported");
2325 (yyval.section_type) = SCRIPT_SECTION_TYPE_DSECT;
2326 }
2327 #line 2328 "yyscript.c" /* yacc.c:1648 */
2328 break;
2329
2330 case 65:
2331 #line 435 "yyscript.y" /* yacc.c:1648 */
2332 {
2333 yyerror(closure, "COPY section type is unsupported");
2334 (yyval.section_type) = SCRIPT_SECTION_TYPE_COPY;
2335 }
2336 #line 2337 "yyscript.c" /* yacc.c:1648 */
2337 break;
2338
2339 case 66:
2340 #line 440 "yyscript.y" /* yacc.c:1648 */
2341 {
2342 yyerror(closure, "INFO section type is unsupported");
2343 (yyval.section_type) = SCRIPT_SECTION_TYPE_INFO;
2344 }
2345 #line 2346 "yyscript.c" /* yacc.c:1648 */
2346 break;
2347
2348 case 67:
2349 #line 445 "yyscript.y" /* yacc.c:1648 */
2350 {
2351 yyerror(closure, "OVERLAY section type is unsupported");
2352 (yyval.section_type) = SCRIPT_SECTION_TYPE_OVERLAY;
2353 }
2354 #line 2355 "yyscript.c" /* yacc.c:1648 */
2355 break;
2356
2357 case 68:
2358 #line 454 "yyscript.y" /* yacc.c:1648 */
2359 { (yyval.expr) = NULL; }
2360 #line 2361 "yyscript.c" /* yacc.c:1648 */
2361 break;
2362
2363 case 69:
2364 #line 456 "yyscript.y" /* yacc.c:1648 */
2365 { (yyval.expr) = (yyvsp[-1].expr); }
2366 #line 2367 "yyscript.c" /* yacc.c:1648 */
2367 break;
2368
2369 case 70:
2370 #line 462 "yyscript.y" /* yacc.c:1648 */
2371 { (yyval.expr) = NULL; }
2372 #line 2373 "yyscript.c" /* yacc.c:1648 */
2373 break;
2374
2375 case 71:
2376 #line 464 "yyscript.y" /* yacc.c:1648 */
2377 { (yyval.expr) = (yyvsp[-1].expr); }
2378 #line 2379 "yyscript.c" /* yacc.c:1648 */
2379 break;
2380
2381 case 72:
2382 #line 470 "yyscript.y" /* yacc.c:1648 */
2383 { (yyval.expr) = NULL; }
2384 #line 2385 "yyscript.c" /* yacc.c:1648 */
2385 break;
2386
2387 case 73:
2388 #line 472 "yyscript.y" /* yacc.c:1648 */
2389 { (yyval.expr) = (yyvsp[-1].expr); }
2390 #line 2391 "yyscript.c" /* yacc.c:1648 */
2391 break;
2392
2393 case 74:
2394 #line 478 "yyscript.y" /* yacc.c:1648 */
2395 { (yyval.constraint) = CONSTRAINT_NONE; }
2396 #line 2397 "yyscript.c" /* yacc.c:1648 */
2397 break;
2398
2399 case 75:
2400 #line 480 "yyscript.y" /* yacc.c:1648 */
2401 { (yyval.constraint) = CONSTRAINT_ONLY_IF_RO; }
2402 #line 2403 "yyscript.c" /* yacc.c:1648 */
2403 break;
2404
2405 case 76:
2406 #line 482 "yyscript.y" /* yacc.c:1648 */
2407 { (yyval.constraint) = CONSTRAINT_ONLY_IF_RW; }
2408 #line 2409 "yyscript.c" /* yacc.c:1648 */
2409 break;
2410
2411 case 77:
2412 #line 484 "yyscript.y" /* yacc.c:1648 */
2413 { (yyval.constraint) = CONSTRAINT_SPECIAL; }
2414 #line 2415 "yyscript.c" /* yacc.c:1648 */
2415 break;
2416
2417 case 78:
2418 #line 490 "yyscript.y" /* yacc.c:1648 */
2419 {
2420 (yyval.output_section_trailer).fill = (yyvsp[-1].expr);
2421 (yyval.output_section_trailer).phdrs = (yyvsp[-2].string_list);
2422 }
2423 #line 2424 "yyscript.c" /* yacc.c:1648 */
2424 break;
2425
2426 case 79:
2427 #line 499 "yyscript.y" /* yacc.c:1648 */
2428 { script_set_section_region(closure, (yyvsp[0].string).value, (yyvsp[0].string).length, 1); }
2429 #line 2430 "yyscript.c" /* yacc.c:1648 */
2430 break;
2431
2432 case 81:
2433 #line 506 "yyscript.y" /* yacc.c:1648 */
2434 { script_set_section_region(closure, (yyvsp[0].string).value, (yyvsp[0].string).length, 0); }
2435 #line 2436 "yyscript.c" /* yacc.c:1648 */
2436 break;
2437
2438 case 83:
2439 #line 513 "yyscript.y" /* yacc.c:1648 */
2440 { (yyval.string_list) = script_string_list_push_back((yyvsp[-2].string_list), (yyvsp[0].string).value, (yyvsp[0].string).length); }
2441 #line 2442 "yyscript.c" /* yacc.c:1648 */
2442 break;
2443
2444 case 84:
2445 #line 515 "yyscript.y" /* yacc.c:1648 */
2446 { (yyval.string_list) = NULL; }
2447 #line 2448 "yyscript.c" /* yacc.c:1648 */
2448 break;
2449
2450 case 85:
2451 #line 522 "yyscript.y" /* yacc.c:1648 */
2452 { (yyval.expr) = (yyvsp[0].expr); }
2453 #line 2454 "yyscript.c" /* yacc.c:1648 */
2454 break;
2455
2456 case 86:
2457 #line 524 "yyscript.y" /* yacc.c:1648 */
2458 { (yyval.expr) = NULL; }
2459 #line 2460 "yyscript.c" /* yacc.c:1648 */
2460 break;
2461
2462 case 91:
2463 #line 540 "yyscript.y" /* yacc.c:1648 */
2464 { script_add_data(closure, (yyvsp[-3].integer), (yyvsp[-1].expr)); }
2465 #line 2466 "yyscript.c" /* yacc.c:1648 */
2466 break;
2467
2468 case 92:
2469 #line 542 "yyscript.y" /* yacc.c:1648 */
2470 { script_add_assertion(closure, (yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
2471 #line 2472 "yyscript.c" /* yacc.c:1648 */
2472 break;
2473
2474 case 93:
2475 #line 544 "yyscript.y" /* yacc.c:1648 */
2476 { script_add_fill(closure, (yyvsp[-1].expr)); }
2477 #line 2478 "yyscript.c" /* yacc.c:1648 */
2478 break;
2479
2480 case 94:
2481 #line 546 "yyscript.y" /* yacc.c:1648 */
2482 {
2483 /* The GNU linker uses CONSTRUCTORS for the a.out object
2484 file format. It does nothing when using ELF. Since
2485 some ELF linker scripts use it although it does
2486 nothing, we accept it and ignore it. */
2487 }
2488 #line 2489 "yyscript.c" /* yacc.c:1648 */
2489 break;
2490
2491 case 96:
2492 #line 554 "yyscript.y" /* yacc.c:1648 */
2493 { script_include_directive(PARSING_SECTION_COMMANDS, closure,
2494 (yyvsp[0].string).value, (yyvsp[0].string).length); }
2495 #line 2496 "yyscript.c" /* yacc.c:1648 */
2496 break;
2497
2498 case 98:
2499 #line 563 "yyscript.y" /* yacc.c:1648 */
2500 { (yyval.integer) = QUAD; }
2501 #line 2502 "yyscript.c" /* yacc.c:1648 */
2502 break;
2503
2504 case 99:
2505 #line 565 "yyscript.y" /* yacc.c:1648 */
2506 { (yyval.integer) = SQUAD; }
2507 #line 2508 "yyscript.c" /* yacc.c:1648 */
2508 break;
2509
2510 case 100:
2511 #line 567 "yyscript.y" /* yacc.c:1648 */
2512 { (yyval.integer) = LONG; }
2513 #line 2514 "yyscript.c" /* yacc.c:1648 */
2514 break;
2515
2516 case 101:
2517 #line 569 "yyscript.y" /* yacc.c:1648 */
2518 { (yyval.integer) = SHORT; }
2519 #line 2520 "yyscript.c" /* yacc.c:1648 */
2520 break;
2521
2522 case 102:
2523 #line 571 "yyscript.y" /* yacc.c:1648 */
2524 { (yyval.integer) = BYTE; }
2525 #line 2526 "yyscript.c" /* yacc.c:1648 */
2526 break;
2527
2528 case 103:
2529 #line 578 "yyscript.y" /* yacc.c:1648 */
2530 { script_add_input_section(closure, &(yyvsp[0].input_section_spec), 0); }
2531 #line 2532 "yyscript.c" /* yacc.c:1648 */
2532 break;
2533
2534 case 104:
2535 #line 580 "yyscript.y" /* yacc.c:1648 */
2536 { script_add_input_section(closure, &(yyvsp[-1].input_section_spec), 1); }
2537 #line 2538 "yyscript.c" /* yacc.c:1648 */
2538 break;
2539
2540 case 105:
2541 #line 586 "yyscript.y" /* yacc.c:1648 */
2542 {
2543 (yyval.input_section_spec).file.name = (yyvsp[0].string);
2544 (yyval.input_section_spec).file.sort = SORT_WILDCARD_NONE;
2545 (yyval.input_section_spec).input_sections.sections = NULL;
2546 (yyval.input_section_spec).input_sections.exclude = NULL;
2547 }
2548 #line 2549 "yyscript.c" /* yacc.c:1648 */
2549 break;
2550
2551 case 106:
2552 #line 593 "yyscript.y" /* yacc.c:1648 */
2553 {
2554 (yyval.input_section_spec).file = (yyvsp[-3].wildcard_section);
2555 (yyval.input_section_spec).input_sections = (yyvsp[-1].wildcard_sections);
2556 }
2557 #line 2558 "yyscript.c" /* yacc.c:1648 */
2558 break;
2559
2560 case 107:
2561 #line 602 "yyscript.y" /* yacc.c:1648 */
2562 {
2563 (yyval.wildcard_section).name = (yyvsp[0].string);
2564 (yyval.wildcard_section).sort = SORT_WILDCARD_NONE;
2565 }
2566 #line 2567 "yyscript.c" /* yacc.c:1648 */
2567 break;
2568
2569 case 108:
2570 #line 607 "yyscript.y" /* yacc.c:1648 */
2571 {
2572 (yyval.wildcard_section).name = (yyvsp[-1].string);
2573 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME;
2574 }
2575 #line 2576 "yyscript.c" /* yacc.c:1648 */
2576 break;
2577
2578 case 109:
2579 #line 616 "yyscript.y" /* yacc.c:1648 */
2580 {
2581 (yyval.wildcard_sections).sections = script_string_sort_list_add((yyvsp[-2].wildcard_sections).sections, &(yyvsp[0].wildcard_section));
2582 (yyval.wildcard_sections).exclude = (yyvsp[-2].wildcard_sections).exclude;
2583 }
2584 #line 2585 "yyscript.c" /* yacc.c:1648 */
2585 break;
2586
2587 case 110:
2588 #line 621 "yyscript.y" /* yacc.c:1648 */
2589 {
2590 (yyval.wildcard_sections).sections = script_new_string_sort_list(&(yyvsp[0].wildcard_section));
2591 (yyval.wildcard_sections).exclude = NULL;
2592 }
2593 #line 2594 "yyscript.c" /* yacc.c:1648 */
2594 break;
2595
2596 case 111:
2597 #line 626 "yyscript.y" /* yacc.c:1648 */
2598 {
2599 (yyval.wildcard_sections).sections = (yyvsp[-5].wildcard_sections).sections;
2600 (yyval.wildcard_sections).exclude = script_string_list_append((yyvsp[-5].wildcard_sections).exclude, (yyvsp[-1].string_list));
2601 }
2602 #line 2603 "yyscript.c" /* yacc.c:1648 */
2603 break;
2604
2605 case 112:
2606 #line 631 "yyscript.y" /* yacc.c:1648 */
2607 {
2608 (yyval.wildcard_sections).sections = NULL;
2609 (yyval.wildcard_sections).exclude = (yyvsp[-1].string_list);
2610 }
2611 #line 2612 "yyscript.c" /* yacc.c:1648 */
2612 break;
2613
2614 case 113:
2615 #line 640 "yyscript.y" /* yacc.c:1648 */
2616 {
2617 (yyval.wildcard_section).name = (yyvsp[0].string);
2618 (yyval.wildcard_section).sort = SORT_WILDCARD_NONE;
2619 }
2620 #line 2621 "yyscript.c" /* yacc.c:1648 */
2621 break;
2622
2623 case 114:
2624 #line 645 "yyscript.y" /* yacc.c:1648 */
2625 {
2626 (yyval.wildcard_section).name = (yyvsp[-1].wildcard_section).name;
2627 switch ((yyvsp[-1].wildcard_section).sort)
2628 {
2629 case SORT_WILDCARD_NONE:
2630 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME;
2631 break;
2632 case SORT_WILDCARD_BY_NAME:
2633 case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
2634 break;
2635 case SORT_WILDCARD_BY_ALIGNMENT:
2636 case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
2637 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_NAME_BY_ALIGNMENT;
2638 break;
2639 default:
2640 abort();
2641 }
2642 }
2643 #line 2644 "yyscript.c" /* yacc.c:1648 */
2644 break;
2645
2646 case 115:
2647 #line 664 "yyscript.y" /* yacc.c:1648 */
2648 {
2649 (yyval.wildcard_section).name = (yyvsp[-1].wildcard_section).name;
2650 switch ((yyvsp[-1].wildcard_section).sort)
2651 {
2652 case SORT_WILDCARD_NONE:
2653 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_ALIGNMENT;
2654 break;
2655 case SORT_WILDCARD_BY_ALIGNMENT:
2656 case SORT_WILDCARD_BY_ALIGNMENT_BY_NAME:
2657 break;
2658 case SORT_WILDCARD_BY_NAME:
2659 case SORT_WILDCARD_BY_NAME_BY_ALIGNMENT:
2660 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_ALIGNMENT_BY_NAME;
2661 break;
2662 default:
2663 abort();
2664 }
2665 }
2666 #line 2667 "yyscript.c" /* yacc.c:1648 */
2667 break;
2668
2669 case 116:
2670 #line 683 "yyscript.y" /* yacc.c:1648 */
2671 {
2672 (yyval.wildcard_section).name = (yyvsp[-1].string);
2673 (yyval.wildcard_section).sort = SORT_WILDCARD_BY_INIT_PRIORITY;
2674 }
2675 #line 2676 "yyscript.c" /* yacc.c:1648 */
2676 break;
2677
2678 case 117:
2679 #line 692 "yyscript.y" /* yacc.c:1648 */
2680 { (yyval.string_list) = script_string_list_push_back((yyvsp[-2].string_list), (yyvsp[0].string).value, (yyvsp[0].string).length); }
2681 #line 2682 "yyscript.c" /* yacc.c:1648 */
2682 break;
2683
2684 case 118:
2685 #line 694 "yyscript.y" /* yacc.c:1648 */
2686 { (yyval.string_list) = script_new_string_list((yyvsp[0].string).value, (yyvsp[0].string).length); }
2687 #line 2688 "yyscript.c" /* yacc.c:1648 */
2688 break;
2689
2690 case 119:
2691 #line 701 "yyscript.y" /* yacc.c:1648 */
2692 { (yyval.string) = (yyvsp[0].string); }
2693 #line 2694 "yyscript.c" /* yacc.c:1648 */
2694 break;
2695
2696 case 120:
2697 #line 703 "yyscript.y" /* yacc.c:1648 */
2698 {
2699 (yyval.string).value = "*";
2700 (yyval.string).length = 1;
2701 }
2702 #line 2703 "yyscript.c" /* yacc.c:1648 */
2703 break;
2704
2705 case 121:
2706 #line 708 "yyscript.y" /* yacc.c:1648 */
2707 {
2708 (yyval.string).value = "?";
2709 (yyval.string).length = 1;
2710 }
2711 #line 2712 "yyscript.c" /* yacc.c:1648 */
2712 break;
2713
2714 case 124:
2715 #line 723 "yyscript.y" /* yacc.c:1648 */
2716 { script_add_memory(closure, (yyvsp[-9].string).value, (yyvsp[-9].string).length, (yyvsp[-8].integer), (yyvsp[-4].expr), (yyvsp[0].expr)); }
2717 #line 2718 "yyscript.c" /* yacc.c:1648 */
2718 break;
2719
2720 case 125:
2721 #line 726 "yyscript.y" /* yacc.c:1648 */
2722 { script_include_directive(PARSING_MEMORY_DEF, closure,
2723 (yyvsp[0].string).value, (yyvsp[0].string).length); }
2724 #line 2725 "yyscript.c" /* yacc.c:1648 */
2725 break;
2726
2727 case 127:
2728 #line 734 "yyscript.y" /* yacc.c:1648 */
2729 { (yyval.integer) = script_parse_memory_attr(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, 0); }
2730 #line 2731 "yyscript.c" /* yacc.c:1648 */
2731 break;
2732
2733 case 128:
2734 #line 737 "yyscript.y" /* yacc.c:1648 */
2735 { (yyval.integer) = script_parse_memory_attr(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length, 1); }
2736 #line 2737 "yyscript.c" /* yacc.c:1648 */
2737 break;
2738
2739 case 129:
2740 #line 739 "yyscript.y" /* yacc.c:1648 */
2741 { (yyval.integer) = 0; }
2742 #line 2743 "yyscript.c" /* yacc.c:1648 */
2743 break;
2744
2745 case 138:
2746 #line 767 "yyscript.y" /* yacc.c:1648 */
2747 { script_add_phdr(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-2].integer), &(yyvsp[-1].phdr_info)); }
2748 #line 2749 "yyscript.c" /* yacc.c:1648 */
2749 break;
2750
2751 case 139:
2752 #line 776 "yyscript.y" /* yacc.c:1648 */
2753 { (yyval.integer) = script_phdr_string_to_type(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
2754 #line 2755 "yyscript.c" /* yacc.c:1648 */
2755 break;
2756
2757 case 140:
2758 #line 778 "yyscript.y" /* yacc.c:1648 */
2759 { (yyval.integer) = (yyvsp[0].integer); }
2760 #line 2761 "yyscript.c" /* yacc.c:1648 */
2761 break;
2762
2763 case 141:
2764 #line 784 "yyscript.y" /* yacc.c:1648 */
2765 { memset(&(yyval.phdr_info), 0, sizeof(struct Phdr_info)); }
2766 #line 2767 "yyscript.c" /* yacc.c:1648 */
2767 break;
2768
2769 case 142:
2770 #line 786 "yyscript.y" /* yacc.c:1648 */
2771 {
2772 (yyval.phdr_info) = (yyvsp[0].phdr_info);
2773 if ((yyvsp[-1].string).length == 7 && strncmp((yyvsp[-1].string).value, "FILEHDR", 7) == 0)
2774 (yyval.phdr_info).includes_filehdr = 1;
2775 else
2776 yyerror(closure, "PHDRS syntax error");
2777 }
2778 #line 2779 "yyscript.c" /* yacc.c:1648 */
2779 break;
2780
2781 case 143:
2782 #line 794 "yyscript.y" /* yacc.c:1648 */
2783 {
2784 (yyval.phdr_info) = (yyvsp[0].phdr_info);
2785 (yyval.phdr_info).includes_phdrs = 1;
2786 }
2787 #line 2788 "yyscript.c" /* yacc.c:1648 */
2788 break;
2789
2790 case 144:
2791 #line 799 "yyscript.y" /* yacc.c:1648 */
2792 {
2793 (yyval.phdr_info) = (yyvsp[0].phdr_info);
2794 if ((yyvsp[-4].string).length == 5 && strncmp((yyvsp[-4].string).value, "FLAGS", 5) == 0)
2795 {
2796 (yyval.phdr_info).is_flags_valid = 1;
2797 (yyval.phdr_info).flags = (yyvsp[-2].integer);
2798 }
2799 else
2800 yyerror(closure, "PHDRS syntax error");
2801 }
2802 #line 2803 "yyscript.c" /* yacc.c:1648 */
2803 break;
2804
2805 case 145:
2806 #line 810 "yyscript.y" /* yacc.c:1648 */
2807 {
2808 (yyval.phdr_info) = (yyvsp[0].phdr_info);
2809 (yyval.phdr_info).load_address = (yyvsp[-2].expr);
2810 }
2811 #line 2812 "yyscript.c" /* yacc.c:1648 */
2812 break;
2813
2814 case 146:
2815 #line 819 "yyscript.y" /* yacc.c:1648 */
2816 { script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, (yyvsp[0].expr), 0, 0); }
2817 #line 2818 "yyscript.c" /* yacc.c:1648 */
2818 break;
2819
2820 case 147:
2821 #line 821 "yyscript.y" /* yacc.c:1648 */
2822 {
2823 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2824 Expression_ptr e = script_exp_binary_add(s, (yyvsp[0].expr));
2825 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2826 }
2827 #line 2828 "yyscript.c" /* yacc.c:1648 */
2828 break;
2829
2830 case 148:
2831 #line 827 "yyscript.y" /* yacc.c:1648 */
2832 {
2833 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2834 Expression_ptr e = script_exp_binary_sub(s, (yyvsp[0].expr));
2835 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2836 }
2837 #line 2838 "yyscript.c" /* yacc.c:1648 */
2838 break;
2839
2840 case 149:
2841 #line 833 "yyscript.y" /* yacc.c:1648 */
2842 {
2843 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2844 Expression_ptr e = script_exp_binary_mult(s, (yyvsp[0].expr));
2845 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2846 }
2847 #line 2848 "yyscript.c" /* yacc.c:1648 */
2848 break;
2849
2850 case 150:
2851 #line 839 "yyscript.y" /* yacc.c:1648 */
2852 {
2853 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2854 Expression_ptr e = script_exp_binary_div(s, (yyvsp[0].expr));
2855 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2856 }
2857 #line 2858 "yyscript.c" /* yacc.c:1648 */
2858 break;
2859
2860 case 151:
2861 #line 845 "yyscript.y" /* yacc.c:1648 */
2862 {
2863 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2864 Expression_ptr e = script_exp_binary_lshift(s, (yyvsp[0].expr));
2865 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2866 }
2867 #line 2868 "yyscript.c" /* yacc.c:1648 */
2868 break;
2869
2870 case 152:
2871 #line 851 "yyscript.y" /* yacc.c:1648 */
2872 {
2873 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2874 Expression_ptr e = script_exp_binary_rshift(s, (yyvsp[0].expr));
2875 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2876 }
2877 #line 2878 "yyscript.c" /* yacc.c:1648 */
2878 break;
2879
2880 case 153:
2881 #line 857 "yyscript.y" /* yacc.c:1648 */
2882 {
2883 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2884 Expression_ptr e = script_exp_binary_bitwise_and(s, (yyvsp[0].expr));
2885 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2886 }
2887 #line 2888 "yyscript.c" /* yacc.c:1648 */
2888 break;
2889
2890 case 154:
2891 #line 863 "yyscript.y" /* yacc.c:1648 */
2892 {
2893 Expression_ptr s = script_exp_string((yyvsp[-2].string).value, (yyvsp[-2].string).length);
2894 Expression_ptr e = script_exp_binary_bitwise_or(s, (yyvsp[0].expr));
2895 script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, e, 0, 0);
2896 }
2897 #line 2898 "yyscript.c" /* yacc.c:1648 */
2898 break;
2899
2900 case 155:
2901 #line 869 "yyscript.y" /* yacc.c:1648 */
2902 { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 0, 1); }
2903 #line 2904 "yyscript.c" /* yacc.c:1648 */
2904 break;
2905
2906 case 156:
2907 #line 871 "yyscript.y" /* yacc.c:1648 */
2908 { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 1, 0); }
2909 #line 2910 "yyscript.c" /* yacc.c:1648 */
2910 break;
2911
2912 case 157:
2913 #line 873 "yyscript.y" /* yacc.c:1648 */
2914 { script_set_symbol(closure, (yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr), 1, 1); }
2915 #line 2916 "yyscript.c" /* yacc.c:1648 */
2916 break;
2917
2918 case 158:
2919 #line 878 "yyscript.y" /* yacc.c:1648 */
2920 { script_push_lex_into_expression_mode(closure); }
2921 #line 2922 "yyscript.c" /* yacc.c:1648 */
2922 break;
2923
2924 case 159:
2925 #line 880 "yyscript.y" /* yacc.c:1648 */
2926 {
2927 script_pop_lex_mode(closure);
2928 (yyval.expr) = (yyvsp[0].expr);
2929 }
2930 #line 2931 "yyscript.c" /* yacc.c:1648 */
2931 break;
2932
2933 case 160:
2934 #line 889 "yyscript.y" /* yacc.c:1648 */
2935 { (yyval.expr) = (yyvsp[-1].expr); }
2936 #line 2937 "yyscript.c" /* yacc.c:1648 */
2937 break;
2938
2939 case 161:
2940 #line 891 "yyscript.y" /* yacc.c:1648 */
2941 { (yyval.expr) = script_exp_unary_minus((yyvsp[0].expr)); }
2942 #line 2943 "yyscript.c" /* yacc.c:1648 */
2943 break;
2944
2945 case 162:
2946 #line 893 "yyscript.y" /* yacc.c:1648 */
2947 { (yyval.expr) = script_exp_unary_logical_not((yyvsp[0].expr)); }
2948 #line 2949 "yyscript.c" /* yacc.c:1648 */
2949 break;
2950
2951 case 163:
2952 #line 895 "yyscript.y" /* yacc.c:1648 */
2953 { (yyval.expr) = script_exp_unary_bitwise_not((yyvsp[0].expr)); }
2954 #line 2955 "yyscript.c" /* yacc.c:1648 */
2955 break;
2956
2957 case 164:
2958 #line 897 "yyscript.y" /* yacc.c:1648 */
2959 { (yyval.expr) = (yyvsp[0].expr); }
2960 #line 2961 "yyscript.c" /* yacc.c:1648 */
2961 break;
2962
2963 case 165:
2964 #line 899 "yyscript.y" /* yacc.c:1648 */
2965 { (yyval.expr) = script_exp_binary_mult((yyvsp[-2].expr), (yyvsp[0].expr)); }
2966 #line 2967 "yyscript.c" /* yacc.c:1648 */
2967 break;
2968
2969 case 166:
2970 #line 901 "yyscript.y" /* yacc.c:1648 */
2971 { (yyval.expr) = script_exp_binary_div((yyvsp[-2].expr), (yyvsp[0].expr)); }
2972 #line 2973 "yyscript.c" /* yacc.c:1648 */
2973 break;
2974
2975 case 167:
2976 #line 903 "yyscript.y" /* yacc.c:1648 */
2977 { (yyval.expr) = script_exp_binary_mod((yyvsp[-2].expr), (yyvsp[0].expr)); }
2978 #line 2979 "yyscript.c" /* yacc.c:1648 */
2979 break;
2980
2981 case 168:
2982 #line 905 "yyscript.y" /* yacc.c:1648 */
2983 { (yyval.expr) = script_exp_binary_add((yyvsp[-2].expr), (yyvsp[0].expr)); }
2984 #line 2985 "yyscript.c" /* yacc.c:1648 */
2985 break;
2986
2987 case 169:
2988 #line 907 "yyscript.y" /* yacc.c:1648 */
2989 { (yyval.expr) = script_exp_binary_sub((yyvsp[-2].expr), (yyvsp[0].expr)); }
2990 #line 2991 "yyscript.c" /* yacc.c:1648 */
2991 break;
2992
2993 case 170:
2994 #line 909 "yyscript.y" /* yacc.c:1648 */
2995 { (yyval.expr) = script_exp_binary_lshift((yyvsp[-2].expr), (yyvsp[0].expr)); }
2996 #line 2997 "yyscript.c" /* yacc.c:1648 */
2997 break;
2998
2999 case 171:
3000 #line 911 "yyscript.y" /* yacc.c:1648 */
3001 { (yyval.expr) = script_exp_binary_rshift((yyvsp[-2].expr), (yyvsp[0].expr)); }
3002 #line 3003 "yyscript.c" /* yacc.c:1648 */
3003 break;
3004
3005 case 172:
3006 #line 913 "yyscript.y" /* yacc.c:1648 */
3007 { (yyval.expr) = script_exp_binary_eq((yyvsp[-2].expr), (yyvsp[0].expr)); }
3008 #line 3009 "yyscript.c" /* yacc.c:1648 */
3009 break;
3010
3011 case 173:
3012 #line 915 "yyscript.y" /* yacc.c:1648 */
3013 { (yyval.expr) = script_exp_binary_ne((yyvsp[-2].expr), (yyvsp[0].expr)); }
3014 #line 3015 "yyscript.c" /* yacc.c:1648 */
3015 break;
3016
3017 case 174:
3018 #line 917 "yyscript.y" /* yacc.c:1648 */
3019 { (yyval.expr) = script_exp_binary_le((yyvsp[-2].expr), (yyvsp[0].expr)); }
3020 #line 3021 "yyscript.c" /* yacc.c:1648 */
3021 break;
3022
3023 case 175:
3024 #line 919 "yyscript.y" /* yacc.c:1648 */
3025 { (yyval.expr) = script_exp_binary_ge((yyvsp[-2].expr), (yyvsp[0].expr)); }
3026 #line 3027 "yyscript.c" /* yacc.c:1648 */
3027 break;
3028
3029 case 176:
3030 #line 921 "yyscript.y" /* yacc.c:1648 */
3031 { (yyval.expr) = script_exp_binary_lt((yyvsp[-2].expr), (yyvsp[0].expr)); }
3032 #line 3033 "yyscript.c" /* yacc.c:1648 */
3033 break;
3034
3035 case 177:
3036 #line 923 "yyscript.y" /* yacc.c:1648 */
3037 { (yyval.expr) = script_exp_binary_gt((yyvsp[-2].expr), (yyvsp[0].expr)); }
3038 #line 3039 "yyscript.c" /* yacc.c:1648 */
3039 break;
3040
3041 case 178:
3042 #line 925 "yyscript.y" /* yacc.c:1648 */
3043 { (yyval.expr) = script_exp_binary_bitwise_and((yyvsp[-2].expr), (yyvsp[0].expr)); }
3044 #line 3045 "yyscript.c" /* yacc.c:1648 */
3045 break;
3046
3047 case 179:
3048 #line 927 "yyscript.y" /* yacc.c:1648 */
3049 { (yyval.expr) = script_exp_binary_bitwise_xor((yyvsp[-2].expr), (yyvsp[0].expr)); }
3050 #line 3051 "yyscript.c" /* yacc.c:1648 */
3051 break;
3052
3053 case 180:
3054 #line 929 "yyscript.y" /* yacc.c:1648 */
3055 { (yyval.expr) = script_exp_binary_bitwise_or((yyvsp[-2].expr), (yyvsp[0].expr)); }
3056 #line 3057 "yyscript.c" /* yacc.c:1648 */
3057 break;
3058
3059 case 181:
3060 #line 931 "yyscript.y" /* yacc.c:1648 */
3061 { (yyval.expr) = script_exp_binary_logical_and((yyvsp[-2].expr), (yyvsp[0].expr)); }
3062 #line 3063 "yyscript.c" /* yacc.c:1648 */
3063 break;
3064
3065 case 182:
3066 #line 933 "yyscript.y" /* yacc.c:1648 */
3067 { (yyval.expr) = script_exp_binary_logical_or((yyvsp[-2].expr), (yyvsp[0].expr)); }
3068 #line 3069 "yyscript.c" /* yacc.c:1648 */
3069 break;
3070
3071 case 183:
3072 #line 935 "yyscript.y" /* yacc.c:1648 */
3073 { (yyval.expr) = script_exp_trinary_cond((yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
3074 #line 3075 "yyscript.c" /* yacc.c:1648 */
3075 break;
3076
3077 case 184:
3078 #line 937 "yyscript.y" /* yacc.c:1648 */
3079 { (yyval.expr) = script_exp_integer((yyvsp[0].integer)); }
3080 #line 3081 "yyscript.c" /* yacc.c:1648 */
3081 break;
3082
3083 case 185:
3084 #line 939 "yyscript.y" /* yacc.c:1648 */
3085 { (yyval.expr) = script_symbol(closure, (yyvsp[0].string).value, (yyvsp[0].string).length); }
3086 #line 3087 "yyscript.c" /* yacc.c:1648 */
3087 break;
3088
3089 case 186:
3090 #line 941 "yyscript.y" /* yacc.c:1648 */
3091 { (yyval.expr) = script_exp_function_max((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3092 #line 3093 "yyscript.c" /* yacc.c:1648 */
3093 break;
3094
3095 case 187:
3096 #line 943 "yyscript.y" /* yacc.c:1648 */
3097 { (yyval.expr) = script_exp_function_min((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3098 #line 3099 "yyscript.c" /* yacc.c:1648 */
3099 break;
3100
3101 case 188:
3102 #line 945 "yyscript.y" /* yacc.c:1648 */
3103 { (yyval.expr) = script_exp_function_defined((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3104 #line 3105 "yyscript.c" /* yacc.c:1648 */
3105 break;
3106
3107 case 189:
3108 #line 947 "yyscript.y" /* yacc.c:1648 */
3109 { (yyval.expr) = script_exp_function_sizeof_headers(); }
3110 #line 3111 "yyscript.c" /* yacc.c:1648 */
3111 break;
3112
3113 case 190:
3114 #line 949 "yyscript.y" /* yacc.c:1648 */
3115 { (yyval.expr) = script_exp_function_alignof((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3116 #line 3117 "yyscript.c" /* yacc.c:1648 */
3117 break;
3118
3119 case 191:
3120 #line 951 "yyscript.y" /* yacc.c:1648 */
3121 { (yyval.expr) = script_exp_function_sizeof((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3122 #line 3123 "yyscript.c" /* yacc.c:1648 */
3123 break;
3124
3125 case 192:
3126 #line 953 "yyscript.y" /* yacc.c:1648 */
3127 { (yyval.expr) = script_exp_function_addr((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3128 #line 3129 "yyscript.c" /* yacc.c:1648 */
3129 break;
3130
3131 case 193:
3132 #line 955 "yyscript.y" /* yacc.c:1648 */
3133 { (yyval.expr) = script_exp_function_loadaddr((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3134 #line 3135 "yyscript.c" /* yacc.c:1648 */
3135 break;
3136
3137 case 194:
3138 #line 957 "yyscript.y" /* yacc.c:1648 */
3139 { (yyval.expr) = script_exp_function_origin(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3140 #line 3141 "yyscript.c" /* yacc.c:1648 */
3141 break;
3142
3143 case 195:
3144 #line 959 "yyscript.y" /* yacc.c:1648 */
3145 { (yyval.expr) = script_exp_function_length(closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3146 #line 3147 "yyscript.c" /* yacc.c:1648 */
3147 break;
3148
3149 case 196:
3150 #line 961 "yyscript.y" /* yacc.c:1648 */
3151 { (yyval.expr) = script_exp_function_constant((yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3152 #line 3153 "yyscript.c" /* yacc.c:1648 */
3153 break;
3154
3155 case 197:
3156 #line 963 "yyscript.y" /* yacc.c:1648 */
3157 { (yyval.expr) = script_exp_function_absolute((yyvsp[-1].expr)); }
3158 #line 3159 "yyscript.c" /* yacc.c:1648 */
3159 break;
3160
3161 case 198:
3162 #line 965 "yyscript.y" /* yacc.c:1648 */
3163 { (yyval.expr) = script_exp_function_align(script_exp_string(".", 1), (yyvsp[-1].expr)); }
3164 #line 3165 "yyscript.c" /* yacc.c:1648 */
3165 break;
3166
3167 case 199:
3168 #line 967 "yyscript.y" /* yacc.c:1648 */
3169 { (yyval.expr) = script_exp_function_align((yyvsp[-3].expr), (yyvsp[-1].expr)); }
3170 #line 3171 "yyscript.c" /* yacc.c:1648 */
3171 break;
3172
3173 case 200:
3174 #line 969 "yyscript.y" /* yacc.c:1648 */
3175 { (yyval.expr) = script_exp_function_align(script_exp_string(".", 1), (yyvsp[-1].expr)); }
3176 #line 3177 "yyscript.c" /* yacc.c:1648 */
3177 break;
3178
3179 case 201:
3180 #line 971 "yyscript.y" /* yacc.c:1648 */
3181 {
3182 script_data_segment_align(closure);
3183 (yyval.expr) = script_exp_function_data_segment_align((yyvsp[-3].expr), (yyvsp[-1].expr));
3184 }
3185 #line 3186 "yyscript.c" /* yacc.c:1648 */
3186 break;
3187
3188 case 202:
3189 #line 976 "yyscript.y" /* yacc.c:1648 */
3190 {
3191 script_data_segment_relro_end(closure);
3192 (yyval.expr) = script_exp_function_data_segment_relro_end((yyvsp[-3].expr), (yyvsp[-1].expr));
3193 }
3194 #line 3195 "yyscript.c" /* yacc.c:1648 */
3195 break;
3196
3197 case 203:
3198 #line 981 "yyscript.y" /* yacc.c:1648 */
3199 { (yyval.expr) = script_exp_function_data_segment_end((yyvsp[-1].expr)); }
3200 #line 3201 "yyscript.c" /* yacc.c:1648 */
3201 break;
3202
3203 case 204:
3204 #line 983 "yyscript.y" /* yacc.c:1648 */
3205 {
3206 (yyval.expr) = script_exp_function_segment_start((yyvsp[-3].string).value, (yyvsp[-3].string).length, (yyvsp[-1].expr));
3207 /* We need to take note of any SEGMENT_START expressions
3208 because they change the behaviour of -Ttext, -Tdata and
3209 -Tbss options. */
3210 script_saw_segment_start_expression(closure);
3211 }
3212 #line 3213 "yyscript.c" /* yacc.c:1648 */
3213 break;
3214
3215 case 205:
3216 #line 991 "yyscript.y" /* yacc.c:1648 */
3217 { (yyval.expr) = script_exp_function_assert((yyvsp[-3].expr), (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3218 #line 3219 "yyscript.c" /* yacc.c:1648 */
3219 break;
3220
3221 case 206:
3222 #line 997 "yyscript.y" /* yacc.c:1648 */
3223 { script_set_symbol(closure, (yyvsp[-2].string).value, (yyvsp[-2].string).length, (yyvsp[0].expr), 0, 0); }
3224 #line 3225 "yyscript.c" /* yacc.c:1648 */
3225 break;
3226
3227 case 210:
3228 #line 1015 "yyscript.y" /* yacc.c:1648 */
3229 { script_new_vers_node (closure, NULL, (yyvsp[-3].versyms)); }
3230 #line 3231 "yyscript.c" /* yacc.c:1648 */
3231 break;
3232
3233 case 214:
3234 #line 1030 "yyscript.y" /* yacc.c:1648 */
3235 {
3236 script_register_vers_node (closure, NULL, 0, (yyvsp[-2].versnode), NULL);
3237 }
3238 #line 3239 "yyscript.c" /* yacc.c:1648 */
3239 break;
3240
3241 case 215:
3242 #line 1034 "yyscript.y" /* yacc.c:1648 */
3243 {
3244 script_register_vers_node (closure, (yyvsp[-4].string).value, (yyvsp[-4].string).length, (yyvsp[-2].versnode),
3245 NULL);
3246 }
3247 #line 3248 "yyscript.c" /* yacc.c:1648 */
3248 break;
3249
3250 case 216:
3251 #line 1039 "yyscript.y" /* yacc.c:1648 */
3252 {
3253 script_register_vers_node (closure, (yyvsp[-5].string).value, (yyvsp[-5].string).length, (yyvsp[-3].versnode), (yyvsp[-1].deplist));
3254 }
3255 #line 3256 "yyscript.c" /* yacc.c:1648 */
3256 break;
3257
3258 case 217:
3259 #line 1046 "yyscript.y" /* yacc.c:1648 */
3260 {
3261 (yyval.deplist) = script_add_vers_depend (closure, NULL, (yyvsp[0].string).value, (yyvsp[0].string).length);
3262 }
3263 #line 3264 "yyscript.c" /* yacc.c:1648 */
3264 break;
3265
3266 case 218:
3267 #line 1050 "yyscript.y" /* yacc.c:1648 */
3268 {
3269 (yyval.deplist) = script_add_vers_depend (closure, (yyvsp[-1].deplist), (yyvsp[0].string).value, (yyvsp[0].string).length);
3270 }
3271 #line 3272 "yyscript.c" /* yacc.c:1648 */
3272 break;
3273
3274 case 219:
3275 #line 1057 "yyscript.y" /* yacc.c:1648 */
3276 { (yyval.versnode) = script_new_vers_node (closure, NULL, NULL); }
3277 #line 3278 "yyscript.c" /* yacc.c:1648 */
3278 break;
3279
3280 case 220:
3281 #line 1059 "yyscript.y" /* yacc.c:1648 */
3282 { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-1].versyms), NULL); }
3283 #line 3284 "yyscript.c" /* yacc.c:1648 */
3284 break;
3285
3286 case 221:
3287 #line 1061 "yyscript.y" /* yacc.c:1648 */
3288 { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-1].versyms), NULL); }
3289 #line 3290 "yyscript.c" /* yacc.c:1648 */
3290 break;
3291
3292 case 222:
3293 #line 1063 "yyscript.y" /* yacc.c:1648 */
3294 { (yyval.versnode) = script_new_vers_node (closure, NULL, (yyvsp[-1].versyms)); }
3295 #line 3296 "yyscript.c" /* yacc.c:1648 */
3296 break;
3297
3298 case 223:
3299 #line 1065 "yyscript.y" /* yacc.c:1648 */
3300 { (yyval.versnode) = script_new_vers_node (closure, (yyvsp[-5].versyms), (yyvsp[-1].versyms)); }
3301 #line 3302 "yyscript.c" /* yacc.c:1648 */
3302 break;
3303
3304 case 224:
3305 #line 1074 "yyscript.y" /* yacc.c:1648 */
3306 {
3307 (yyval.versyms) = script_new_vers_pattern (closure, NULL, (yyvsp[0].string).value,
3308 (yyvsp[0].string).length, 0);
3309 }
3310 #line 3311 "yyscript.c" /* yacc.c:1648 */
3311 break;
3312
3313 case 225:
3314 #line 1079 "yyscript.y" /* yacc.c:1648 */
3315 {
3316 (yyval.versyms) = script_new_vers_pattern (closure, NULL, (yyvsp[0].string).value,
3317 (yyvsp[0].string).length, 1);
3318 }
3319 #line 3320 "yyscript.c" /* yacc.c:1648 */
3320 break;
3321
3322 case 226:
3323 #line 1084 "yyscript.y" /* yacc.c:1648 */
3324 {
3325 (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), (yyvsp[0].string).value,
3326 (yyvsp[0].string).length, 0);
3327 }
3328 #line 3329 "yyscript.c" /* yacc.c:1648 */
3329 break;
3330
3331 case 227:
3332 #line 1089 "yyscript.y" /* yacc.c:1648 */
3333 {
3334 (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), (yyvsp[0].string).value,
3335 (yyvsp[0].string).length, 1);
3336 }
3337 #line 3338 "yyscript.c" /* yacc.c:1648 */
3338 break;
3339
3340 case 228:
3341 #line 1095 "yyscript.y" /* yacc.c:1648 */
3342 { version_script_push_lang (closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3343 #line 3344 "yyscript.c" /* yacc.c:1648 */
3344 break;
3345
3346 case 229:
3347 #line 1097 "yyscript.y" /* yacc.c:1648 */
3348 {
3349 (yyval.versyms) = (yyvsp[-2].versyms);
3350 version_script_pop_lang(closure);
3351 }
3352 #line 3353 "yyscript.c" /* yacc.c:1648 */
3353 break;
3354
3355 case 230:
3356 #line 1105 "yyscript.y" /* yacc.c:1648 */
3357 { version_script_push_lang (closure, (yyvsp[-1].string).value, (yyvsp[-1].string).length); }
3358 #line 3359 "yyscript.c" /* yacc.c:1648 */
3359 break;
3360
3361 case 231:
3362 #line 1107 "yyscript.y" /* yacc.c:1648 */
3363 {
3364 (yyval.versyms) = script_merge_expressions ((yyvsp[-8].versyms), (yyvsp[-2].versyms));
3365 version_script_pop_lang(closure);
3366 }
3367 #line 3368 "yyscript.c" /* yacc.c:1648 */
3368 break;
3369
3370 case 232:
3371 #line 1112 "yyscript.y" /* yacc.c:1648 */
3372 {
3373 (yyval.versyms) = script_new_vers_pattern (closure, NULL, "extern",
3374 sizeof("extern") - 1, 1);
3375 }
3376 #line 3377 "yyscript.c" /* yacc.c:1648 */
3377 break;
3378
3379 case 233:
3380 #line 1117 "yyscript.y" /* yacc.c:1648 */
3381 {
3382 (yyval.versyms) = script_new_vers_pattern (closure, (yyvsp[-2].versyms), "extern",
3383 sizeof("extern") - 1, 1);
3384 }
3385 #line 3386 "yyscript.c" /* yacc.c:1648 */
3386 break;
3387
3388 case 234:
3389 #line 1127 "yyscript.y" /* yacc.c:1648 */
3390 { (yyval.string) = (yyvsp[0].string); }
3391 #line 3392 "yyscript.c" /* yacc.c:1648 */
3392 break;
3393
3394 case 235:
3395 #line 1129 "yyscript.y" /* yacc.c:1648 */
3396 { (yyval.string) = (yyvsp[0].string); }
3397 #line 3398 "yyscript.c" /* yacc.c:1648 */
3398 break;
3399
3400
3401 #line 3402 "yyscript.c" /* yacc.c:1648 */
3402 default: break;
3403 }
3404 /* User semantic actions sometimes alter yychar, and that requires
3405 that yytoken be updated with the new translation. We take the
3406 approach of translating immediately before every use of yytoken.
3407 One alternative is translating here after every semantic action,
3408 but that translation would be missed if the semantic action invokes
3409 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3410 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
3411 incorrect destructor might then be invoked immediately. In the
3412 case of YYERROR or YYBACKUP, subsequent parser actions might lead
3413 to an incorrect destructor call or verbose syntax error message
3414 before the lookahead is translated. */
3415 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3416
3417 YYPOPSTACK (yylen);
3418 yylen = 0;
3419 YY_STACK_PRINT (yyss, yyssp);
3420
3421 *++yyvsp = yyval;
3422
3423 /* Now 'shift' the result of the reduction. Determine what state
3424 that goes to, based on the state we popped back to and the rule
3425 number reduced by. */
3426
3427 yyn = yyr1[yyn];
3428
3429 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3430 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3431 yystate = yytable[yystate];
3432 else
3433 yystate = yydefgoto[yyn - YYNTOKENS];
3434
3435 goto yynewstate;
3436
3437
3438 /*--------------------------------------.
3439 | yyerrlab -- here on detecting error. |
3440 `--------------------------------------*/
3441 yyerrlab:
3442 /* Make sure we have latest lookahead translation. See comments at
3443 user semantic actions for why this is necessary. */
3444 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3445
3446 /* If not already recovering from an error, report this error. */
3447 if (!yyerrstatus)
3448 {
3449 ++yynerrs;
3450 #if ! YYERROR_VERBOSE
3451 yyerror (closure, YY_("syntax error"));
3452 #else
3453 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3454 yyssp, yytoken)
3455 {
3456 char const *yymsgp = YY_("syntax error");
3457 int yysyntax_error_status;
3458 yysyntax_error_status = YYSYNTAX_ERROR;
3459 if (yysyntax_error_status == 0)
3460 yymsgp = yymsg;
3461 else if (yysyntax_error_status == 1)
3462 {
3463 if (yymsg != yymsgbuf)
3464 YYSTACK_FREE (yymsg);
3465 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3466 if (!yymsg)
3467 {
3468 yymsg = yymsgbuf;
3469 yymsg_alloc = sizeof yymsgbuf;
3470 yysyntax_error_status = 2;
3471 }
3472 else
3473 {
3474 yysyntax_error_status = YYSYNTAX_ERROR;
3475 yymsgp = yymsg;
3476 }
3477 }
3478 yyerror (closure, yymsgp);
3479 if (yysyntax_error_status == 2)
3480 goto yyexhaustedlab;
3481 }
3482 # undef YYSYNTAX_ERROR
3483 #endif
3484 }
3485
3486
3487
3488 if (yyerrstatus == 3)
3489 {
3490 /* If just tried and failed to reuse lookahead token after an
3491 error, discard it. */
3492
3493 if (yychar <= YYEOF)
3494 {
3495 /* Return failure if at end of input. */
3496 if (yychar == YYEOF)
3497 YYABORT;
3498 }
3499 else
3500 {
3501 yydestruct ("Error: discarding",
3502 yytoken, &yylval, closure);
3503 yychar = YYEMPTY;
3504 }
3505 }
3506
3507 /* Else will try to reuse lookahead token after shifting the error
3508 token. */
3509 goto yyerrlab1;
3510
3511
3512 /*---------------------------------------------------.
3513 | yyerrorlab -- error raised explicitly by YYERROR. |
3514 `---------------------------------------------------*/
3515 yyerrorlab:
3516
3517 /* Pacify compilers like GCC when the user code never invokes
3518 YYERROR and the label yyerrorlab therefore never appears in user
3519 code. */
3520 if (/*CONSTCOND*/ 0)
3521 goto yyerrorlab;
3522
3523 /* Do not reclaim the symbols of the rule whose action triggered
3524 this YYERROR. */
3525 YYPOPSTACK (yylen);
3526 yylen = 0;
3527 YY_STACK_PRINT (yyss, yyssp);
3528 yystate = *yyssp;
3529 goto yyerrlab1;
3530
3531
3532 /*-------------------------------------------------------------.
3533 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3534 `-------------------------------------------------------------*/
3535 yyerrlab1:
3536 yyerrstatus = 3; /* Each real token shifted decrements this. */
3537
3538 for (;;)
3539 {
3540 yyn = yypact[yystate];
3541 if (!yypact_value_is_default (yyn))
3542 {
3543 yyn += YYTERROR;
3544 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3545 {
3546 yyn = yytable[yyn];
3547 if (0 < yyn)
3548 break;
3549 }
3550 }
3551
3552 /* Pop the current state because it cannot handle the error token. */
3553 if (yyssp == yyss)
3554 YYABORT;
3555
3556
3557 yydestruct ("Error: popping",
3558 yystos[yystate], yyvsp, closure);
3559 YYPOPSTACK (1);
3560 yystate = *yyssp;
3561 YY_STACK_PRINT (yyss, yyssp);
3562 }
3563
3564 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3565 *++yyvsp = yylval;
3566 YY_IGNORE_MAYBE_UNINITIALIZED_END
3567
3568
3569 /* Shift the error token. */
3570 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3571
3572 yystate = yyn;
3573 goto yynewstate;
3574
3575
3576 /*-------------------------------------.
3577 | yyacceptlab -- YYACCEPT comes here. |
3578 `-------------------------------------*/
3579 yyacceptlab:
3580 yyresult = 0;
3581 goto yyreturn;
3582
3583 /*-----------------------------------.
3584 | yyabortlab -- YYABORT comes here. |
3585 `-----------------------------------*/
3586 yyabortlab:
3587 yyresult = 1;
3588 goto yyreturn;
3589
3590 #if !defined yyoverflow || YYERROR_VERBOSE
3591 /*-------------------------------------------------.
3592 | yyexhaustedlab -- memory exhaustion comes here. |
3593 `-------------------------------------------------*/
3594 yyexhaustedlab:
3595 yyerror (closure, YY_("memory exhausted"));
3596 yyresult = 2;
3597 /* Fall through. */
3598 #endif
3599
3600 yyreturn:
3601 if (yychar != YYEMPTY)
3602 {
3603 /* Make sure we have latest lookahead translation. See comments at
3604 user semantic actions for why this is necessary. */
3605 yytoken = YYTRANSLATE (yychar);
3606 yydestruct ("Cleanup: discarding lookahead",
3607 yytoken, &yylval, closure);
3608 }
3609 /* Do not reclaim the symbols of the rule whose action triggered
3610 this YYABORT or YYACCEPT. */
3611 YYPOPSTACK (yylen);
3612 YY_STACK_PRINT (yyss, yyssp);
3613 while (yyssp != yyss)
3614 {
3615 yydestruct ("Cleanup: popping",
3616 yystos[*yyssp], yyvsp, closure);
3617 YYPOPSTACK (1);
3618 }
3619 #ifndef yyoverflow
3620 if (yyss != yyssa)
3621 YYSTACK_FREE (yyss);
3622 #endif
3623 #if YYERROR_VERBOSE
3624 if (yymsg != yymsgbuf)
3625 YYSTACK_FREE (yymsg);
3626 #endif
3627 return yyresult;
3628 }
3629 #line 1151 "yyscript.y" /* yacc.c:1907 */
3630
3631