1 /* A Bison parser, made by GNU Bison 3.8.2. */ 2 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* C LALR(1) parser skeleton written by Richard Stallman, by 35 simplifying the original so-called "semantic" parser. */ 36 37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 38 especially those whose name start with YY_ or yy_. They are 39 private implementation details that can be changed or removed. */ 40 41 /* All symbols defined below should begin with yy or YY, to avoid 42 infringing on user name space. This should be done even for local 43 variables, as they might otherwise be expanded by user macros. 44 There are some unavoidable exceptions within include files to 45 define necessary library symbols; they are noted "INFRINGES ON 46 USER NAME SPACE" below. */ 47 48 /* Identify Bison output, and Bison version. */ 49 #define YYBISON 30802 50 51 /* Bison version string. */ 52 #define YYBISON_VERSION "3.8.2" 53 54 /* Skeleton name. */ 55 #define YYSKELETON_NAME "yacc.c" 56 57 /* Pure parsers. */ 58 #define YYPURE 0 59 60 /* Push parsers. */ 61 #define YYPUSH 0 62 63 /* Pull parsers. */ 64 #define YYPULL 1 65 66 67 68 69 /* First part of user prologue. */ 70 #line 22 "ldgram.y" 71 72 /* 73 74 */ 75 76 #define DONTDECLARE_MALLOC 77 78 #include "sysdep.h" 79 #include "libiberty.h" 80 #include "bfd.h" 81 #include "bfdlink.h" 82 #include "ctf-api.h" 83 #include "ld.h" 84 #include "ldexp.h" 85 #include "ldver.h" 86 #include "ldlang.h" 87 #include "ldfile.h" 88 #include "ldemul.h" 89 #include "ldmisc.h" 90 #include "ldmain.h" 91 #include "mri.h" 92 #include "ldctor.h" 93 #include "ldlex.h" 94 95 #ifndef YYDEBUG 96 #define YYDEBUG 1 97 #endif 98 99 static enum section_type sectype; 100 static etree_type *sectype_value; 101 static lang_memory_region_type *region; 102 103 static bool ldgram_had_keep = false; 104 static char *ldgram_vers_current_lang = NULL; 105 106 #define ERROR_NAME_MAX 20 107 static char *error_names[ERROR_NAME_MAX]; 108 static int error_index; 109 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++; 110 #define POP_ERROR() error_index--; 111 112 static void yyerror (const char *); 113 114 #line 115 "ldgram.c" 115 116 # ifndef YY_CAST 117 # ifdef __cplusplus 118 # define YY_CAST(Type, Val) static_cast<Type> (Val) 119 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) 120 # else 121 # define YY_CAST(Type, Val) ((Type) (Val)) 122 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) 123 # endif 124 # endif 125 # ifndef YY_NULLPTR 126 # if defined __cplusplus 127 # if 201103L <= __cplusplus 128 # define YY_NULLPTR nullptr 129 # else 130 # define YY_NULLPTR 0 131 # endif 132 # else 133 # define YY_NULLPTR ((void*)0) 134 # endif 135 # endif 136 137 /* Use api.header.include to #include this header 138 instead of duplicating it here. */ 139 #ifndef YY_YY_LDGRAM_H_INCLUDED 140 # define YY_YY_LDGRAM_H_INCLUDED 141 /* Debug traces. */ 142 #ifndef YYDEBUG 143 # define YYDEBUG 0 144 #endif 145 #if YYDEBUG 146 extern int yydebug; 147 #endif 148 149 /* Token kinds. */ 150 #ifndef YYTOKENTYPE 151 # define YYTOKENTYPE 152 enum yytokentype 153 { 154 YYEMPTY = -2, 155 YYEOF = 0, /* "end of file" */ 156 YYerror = 256, /* error */ 157 YYUNDEF = 257, /* "invalid token" */ 158 INT = 258, /* INT */ 159 NAME = 259, /* NAME */ 160 LNAME = 260, /* LNAME */ 161 PLUSEQ = 261, /* PLUSEQ */ 162 MINUSEQ = 262, /* MINUSEQ */ 163 MULTEQ = 263, /* MULTEQ */ 164 DIVEQ = 264, /* DIVEQ */ 165 LSHIFTEQ = 265, /* LSHIFTEQ */ 166 RSHIFTEQ = 266, /* RSHIFTEQ */ 167 ANDEQ = 267, /* ANDEQ */ 168 OREQ = 268, /* OREQ */ 169 XOREQ = 269, /* XOREQ */ 170 OROR = 270, /* OROR */ 171 ANDAND = 271, /* ANDAND */ 172 EQ = 272, /* EQ */ 173 NE = 273, /* NE */ 174 LE = 274, /* LE */ 175 GE = 275, /* GE */ 176 LSHIFT = 276, /* LSHIFT */ 177 RSHIFT = 277, /* RSHIFT */ 178 UNARY = 278, /* UNARY */ 179 END = 279, /* END */ 180 ALIGN_K = 280, /* ALIGN_K */ 181 BLOCK = 281, /* BLOCK */ 182 BIND = 282, /* BIND */ 183 QUAD = 283, /* QUAD */ 184 SQUAD = 284, /* SQUAD */ 185 LONG = 285, /* LONG */ 186 SHORT = 286, /* SHORT */ 187 BYTE = 287, /* BYTE */ 188 ASCIZ = 288, /* ASCIZ */ 189 SECTIONS = 289, /* SECTIONS */ 190 PHDRS = 290, /* PHDRS */ 191 INSERT_K = 291, /* INSERT_K */ 192 AFTER = 292, /* AFTER */ 193 BEFORE = 293, /* BEFORE */ 194 LINKER_VERSION = 294, /* LINKER_VERSION */ 195 DATA_SEGMENT_ALIGN = 295, /* DATA_SEGMENT_ALIGN */ 196 DATA_SEGMENT_RELRO_END = 296, /* DATA_SEGMENT_RELRO_END */ 197 DATA_SEGMENT_END = 297, /* DATA_SEGMENT_END */ 198 SORT_BY_NAME = 298, /* SORT_BY_NAME */ 199 SORT_BY_ALIGNMENT = 299, /* SORT_BY_ALIGNMENT */ 200 SORT_NONE = 300, /* SORT_NONE */ 201 SORT_BY_INIT_PRIORITY = 301, /* SORT_BY_INIT_PRIORITY */ 202 REVERSE = 302, /* REVERSE */ 203 SIZEOF_HEADERS = 303, /* SIZEOF_HEADERS */ 204 OUTPUT_FORMAT = 304, /* OUTPUT_FORMAT */ 205 FORCE_COMMON_ALLOCATION = 305, /* FORCE_COMMON_ALLOCATION */ 206 OUTPUT_ARCH = 306, /* OUTPUT_ARCH */ 207 INHIBIT_COMMON_ALLOCATION = 307, /* INHIBIT_COMMON_ALLOCATION */ 208 FORCE_GROUP_ALLOCATION = 308, /* FORCE_GROUP_ALLOCATION */ 209 SEGMENT_START = 309, /* SEGMENT_START */ 210 INCLUDE = 310, /* INCLUDE */ 211 MEMORY = 311, /* MEMORY */ 212 REGION_ALIAS = 312, /* REGION_ALIAS */ 213 LD_FEATURE = 313, /* LD_FEATURE */ 214 NOLOAD = 314, /* NOLOAD */ 215 DSECT = 315, /* DSECT */ 216 COPY = 316, /* COPY */ 217 INFO = 317, /* INFO */ 218 OVERLAY = 318, /* OVERLAY */ 219 READONLY = 319, /* READONLY */ 220 TYPE = 320, /* TYPE */ 221 DEFINED = 321, /* DEFINED */ 222 TARGET_K = 322, /* TARGET_K */ 223 SEARCH_DIR = 323, /* SEARCH_DIR */ 224 MAP = 324, /* MAP */ 225 ENTRY = 325, /* ENTRY */ 226 NEXT = 326, /* NEXT */ 227 SIZEOF = 327, /* SIZEOF */ 228 ALIGNOF = 328, /* ALIGNOF */ 229 ADDR = 329, /* ADDR */ 230 LOADADDR = 330, /* LOADADDR */ 231 MAX_K = 331, /* MAX_K */ 232 MIN_K = 332, /* MIN_K */ 233 STARTUP = 333, /* STARTUP */ 234 HLL = 334, /* HLL */ 235 SYSLIB = 335, /* SYSLIB */ 236 FLOAT = 336, /* FLOAT */ 237 NOFLOAT = 337, /* NOFLOAT */ 238 NOCROSSREFS = 338, /* NOCROSSREFS */ 239 NOCROSSREFS_TO = 339, /* NOCROSSREFS_TO */ 240 ORIGIN = 340, /* ORIGIN */ 241 FILL = 341, /* FILL */ 242 LENGTH = 342, /* LENGTH */ 243 CREATE_OBJECT_SYMBOLS = 343, /* CREATE_OBJECT_SYMBOLS */ 244 INPUT = 344, /* INPUT */ 245 GROUP = 345, /* GROUP */ 246 OUTPUT = 346, /* OUTPUT */ 247 CONSTRUCTORS = 347, /* CONSTRUCTORS */ 248 ALIGNMOD = 348, /* ALIGNMOD */ 249 AT = 349, /* AT */ 250 SUBALIGN = 350, /* SUBALIGN */ 251 HIDDEN = 351, /* HIDDEN */ 252 PROVIDE = 352, /* PROVIDE */ 253 PROVIDE_HIDDEN = 353, /* PROVIDE_HIDDEN */ 254 AS_NEEDED = 354, /* AS_NEEDED */ 255 CHIP = 355, /* CHIP */ 256 LIST = 356, /* LIST */ 257 SECT = 357, /* SECT */ 258 ABSOLUTE = 358, /* ABSOLUTE */ 259 LOAD = 359, /* LOAD */ 260 NEWLINE = 360, /* NEWLINE */ 261 ENDWORD = 361, /* ENDWORD */ 262 ORDER = 362, /* ORDER */ 263 NAMEWORD = 363, /* NAMEWORD */ 264 ASSERT_K = 364, /* ASSERT_K */ 265 LOG2CEIL = 365, /* LOG2CEIL */ 266 FORMAT = 366, /* FORMAT */ 267 PUBLIC = 367, /* PUBLIC */ 268 DEFSYMEND = 368, /* DEFSYMEND */ 269 BASE = 369, /* BASE */ 270 ALIAS = 370, /* ALIAS */ 271 TRUNCATE = 371, /* TRUNCATE */ 272 REL = 372, /* REL */ 273 INPUT_SCRIPT = 373, /* INPUT_SCRIPT */ 274 INPUT_MRI_SCRIPT = 374, /* INPUT_MRI_SCRIPT */ 275 INPUT_DEFSYM = 375, /* INPUT_DEFSYM */ 276 CASE = 376, /* CASE */ 277 EXTERN = 377, /* EXTERN */ 278 START = 378, /* START */ 279 VERS_TAG = 379, /* VERS_TAG */ 280 VERS_IDENTIFIER = 380, /* VERS_IDENTIFIER */ 281 GLOBAL = 381, /* GLOBAL */ 282 LOCAL = 382, /* LOCAL */ 283 VERSIONK = 383, /* VERSIONK */ 284 INPUT_VERSION_SCRIPT = 384, /* INPUT_VERSION_SCRIPT */ 285 INPUT_SECTION_ORDERING_SCRIPT = 385, /* INPUT_SECTION_ORDERING_SCRIPT */ 286 KEEP = 386, /* KEEP */ 287 ONLY_IF_RO = 387, /* ONLY_IF_RO */ 288 ONLY_IF_RW = 388, /* ONLY_IF_RW */ 289 SPECIAL = 389, /* SPECIAL */ 290 INPUT_SECTION_FLAGS = 390, /* INPUT_SECTION_FLAGS */ 291 ALIGN_WITH_INPUT = 391, /* ALIGN_WITH_INPUT */ 292 EXCLUDE_FILE = 392, /* EXCLUDE_FILE */ 293 CONSTANT = 393, /* CONSTANT */ 294 INPUT_DYNAMIC_LIST = 394 /* INPUT_DYNAMIC_LIST */ 295 }; 296 typedef enum yytokentype yytoken_kind_t; 297 #endif 298 /* Token kinds. */ 299 #define YYEMPTY -2 300 #define YYEOF 0 301 #define YYerror 256 302 #define YYUNDEF 257 303 #define INT 258 304 #define NAME 259 305 #define LNAME 260 306 #define PLUSEQ 261 307 #define MINUSEQ 262 308 #define MULTEQ 263 309 #define DIVEQ 264 310 #define LSHIFTEQ 265 311 #define RSHIFTEQ 266 312 #define ANDEQ 267 313 #define OREQ 268 314 #define XOREQ 269 315 #define OROR 270 316 #define ANDAND 271 317 #define EQ 272 318 #define NE 273 319 #define LE 274 320 #define GE 275 321 #define LSHIFT 276 322 #define RSHIFT 277 323 #define UNARY 278 324 #define END 279 325 #define ALIGN_K 280 326 #define BLOCK 281 327 #define BIND 282 328 #define QUAD 283 329 #define SQUAD 284 330 #define LONG 285 331 #define SHORT 286 332 #define BYTE 287 333 #define ASCIZ 288 334 #define SECTIONS 289 335 #define PHDRS 290 336 #define INSERT_K 291 337 #define AFTER 292 338 #define BEFORE 293 339 #define LINKER_VERSION 294 340 #define DATA_SEGMENT_ALIGN 295 341 #define DATA_SEGMENT_RELRO_END 296 342 #define DATA_SEGMENT_END 297 343 #define SORT_BY_NAME 298 344 #define SORT_BY_ALIGNMENT 299 345 #define SORT_NONE 300 346 #define SORT_BY_INIT_PRIORITY 301 347 #define REVERSE 302 348 #define SIZEOF_HEADERS 303 349 #define OUTPUT_FORMAT 304 350 #define FORCE_COMMON_ALLOCATION 305 351 #define OUTPUT_ARCH 306 352 #define INHIBIT_COMMON_ALLOCATION 307 353 #define FORCE_GROUP_ALLOCATION 308 354 #define SEGMENT_START 309 355 #define INCLUDE 310 356 #define MEMORY 311 357 #define REGION_ALIAS 312 358 #define LD_FEATURE 313 359 #define NOLOAD 314 360 #define DSECT 315 361 #define COPY 316 362 #define INFO 317 363 #define OVERLAY 318 364 #define READONLY 319 365 #define TYPE 320 366 #define DEFINED 321 367 #define TARGET_K 322 368 #define SEARCH_DIR 323 369 #define MAP 324 370 #define ENTRY 325 371 #define NEXT 326 372 #define SIZEOF 327 373 #define ALIGNOF 328 374 #define ADDR 329 375 #define LOADADDR 330 376 #define MAX_K 331 377 #define MIN_K 332 378 #define STARTUP 333 379 #define HLL 334 380 #define SYSLIB 335 381 #define FLOAT 336 382 #define NOFLOAT 337 383 #define NOCROSSREFS 338 384 #define NOCROSSREFS_TO 339 385 #define ORIGIN 340 386 #define FILL 341 387 #define LENGTH 342 388 #define CREATE_OBJECT_SYMBOLS 343 389 #define INPUT 344 390 #define GROUP 345 391 #define OUTPUT 346 392 #define CONSTRUCTORS 347 393 #define ALIGNMOD 348 394 #define AT 349 395 #define SUBALIGN 350 396 #define HIDDEN 351 397 #define PROVIDE 352 398 #define PROVIDE_HIDDEN 353 399 #define AS_NEEDED 354 400 #define CHIP 355 401 #define LIST 356 402 #define SECT 357 403 #define ABSOLUTE 358 404 #define LOAD 359 405 #define NEWLINE 360 406 #define ENDWORD 361 407 #define ORDER 362 408 #define NAMEWORD 363 409 #define ASSERT_K 364 410 #define LOG2CEIL 365 411 #define FORMAT 366 412 #define PUBLIC 367 413 #define DEFSYMEND 368 414 #define BASE 369 415 #define ALIAS 370 416 #define TRUNCATE 371 417 #define REL 372 418 #define INPUT_SCRIPT 373 419 #define INPUT_MRI_SCRIPT 374 420 #define INPUT_DEFSYM 375 421 #define CASE 376 422 #define EXTERN 377 423 #define START 378 424 #define VERS_TAG 379 425 #define VERS_IDENTIFIER 380 426 #define GLOBAL 381 427 #define LOCAL 382 428 #define VERSIONK 383 429 #define INPUT_VERSION_SCRIPT 384 430 #define INPUT_SECTION_ORDERING_SCRIPT 385 431 #define KEEP 386 432 #define ONLY_IF_RO 387 433 #define ONLY_IF_RW 388 434 #define SPECIAL 389 435 #define INPUT_SECTION_FLAGS 390 436 #define ALIGN_WITH_INPUT 391 437 #define EXCLUDE_FILE 392 438 #define CONSTANT 393 439 #define INPUT_DYNAMIC_LIST 394 440 441 /* Value type. */ 442 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 443 union YYSTYPE 444 { 445 #line 65 "ldgram.y" 446 447 bfd_vma integer; 448 struct big_int 449 { 450 bfd_vma integer; 451 char *str; 452 } bigint; 453 fill_type *fill; 454 char *name; 455 const char *cname; 456 struct wildcard_spec wildcard; 457 struct wildcard_list *wildcard_list; 458 struct name_list *name_list; 459 struct flag_info_list *flag_info_list; 460 struct flag_info *flag_info; 461 int token; 462 union etree_union *etree; 463 struct phdr_info 464 { 465 bool filehdr; 466 bool phdrs; 467 union etree_union *at; 468 union etree_union *flags; 469 } phdr; 470 struct lang_nocrossref *nocrossref; 471 struct lang_output_section_phdr_list *section_phdr; 472 struct bfd_elf_version_deps *deflist; 473 struct bfd_elf_version_expr *versyms; 474 struct bfd_elf_version_tree *versnode; 475 476 #line 477 "ldgram.c" 477 478 }; 479 typedef union YYSTYPE YYSTYPE; 480 # define YYSTYPE_IS_TRIVIAL 1 481 # define YYSTYPE_IS_DECLARED 1 482 #endif 483 484 485 extern YYSTYPE yylval; 486 487 488 int yyparse (void); 489 490 491 #endif /* !YY_YY_LDGRAM_H_INCLUDED */ 492 /* Symbol kind. */ 493 enum yysymbol_kind_t 494 { 495 YYSYMBOL_YYEMPTY = -2, 496 YYSYMBOL_YYEOF = 0, /* "end of file" */ 497 YYSYMBOL_YYerror = 1, /* error */ 498 YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ 499 YYSYMBOL_INT = 3, /* INT */ 500 YYSYMBOL_NAME = 4, /* NAME */ 501 YYSYMBOL_LNAME = 5, /* LNAME */ 502 YYSYMBOL_PLUSEQ = 6, /* PLUSEQ */ 503 YYSYMBOL_MINUSEQ = 7, /* MINUSEQ */ 504 YYSYMBOL_MULTEQ = 8, /* MULTEQ */ 505 YYSYMBOL_DIVEQ = 9, /* DIVEQ */ 506 YYSYMBOL_10_ = 10, /* '=' */ 507 YYSYMBOL_LSHIFTEQ = 11, /* LSHIFTEQ */ 508 YYSYMBOL_RSHIFTEQ = 12, /* RSHIFTEQ */ 509 YYSYMBOL_ANDEQ = 13, /* ANDEQ */ 510 YYSYMBOL_OREQ = 14, /* OREQ */ 511 YYSYMBOL_XOREQ = 15, /* XOREQ */ 512 YYSYMBOL_16_ = 16, /* '?' */ 513 YYSYMBOL_17_ = 17, /* ':' */ 514 YYSYMBOL_OROR = 18, /* OROR */ 515 YYSYMBOL_ANDAND = 19, /* ANDAND */ 516 YYSYMBOL_20_ = 20, /* '|' */ 517 YYSYMBOL_21_ = 21, /* '^' */ 518 YYSYMBOL_22_ = 22, /* '&' */ 519 YYSYMBOL_EQ = 23, /* EQ */ 520 YYSYMBOL_NE = 24, /* NE */ 521 YYSYMBOL_25_ = 25, /* '<' */ 522 YYSYMBOL_26_ = 26, /* '>' */ 523 YYSYMBOL_LE = 27, /* LE */ 524 YYSYMBOL_GE = 28, /* GE */ 525 YYSYMBOL_LSHIFT = 29, /* LSHIFT */ 526 YYSYMBOL_RSHIFT = 30, /* RSHIFT */ 527 YYSYMBOL_31_ = 31, /* '+' */ 528 YYSYMBOL_32_ = 32, /* '-' */ 529 YYSYMBOL_33_ = 33, /* '*' */ 530 YYSYMBOL_34_ = 34, /* '/' */ 531 YYSYMBOL_35_ = 35, /* '%' */ 532 YYSYMBOL_UNARY = 36, /* UNARY */ 533 YYSYMBOL_END = 37, /* END */ 534 YYSYMBOL_38_ = 38, /* '(' */ 535 YYSYMBOL_ALIGN_K = 39, /* ALIGN_K */ 536 YYSYMBOL_BLOCK = 40, /* BLOCK */ 537 YYSYMBOL_BIND = 41, /* BIND */ 538 YYSYMBOL_QUAD = 42, /* QUAD */ 539 YYSYMBOL_SQUAD = 43, /* SQUAD */ 540 YYSYMBOL_LONG = 44, /* LONG */ 541 YYSYMBOL_SHORT = 45, /* SHORT */ 542 YYSYMBOL_BYTE = 46, /* BYTE */ 543 YYSYMBOL_ASCIZ = 47, /* ASCIZ */ 544 YYSYMBOL_SECTIONS = 48, /* SECTIONS */ 545 YYSYMBOL_PHDRS = 49, /* PHDRS */ 546 YYSYMBOL_INSERT_K = 50, /* INSERT_K */ 547 YYSYMBOL_AFTER = 51, /* AFTER */ 548 YYSYMBOL_BEFORE = 52, /* BEFORE */ 549 YYSYMBOL_LINKER_VERSION = 53, /* LINKER_VERSION */ 550 YYSYMBOL_DATA_SEGMENT_ALIGN = 54, /* DATA_SEGMENT_ALIGN */ 551 YYSYMBOL_DATA_SEGMENT_RELRO_END = 55, /* DATA_SEGMENT_RELRO_END */ 552 YYSYMBOL_DATA_SEGMENT_END = 56, /* DATA_SEGMENT_END */ 553 YYSYMBOL_SORT_BY_NAME = 57, /* SORT_BY_NAME */ 554 YYSYMBOL_SORT_BY_ALIGNMENT = 58, /* SORT_BY_ALIGNMENT */ 555 YYSYMBOL_SORT_NONE = 59, /* SORT_NONE */ 556 YYSYMBOL_SORT_BY_INIT_PRIORITY = 60, /* SORT_BY_INIT_PRIORITY */ 557 YYSYMBOL_REVERSE = 61, /* REVERSE */ 558 YYSYMBOL_62_ = 62, /* '{' */ 559 YYSYMBOL_63_ = 63, /* '}' */ 560 YYSYMBOL_SIZEOF_HEADERS = 64, /* SIZEOF_HEADERS */ 561 YYSYMBOL_OUTPUT_FORMAT = 65, /* OUTPUT_FORMAT */ 562 YYSYMBOL_FORCE_COMMON_ALLOCATION = 66, /* FORCE_COMMON_ALLOCATION */ 563 YYSYMBOL_OUTPUT_ARCH = 67, /* OUTPUT_ARCH */ 564 YYSYMBOL_INHIBIT_COMMON_ALLOCATION = 68, /* INHIBIT_COMMON_ALLOCATION */ 565 YYSYMBOL_FORCE_GROUP_ALLOCATION = 69, /* FORCE_GROUP_ALLOCATION */ 566 YYSYMBOL_SEGMENT_START = 70, /* SEGMENT_START */ 567 YYSYMBOL_INCLUDE = 71, /* INCLUDE */ 568 YYSYMBOL_MEMORY = 72, /* MEMORY */ 569 YYSYMBOL_REGION_ALIAS = 73, /* REGION_ALIAS */ 570 YYSYMBOL_LD_FEATURE = 74, /* LD_FEATURE */ 571 YYSYMBOL_NOLOAD = 75, /* NOLOAD */ 572 YYSYMBOL_DSECT = 76, /* DSECT */ 573 YYSYMBOL_COPY = 77, /* COPY */ 574 YYSYMBOL_INFO = 78, /* INFO */ 575 YYSYMBOL_OVERLAY = 79, /* OVERLAY */ 576 YYSYMBOL_READONLY = 80, /* READONLY */ 577 YYSYMBOL_TYPE = 81, /* TYPE */ 578 YYSYMBOL_DEFINED = 82, /* DEFINED */ 579 YYSYMBOL_TARGET_K = 83, /* TARGET_K */ 580 YYSYMBOL_SEARCH_DIR = 84, /* SEARCH_DIR */ 581 YYSYMBOL_MAP = 85, /* MAP */ 582 YYSYMBOL_ENTRY = 86, /* ENTRY */ 583 YYSYMBOL_NEXT = 87, /* NEXT */ 584 YYSYMBOL_SIZEOF = 88, /* SIZEOF */ 585 YYSYMBOL_ALIGNOF = 89, /* ALIGNOF */ 586 YYSYMBOL_ADDR = 90, /* ADDR */ 587 YYSYMBOL_LOADADDR = 91, /* LOADADDR */ 588 YYSYMBOL_MAX_K = 92, /* MAX_K */ 589 YYSYMBOL_MIN_K = 93, /* MIN_K */ 590 YYSYMBOL_STARTUP = 94, /* STARTUP */ 591 YYSYMBOL_HLL = 95, /* HLL */ 592 YYSYMBOL_SYSLIB = 96, /* SYSLIB */ 593 YYSYMBOL_FLOAT = 97, /* FLOAT */ 594 YYSYMBOL_NOFLOAT = 98, /* NOFLOAT */ 595 YYSYMBOL_NOCROSSREFS = 99, /* NOCROSSREFS */ 596 YYSYMBOL_NOCROSSREFS_TO = 100, /* NOCROSSREFS_TO */ 597 YYSYMBOL_ORIGIN = 101, /* ORIGIN */ 598 YYSYMBOL_FILL = 102, /* FILL */ 599 YYSYMBOL_LENGTH = 103, /* LENGTH */ 600 YYSYMBOL_CREATE_OBJECT_SYMBOLS = 104, /* CREATE_OBJECT_SYMBOLS */ 601 YYSYMBOL_INPUT = 105, /* INPUT */ 602 YYSYMBOL_GROUP = 106, /* GROUP */ 603 YYSYMBOL_OUTPUT = 107, /* OUTPUT */ 604 YYSYMBOL_CONSTRUCTORS = 108, /* CONSTRUCTORS */ 605 YYSYMBOL_ALIGNMOD = 109, /* ALIGNMOD */ 606 YYSYMBOL_AT = 110, /* AT */ 607 YYSYMBOL_SUBALIGN = 111, /* SUBALIGN */ 608 YYSYMBOL_HIDDEN = 112, /* HIDDEN */ 609 YYSYMBOL_PROVIDE = 113, /* PROVIDE */ 610 YYSYMBOL_PROVIDE_HIDDEN = 114, /* PROVIDE_HIDDEN */ 611 YYSYMBOL_AS_NEEDED = 115, /* AS_NEEDED */ 612 YYSYMBOL_CHIP = 116, /* CHIP */ 613 YYSYMBOL_LIST = 117, /* LIST */ 614 YYSYMBOL_SECT = 118, /* SECT */ 615 YYSYMBOL_ABSOLUTE = 119, /* ABSOLUTE */ 616 YYSYMBOL_LOAD = 120, /* LOAD */ 617 YYSYMBOL_NEWLINE = 121, /* NEWLINE */ 618 YYSYMBOL_ENDWORD = 122, /* ENDWORD */ 619 YYSYMBOL_ORDER = 123, /* ORDER */ 620 YYSYMBOL_NAMEWORD = 124, /* NAMEWORD */ 621 YYSYMBOL_ASSERT_K = 125, /* ASSERT_K */ 622 YYSYMBOL_LOG2CEIL = 126, /* LOG2CEIL */ 623 YYSYMBOL_FORMAT = 127, /* FORMAT */ 624 YYSYMBOL_PUBLIC = 128, /* PUBLIC */ 625 YYSYMBOL_DEFSYMEND = 129, /* DEFSYMEND */ 626 YYSYMBOL_BASE = 130, /* BASE */ 627 YYSYMBOL_ALIAS = 131, /* ALIAS */ 628 YYSYMBOL_TRUNCATE = 132, /* TRUNCATE */ 629 YYSYMBOL_REL = 133, /* REL */ 630 YYSYMBOL_INPUT_SCRIPT = 134, /* INPUT_SCRIPT */ 631 YYSYMBOL_INPUT_MRI_SCRIPT = 135, /* INPUT_MRI_SCRIPT */ 632 YYSYMBOL_INPUT_DEFSYM = 136, /* INPUT_DEFSYM */ 633 YYSYMBOL_CASE = 137, /* CASE */ 634 YYSYMBOL_EXTERN = 138, /* EXTERN */ 635 YYSYMBOL_START = 139, /* START */ 636 YYSYMBOL_VERS_TAG = 140, /* VERS_TAG */ 637 YYSYMBOL_VERS_IDENTIFIER = 141, /* VERS_IDENTIFIER */ 638 YYSYMBOL_GLOBAL = 142, /* GLOBAL */ 639 YYSYMBOL_LOCAL = 143, /* LOCAL */ 640 YYSYMBOL_VERSIONK = 144, /* VERSIONK */ 641 YYSYMBOL_INPUT_VERSION_SCRIPT = 145, /* INPUT_VERSION_SCRIPT */ 642 YYSYMBOL_INPUT_SECTION_ORDERING_SCRIPT = 146, /* INPUT_SECTION_ORDERING_SCRIPT */ 643 YYSYMBOL_KEEP = 147, /* KEEP */ 644 YYSYMBOL_ONLY_IF_RO = 148, /* ONLY_IF_RO */ 645 YYSYMBOL_ONLY_IF_RW = 149, /* ONLY_IF_RW */ 646 YYSYMBOL_SPECIAL = 150, /* SPECIAL */ 647 YYSYMBOL_INPUT_SECTION_FLAGS = 151, /* INPUT_SECTION_FLAGS */ 648 YYSYMBOL_ALIGN_WITH_INPUT = 152, /* ALIGN_WITH_INPUT */ 649 YYSYMBOL_EXCLUDE_FILE = 153, /* EXCLUDE_FILE */ 650 YYSYMBOL_CONSTANT = 154, /* CONSTANT */ 651 YYSYMBOL_INPUT_DYNAMIC_LIST = 155, /* INPUT_DYNAMIC_LIST */ 652 YYSYMBOL_156_ = 156, /* ',' */ 653 YYSYMBOL_157_ = 157, /* ';' */ 654 YYSYMBOL_158_ = 158, /* ')' */ 655 YYSYMBOL_159_ = 159, /* '[' */ 656 YYSYMBOL_160_ = 160, /* ']' */ 657 YYSYMBOL_161_ = 161, /* '!' */ 658 YYSYMBOL_162_ = 162, /* '~' */ 659 YYSYMBOL_YYACCEPT = 163, /* $accept */ 660 YYSYMBOL_file = 164, /* file */ 661 YYSYMBOL_filename = 165, /* filename */ 662 YYSYMBOL_defsym_expr = 166, /* defsym_expr */ 663 YYSYMBOL_167_1 = 167, /* $@1 */ 664 YYSYMBOL_mri_script_file = 168, /* mri_script_file */ 665 YYSYMBOL_169_2 = 169, /* $@2 */ 666 YYSYMBOL_mri_script_lines = 170, /* mri_script_lines */ 667 YYSYMBOL_mri_script_command = 171, /* mri_script_command */ 668 YYSYMBOL_172_3 = 172, /* $@3 */ 669 YYSYMBOL_ordernamelist = 173, /* ordernamelist */ 670 YYSYMBOL_mri_load_name_list = 174, /* mri_load_name_list */ 671 YYSYMBOL_mri_abs_name_list = 175, /* mri_abs_name_list */ 672 YYSYMBOL_casesymlist = 176, /* casesymlist */ 673 YYSYMBOL_extern_name_list = 177, /* extern_name_list */ 674 YYSYMBOL_script_file = 178, /* script_file */ 675 YYSYMBOL_179_4 = 179, /* $@4 */ 676 YYSYMBOL_ifile_list = 180, /* ifile_list */ 677 YYSYMBOL_ifile_p1 = 181, /* ifile_p1 */ 678 YYSYMBOL_182_5 = 182, /* $@5 */ 679 YYSYMBOL_183_6 = 183, /* $@6 */ 680 YYSYMBOL_184_7 = 184, /* $@7 */ 681 YYSYMBOL_input_list = 185, /* input_list */ 682 YYSYMBOL_186_8 = 186, /* $@8 */ 683 YYSYMBOL_input_list1 = 187, /* input_list1 */ 684 YYSYMBOL_188_9 = 188, /* @9 */ 685 YYSYMBOL_189_10 = 189, /* @10 */ 686 YYSYMBOL_190_11 = 190, /* @11 */ 687 YYSYMBOL_sections = 191, /* sections */ 688 YYSYMBOL_sec_or_group_p1 = 192, /* sec_or_group_p1 */ 689 YYSYMBOL_statement_anywhere = 193, /* statement_anywhere */ 690 YYSYMBOL_194_12 = 194, /* $@12 */ 691 YYSYMBOL_wildcard_name = 195, /* wildcard_name */ 692 YYSYMBOL_wildcard_maybe_exclude = 196, /* wildcard_maybe_exclude */ 693 YYSYMBOL_wildcard_maybe_reverse = 197, /* wildcard_maybe_reverse */ 694 YYSYMBOL_filename_spec = 198, /* filename_spec */ 695 YYSYMBOL_section_name_spec = 199, /* section_name_spec */ 696 YYSYMBOL_sect_flag_list = 200, /* sect_flag_list */ 697 YYSYMBOL_sect_flags = 201, /* sect_flags */ 698 YYSYMBOL_exclude_name_list = 202, /* exclude_name_list */ 699 YYSYMBOL_section_name_list = 203, /* section_name_list */ 700 YYSYMBOL_input_section_spec_no_keep = 204, /* input_section_spec_no_keep */ 701 YYSYMBOL_input_section_spec = 205, /* input_section_spec */ 702 YYSYMBOL_206_13 = 206, /* $@13 */ 703 YYSYMBOL_statement = 207, /* statement */ 704 YYSYMBOL_208_14 = 208, /* $@14 */ 705 YYSYMBOL_209_15 = 209, /* $@15 */ 706 YYSYMBOL_statement_list = 210, /* statement_list */ 707 YYSYMBOL_statement_list_opt = 211, /* statement_list_opt */ 708 YYSYMBOL_length = 212, /* length */ 709 YYSYMBOL_fill_exp = 213, /* fill_exp */ 710 YYSYMBOL_fill_opt = 214, /* fill_opt */ 711 YYSYMBOL_assign_op = 215, /* assign_op */ 712 YYSYMBOL_separator = 216, /* separator */ 713 YYSYMBOL_assignment = 217, /* assignment */ 714 YYSYMBOL_opt_comma = 218, /* opt_comma */ 715 YYSYMBOL_memory = 219, /* memory */ 716 YYSYMBOL_memory_spec_list_opt = 220, /* memory_spec_list_opt */ 717 YYSYMBOL_memory_spec_list = 221, /* memory_spec_list */ 718 YYSYMBOL_memory_spec = 222, /* memory_spec */ 719 YYSYMBOL_223_16 = 223, /* $@16 */ 720 YYSYMBOL_224_17 = 224, /* $@17 */ 721 YYSYMBOL_origin_spec = 225, /* origin_spec */ 722 YYSYMBOL_length_spec = 226, /* length_spec */ 723 YYSYMBOL_attributes_opt = 227, /* attributes_opt */ 724 YYSYMBOL_attributes_list = 228, /* attributes_list */ 725 YYSYMBOL_attributes_string = 229, /* attributes_string */ 726 YYSYMBOL_startup = 230, /* startup */ 727 YYSYMBOL_high_level_library = 231, /* high_level_library */ 728 YYSYMBOL_high_level_library_NAME_list = 232, /* high_level_library_NAME_list */ 729 YYSYMBOL_low_level_library = 233, /* low_level_library */ 730 YYSYMBOL_low_level_library_NAME_list = 234, /* low_level_library_NAME_list */ 731 YYSYMBOL_floating_point_support = 235, /* floating_point_support */ 732 YYSYMBOL_nocrossref_list = 236, /* nocrossref_list */ 733 YYSYMBOL_paren_script_name = 237, /* paren_script_name */ 734 YYSYMBOL_238_18 = 238, /* $@18 */ 735 YYSYMBOL_mustbe_exp = 239, /* mustbe_exp */ 736 YYSYMBOL_240_19 = 240, /* $@19 */ 737 YYSYMBOL_exp = 241, /* exp */ 738 YYSYMBOL_242_20 = 242, /* $@20 */ 739 YYSYMBOL_243_21 = 243, /* $@21 */ 740 YYSYMBOL_memspec_at_opt = 244, /* memspec_at_opt */ 741 YYSYMBOL_opt_at = 245, /* opt_at */ 742 YYSYMBOL_opt_align = 246, /* opt_align */ 743 YYSYMBOL_opt_align_with_input = 247, /* opt_align_with_input */ 744 YYSYMBOL_opt_subalign = 248, /* opt_subalign */ 745 YYSYMBOL_sect_constraint = 249, /* sect_constraint */ 746 YYSYMBOL_section = 250, /* section */ 747 YYSYMBOL_251_22 = 251, /* $@22 */ 748 YYSYMBOL_252_23 = 252, /* $@23 */ 749 YYSYMBOL_253_24 = 253, /* $@24 */ 750 YYSYMBOL_254_25 = 254, /* $@25 */ 751 YYSYMBOL_255_26 = 255, /* $@26 */ 752 YYSYMBOL_256_27 = 256, /* $@27 */ 753 YYSYMBOL_257_28 = 257, /* $@28 */ 754 YYSYMBOL_258_29 = 258, /* $@29 */ 755 YYSYMBOL_259_30 = 259, /* $@30 */ 756 YYSYMBOL_260_31 = 260, /* $@31 */ 757 YYSYMBOL_261_32 = 261, /* $@32 */ 758 YYSYMBOL_type = 262, /* type */ 759 YYSYMBOL_atype = 263, /* atype */ 760 YYSYMBOL_opt_exp_with_type = 264, /* opt_exp_with_type */ 761 YYSYMBOL_opt_exp_without_type = 265, /* opt_exp_without_type */ 762 YYSYMBOL_opt_nocrossrefs = 266, /* opt_nocrossrefs */ 763 YYSYMBOL_memspec_opt = 267, /* memspec_opt */ 764 YYSYMBOL_phdr_opt = 268, /* phdr_opt */ 765 YYSYMBOL_overlay_section = 269, /* overlay_section */ 766 YYSYMBOL_270_33 = 270, /* $@33 */ 767 YYSYMBOL_271_34 = 271, /* $@34 */ 768 YYSYMBOL_272_35 = 272, /* $@35 */ 769 YYSYMBOL_phdrs = 273, /* phdrs */ 770 YYSYMBOL_phdr_list = 274, /* phdr_list */ 771 YYSYMBOL_phdr = 275, /* phdr */ 772 YYSYMBOL_276_36 = 276, /* $@36 */ 773 YYSYMBOL_277_37 = 277, /* $@37 */ 774 YYSYMBOL_phdr_type = 278, /* phdr_type */ 775 YYSYMBOL_phdr_qualifiers = 279, /* phdr_qualifiers */ 776 YYSYMBOL_phdr_val = 280, /* phdr_val */ 777 YYSYMBOL_dynamic_list_file = 281, /* dynamic_list_file */ 778 YYSYMBOL_282_38 = 282, /* $@38 */ 779 YYSYMBOL_dynamic_list_nodes = 283, /* dynamic_list_nodes */ 780 YYSYMBOL_dynamic_list_node = 284, /* dynamic_list_node */ 781 YYSYMBOL_dynamic_list_tag = 285, /* dynamic_list_tag */ 782 YYSYMBOL_version_script_file = 286, /* version_script_file */ 783 YYSYMBOL_287_39 = 287, /* $@39 */ 784 YYSYMBOL_version = 288, /* version */ 785 YYSYMBOL_289_40 = 289, /* $@40 */ 786 YYSYMBOL_vers_nodes = 290, /* vers_nodes */ 787 YYSYMBOL_vers_node = 291, /* vers_node */ 788 YYSYMBOL_verdep = 292, /* verdep */ 789 YYSYMBOL_vers_tag = 293, /* vers_tag */ 790 YYSYMBOL_vers_defns = 294, /* vers_defns */ 791 YYSYMBOL_295_41 = 295, /* @41 */ 792 YYSYMBOL_296_42 = 296, /* @42 */ 793 YYSYMBOL_opt_semicolon = 297, /* opt_semicolon */ 794 YYSYMBOL_section_ordering_script_file = 298, /* section_ordering_script_file */ 795 YYSYMBOL_299_43 = 299, /* $@43 */ 796 YYSYMBOL_section_ordering_list = 300, /* section_ordering_list */ 797 YYSYMBOL_section_order = 301, /* section_order */ 798 YYSYMBOL_302_44 = 302, /* $@44 */ 799 YYSYMBOL_303_45 = 303 /* $@45 */ 800 }; 801 typedef enum yysymbol_kind_t yysymbol_kind_t; 802 803 804 805 806 #ifdef short 807 # undef short 808 #endif 809 810 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure 811 <limits.h> and (if available) <stdint.h> are included 812 so that the code can choose integer types of a good width. */ 813 814 #ifndef __PTRDIFF_MAX__ 815 # include <limits.h> /* INFRINGES ON USER NAME SPACE */ 816 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 817 # include <stdint.h> /* INFRINGES ON USER NAME SPACE */ 818 # define YY_STDINT_H 819 # endif 820 #endif 821 822 /* Narrow types that promote to a signed type and that can represent a 823 signed or unsigned integer of at least N bits. In tables they can 824 save space and decrease cache pressure. Promoting to a signed type 825 helps avoid bugs in integer arithmetic. */ 826 827 #ifdef __INT_LEAST8_MAX__ 828 typedef __INT_LEAST8_TYPE__ yytype_int8; 829 #elif defined YY_STDINT_H 830 typedef int_least8_t yytype_int8; 831 #else 832 typedef signed char yytype_int8; 833 #endif 834 835 #ifdef __INT_LEAST16_MAX__ 836 typedef __INT_LEAST16_TYPE__ yytype_int16; 837 #elif defined YY_STDINT_H 838 typedef int_least16_t yytype_int16; 839 #else 840 typedef short yytype_int16; 841 #endif 842 843 /* Work around bug in HP-UX 11.23, which defines these macros 844 incorrectly for preprocessor constants. This workaround can likely 845 be removed in 2023, as HPE has promised support for HP-UX 11.23 846 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of 847 <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ 848 #ifdef __hpux 849 # undef UINT_LEAST8_MAX 850 # undef UINT_LEAST16_MAX 851 # define UINT_LEAST8_MAX 255 852 # define UINT_LEAST16_MAX 65535 853 #endif 854 855 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ 856 typedef __UINT_LEAST8_TYPE__ yytype_uint8; 857 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ 858 && UINT_LEAST8_MAX <= INT_MAX) 859 typedef uint_least8_t yytype_uint8; 860 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX 861 typedef unsigned char yytype_uint8; 862 #else 863 typedef short yytype_uint8; 864 #endif 865 866 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ 867 typedef __UINT_LEAST16_TYPE__ yytype_uint16; 868 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ 869 && UINT_LEAST16_MAX <= INT_MAX) 870 typedef uint_least16_t yytype_uint16; 871 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX 872 typedef unsigned short yytype_uint16; 873 #else 874 typedef int yytype_uint16; 875 #endif 876 877 #ifndef YYPTRDIFF_T 878 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ 879 # define YYPTRDIFF_T __PTRDIFF_TYPE__ 880 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ 881 # elif defined PTRDIFF_MAX 882 # ifndef ptrdiff_t 883 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 884 # endif 885 # define YYPTRDIFF_T ptrdiff_t 886 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX 887 # else 888 # define YYPTRDIFF_T long 889 # define YYPTRDIFF_MAXIMUM LONG_MAX 890 # endif 891 #endif 892 893 #ifndef YYSIZE_T 894 # ifdef __SIZE_TYPE__ 895 # define YYSIZE_T __SIZE_TYPE__ 896 # elif defined size_t 897 # define YYSIZE_T size_t 898 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 899 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 900 # define YYSIZE_T size_t 901 # else 902 # define YYSIZE_T unsigned 903 # endif 904 #endif 905 906 #define YYSIZE_MAXIMUM \ 907 YY_CAST (YYPTRDIFF_T, \ 908 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ 909 ? YYPTRDIFF_MAXIMUM \ 910 : YY_CAST (YYSIZE_T, -1))) 911 912 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) 913 914 915 /* Stored state numbers (used for stacks). */ 916 typedef yytype_int16 yy_state_t; 917 918 /* State numbers in computations. */ 919 typedef int yy_state_fast_t; 920 921 #ifndef YY_ 922 # if defined YYENABLE_NLS && YYENABLE_NLS 923 # if ENABLE_NLS 924 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 925 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 926 # endif 927 # endif 928 # ifndef YY_ 929 # define YY_(Msgid) Msgid 930 # endif 931 #endif 932 933 934 #ifndef YY_ATTRIBUTE_PURE 935 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) 936 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) 937 # else 938 # define YY_ATTRIBUTE_PURE 939 # endif 940 #endif 941 942 #ifndef YY_ATTRIBUTE_UNUSED 943 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) 944 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) 945 # else 946 # define YY_ATTRIBUTE_UNUSED 947 # endif 948 #endif 949 950 /* Suppress unused-variable warnings by "using" E. */ 951 #if ! defined lint || defined __GNUC__ 952 # define YY_USE(E) ((void) (E)) 953 #else 954 # define YY_USE(E) /* empty */ 955 #endif 956 957 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 958 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ 959 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407 960 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 961 _Pragma ("GCC diagnostic push") \ 962 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") 963 # else 964 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 965 _Pragma ("GCC diagnostic push") \ 966 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ 967 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 968 # endif 969 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 970 _Pragma ("GCC diagnostic pop") 971 #else 972 # define YY_INITIAL_VALUE(Value) Value 973 #endif 974 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 975 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 976 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 977 #endif 978 #ifndef YY_INITIAL_VALUE 979 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 980 #endif 981 982 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ 983 # define YY_IGNORE_USELESS_CAST_BEGIN \ 984 _Pragma ("GCC diagnostic push") \ 985 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") 986 # define YY_IGNORE_USELESS_CAST_END \ 987 _Pragma ("GCC diagnostic pop") 988 #endif 989 #ifndef YY_IGNORE_USELESS_CAST_BEGIN 990 # define YY_IGNORE_USELESS_CAST_BEGIN 991 # define YY_IGNORE_USELESS_CAST_END 992 #endif 993 994 995 #define YY_ASSERT(E) ((void) (0 && (E))) 996 997 #if !defined yyoverflow 998 999 /* The parser invokes alloca or malloc; define the necessary symbols. */ 1000 1001 # ifdef YYSTACK_USE_ALLOCA 1002 # if YYSTACK_USE_ALLOCA 1003 # ifdef __GNUC__ 1004 # define YYSTACK_ALLOC __builtin_alloca 1005 # elif defined __BUILTIN_VA_ARG_INCR 1006 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 1007 # elif defined _AIX 1008 # define YYSTACK_ALLOC __alloca 1009 # elif defined _MSC_VER 1010 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 1011 # define alloca _alloca 1012 # else 1013 # define YYSTACK_ALLOC alloca 1014 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 1015 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 1016 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 1017 # ifndef EXIT_SUCCESS 1018 # define EXIT_SUCCESS 0 1019 # endif 1020 # endif 1021 # endif 1022 # endif 1023 # endif 1024 1025 # ifdef YYSTACK_ALLOC 1026 /* Pacify GCC's 'empty if-body' warning. */ 1027 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 1028 # ifndef YYSTACK_ALLOC_MAXIMUM 1029 /* The OS might guarantee only one guard page at the bottom of the stack, 1030 and a page size can be as small as 4096 bytes. So we cannot safely 1031 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 1032 to allow for a few compiler-allocated temporary stack slots. */ 1033 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 1034 # endif 1035 # else 1036 # define YYSTACK_ALLOC YYMALLOC 1037 # define YYSTACK_FREE YYFREE 1038 # ifndef YYSTACK_ALLOC_MAXIMUM 1039 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 1040 # endif 1041 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 1042 && ! ((defined YYMALLOC || defined malloc) \ 1043 && (defined YYFREE || defined free))) 1044 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 1045 # ifndef EXIT_SUCCESS 1046 # define EXIT_SUCCESS 0 1047 # endif 1048 # endif 1049 # ifndef YYMALLOC 1050 # define YYMALLOC malloc 1051 # if ! defined malloc && ! defined EXIT_SUCCESS 1052 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 1053 # endif 1054 # endif 1055 # ifndef YYFREE 1056 # define YYFREE free 1057 # if ! defined free && ! defined EXIT_SUCCESS 1058 void free (void *); /* INFRINGES ON USER NAME SPACE */ 1059 # endif 1060 # endif 1061 # endif 1062 #endif /* !defined yyoverflow */ 1063 1064 #if (! defined yyoverflow \ 1065 && (! defined __cplusplus \ 1066 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 1067 1068 /* A type that is properly aligned for any stack member. */ 1069 union yyalloc 1070 { 1071 yy_state_t yyss_alloc; 1072 YYSTYPE yyvs_alloc; 1073 }; 1074 1075 /* The size of the maximum gap between one aligned stack and the next. */ 1076 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) 1077 1078 /* The size of an array large to enough to hold all stacks, each with 1079 N elements. */ 1080 # define YYSTACK_BYTES(N) \ 1081 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ 1082 + YYSTACK_GAP_MAXIMUM) 1083 1084 # define YYCOPY_NEEDED 1 1085 1086 /* Relocate STACK from its old location to the new one. The 1087 local variables YYSIZE and YYSTACKSIZE give the old and new number of 1088 elements in the stack, and YYPTR gives the new location of the 1089 stack. Advance YYPTR to a properly aligned location for the next 1090 stack. */ 1091 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 1092 do \ 1093 { \ 1094 YYPTRDIFF_T yynewbytes; \ 1095 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 1096 Stack = &yyptr->Stack_alloc; \ 1097 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ 1098 yyptr += yynewbytes / YYSIZEOF (*yyptr); \ 1099 } \ 1100 while (0) 1101 1102 #endif 1103 1104 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 1105 /* Copy COUNT objects from SRC to DST. The source and destination do 1106 not overlap. */ 1107 # ifndef YYCOPY 1108 # if defined __GNUC__ && 1 < __GNUC__ 1109 # define YYCOPY(Dst, Src, Count) \ 1110 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) 1111 # else 1112 # define YYCOPY(Dst, Src, Count) \ 1113 do \ 1114 { \ 1115 YYPTRDIFF_T yyi; \ 1116 for (yyi = 0; yyi < (Count); yyi++) \ 1117 (Dst)[yyi] = (Src)[yyi]; \ 1118 } \ 1119 while (0) 1120 # endif 1121 # endif 1122 #endif /* !YYCOPY_NEEDED */ 1123 1124 /* YYFINAL -- State number of the termination state. */ 1125 #define YYFINAL 20 1126 /* YYLAST -- Last index in YYTABLE. */ 1127 #define YYLAST 1988 1128 1129 /* YYNTOKENS -- Number of terminals. */ 1130 #define YYNTOKENS 163 1131 /* YYNNTS -- Number of nonterminals. */ 1132 #define YYNNTS 141 1133 /* YYNRULES -- Number of rules. */ 1134 #define YYNRULES 395 1135 /* YYNSTATES -- Number of states. */ 1136 #define YYNSTATES 852 1137 1138 /* YYMAXUTOK -- Last valid token kind. */ 1139 #define YYMAXUTOK 394 1140 1141 1142 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 1143 as returned by yylex, with out-of-bounds checking. */ 1144 #define YYTRANSLATE(YYX) \ 1145 (0 <= (YYX) && (YYX) <= YYMAXUTOK \ 1146 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ 1147 : YYSYMBOL_YYUNDEF) 1148 1149 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 1150 as returned by yylex. */ 1151 static const yytype_uint8 yytranslate[] = 1152 { 1153 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1156 2, 2, 2, 161, 2, 2, 2, 35, 22, 2, 1157 38, 158, 33, 31, 156, 32, 2, 34, 2, 2, 1158 2, 2, 2, 2, 2, 2, 2, 2, 17, 157, 1159 25, 10, 26, 16, 2, 2, 2, 2, 2, 2, 1160 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1161 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1162 2, 159, 2, 160, 21, 2, 2, 2, 2, 2, 1163 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1164 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1165 2, 2, 2, 62, 20, 63, 162, 2, 2, 2, 1166 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1167 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1168 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1171 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1172 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1173 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1178 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 1179 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 1180 18, 19, 23, 24, 27, 28, 29, 30, 36, 37, 1181 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 1182 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 1183 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 1184 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 1185 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 1186 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 1187 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 1188 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 1189 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 1190 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 1191 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 1192 151, 152, 153, 154, 155 1193 }; 1194 1195 #if YYDEBUG 1196 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 1197 static const yytype_int16 yyrline[] = 1198 { 1199 0, 172, 172, 173, 174, 175, 176, 177, 181, 185, 1200 185, 192, 192, 205, 206, 210, 211, 212, 215, 218, 1201 219, 220, 222, 224, 226, 228, 230, 232, 234, 236, 1202 238, 240, 242, 243, 244, 246, 248, 250, 252, 254, 1203 255, 257, 256, 259, 261, 265, 266, 267, 271, 273, 1204 277, 279, 284, 285, 286, 290, 292, 294, 299, 299, 1205 305, 306, 311, 312, 313, 314, 315, 316, 317, 318, 1206 319, 320, 321, 323, 325, 327, 330, 332, 334, 336, 1207 338, 340, 342, 341, 345, 348, 347, 350, 354, 358, 1208 358, 360, 362, 364, 366, 371, 371, 376, 379, 382, 1209 385, 388, 391, 395, 394, 400, 399, 405, 404, 412, 1210 416, 417, 418, 422, 424, 425, 425, 431, 438, 446, 1211 457, 458, 467, 468, 473, 479, 488, 489, 494, 499, 1212 504, 509, 514, 519, 524, 529, 535, 543, 561, 582, 1213 595, 604, 615, 624, 635, 644, 653, 657, 666, 670, 1214 678, 680, 679, 686, 687, 688, 692, 696, 701, 702, 1215 706, 710, 714, 719, 718, 726, 725, 733, 734, 737, 1216 739, 743, 745, 747, 749, 751, 756, 763, 765, 769, 1217 771, 773, 775, 777, 779, 781, 783, 785, 790, 790, 1218 795, 799, 807, 811, 815, 823, 823, 827, 830, 830, 1219 833, 834, 839, 838, 844, 843, 849, 856, 869, 870, 1220 874, 875, 879, 881, 886, 891, 892, 897, 899, 904, 1221 908, 910, 914, 916, 922, 925, 934, 945, 945, 949, 1222 949, 955, 957, 959, 961, 963, 965, 968, 970, 972, 1223 974, 976, 978, 980, 982, 984, 986, 988, 990, 992, 1224 994, 996, 998, 1000, 1002, 1004, 1006, 1008, 1010, 1013, 1225 1015, 1017, 1019, 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1226 1035, 1036, 1035, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1227 1059, 1065, 1066, 1070, 1071, 1075, 1076, 1080, 1081, 1085, 1228 1086, 1090, 1091, 1092, 1093, 1097, 1104, 1113, 1115, 1096, 1229 1133, 1135, 1137, 1143, 1132, 1158, 1160, 1157, 1166, 1165, 1230 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1184, 1185, 1231 1186, 1190, 1191, 1196, 1197, 1202, 1203, 1208, 1209, 1214, 1232 1216, 1221, 1224, 1236, 1240, 1247, 1249, 1238, 1261, 1264, 1233 1266, 1270, 1271, 1270, 1280, 1329, 1332, 1345, 1354, 1357, 1234 1364, 1364, 1376, 1377, 1381, 1385, 1394, 1394, 1408, 1408, 1235 1418, 1419, 1423, 1427, 1431, 1438, 1442, 1450, 1453, 1457, 1236 1461, 1465, 1472, 1476, 1480, 1484, 1489, 1488, 1502, 1501, 1237 1511, 1515, 1519, 1523, 1527, 1531, 1537, 1539, 1543, 1543, 1238 1555, 1556, 1557, 1561, 1569, 1560 1239 }; 1240 #endif 1241 1242 /** Accessing symbol of state STATE. */ 1243 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) 1244 1245 #if YYDEBUG || 0 1246 /* The user-facing name of the symbol whose (internal) number is 1247 YYSYMBOL. No bounds checking. */ 1248 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; 1249 1250 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 1251 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 1252 static const char *const yytname[] = 1253 { 1254 "\"end of file\"", "error", "\"invalid token\"", "INT", "NAME", "LNAME", 1255 "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ", 1256 "ANDEQ", "OREQ", "XOREQ", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", 1257 "'&'", "EQ", "NE", "'<'", "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", 1258 "'-'", "'*'", "'/'", "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", 1259 "BIND", "QUAD", "SQUAD", "LONG", "SHORT", "BYTE", "ASCIZ", "SECTIONS", 1260 "PHDRS", "INSERT_K", "AFTER", "BEFORE", "LINKER_VERSION", 1261 "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_RELRO_END", "DATA_SEGMENT_END", 1262 "SORT_BY_NAME", "SORT_BY_ALIGNMENT", "SORT_NONE", 1263 "SORT_BY_INIT_PRIORITY", "REVERSE", "'{'", "'}'", "SIZEOF_HEADERS", 1264 "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION", "OUTPUT_ARCH", 1265 "INHIBIT_COMMON_ALLOCATION", "FORCE_GROUP_ALLOCATION", "SEGMENT_START", 1266 "INCLUDE", "MEMORY", "REGION_ALIAS", "LD_FEATURE", "NOLOAD", "DSECT", 1267 "COPY", "INFO", "OVERLAY", "READONLY", "TYPE", "DEFINED", "TARGET_K", 1268 "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ALIGNOF", "ADDR", 1269 "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT", 1270 "NOFLOAT", "NOCROSSREFS", "NOCROSSREFS_TO", "ORIGIN", "FILL", "LENGTH", 1271 "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS", 1272 "ALIGNMOD", "AT", "SUBALIGN", "HIDDEN", "PROVIDE", "PROVIDE_HIDDEN", 1273 "AS_NEEDED", "CHIP", "LIST", "SECT", "ABSOLUTE", "LOAD", "NEWLINE", 1274 "ENDWORD", "ORDER", "NAMEWORD", "ASSERT_K", "LOG2CEIL", "FORMAT", 1275 "PUBLIC", "DEFSYMEND", "BASE", "ALIAS", "TRUNCATE", "REL", 1276 "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE", "EXTERN", 1277 "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL", "VERSIONK", 1278 "INPUT_VERSION_SCRIPT", "INPUT_SECTION_ORDERING_SCRIPT", "KEEP", 1279 "ONLY_IF_RO", "ONLY_IF_RW", "SPECIAL", "INPUT_SECTION_FLAGS", 1280 "ALIGN_WITH_INPUT", "EXCLUDE_FILE", "CONSTANT", "INPUT_DYNAMIC_LIST", 1281 "','", "';'", "')'", "'['", "']'", "'!'", "'~'", "$accept", "file", 1282 "filename", "defsym_expr", "$@1", "mri_script_file", "$@2", 1283 "mri_script_lines", "mri_script_command", "$@3", "ordernamelist", 1284 "mri_load_name_list", "mri_abs_name_list", "casesymlist", 1285 "extern_name_list", "script_file", "$@4", "ifile_list", "ifile_p1", 1286 "$@5", "$@6", "$@7", "input_list", "$@8", "input_list1", "@9", "@10", 1287 "@11", "sections", "sec_or_group_p1", "statement_anywhere", "$@12", 1288 "wildcard_name", "wildcard_maybe_exclude", "wildcard_maybe_reverse", 1289 "filename_spec", "section_name_spec", "sect_flag_list", "sect_flags", 1290 "exclude_name_list", "section_name_list", "input_section_spec_no_keep", 1291 "input_section_spec", "$@13", "statement", "$@14", "$@15", 1292 "statement_list", "statement_list_opt", "length", "fill_exp", "fill_opt", 1293 "assign_op", "separator", "assignment", "opt_comma", "memory", 1294 "memory_spec_list_opt", "memory_spec_list", "memory_spec", "$@16", 1295 "$@17", "origin_spec", "length_spec", "attributes_opt", 1296 "attributes_list", "attributes_string", "startup", "high_level_library", 1297 "high_level_library_NAME_list", "low_level_library", 1298 "low_level_library_NAME_list", "floating_point_support", 1299 "nocrossref_list", "paren_script_name", "$@18", "mustbe_exp", "$@19", 1300 "exp", "$@20", "$@21", "memspec_at_opt", "opt_at", "opt_align", 1301 "opt_align_with_input", "opt_subalign", "sect_constraint", "section", 1302 "$@22", "$@23", "$@24", "$@25", "$@26", "$@27", "$@28", "$@29", "$@30", 1303 "$@31", "$@32", "type", "atype", "opt_exp_with_type", 1304 "opt_exp_without_type", "opt_nocrossrefs", "memspec_opt", "phdr_opt", 1305 "overlay_section", "$@33", "$@34", "$@35", "phdrs", "phdr_list", "phdr", 1306 "$@36", "$@37", "phdr_type", "phdr_qualifiers", "phdr_val", 1307 "dynamic_list_file", "$@38", "dynamic_list_nodes", "dynamic_list_node", 1308 "dynamic_list_tag", "version_script_file", "$@39", "version", "$@40", 1309 "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns", "@41", 1310 "@42", "opt_semicolon", "section_ordering_script_file", "$@43", 1311 "section_ordering_list", "section_order", "$@44", "$@45", YY_NULLPTR 1312 }; 1313 1314 static const char * 1315 yysymbol_name (yysymbol_kind_t yysymbol) 1316 { 1317 return yytname[yysymbol]; 1318 } 1319 #endif 1320 1321 #define YYPACT_NINF (-782) 1322 1323 #define yypact_value_is_default(Yyn) \ 1324 ((Yyn) == YYPACT_NINF) 1325 1326 #define YYTABLE_NINF (-359) 1327 1328 #define yytable_value_is_error(Yyn) \ 1329 0 1330 1331 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1332 STATE-NUM. */ 1333 static const yytype_int16 yypact[] = 1334 { 1335 289, -782, -782, -782, -782, -782, -782, 61, -782, -782, 1336 -782, -782, -782, 22, -782, -16, -782, -782, -782, 8, 1337 -782, 246, 1704, 994, 50, 55, 63, -782, 123, 11, 1338 -16, -782, 365, 142, 8, -782, 47, 57, 54, 103, 1339 -782, 112, -782, -782, 157, 195, 216, 238, 248, 259, 1340 260, 263, 264, 283, 290, -782, -782, 295, 296, 301, 1341 -782, 311, -782, 316, -782, -782, -782, -782, 125, -782, 1342 -782, -782, -782, -782, -782, -782, -19, -782, 352, 157, 1343 353, 793, -782, 357, 358, 361, -782, -782, 366, 368, 1344 369, 793, 370, 373, 377, 378, 383, 256, -782, -782, 1345 -782, -782, -782, -782, -782, -782, -782, -782, -782, 384, 1346 390, 392, -782, 393, -782, 385, 387, 338, 249, 123, 1347 -782, 891, -782, -782, -782, -782, 344, 252, -782, -782, 1348 -782, 407, 414, 415, 436, -782, -782, 32, 437, 438, 1349 439, 157, 157, 441, 157, 4, -782, 443, 443, -782, 1350 410, 157, 411, -782, -782, -782, -782, 388, 84, -782, 1351 87, -782, -782, 793, 793, 793, 416, 417, 418, 427, 1352 428, -782, -782, 429, 430, -782, -782, -782, -782, 442, 1353 444, -782, -782, 446, 450, 451, 453, 793, 793, 1504, 1354 514, -782, 320, -782, 325, 25, -782, -782, 617, 1893, 1355 331, -782, -782, 336, -782, 27, -782, -782, -782, 793, 1356 -782, 483, 484, 485, 434, 142, 142, 340, 237, 440, 1357 -782, 343, 237, 435, 35, -782, -782, -30, 346, -782, 1358 -782, 157, 448, -7, -782, 349, 351, 354, 355, 364, 1359 367, 371, -782, -782, 116, 121, 77, 372, 374, 375, 1360 23, -782, 376, 793, 378, -16, 793, 793, -782, 793, 1361 793, -782, -782, 1101, 793, 793, 793, 793, 793, 464, 1362 511, 793, -782, 478, -782, -782, -782, 793, 793, -782, 1363 -782, 793, 793, 793, 515, -782, -782, 793, 793, 793, 1364 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 1365 793, 793, 793, 793, 793, 793, 793, 793, 793, 1893, 1366 522, 523, -782, 527, 793, 793, 1893, 288, 533, -782, 1367 538, 1893, -782, -782, -782, -782, 399, 400, -782, -782, 1368 546, -782, -782, -782, -66, 496, -782, 994, -782, 157, 1369 -782, -782, -782, -782, -782, -782, -782, 555, -782, -782, 1370 980, 526, -782, -782, -782, 32, 561, -782, -782, -782, 1371 -782, -782, -782, -782, 157, -782, 157, 443, -782, -782, 1372 -782, -782, -782, -782, 528, 39, 413, -782, 1524, 12, 1373 -28, 1893, 1893, 1729, 1893, 1893, -782, 941, 1122, 1545, 1374 1565, 1142, 568, 419, 1162, 569, 1585, 1605, 1182, 1643, 1375 1202, 421, 1853, 1910, 1926, 1623, 1940, 1953, 1081, 1081, 1376 275, 275, 275, 275, 292, 292, 234, 234, -782, -782, 1377 -782, 1893, 1893, 1893, -782, -782, -782, 1893, 1893, -782, 1378 -782, -782, -782, 422, 423, 424, 142, 274, 237, 513, 1379 -782, -782, -55, 885, 657, -782, 753, 657, 793, 420, 1380 -782, 21, 566, 32, -782, 432, -782, -782, -782, -782, 1381 -782, -782, 547, 33, -782, 582, -782, -782, -782, 793, 1382 -782, -782, 793, 793, -782, -782, -782, -782, 452, 793, 1383 793, -782, 584, -782, -782, 793, -782, -782, -782, 454, 1384 575, -782, -782, -782, 1012, -782, -782, -782, -782, -782, 1385 589, -782, 556, 557, 560, 157, 562, -782, -782, -782, 1386 570, 571, 576, -782, 19, -782, -782, -782, 580, 83, 1387 -782, -782, -782, 885, 550, 585, 125, 382, 586, 1758, 1388 605, 516, -782, -782, 1873, 529, -782, 1893, 29, 621, 1389 -782, 625, 17, -782, 531, 593, -782, 23, -782, -782, 1390 -782, 596, 477, 1222, 1242, 1263, 480, -782, 1283, 1303, 1391 479, 1893, 237, 578, 142, 142, -782, 255, 43, 107, 1392 -782, -782, 600, -782, 638, 639, -782, 606, 608, 609, 1393 612, 613, -782, -782, -97, 19, 614, 615, 19, 616, 1394 -782, -782, -782, -782, -782, -782, -782, -782, -782, 620, 1395 649, -782, 504, 793, -27, 646, -782, 626, 627, 449, 1396 -782, -782, 516, 603, 629, 631, -782, 520, -782, -782, 1397 -782, 664, 524, -782, 36, 23, -782, -782, -782, -782, 1398 -782, 793, -782, -782, -782, -782, 525, 454, 645, 532, 1399 534, 535, 648, 536, 885, 542, -782, 793, 86, -782, 1400 93, -782, 16, 95, 242, 43, 43, 109, -782, 19, 1401 131, 43, -74, 19, 524, 544, 610, 793, -782, 1323, 1402 -782, 793, 665, 563, -782, 573, -782, 793, 29, 793, 1403 559, -782, -782, 611, -782, 91, 23, 1343, 237, 654, 1404 18, -782, -782, -782, 18, -782, 682, -782, 1663, 564, 1405 565, 720, -782, 639, -782, 687, 688, 572, 690, 691, 1406 574, 577, 579, 693, 695, -782, -782, -782, 192, -782, 1407 -782, 724, 1893, 92, 1363, 793, -782, 573, 700, -782, 1408 1639, 1383, -782, 1404, -782, -782, 730, -782, -782, 117, 1409 -782, -782, 583, -782, 747, -782, -782, -782, 43, 43, 1410 -782, 43, 43, -782, -782, -782, 18, 18, -782, 793, 1411 714, 736, -782, 1424, 188, 793, 692, -782, -782, 29, 1412 -782, -782, 597, 601, 604, 607, 619, 622, 623, 628, 1413 1444, 793, -782, -782, -782, -782, -782, -782, 1464, -782, 1414 -782, -782, -782, 125, 630, 632, 636, 637, 640, 641, 1415 -782, 1484, 699, -782, -782, -782, -782, -782, -782, -782, 1416 -782, -782, 725, 885, 53, 749, 701, -782, 741, -782, 1417 -782, 706, 765, 662, 741, 885, -782, 748, -782, 662, 1418 712, 783, 45, -782, -782, -782, -782, 785, -782, 45, 1419 -782, -782, -782, 524, -782, 45, -782, 524, -782, -782, 1420 524, -782 1421 }; 1422 1423 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1424 Performed when YYTABLE does not specify something else to do. Zero 1425 means the default is an error. */ 1426 static const yytype_int16 yydefact[] = 1427 { 1428 0, 58, 11, 9, 356, 388, 350, 0, 2, 61, 1429 3, 14, 7, 0, 4, 0, 5, 392, 6, 0, 1430 1, 59, 12, 0, 0, 0, 0, 10, 367, 0, 1431 357, 360, 389, 0, 351, 352, 0, 0, 0, 0, 1432 78, 0, 80, 79, 0, 0, 0, 0, 0, 0, 1433 0, 0, 0, 0, 0, 222, 223, 0, 0, 0, 1434 82, 0, 115, 0, 71, 60, 63, 69, 0, 62, 1435 65, 66, 67, 68, 64, 70, 0, 17, 0, 0, 1436 0, 0, 18, 0, 0, 0, 20, 47, 0, 0, 1437 0, 0, 0, 0, 52, 0, 0, 0, 179, 180, 1438 181, 182, 229, 183, 184, 185, 186, 187, 229, 0, 1439 0, 0, 373, 384, 372, 380, 382, 0, 0, 367, 1440 361, 0, 391, 390, 380, 382, 0, 0, 353, 112, 1441 339, 0, 0, 0, 0, 8, 85, 199, 0, 0, 1442 0, 0, 0, 0, 0, 0, 221, 224, 224, 95, 1443 0, 0, 0, 89, 189, 188, 114, 0, 0, 41, 1444 0, 257, 274, 0, 0, 0, 0, 0, 0, 0, 1445 0, 258, 270, 0, 0, 227, 227, 227, 227, 0, 1446 0, 227, 227, 0, 0, 0, 0, 0, 0, 15, 1447 0, 50, 32, 48, 33, 19, 34, 24, 0, 37, 1448 0, 38, 53, 39, 55, 40, 43, 13, 190, 0, 1449 191, 0, 0, 0, 0, 0, 0, 0, 368, 0, 1450 393, 0, 355, 0, 0, 91, 92, 0, 0, 61, 1451 202, 0, 0, 196, 201, 0, 0, 0, 0, 0, 1452 0, 0, 216, 218, 196, 196, 224, 0, 0, 0, 1453 0, 95, 0, 0, 0, 0, 0, 0, 14, 0, 1454 0, 235, 231, 0, 0, 0, 0, 0, 0, 0, 1455 0, 0, 260, 0, 259, 261, 262, 0, 0, 278, 1456 279, 0, 0, 0, 0, 234, 236, 0, 0, 0, 1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1459 0, 0, 46, 0, 0, 0, 23, 0, 0, 56, 1460 0, 230, 229, 229, 229, 378, 0, 0, 362, 375, 1461 385, 374, 381, 383, 0, 0, 354, 295, 109, 0, 1462 300, 305, 111, 110, 341, 338, 340, 0, 75, 77, 1463 358, 208, 204, 197, 195, 0, 0, 94, 72, 73, 1464 84, 113, 214, 215, 0, 219, 0, 224, 225, 87, 1465 88, 81, 97, 100, 0, 96, 0, 74, 0, 0, 1466 0, 28, 29, 44, 30, 31, 232, 0, 0, 0, 1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468 0, 0, 0, 255, 254, 252, 251, 250, 244, 245, 1469 248, 249, 246, 247, 242, 243, 240, 241, 237, 238, 1470 239, 16, 27, 25, 51, 49, 45, 21, 22, 36, 1471 35, 54, 57, 0, 0, 0, 0, 369, 370, 0, 1472 365, 363, 0, 169, 319, 308, 0, 319, 0, 0, 1473 86, 0, 0, 199, 200, 0, 217, 220, 226, 103, 1474 99, 102, 0, 0, 83, 0, 90, 359, 42, 0, 1475 265, 273, 0, 0, 269, 271, 256, 233, 0, 0, 1476 0, 264, 0, 280, 263, 0, 192, 193, 194, 386, 1477 383, 376, 366, 364, 144, 171, 172, 173, 174, 175, 1478 0, 162, 0, 0, 0, 0, 0, 155, 156, 163, 1479 0, 0, 0, 153, 0, 118, 120, 122, 0, 0, 1480 150, 158, 168, 170, 0, 0, 0, 0, 0, 319, 1481 0, 284, 112, 326, 0, 327, 306, 344, 345, 0, 1482 212, 0, 0, 210, 0, 0, 93, 0, 107, 98, 1483 101, 0, 0, 0, 0, 0, 0, 228, 0, 0, 1484 0, 253, 387, 0, 0, 0, 160, 0, 0, 0, 1485 165, 229, 0, 151, 0, 0, 117, 0, 0, 0, 1486 0, 0, 126, 143, 196, 0, 145, 0, 0, 0, 1487 167, 394, 229, 154, 310, 311, 312, 313, 314, 316, 1488 0, 320, 0, 0, 0, 0, 322, 0, 286, 0, 1489 325, 328, 284, 0, 348, 0, 342, 0, 213, 209, 1490 211, 0, 196, 205, 0, 0, 105, 116, 266, 267, 1491 268, 0, 275, 276, 277, 379, 0, 386, 0, 0, 1492 0, 0, 0, 0, 169, 0, 176, 0, 0, 137, 1493 0, 141, 0, 0, 0, 0, 0, 0, 146, 0, 1494 196, 0, 196, 0, 196, 0, 0, 0, 318, 0, 1495 321, 0, 0, 288, 309, 290, 112, 0, 345, 0, 1496 0, 76, 229, 0, 104, 0, 0, 0, 371, 0, 1497 0, 157, 123, 124, 0, 121, 0, 161, 0, 117, 1498 0, 0, 139, 0, 140, 0, 0, 0, 0, 0, 1499 0, 0, 0, 0, 0, 142, 148, 147, 196, 395, 1500 159, 0, 317, 319, 0, 0, 287, 290, 0, 301, 1501 0, 0, 346, 0, 343, 206, 0, 203, 108, 0, 1502 272, 377, 0, 166, 0, 152, 138, 119, 0, 0, 1503 127, 0, 0, 128, 129, 134, 0, 0, 149, 0, 1504 0, 0, 283, 0, 294, 0, 0, 307, 349, 345, 1505 229, 106, 0, 0, 0, 0, 0, 0, 0, 0, 1506 0, 0, 323, 285, 291, 292, 293, 296, 0, 302, 1507 347, 207, 125, 0, 0, 0, 0, 0, 0, 0, 1508 315, 0, 0, 289, 333, 164, 131, 130, 132, 133, 1509 135, 136, 319, 169, 0, 0, 0, 334, 330, 324, 1510 297, 0, 0, 282, 330, 169, 329, 0, 331, 282, 1511 0, 0, 178, 331, 335, 281, 229, 0, 303, 178, 1512 331, 177, 332, 196, 298, 178, 304, 196, 336, 299, 1513 196, 337 1514 }; 1515 1516 /* YYPGOTO[NTERM-NUM]. */ 1517 static const yytype_int16 yypgoto[] = 1518 { 1519 -782, -782, -76, -782, -782, -782, -782, 543, -782, -782, 1520 -782, -782, -782, -782, 548, -782, -782, 581, -782, -782, 1521 -782, -782, 552, -782, -303, -782, -782, -782, -782, -418, 1522 -15, -782, -305, -557, -496, 285, 146, -782, -782, -782, 1523 -543, 158, -782, -782, 291, -782, -782, -782, -620, -782, 1524 -23, -781, -782, -522, -13, -231, -782, 362, -782, 461, 1525 -782, -782, -782, -782, -782, -782, 278, -782, -782, -782, 1526 -782, -782, -782, -129, 250, -782, -93, -782, -80, -782, 1527 -782, -8, 210, -782, -782, 99, -782, -782, -782, -782, 1528 -782, -782, -782, -782, -782, -782, -782, -782, -782, -782, 1529 -519, 380, -782, -782, 5, -773, -782, -782, -782, -782, 1530 -782, -782, -782, -782, -782, -782, -646, -782, -782, -782, 1531 -782, 794, -782, -782, -782, -782, -782, 595, -25, -782, 1532 711, -26, -782, -782, 197, -782, -782, -782, -782, -782, 1533 -782 1534 }; 1535 1536 /* YYDEFGOTO[NTERM-NUM]. */ 1537 static const yytype_int16 yydefgoto[] = 1538 { 1539 0, 7, 136, 12, 13, 10, 11, 22, 97, 258, 1540 195, 194, 192, 203, 205, 8, 9, 21, 65, 150, 1541 229, 254, 249, 250, 375, 547, 686, 625, 66, 223, 1542 342, 152, 515, 516, 517, 518, 583, 650, 519, 652, 1543 584, 520, 521, 648, 522, 572, 644, 523, 524, 525, 1544 645, 838, 108, 156, 68, 659, 69, 232, 233, 234, 1545 351, 453, 622, 737, 452, 542, 543, 70, 71, 244, 1546 72, 245, 73, 247, 272, 273, 646, 209, 263, 269, 1547 556, 828, 608, 673, 727, 729, 787, 343, 444, 802, 1548 824, 847, 446, 766, 804, 843, 447, 613, 532, 602, 1549 530, 531, 535, 612, 823, 832, 814, 821, 840, 850, 1550 74, 224, 346, 448, 680, 538, 616, 678, 18, 19, 1551 34, 35, 126, 14, 15, 75, 76, 30, 31, 442, 1552 117, 118, 565, 436, 563, 16, 17, 32, 123, 335, 1553 664 1554 }; 1555 1556 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1557 positive, shift that token. If negative, reduce the rule whose 1558 number is the opposite. If YYTABLE_NINF, syntax error. */ 1559 static const yytype_int16 yytable[] = 1560 { 1561 27, 189, 355, 159, 593, 120, 67, 127, 135, 208, 1562 605, 199, 643, 364, 366, 210, 319, 122, 582, 248, 1563 576, 540, 576, 576, 696, 540, 23, 372, 373, 312, 1564 -198, 319, 732, 614, 28, 467, 230, 549, 550, 344, 1565 460, 461, 660, 460, 461, 662, 28, 576, 594, 595, 1566 596, 597, 598, 599, 600, 836, -198, 817, 844, 354, 1567 839, 20, 837, 658, 848, 238, 239, 845, 241, 243, 1568 33, 640, 641, 119, 440, 252, 577, 578, 579, 580, 1569 581, 246, 354, 261, 262, 492, 717, 586, 109, 582, 1570 699, 441, 582, 110, 256, 460, 461, 259, 345, 576, 1571 643, 111, 493, 231, 638, 131, 132, 285, 286, 129, 1572 309, 576, 29, 576, 609, 701, 818, 368, 316, 130, 1573 718, 460, 461, 790, 29, 157, 347, 112, 348, 321, 1574 604, 601, 760, 643, 24, 25, 26, 742, 374, 615, 1575 587, 133, 503, 587, 504, 503, 112, 504, 551, 354, 1576 134, 462, 705, 706, 462, 352, 638, 707, 710, 711, 1577 712, 135, 242, 582, 642, 640, 713, 582, 320, 714, 1578 466, 512, 512, 378, 703, 619, 381, 382, 541, 384, 1579 385, 313, 541, 320, 387, 388, 389, 390, 391, 326, 1580 327, 394, 463, 816, 684, 463, 512, 396, 397, 778, 1581 779, 398, 399, 400, 761, 830, 462, 402, 403, 404, 1582 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 1583 415, 416, 417, 418, 419, 420, 421, 422, 423, 433, 1584 434, 435, 462, 367, 427, 428, 512, 511, 458, 512, 1585 257, 329, 588, 260, 624, 514, 576, 463, 512, 738, 1586 23, 702, 774, 775, 138, 776, 777, 137, 730, 576, 1587 512, 113, 512, 445, 114, 115, 116, 303, 304, 305, 1588 651, 805, 354, 463, 363, 771, 139, 354, 329, 365, 1589 113, 154, 155, 114, 124, 125, 140, 354, 456, 716, 1590 457, 429, 430, 815, 36, 37, 38, 141, 142, 708, 1591 709, 143, 144, 638, 299, 300, 301, 302, 303, 304, 1592 305, 39, 40, 41, 42, 43, 638, 44, 45, 46, 1593 47, 145, 685, 301, 302, 303, 304, 305, 146, 48, 1594 49, 50, 51, 147, 148, 67, 784, 785, 786, 149, 1595 52, 53, 54, 55, 56, 57, 58, 704, 354, 151, 1596 758, 59, 60, 61, 153, 120, 158, 160, 24, 25, 1597 26, 190, 191, 639, 529, 193, 534, 529, 537, 121, 1598 196, 62, 197, 198, 200, 330, 201, 207, 331, 332, 1599 333, 202, 204, 739, 63, 161, 162, 206, 211, 553, 1600 -358, 683, 554, 555, 212, 512, 213, 214, 747, 558, 1601 559, 217, 215, 64, 216, 561, 218, 221, 512, 222, 1602 489, 225, 330, 163, 164, 331, 332, 490, 226, 227, 1603 165, 166, 167, 1, 2, 3, 274, 275, 276, 570, 1604 526, 279, 280, 719, 4, 5, 168, 169, 170, 337, 1605 228, 235, 236, 237, 6, 240, 171, 246, 251, 253, 1606 255, 51, 172, 337, 264, 265, 266, 594, 595, 596, 1607 597, 598, 599, 600, 173, 267, 268, 270, 271, 174, 1608 175, 176, 177, 178, 179, 180, 310, 24, 25, 26, 1609 277, 311, 278, 181, 281, 182, 674, 317, 282, 283, 1610 62, 284, 318, 322, 323, 324, 325, 328, 338, 665, 1611 336, 183, 392, 334, 349, 356, 339, 184, 185, 357, 1612 526, 353, 358, 359, 340, 393, 395, 161, 162, 401, 1613 339, 51, 360, 669, 307, 361, 424, 425, 340, 362, 1614 369, 426, 370, 371, 377, 51, 186, 431, 636, 637, 1615 601, 341, 432, 187, 188, 163, 164, 24, 25, 26, 1616 439, 687, 165, 166, 167, 341, 437, 438, 443, 449, 1617 62, 24, 25, 26, 451, 455, 459, 698, 168, 169, 1618 170, 464, 475, 478, 62, 491, 539, 476, 171, 484, 1619 486, 487, 488, 544, 172, 548, 552, 722, 560, 735, 1620 546, 724, 564, 566, 567, 568, 173, 731, 569, 733, 1621 571, 174, 175, 176, 177, 178, 179, 180, 573, 574, 1622 557, 562, 846, 591, 575, 181, 849, 182, 585, 851, 1623 161, 162, 606, 592, 603, 617, 607, 314, 611, 618, 1624 623, 526, 621, 183, 626, 627, 631, 634, 647, 184, 1625 185, 635, 649, 576, 653, 763, 654, 655, 163, 164, 1626 656, 657, -117, 661, 663, 165, 166, 167, 666, 667, 1627 161, 162, 668, 670, 671, 676, 672, 677, 186, 679, 1628 308, 168, 169, 170, 682, 187, 188, 791, 681, 780, 1629 354, 171, 688, 690, 728, 788, 694, 172, 163, 164, 1630 691, 721, 692, 693, 695, 527, 166, 167, 528, 173, 1631 697, 801, 720, 725, 174, 175, 176, 177, 178, 179, 1632 180, 168, 169, 170, 736, 726, 734, 741, 181, 743, 1633 182, 171, -144, 745, 746, 748, 749, 172, 751, 752, 1634 750, 756, 753, 757, 759, 754, 183, 755, 765, 173, 1635 770, 772, 184, 185, 174, 175, 176, 177, 178, 179, 1636 180, 773, 781, 782, 789, 792, 161, 162, 181, 793, 1637 182, 813, 794, 604, 820, 795, 819, 822, 825, 826, 1638 533, 186, 827, 315, 831, 834, 183, 796, 187, 188, 1639 797, 798, 184, 185, 163, 164, 799, 835, 806, 842, 1640 807, 165, 166, 167, 808, 809, 161, 162, 810, 811, 1641 526, 383, 379, 376, 589, 715, 700, 168, 169, 170, 1642 350, 186, 526, 841, 590, 545, 454, 171, 187, 188, 1643 620, 833, 675, 172, 163, 164, 764, 536, 128, 829, 1644 219, 165, 166, 167, 689, 173, 0, 0, 0, 0, 1645 174, 175, 176, 177, 178, 179, 180, 168, 169, 170, 1646 380, 0, 0, 0, 181, 0, 182, 171, 0, 0, 1647 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 1648 0, 0, 183, 0, 0, 173, 0, 0, 184, 185, 1649 174, 175, 176, 177, 178, 179, 180, 0, 0, 494, 1650 0, 0, 0, 0, 181, 0, 182, 98, 99, 100, 1651 101, 102, 103, 104, 105, 106, 107, 186, 220, 0, 1652 0, 0, 183, 0, 187, 188, 0, 0, 184, 185, 1653 0, 0, 0, 0, 0, 0, 0, 495, 496, 497, 1654 498, 499, 500, 0, 0, 0, 0, 0, 501, 0, 1655 0, 0, 502, 0, 503, 0, 504, 186, 0, 0, 1656 0, 0, 0, 0, 187, 188, 505, 287, 0, 288, 1657 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 1658 299, 300, 301, 302, 303, 304, 305, 0, 0, 0, 1659 0, 0, 0, 0, 23, 0, 0, 506, 0, 507, 1660 0, 0, 0, 508, 0, 0, 0, 24, 25, 26, 1661 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 1662 509, 0, 0, 0, 0, 0, 0, 450, 98, 99, 1663 100, 101, 102, 103, 104, 105, 106, 107, 36, 37, 1664 38, 0, 510, 0, 0, 0, 511, 0, 512, 0, 1665 0, 0, 513, 0, 514, 39, 40, 41, 42, 43, 1666 -117, 44, 45, 46, 47, 0, 0, 0, 0, 0, 1667 0, 0, 0, 48, 49, 50, 51, 0, 0, 0, 1668 0, 0, 0, 0, 52, 53, 54, 55, 56, 57, 1669 58, 0, 0, 0, 0, 59, 60, 61, 0, 0, 1670 0, 0, 24, 25, 26, 0, 0, 469, 0, 470, 1671 0, 0, 0, 0, 0, 62, 295, 296, 297, 298, 1672 299, 300, 301, 302, 303, 304, 305, 287, 63, 288, 1673 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 1674 299, 300, 301, 302, 303, 304, 305, 64, 287, 0, 1675 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1676 298, 299, 300, 301, 302, 303, 304, 305, 287, 0, 1677 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1678 298, 299, 300, 301, 302, 303, 304, 305, 287, 0, 1679 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1680 298, 299, 300, 301, 302, 303, 304, 305, 287, 0, 1681 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1682 298, 299, 300, 301, 302, 303, 304, 305, 287, 0, 1683 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1684 298, 299, 300, 301, 302, 303, 304, 305, 287, 0, 1685 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1686 298, 299, 300, 301, 302, 303, 304, 305, 287, 386, 1687 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 1688 298, 299, 300, 301, 302, 303, 304, 305, 0, 287, 1689 471, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1690 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1691 474, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1692 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1693 477, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1694 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1695 481, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1696 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1697 483, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1698 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1699 628, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1700 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1701 629, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1702 297, 298, 299, 300, 301, 302, 303, 304, 305, 0, 1703 287, 630, 288, 289, 290, 291, 292, 293, 294, 295, 1704 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1705 287, 632, 288, 289, 290, 291, 292, 293, 294, 295, 1706 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1707 287, 633, 288, 289, 290, 291, 292, 293, 294, 295, 1708 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1709 287, 723, 288, 289, 290, 291, 292, 293, 294, 295, 1710 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1711 287, 740, 288, 289, 290, 291, 292, 293, 294, 295, 1712 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1713 287, 762, 288, 289, 290, 291, 292, 293, 294, 295, 1714 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1715 287, 768, 288, 289, 290, 291, 292, 293, 294, 295, 1716 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 1717 0, 287, 769, 288, 289, 290, 291, 292, 293, 294, 1718 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 1719 305, 287, 783, 288, 289, 290, 291, 292, 293, 294, 1720 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 1721 305, 287, 800, 288, 289, 290, 291, 292, 293, 294, 1722 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 1723 305, 287, 803, 288, 289, 290, 291, 292, 293, 294, 1724 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 1725 305, 0, 812, 337, 291, 292, 293, 294, 295, 296, 1726 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1727 306, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1728 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1729 465, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1730 297, 298, 299, 300, 301, 302, 303, 304, 305, 0, 1731 0, 472, 767, 0, 0, 0, 0, 0, 77, 0, 1732 339, 0, 0, 0, 0, 0, 0, 0, 340, 0, 1733 0, 473, 0, 0, 0, 51, 0, 0, 0, 0, 1734 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 1735 0, 479, 0, 78, 0, 341, 0, 0, 0, 0, 1736 0, 24, 25, 26, 0, 0, 0, 0, 0, 0, 1737 0, 480, 0, 0, 62, 0, 468, 0, 78, 0, 1738 0, 0, 0, 0, 287, 79, 288, 289, 290, 291, 1739 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 1740 302, 303, 304, 305, 0, 0, 604, 0, 0, 482, 1741 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1742 0, 0, 0, 80, 0, 0, 0, 0, 0, 744, 1743 81, 82, 83, 84, 85, -44, 86, 87, 88, 0, 1744 0, 89, 90, 0, 91, 92, 93, 0, 80, 0, 1745 0, 94, 95, 96, 0, 81, 82, 83, 84, 85, 1746 0, 86, 87, 88, 0, 0, 89, 90, 0, 91, 1747 92, 93, 0, 0, 0, 0, 94, 95, 96, 287, 1748 485, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1749 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1750 610, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1751 297, 298, 299, 300, 301, 302, 303, 304, 305, 287, 1752 0, 288, 289, 290, 291, 292, 293, 294, 295, 296, 1753 297, 298, 299, 300, 301, 302, 303, 304, 305, 289, 1754 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 1755 300, 301, 302, 303, 304, 305, 290, 291, 292, 293, 1756 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 1757 304, 305, 292, 293, 294, 295, 296, 297, 298, 299, 1758 300, 301, 302, 303, 304, 305, 293, 294, 295, 296, 1759 297, 298, 299, 300, 301, 302, 303, 304, 305 1760 }; 1761 1762 static const yytype_int16 yycheck[] = 1763 { 1764 13, 81, 233, 79, 526, 30, 21, 33, 4, 102, 1765 529, 91, 569, 244, 245, 108, 4, 32, 514, 148, 1766 4, 4, 4, 4, 644, 4, 4, 4, 5, 4, 1767 37, 4, 678, 4, 62, 63, 4, 4, 5, 4, 1768 4, 5, 585, 4, 5, 588, 62, 4, 75, 76, 1769 77, 78, 79, 80, 81, 10, 63, 4, 839, 156, 1770 833, 0, 17, 160, 845, 141, 142, 840, 144, 145, 1771 62, 567, 568, 62, 140, 151, 57, 58, 59, 60, 1772 61, 4, 156, 163, 164, 140, 160, 4, 38, 585, 1773 4, 157, 588, 38, 10, 4, 5, 10, 63, 4, 1774 657, 38, 157, 71, 61, 51, 52, 187, 188, 62, 1775 190, 4, 140, 4, 532, 22, 63, 246, 198, 62, 1776 663, 4, 5, 769, 140, 144, 156, 4, 158, 209, 1777 38, 158, 40, 690, 112, 113, 114, 694, 115, 110, 1778 57, 38, 59, 57, 61, 59, 4, 61, 115, 156, 1779 38, 115, 57, 58, 115, 231, 61, 653, 654, 655, 1780 656, 4, 158, 659, 57, 661, 57, 663, 156, 60, 1781 158, 153, 153, 253, 158, 158, 256, 257, 161, 259, 1782 260, 156, 161, 156, 264, 265, 266, 267, 268, 215, 1783 216, 271, 156, 813, 158, 156, 153, 277, 278, 756, 1784 757, 281, 282, 283, 723, 825, 115, 287, 288, 289, 1785 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 1786 300, 301, 302, 303, 304, 305, 306, 307, 308, 322, 1787 323, 324, 115, 156, 314, 315, 153, 151, 367, 153, 1788 156, 4, 159, 156, 547, 159, 4, 156, 153, 158, 1789 4, 158, 748, 749, 38, 751, 752, 62, 676, 4, 1790 153, 138, 153, 339, 141, 142, 143, 33, 34, 35, 1791 575, 793, 156, 156, 158, 158, 38, 156, 4, 158, 1792 138, 156, 157, 141, 142, 143, 38, 156, 364, 158, 1793 366, 3, 4, 812, 48, 49, 50, 38, 38, 57, 1794 58, 38, 38, 61, 29, 30, 31, 32, 33, 34, 1795 35, 65, 66, 67, 68, 69, 61, 71, 72, 73, 1796 74, 38, 625, 31, 32, 33, 34, 35, 38, 83, 1797 84, 85, 86, 38, 38, 350, 148, 149, 150, 38, 1798 94, 95, 96, 97, 98, 99, 100, 652, 156, 38, 1799 158, 105, 106, 107, 38, 380, 4, 4, 112, 113, 1800 114, 4, 4, 108, 444, 4, 446, 447, 448, 4, 1801 4, 125, 4, 4, 4, 138, 3, 121, 141, 142, 1802 143, 4, 4, 686, 138, 3, 4, 4, 4, 469, 1803 144, 622, 472, 473, 4, 153, 4, 4, 703, 479, 1804 480, 63, 17, 157, 17, 485, 157, 63, 153, 157, 1805 436, 4, 138, 31, 32, 141, 142, 143, 4, 4, 1806 38, 39, 40, 134, 135, 136, 176, 177, 178, 505, 1807 443, 181, 182, 664, 145, 146, 54, 55, 56, 4, 1808 4, 4, 4, 4, 155, 4, 64, 4, 38, 38, 1809 62, 86, 70, 4, 38, 38, 38, 75, 76, 77, 1810 78, 79, 80, 81, 82, 38, 38, 38, 38, 87, 1811 88, 89, 90, 91, 92, 93, 156, 112, 113, 114, 1812 38, 156, 38, 101, 38, 103, 37, 156, 38, 38, 1813 125, 38, 156, 10, 10, 10, 62, 157, 63, 592, 1814 157, 119, 38, 63, 158, 156, 71, 125, 126, 158, 1815 523, 63, 158, 158, 79, 4, 38, 3, 4, 4, 1816 71, 86, 158, 603, 10, 158, 4, 4, 79, 158, 1817 158, 4, 158, 158, 158, 86, 154, 4, 564, 565, 1818 158, 106, 4, 161, 162, 31, 32, 112, 113, 114, 1819 4, 631, 38, 39, 40, 106, 157, 157, 62, 4, 1820 125, 112, 113, 114, 38, 4, 38, 647, 54, 55, 1821 56, 158, 4, 4, 125, 62, 156, 158, 64, 158, 1822 158, 158, 158, 17, 70, 38, 4, 667, 4, 682, 1823 158, 671, 17, 4, 38, 38, 82, 677, 38, 679, 1824 38, 87, 88, 89, 90, 91, 92, 93, 38, 38, 1825 158, 157, 843, 63, 38, 101, 847, 103, 38, 850, 1826 3, 4, 17, 38, 38, 4, 110, 10, 99, 4, 1827 37, 644, 101, 119, 38, 158, 156, 158, 38, 125, 1828 126, 63, 4, 4, 38, 725, 38, 38, 31, 32, 1829 38, 38, 38, 38, 38, 38, 39, 40, 38, 10, 1830 3, 4, 158, 17, 38, 62, 39, 38, 154, 38, 1831 156, 54, 55, 56, 10, 161, 162, 770, 158, 759, 1832 156, 64, 157, 38, 111, 765, 38, 70, 31, 32, 1833 158, 81, 158, 158, 158, 38, 39, 40, 41, 82, 1834 158, 781, 158, 38, 87, 88, 89, 90, 91, 92, 1835 93, 54, 55, 56, 103, 152, 157, 63, 101, 37, 1836 103, 64, 158, 158, 4, 38, 38, 70, 38, 38, 1837 158, 38, 158, 38, 10, 158, 119, 158, 38, 82, 1838 10, 158, 125, 126, 87, 88, 89, 90, 91, 92, 1839 93, 4, 38, 17, 62, 158, 3, 4, 101, 158, 1840 103, 62, 158, 38, 63, 158, 17, 26, 62, 4, 1841 17, 154, 110, 156, 26, 63, 119, 158, 161, 162, 1842 158, 158, 125, 126, 31, 32, 158, 4, 158, 4, 1843 158, 38, 39, 40, 158, 158, 3, 4, 158, 158, 1844 813, 258, 254, 251, 519, 659, 648, 54, 55, 56, 1845 229, 154, 825, 836, 523, 453, 355, 64, 161, 162, 1846 542, 829, 612, 70, 31, 32, 727, 447, 34, 824, 1847 119, 38, 39, 40, 637, 82, -1, -1, -1, -1, 1848 87, 88, 89, 90, 91, 92, 93, 54, 55, 56, 1849 255, -1, -1, -1, 101, -1, 103, 64, -1, -1, 1850 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 1851 -1, -1, 119, -1, -1, 82, -1, -1, 125, 126, 1852 87, 88, 89, 90, 91, 92, 93, -1, -1, 4, 1853 -1, -1, -1, -1, 101, -1, 103, 6, 7, 8, 1854 9, 10, 11, 12, 13, 14, 15, 154, 17, -1, 1855 -1, -1, 119, -1, 161, 162, -1, -1, 125, 126, 1856 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, 1857 45, 46, 47, -1, -1, -1, -1, -1, 53, -1, 1858 -1, -1, 57, -1, 59, -1, 61, 154, -1, -1, 1859 -1, -1, -1, -1, 161, 162, 71, 16, -1, 18, 1860 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1861 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, 1862 -1, -1, -1, -1, 4, -1, -1, 102, -1, 104, 1863 -1, -1, -1, 108, -1, -1, -1, 112, 113, 114, 1864 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1865 125, -1, -1, -1, -1, -1, -1, 37, 6, 7, 1866 8, 9, 10, 11, 12, 13, 14, 15, 48, 49, 1867 50, -1, 147, -1, -1, -1, 151, -1, 153, -1, 1868 -1, -1, 157, -1, 159, 65, 66, 67, 68, 69, 1869 38, 71, 72, 73, 74, -1, -1, -1, -1, -1, 1870 -1, -1, -1, 83, 84, 85, 86, -1, -1, -1, 1871 -1, -1, -1, -1, 94, 95, 96, 97, 98, 99, 1872 100, -1, -1, -1, -1, 105, 106, 107, -1, -1, 1873 -1, -1, 112, 113, 114, -1, -1, 156, -1, 158, 1874 -1, -1, -1, -1, -1, 125, 25, 26, 27, 28, 1875 29, 30, 31, 32, 33, 34, 35, 16, 138, 18, 1876 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1877 29, 30, 31, 32, 33, 34, 35, 157, 16, -1, 1878 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1879 28, 29, 30, 31, 32, 33, 34, 35, 16, -1, 1880 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1881 28, 29, 30, 31, 32, 33, 34, 35, 16, -1, 1882 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1883 28, 29, 30, 31, 32, 33, 34, 35, 16, -1, 1884 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1885 28, 29, 30, 31, 32, 33, 34, 35, 16, -1, 1886 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1887 28, 29, 30, 31, 32, 33, 34, 35, 16, -1, 1888 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1889 28, 29, 30, 31, 32, 33, 34, 35, 16, 158, 1890 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 1891 28, 29, 30, 31, 32, 33, 34, 35, -1, 16, 1892 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1893 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1894 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1895 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1896 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1897 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1898 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1899 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1900 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1901 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1902 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1903 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1904 158, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1905 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, 1906 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1907 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1908 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1909 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1910 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1911 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1912 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1913 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1914 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1915 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1916 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1917 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1918 16, 158, 18, 19, 20, 21, 22, 23, 24, 25, 1919 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1920 -1, 16, 158, 18, 19, 20, 21, 22, 23, 24, 1921 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1922 35, 16, 158, 18, 19, 20, 21, 22, 23, 24, 1923 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1924 35, 16, 158, 18, 19, 20, 21, 22, 23, 24, 1925 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1926 35, 16, 158, 18, 19, 20, 21, 22, 23, 24, 1927 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 1928 35, -1, 158, 4, 21, 22, 23, 24, 25, 26, 1929 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1930 156, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1931 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1932 156, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1933 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, 1934 -1, 156, 63, -1, -1, -1, -1, -1, 4, -1, 1935 71, -1, -1, -1, -1, -1, -1, -1, 79, -1, 1936 -1, 156, -1, -1, -1, 86, -1, -1, -1, -1, 1937 -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, 1938 -1, 156, -1, 39, -1, 106, -1, -1, -1, -1, 1939 -1, 112, 113, 114, -1, -1, -1, -1, -1, -1, 1940 -1, 156, -1, -1, 125, -1, 37, -1, 39, -1, 1941 -1, -1, -1, -1, 16, 71, 18, 19, 20, 21, 1942 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 1943 32, 33, 34, 35, -1, -1, 38, -1, -1, 156, 1944 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1945 -1, -1, -1, 109, -1, -1, -1, -1, -1, 156, 1946 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, 1947 -1, 127, 128, -1, 130, 131, 132, -1, 109, -1, 1948 -1, 137, 138, 139, -1, 116, 117, 118, 119, 120, 1949 -1, 122, 123, 124, -1, -1, 127, 128, -1, 130, 1950 131, 132, -1, -1, -1, -1, 137, 138, 139, 16, 1951 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1952 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1953 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1954 27, 28, 29, 30, 31, 32, 33, 34, 35, 16, 1955 -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 1956 27, 28, 29, 30, 31, 32, 33, 34, 35, 19, 1957 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1958 30, 31, 32, 33, 34, 35, 20, 21, 22, 23, 1959 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 1960 34, 35, 22, 23, 24, 25, 26, 27, 28, 29, 1961 30, 31, 32, 33, 34, 35, 23, 24, 25, 26, 1962 27, 28, 29, 30, 31, 32, 33, 34, 35 1963 }; 1964 1965 /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of 1966 state STATE-NUM. */ 1967 static const yytype_int16 yystos[] = 1968 { 1969 0, 134, 135, 136, 145, 146, 155, 164, 178, 179, 1970 168, 169, 166, 167, 286, 287, 298, 299, 281, 282, 1971 0, 180, 170, 4, 112, 113, 114, 217, 62, 140, 1972 290, 291, 300, 62, 283, 284, 48, 49, 50, 65, 1973 66, 67, 68, 69, 71, 72, 73, 74, 83, 84, 1974 85, 86, 94, 95, 96, 97, 98, 99, 100, 105, 1975 106, 107, 125, 138, 157, 181, 191, 193, 217, 219, 1976 230, 231, 233, 235, 273, 288, 289, 4, 39, 71, 1977 109, 116, 117, 118, 119, 120, 122, 123, 124, 127, 1978 128, 130, 131, 132, 137, 138, 139, 171, 6, 7, 1979 8, 9, 10, 11, 12, 13, 14, 15, 215, 38, 1980 38, 38, 4, 138, 141, 142, 143, 293, 294, 62, 1981 291, 4, 193, 301, 142, 143, 285, 294, 284, 62, 1982 62, 51, 52, 38, 38, 4, 165, 62, 38, 38, 1983 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 1984 182, 38, 194, 38, 156, 157, 216, 144, 4, 165, 1985 4, 3, 4, 31, 32, 38, 39, 40, 54, 55, 1986 56, 64, 70, 82, 87, 88, 89, 90, 91, 92, 1987 93, 101, 103, 119, 125, 126, 154, 161, 162, 241, 1988 4, 4, 175, 4, 174, 173, 4, 4, 4, 241, 1989 4, 3, 4, 176, 4, 177, 4, 121, 239, 240, 1990 239, 4, 4, 4, 4, 17, 17, 63, 157, 293, 1991 17, 63, 157, 192, 274, 4, 4, 4, 4, 183, 1992 4, 71, 220, 221, 222, 4, 4, 4, 165, 165, 1993 4, 165, 158, 165, 232, 234, 4, 236, 236, 185, 1994 186, 38, 165, 38, 184, 62, 10, 156, 172, 10, 1995 156, 241, 241, 241, 38, 38, 38, 38, 38, 242, 1996 38, 38, 237, 238, 237, 237, 237, 38, 38, 237, 1997 237, 38, 38, 38, 38, 241, 241, 16, 18, 19, 1998 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1999 30, 31, 32, 33, 34, 35, 156, 10, 156, 241, 2000 156, 156, 4, 156, 10, 156, 241, 156, 156, 4, 2001 156, 241, 10, 10, 10, 62, 294, 294, 157, 4, 2002 138, 141, 142, 143, 63, 302, 157, 4, 63, 71, 2003 79, 106, 193, 250, 4, 63, 275, 156, 158, 158, 2004 180, 223, 165, 63, 156, 218, 156, 158, 158, 158, 2005 158, 158, 158, 158, 218, 158, 218, 156, 236, 158, 2006 158, 158, 4, 5, 115, 187, 185, 158, 241, 177, 2007 290, 241, 241, 170, 241, 241, 158, 241, 241, 241, 2008 241, 241, 38, 4, 241, 38, 241, 241, 241, 241, 2009 241, 4, 241, 241, 241, 241, 241, 241, 241, 241, 2010 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2011 241, 241, 241, 241, 4, 4, 4, 241, 241, 3, 2012 4, 4, 4, 239, 239, 239, 296, 157, 157, 4, 2013 140, 157, 292, 62, 251, 165, 255, 259, 276, 4, 2014 37, 38, 227, 224, 222, 4, 165, 165, 236, 38, 2015 4, 5, 115, 156, 158, 156, 158, 63, 37, 156, 2016 158, 158, 156, 156, 158, 4, 158, 158, 4, 156, 2017 156, 158, 156, 158, 158, 17, 158, 158, 158, 294, 2018 143, 62, 140, 157, 4, 42, 43, 44, 45, 46, 2019 47, 53, 57, 59, 61, 71, 102, 104, 108, 125, 2020 147, 151, 153, 157, 159, 195, 196, 197, 198, 201, 2021 204, 205, 207, 210, 211, 212, 217, 38, 41, 241, 2022 263, 264, 261, 17, 241, 265, 264, 241, 278, 156, 2023 4, 161, 228, 229, 17, 220, 158, 188, 38, 4, 2024 5, 115, 4, 241, 241, 241, 243, 158, 241, 241, 2025 4, 241, 157, 297, 17, 295, 4, 38, 38, 38, 2026 165, 38, 208, 38, 38, 38, 4, 57, 58, 59, 2027 60, 61, 197, 199, 203, 38, 4, 57, 159, 198, 2028 207, 63, 38, 216, 75, 76, 77, 78, 79, 80, 2029 81, 158, 262, 38, 38, 263, 17, 110, 245, 192, 2030 17, 99, 266, 260, 4, 110, 279, 4, 4, 158, 2031 229, 101, 225, 37, 187, 190, 38, 158, 158, 158, 2032 158, 156, 158, 158, 158, 63, 294, 294, 61, 108, 2033 197, 197, 57, 196, 209, 213, 239, 38, 206, 4, 2034 200, 195, 202, 38, 38, 38, 38, 38, 160, 218, 2035 203, 38, 203, 38, 303, 239, 38, 10, 158, 241, 2036 17, 38, 39, 246, 37, 245, 62, 38, 280, 38, 2037 277, 158, 10, 218, 158, 187, 189, 241, 157, 297, 2038 38, 158, 158, 158, 38, 158, 211, 158, 241, 4, 2039 204, 22, 158, 158, 195, 57, 58, 197, 57, 58, 2040 197, 197, 197, 57, 60, 199, 158, 160, 203, 218, 2041 158, 81, 241, 158, 241, 38, 152, 247, 111, 248, 2042 192, 241, 279, 241, 157, 239, 103, 226, 158, 187, 2043 158, 63, 196, 37, 156, 158, 4, 195, 38, 38, 2044 158, 38, 38, 158, 158, 158, 38, 38, 158, 10, 2045 40, 263, 158, 241, 248, 38, 256, 63, 158, 158, 2046 10, 158, 158, 4, 197, 197, 197, 197, 196, 196, 2047 241, 38, 17, 158, 148, 149, 150, 249, 241, 62, 2048 279, 239, 158, 158, 158, 158, 158, 158, 158, 158, 2049 158, 241, 252, 158, 257, 216, 158, 158, 158, 158, 2050 158, 158, 158, 62, 269, 263, 211, 4, 63, 17, 2051 63, 270, 26, 267, 253, 62, 4, 110, 244, 267, 2052 211, 26, 268, 244, 63, 4, 10, 17, 214, 268, 2053 271, 213, 4, 258, 214, 268, 218, 254, 214, 218, 2054 272, 218 2055 }; 2056 2057 /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ 2058 static const yytype_int16 yyr1[] = 2059 { 2060 0, 163, 164, 164, 164, 164, 164, 164, 165, 167, 2061 166, 169, 168, 170, 170, 171, 171, 171, 171, 171, 2062 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 2063 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 2064 171, 172, 171, 171, 171, 173, 173, 173, 174, 174, 2065 175, 175, 176, 176, 176, 177, 177, 177, 179, 178, 2066 180, 180, 181, 181, 181, 181, 181, 181, 181, 181, 2067 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 2068 181, 181, 182, 181, 181, 183, 181, 181, 181, 184, 2069 181, 181, 181, 181, 181, 186, 185, 187, 187, 187, 2070 187, 187, 187, 188, 187, 189, 187, 190, 187, 191, 2071 192, 192, 192, 193, 193, 194, 193, 195, 196, 196, 2072 197, 197, 198, 198, 198, 198, 199, 199, 199, 199, 2073 199, 199, 199, 199, 199, 199, 199, 200, 200, 201, 2074 202, 202, 203, 203, 204, 204, 204, 204, 204, 204, 2075 205, 206, 205, 207, 207, 207, 207, 207, 207, 207, 2076 207, 207, 207, 208, 207, 209, 207, 210, 210, 211, 2077 211, 212, 212, 212, 212, 212, 213, 214, 214, 215, 2078 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 2079 217, 217, 217, 217, 217, 218, 218, 219, 220, 220, 2080 221, 221, 223, 222, 224, 222, 225, 226, 227, 227, 2081 228, 228, 229, 229, 230, 231, 231, 232, 232, 233, 2082 234, 234, 235, 235, 236, 236, 236, 238, 237, 240, 2083 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2084 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2085 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2086 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2087 242, 243, 241, 241, 241, 241, 241, 241, 241, 241, 2088 241, 244, 244, 245, 245, 246, 246, 247, 247, 248, 2089 248, 249, 249, 249, 249, 251, 252, 253, 254, 250, 2090 255, 256, 257, 258, 250, 259, 260, 250, 261, 250, 2091 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 2092 263, 264, 264, 264, 264, 265, 265, 266, 266, 267, 2093 267, 268, 268, 269, 270, 271, 272, 269, 273, 274, 2094 274, 276, 277, 275, 278, 279, 279, 279, 280, 280, 2095 282, 281, 283, 283, 284, 285, 287, 286, 289, 288, 2096 290, 290, 291, 291, 291, 292, 292, 293, 293, 293, 2097 293, 293, 294, 294, 294, 294, 295, 294, 296, 294, 2098 294, 294, 294, 294, 294, 294, 297, 297, 299, 298, 2099 300, 300, 300, 302, 303, 301 2100 }; 2101 2102 /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ 2103 static const yytype_int8 yyr2[] = 2104 { 2105 0, 2, 2, 2, 2, 2, 2, 2, 1, 0, 2106 2, 0, 2, 3, 0, 2, 4, 1, 1, 2, 2107 1, 4, 4, 3, 2, 4, 3, 4, 4, 4, 2108 4, 4, 2, 2, 2, 4, 4, 2, 2, 2, 2109 2, 0, 5, 2, 0, 3, 2, 0, 1, 3, 2110 1, 3, 0, 1, 3, 1, 2, 3, 0, 2, 2111 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2112 1, 1, 4, 4, 4, 4, 8, 4, 1, 1, 2113 1, 4, 0, 5, 4, 0, 5, 4, 4, 0, 2114 5, 3, 3, 6, 4, 0, 2, 1, 3, 2, 2115 1, 3, 2, 0, 5, 0, 7, 0, 6, 4, 2116 2, 2, 0, 4, 2, 0, 7, 1, 1, 5, 2117 1, 4, 1, 4, 4, 7, 1, 4, 4, 4, 2118 7, 7, 7, 7, 4, 7, 7, 1, 3, 4, 2119 2, 1, 3, 1, 1, 2, 3, 4, 4, 5, 2120 1, 0, 5, 1, 2, 1, 1, 4, 1, 4, 2121 2, 4, 1, 0, 8, 0, 5, 2, 1, 0, 2122 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 2123 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2124 3, 3, 6, 6, 6, 1, 0, 4, 1, 0, 2125 3, 1, 0, 7, 0, 5, 3, 3, 0, 3, 2126 1, 2, 1, 2, 4, 4, 3, 3, 1, 4, 2127 3, 0, 1, 1, 0, 2, 3, 0, 4, 0, 2128 2, 2, 3, 4, 2, 2, 2, 3, 3, 3, 2129 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2130 3, 3, 3, 5, 3, 3, 4, 1, 1, 2, 2131 2, 2, 2, 4, 4, 4, 6, 6, 6, 4, 2132 0, 0, 8, 4, 1, 6, 6, 6, 2, 2, 2133 4, 3, 0, 4, 0, 4, 0, 1, 0, 4, 2134 0, 1, 1, 1, 0, 0, 0, 0, 0, 19, 2135 0, 0, 0, 0, 17, 0, 0, 7, 0, 5, 2136 1, 1, 1, 1, 1, 6, 1, 3, 3, 0, 2137 2, 3, 2, 6, 10, 2, 1, 0, 1, 2, 2138 0, 0, 3, 0, 0, 0, 0, 11, 4, 0, 2139 2, 0, 0, 6, 1, 0, 3, 5, 0, 3, 2140 0, 2, 1, 2, 4, 2, 0, 2, 0, 5, 2141 1, 2, 4, 5, 6, 1, 2, 0, 2, 4, 2142 4, 8, 1, 1, 3, 3, 0, 9, 0, 7, 2143 1, 3, 1, 3, 1, 3, 0, 1, 0, 2, 2144 2, 2, 0, 0, 0, 8 2145 }; 2146 2147 2148 enum { YYENOMEM = -2 }; 2149 2150 #define yyerrok (yyerrstatus = 0) 2151 #define yyclearin (yychar = YYEMPTY) 2152 2153 #define YYACCEPT goto yyacceptlab 2154 #define YYABORT goto yyabortlab 2155 #define YYERROR goto yyerrorlab 2156 #define YYNOMEM goto yyexhaustedlab 2157 2158 2159 #define YYRECOVERING() (!!yyerrstatus) 2160 2161 #define YYBACKUP(Token, Value) \ 2162 do \ 2163 if (yychar == YYEMPTY) \ 2164 { \ 2165 yychar = (Token); \ 2166 yylval = (Value); \ 2167 YYPOPSTACK (yylen); \ 2168 yystate = *yyssp; \ 2169 goto yybackup; \ 2170 } \ 2171 else \ 2172 { \ 2173 yyerror (YY_("syntax error: cannot back up")); \ 2174 YYERROR; \ 2175 } \ 2176 while (0) 2177 2178 /* Backward compatibility with an undocumented macro. 2179 Use YYerror or YYUNDEF. */ 2180 #define YYERRCODE YYUNDEF 2181 2182 2183 /* Enable debugging if requested. */ 2184 #if YYDEBUG 2185 2186 # ifndef YYFPRINTF 2187 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 2188 # define YYFPRINTF fprintf 2189 # endif 2190 2191 # define YYDPRINTF(Args) \ 2192 do { \ 2193 if (yydebug) \ 2194 YYFPRINTF Args; \ 2195 } while (0) 2196 2197 2198 2199 2200 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ 2201 do { \ 2202 if (yydebug) \ 2203 { \ 2204 YYFPRINTF (stderr, "%s ", Title); \ 2205 yy_symbol_print (stderr, \ 2206 Kind, Value); \ 2207 YYFPRINTF (stderr, "\n"); \ 2208 } \ 2209 } while (0) 2210 2211 2212 /*-----------------------------------. 2213 | Print this symbol's value on YYO. | 2214 `-----------------------------------*/ 2215 2216 static void 2217 yy_symbol_value_print (FILE *yyo, 2218 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 2219 { 2220 FILE *yyoutput = yyo; 2221 YY_USE (yyoutput); 2222 if (!yyvaluep) 2223 return; 2224 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2225 YY_USE (yykind); 2226 YY_IGNORE_MAYBE_UNINITIALIZED_END 2227 } 2228 2229 2230 /*---------------------------. 2231 | Print this symbol on YYO. | 2232 `---------------------------*/ 2233 2234 static void 2235 yy_symbol_print (FILE *yyo, 2236 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 2237 { 2238 YYFPRINTF (yyo, "%s %s (", 2239 yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); 2240 2241 yy_symbol_value_print (yyo, yykind, yyvaluep); 2242 YYFPRINTF (yyo, ")"); 2243 } 2244 2245 /*------------------------------------------------------------------. 2246 | yy_stack_print -- Print the state stack from its BOTTOM up to its | 2247 | TOP (included). | 2248 `------------------------------------------------------------------*/ 2249 2250 static void 2251 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) 2252 { 2253 YYFPRINTF (stderr, "Stack now"); 2254 for (; yybottom <= yytop; yybottom++) 2255 { 2256 int yybot = *yybottom; 2257 YYFPRINTF (stderr, " %d", yybot); 2258 } 2259 YYFPRINTF (stderr, "\n"); 2260 } 2261 2262 # define YY_STACK_PRINT(Bottom, Top) \ 2263 do { \ 2264 if (yydebug) \ 2265 yy_stack_print ((Bottom), (Top)); \ 2266 } while (0) 2267 2268 2269 /*------------------------------------------------. 2270 | Report that the YYRULE is going to be reduced. | 2271 `------------------------------------------------*/ 2272 2273 static void 2274 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, 2275 int yyrule) 2276 { 2277 int yylno = yyrline[yyrule]; 2278 int yynrhs = yyr2[yyrule]; 2279 int yyi; 2280 YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", 2281 yyrule - 1, yylno); 2282 /* The symbols being reduced. */ 2283 for (yyi = 0; yyi < yynrhs; yyi++) 2284 { 2285 YYFPRINTF (stderr, " $%d = ", yyi + 1); 2286 yy_symbol_print (stderr, 2287 YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), 2288 &yyvsp[(yyi + 1) - (yynrhs)]); 2289 YYFPRINTF (stderr, "\n"); 2290 } 2291 } 2292 2293 # define YY_REDUCE_PRINT(Rule) \ 2294 do { \ 2295 if (yydebug) \ 2296 yy_reduce_print (yyssp, yyvsp, Rule); \ 2297 } while (0) 2298 2299 /* Nonzero means print parse trace. It is left uninitialized so that 2300 multiple parsers can coexist. */ 2301 int yydebug; 2302 #else /* !YYDEBUG */ 2303 # define YYDPRINTF(Args) ((void) 0) 2304 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) 2305 # define YY_STACK_PRINT(Bottom, Top) 2306 # define YY_REDUCE_PRINT(Rule) 2307 #endif /* !YYDEBUG */ 2308 2309 2310 /* YYINITDEPTH -- initial size of the parser's stacks. */ 2311 #ifndef YYINITDEPTH 2312 # define YYINITDEPTH 200 2313 #endif 2314 2315 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 2316 if the built-in stack extension method is used). 2317 2318 Do not make this value too large; the results are undefined if 2319 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 2320 evaluated with infinite-precision integer arithmetic. */ 2321 2322 #ifndef YYMAXDEPTH 2323 # define YYMAXDEPTH 10000 2324 #endif 2325 2326 2327 2328 2329 2330 2331 /*-----------------------------------------------. 2332 | Release the memory associated to this symbol. | 2333 `-----------------------------------------------*/ 2334 2335 static void 2336 yydestruct (const char *yymsg, 2337 yysymbol_kind_t yykind, YYSTYPE *yyvaluep) 2338 { 2339 YY_USE (yyvaluep); 2340 if (!yymsg) 2341 yymsg = "Deleting"; 2342 YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); 2343 2344 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2345 YY_USE (yykind); 2346 YY_IGNORE_MAYBE_UNINITIALIZED_END 2347 } 2348 2349 2350 /* Lookahead token kind. */ 2351 int yychar; 2352 2353 /* The semantic value of the lookahead symbol. */ 2354 YYSTYPE yylval; 2355 /* Number of syntax errors so far. */ 2356 int yynerrs; 2357 2358 2359 2360 2361 /*----------. 2362 | yyparse. | 2363 `----------*/ 2364 2365 int 2366 yyparse (void) 2367 { 2368 yy_state_fast_t yystate = 0; 2369 /* Number of tokens to shift before error messages enabled. */ 2370 int yyerrstatus = 0; 2371 2372 /* Refer to the stacks through separate pointers, to allow yyoverflow 2373 to reallocate them elsewhere. */ 2374 2375 /* Their size. */ 2376 YYPTRDIFF_T yystacksize = YYINITDEPTH; 2377 2378 /* The state stack: array, bottom, top. */ 2379 yy_state_t yyssa[YYINITDEPTH]; 2380 yy_state_t *yyss = yyssa; 2381 yy_state_t *yyssp = yyss; 2382 2383 /* The semantic value stack: array, bottom, top. */ 2384 YYSTYPE yyvsa[YYINITDEPTH]; 2385 YYSTYPE *yyvs = yyvsa; 2386 YYSTYPE *yyvsp = yyvs; 2387 2388 int yyn; 2389 /* The return value of yyparse. */ 2390 int yyresult; 2391 /* Lookahead symbol kind. */ 2392 yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; 2393 /* The variables used to return semantic value and location from the 2394 action routines. */ 2395 YYSTYPE yyval; 2396 2397 2398 2399 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 2400 2401 /* The number of symbols on the RHS of the reduced rule. 2402 Keep to zero when no symbol should be popped. */ 2403 int yylen = 0; 2404 2405 YYDPRINTF ((stderr, "Starting parse\n")); 2406 2407 yychar = YYEMPTY; /* Cause a token to be read. */ 2408 2409 goto yysetstate; 2410 2411 2412 /*------------------------------------------------------------. 2413 | yynewstate -- push a new state, which is found in yystate. | 2414 `------------------------------------------------------------*/ 2415 yynewstate: 2416 /* In all cases, when you get here, the value and location stacks 2417 have just been pushed. So pushing a state here evens the stacks. */ 2418 yyssp++; 2419 2420 2421 /*--------------------------------------------------------------------. 2422 | yysetstate -- set current state (the top of the stack) to yystate. | 2423 `--------------------------------------------------------------------*/ 2424 yysetstate: 2425 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 2426 YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 2427 YY_IGNORE_USELESS_CAST_BEGIN 2428 *yyssp = YY_CAST (yy_state_t, yystate); 2429 YY_IGNORE_USELESS_CAST_END 2430 YY_STACK_PRINT (yyss, yyssp); 2431 2432 if (yyss + yystacksize - 1 <= yyssp) 2433 #if !defined yyoverflow && !defined YYSTACK_RELOCATE 2434 YYNOMEM; 2435 #else 2436 { 2437 /* Get the current used size of the three stacks, in elements. */ 2438 YYPTRDIFF_T yysize = yyssp - yyss + 1; 2439 2440 # if defined yyoverflow 2441 { 2442 /* Give user a chance to reallocate the stack. Use copies of 2443 these so that the &'s don't force the real ones into 2444 memory. */ 2445 yy_state_t *yyss1 = yyss; 2446 YYSTYPE *yyvs1 = yyvs; 2447 2448 /* Each stack pointer address is followed by the size of the 2449 data in use in that stack, in bytes. This used to be a 2450 conditional around just the two extra args, but that might 2451 be undefined if yyoverflow is a macro. */ 2452 yyoverflow (YY_("memory exhausted"), 2453 &yyss1, yysize * YYSIZEOF (*yyssp), 2454 &yyvs1, yysize * YYSIZEOF (*yyvsp), 2455 &yystacksize); 2456 yyss = yyss1; 2457 yyvs = yyvs1; 2458 } 2459 # else /* defined YYSTACK_RELOCATE */ 2460 /* Extend the stack our own way. */ 2461 if (YYMAXDEPTH <= yystacksize) 2462 YYNOMEM; 2463 yystacksize *= 2; 2464 if (YYMAXDEPTH < yystacksize) 2465 yystacksize = YYMAXDEPTH; 2466 2467 { 2468 yy_state_t *yyss1 = yyss; 2469 union yyalloc *yyptr = 2470 YY_CAST (union yyalloc *, 2471 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); 2472 if (! yyptr) 2473 YYNOMEM; 2474 YYSTACK_RELOCATE (yyss_alloc, yyss); 2475 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 2476 # undef YYSTACK_RELOCATE 2477 if (yyss1 != yyssa) 2478 YYSTACK_FREE (yyss1); 2479 } 2480 # endif 2481 2482 yyssp = yyss + yysize - 1; 2483 yyvsp = yyvs + yysize - 1; 2484 2485 YY_IGNORE_USELESS_CAST_BEGIN 2486 YYDPRINTF ((stderr, "Stack size increased to %ld\n", 2487 YY_CAST (long, yystacksize))); 2488 YY_IGNORE_USELESS_CAST_END 2489 2490 if (yyss + yystacksize - 1 <= yyssp) 2491 YYABORT; 2492 } 2493 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 2494 2495 2496 if (yystate == YYFINAL) 2497 YYACCEPT; 2498 2499 goto yybackup; 2500 2501 2502 /*-----------. 2503 | yybackup. | 2504 `-----------*/ 2505 yybackup: 2506 /* Do appropriate processing given the current state. Read a 2507 lookahead token if we need one and don't already have one. */ 2508 2509 /* First try to decide what to do without reference to lookahead token. */ 2510 yyn = yypact[yystate]; 2511 if (yypact_value_is_default (yyn)) 2512 goto yydefault; 2513 2514 /* Not known => get a lookahead token if don't already have one. */ 2515 2516 /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ 2517 if (yychar == YYEMPTY) 2518 { 2519 YYDPRINTF ((stderr, "Reading a token\n")); 2520 yychar = yylex (); 2521 } 2522 2523 if (yychar <= YYEOF) 2524 { 2525 yychar = YYEOF; 2526 yytoken = YYSYMBOL_YYEOF; 2527 YYDPRINTF ((stderr, "Now at end of input.\n")); 2528 } 2529 else if (yychar == YYerror) 2530 { 2531 /* The scanner already issued an error message, process directly 2532 to error recovery. But do not keep the error token as 2533 lookahead, it is too special and may lead us to an endless 2534 loop in error recovery. */ 2535 yychar = YYUNDEF; 2536 yytoken = YYSYMBOL_YYerror; 2537 goto yyerrlab1; 2538 } 2539 else 2540 { 2541 yytoken = YYTRANSLATE (yychar); 2542 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 2543 } 2544 2545 /* If the proper action on seeing token YYTOKEN is to reduce or to 2546 detect an error, take that action. */ 2547 yyn += yytoken; 2548 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 2549 goto yydefault; 2550 yyn = yytable[yyn]; 2551 if (yyn <= 0) 2552 { 2553 if (yytable_value_is_error (yyn)) 2554 goto yyerrlab; 2555 yyn = -yyn; 2556 goto yyreduce; 2557 } 2558 2559 /* Count tokens shifted since error; after three, turn off error 2560 status. */ 2561 if (yyerrstatus) 2562 yyerrstatus--; 2563 2564 /* Shift the lookahead token. */ 2565 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 2566 yystate = yyn; 2567 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 2568 *++yyvsp = yylval; 2569 YY_IGNORE_MAYBE_UNINITIALIZED_END 2570 2571 /* Discard the shifted token. */ 2572 yychar = YYEMPTY; 2573 goto yynewstate; 2574 2575 2576 /*-----------------------------------------------------------. 2577 | yydefault -- do the default action for the current state. | 2578 `-----------------------------------------------------------*/ 2579 yydefault: 2580 yyn = yydefact[yystate]; 2581 if (yyn == 0) 2582 goto yyerrlab; 2583 goto yyreduce; 2584 2585 2586 /*-----------------------------. 2587 | yyreduce -- do a reduction. | 2588 `-----------------------------*/ 2589 yyreduce: 2590 /* yyn is the number of a rule to reduce with. */ 2591 yylen = yyr2[yyn]; 2592 2593 /* If YYLEN is nonzero, implement the default value of the action: 2594 '$$ = $1'. 2595 2596 Otherwise, the following line sets YYVAL to garbage. 2597 This behavior is undocumented and Bison 2598 users should not rely upon it. Assigning to YYVAL 2599 unconditionally makes the parser a bit smaller, and it avoids a 2600 GCC warning that YYVAL may be used uninitialized. */ 2601 yyval = yyvsp[1-yylen]; 2602 2603 2604 YY_REDUCE_PRINT (yyn); 2605 switch (yyn) 2606 { 2607 case 9: /* $@1: %empty */ 2608 #line 185 "ldgram.y" 2609 { ldlex_expression(); } 2610 #line 2611 "ldgram.c" 2611 break; 2612 2613 case 10: /* defsym_expr: $@1 assignment */ 2614 #line 187 "ldgram.y" 2615 { ldlex_popstate(); } 2616 #line 2617 "ldgram.c" 2617 break; 2618 2619 case 11: /* $@2: %empty */ 2620 #line 192 "ldgram.y" 2621 { 2622 ldlex_mri_script (); 2623 PUSH_ERROR (_("MRI style script")); 2624 } 2625 #line 2626 "ldgram.c" 2626 break; 2627 2628 case 12: /* mri_script_file: $@2 mri_script_lines */ 2629 #line 197 "ldgram.y" 2630 { 2631 ldlex_popstate (); 2632 mri_draw_tree (); 2633 POP_ERROR (); 2634 } 2635 #line 2636 "ldgram.c" 2636 break; 2637 2638 case 17: /* mri_script_command: NAME */ 2639 #line 212 "ldgram.y" 2640 { 2641 fatal (_("%P: unrecognised keyword in MRI style script '%s'\n"), (yyvsp[0].name)); 2642 } 2643 #line 2644 "ldgram.c" 2644 break; 2645 2646 case 18: /* mri_script_command: LIST */ 2647 #line 215 "ldgram.y" 2648 { 2649 config.map_filename = "-"; 2650 } 2651 #line 2652 "ldgram.c" 2652 break; 2653 2654 case 21: /* mri_script_command: PUBLIC NAME '=' exp */ 2655 #line 221 "ldgram.y" 2656 { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); } 2657 #line 2658 "ldgram.c" 2658 break; 2659 2660 case 22: /* mri_script_command: PUBLIC NAME ',' exp */ 2661 #line 223 "ldgram.y" 2662 { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); } 2663 #line 2664 "ldgram.c" 2664 break; 2665 2666 case 23: /* mri_script_command: PUBLIC NAME exp */ 2667 #line 225 "ldgram.y" 2668 { mri_public((yyvsp[-1].name), (yyvsp[0].etree)); } 2669 #line 2670 "ldgram.c" 2670 break; 2671 2672 case 24: /* mri_script_command: FORMAT NAME */ 2673 #line 227 "ldgram.y" 2674 { mri_format((yyvsp[0].name)); } 2675 #line 2676 "ldgram.c" 2676 break; 2677 2678 case 25: /* mri_script_command: SECT NAME ',' exp */ 2679 #line 229 "ldgram.y" 2680 { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));} 2681 #line 2682 "ldgram.c" 2682 break; 2683 2684 case 26: /* mri_script_command: SECT NAME exp */ 2685 #line 231 "ldgram.y" 2686 { mri_output_section((yyvsp[-1].name), (yyvsp[0].etree));} 2687 #line 2688 "ldgram.c" 2688 break; 2689 2690 case 27: /* mri_script_command: SECT NAME '=' exp */ 2691 #line 233 "ldgram.y" 2692 { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));} 2693 #line 2694 "ldgram.c" 2694 break; 2695 2696 case 28: /* mri_script_command: ALIGN_K NAME '=' exp */ 2697 #line 235 "ldgram.y" 2698 { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); } 2699 #line 2700 "ldgram.c" 2700 break; 2701 2702 case 29: /* mri_script_command: ALIGN_K NAME ',' exp */ 2703 #line 237 "ldgram.y" 2704 { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); } 2705 #line 2706 "ldgram.c" 2706 break; 2707 2708 case 30: /* mri_script_command: ALIGNMOD NAME '=' exp */ 2709 #line 239 "ldgram.y" 2710 { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); } 2711 #line 2712 "ldgram.c" 2712 break; 2713 2714 case 31: /* mri_script_command: ALIGNMOD NAME ',' exp */ 2715 #line 241 "ldgram.y" 2716 { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); } 2717 #line 2718 "ldgram.c" 2718 break; 2719 2720 case 34: /* mri_script_command: NAMEWORD NAME */ 2721 #line 245 "ldgram.y" 2722 { mri_name((yyvsp[0].name)); } 2723 #line 2724 "ldgram.c" 2724 break; 2725 2726 case 35: /* mri_script_command: ALIAS NAME ',' NAME */ 2727 #line 247 "ldgram.y" 2728 { mri_alias((yyvsp[-2].name),(yyvsp[0].name),0);} 2729 #line 2730 "ldgram.c" 2730 break; 2731 2732 case 36: /* mri_script_command: ALIAS NAME ',' INT */ 2733 #line 249 "ldgram.y" 2734 { mri_alias ((yyvsp[-2].name), 0, (int) (yyvsp[0].bigint).integer); } 2735 #line 2736 "ldgram.c" 2736 break; 2737 2738 case 37: /* mri_script_command: BASE exp */ 2739 #line 251 "ldgram.y" 2740 { mri_base((yyvsp[0].etree)); } 2741 #line 2742 "ldgram.c" 2742 break; 2743 2744 case 38: /* mri_script_command: TRUNCATE INT */ 2745 #line 253 "ldgram.y" 2746 { mri_truncate ((unsigned int) (yyvsp[0].bigint).integer); } 2747 #line 2748 "ldgram.c" 2748 break; 2749 2750 case 41: /* $@3: %empty */ 2751 #line 257 "ldgram.y" 2752 { ldfile_open_command_file ((yyvsp[0].name)); } 2753 #line 2754 "ldgram.c" 2754 break; 2755 2756 case 43: /* mri_script_command: START NAME */ 2757 #line 260 "ldgram.y" 2758 { lang_add_entry ((yyvsp[0].name), false); } 2759 #line 2760 "ldgram.c" 2760 break; 2761 2762 case 45: /* ordernamelist: ordernamelist ',' NAME */ 2763 #line 265 "ldgram.y" 2764 { mri_order((yyvsp[0].name)); } 2765 #line 2766 "ldgram.c" 2766 break; 2767 2768 case 46: /* ordernamelist: ordernamelist NAME */ 2769 #line 266 "ldgram.y" 2770 { mri_order((yyvsp[0].name)); } 2771 #line 2772 "ldgram.c" 2772 break; 2773 2774 case 48: /* mri_load_name_list: NAME */ 2775 #line 272 "ldgram.y" 2776 { mri_load((yyvsp[0].name)); } 2777 #line 2778 "ldgram.c" 2778 break; 2779 2780 case 49: /* mri_load_name_list: mri_load_name_list ',' NAME */ 2781 #line 273 "ldgram.y" 2782 { mri_load((yyvsp[0].name)); } 2783 #line 2784 "ldgram.c" 2784 break; 2785 2786 case 50: /* mri_abs_name_list: NAME */ 2787 #line 278 "ldgram.y" 2788 { mri_only_load((yyvsp[0].name)); } 2789 #line 2790 "ldgram.c" 2790 break; 2791 2792 case 51: /* mri_abs_name_list: mri_abs_name_list ',' NAME */ 2793 #line 280 "ldgram.y" 2794 { mri_only_load((yyvsp[0].name)); } 2795 #line 2796 "ldgram.c" 2796 break; 2797 2798 case 52: /* casesymlist: %empty */ 2799 #line 284 "ldgram.y" 2800 { (yyval.name) = NULL; } 2801 #line 2802 "ldgram.c" 2802 break; 2803 2804 case 55: /* extern_name_list: NAME */ 2805 #line 291 "ldgram.y" 2806 { ldlang_add_undef ((yyvsp[0].name), false); } 2807 #line 2808 "ldgram.c" 2808 break; 2809 2810 case 56: /* extern_name_list: extern_name_list NAME */ 2811 #line 293 "ldgram.y" 2812 { ldlang_add_undef ((yyvsp[0].name), false); } 2813 #line 2814 "ldgram.c" 2814 break; 2815 2816 case 57: /* extern_name_list: extern_name_list ',' NAME */ 2817 #line 295 "ldgram.y" 2818 { ldlang_add_undef ((yyvsp[0].name), false); } 2819 #line 2820 "ldgram.c" 2820 break; 2821 2822 case 58: /* $@4: %empty */ 2823 #line 299 "ldgram.y" 2824 { ldlex_script (); } 2825 #line 2826 "ldgram.c" 2826 break; 2827 2828 case 59: /* script_file: $@4 ifile_list */ 2829 #line 301 "ldgram.y" 2830 { ldlex_popstate (); } 2831 #line 2832 "ldgram.c" 2832 break; 2833 2834 case 72: /* ifile_p1: TARGET_K '(' NAME ')' */ 2835 #line 322 "ldgram.y" 2836 { lang_add_target((yyvsp[-1].name)); } 2837 #line 2838 "ldgram.c" 2838 break; 2839 2840 case 73: /* ifile_p1: SEARCH_DIR '(' filename ')' */ 2841 #line 324 "ldgram.y" 2842 { ldfile_add_library_path ((yyvsp[-1].name), false); } 2843 #line 2844 "ldgram.c" 2844 break; 2845 2846 case 74: /* ifile_p1: OUTPUT '(' filename ')' */ 2847 #line 326 "ldgram.y" 2848 { lang_add_output((yyvsp[-1].name), 1); } 2849 #line 2850 "ldgram.c" 2850 break; 2851 2852 case 75: /* ifile_p1: OUTPUT_FORMAT '(' NAME ')' */ 2853 #line 328 "ldgram.y" 2854 { lang_add_output_format ((yyvsp[-1].name), (char *) NULL, 2855 (char *) NULL, 1); } 2856 #line 2857 "ldgram.c" 2857 break; 2858 2859 case 76: /* ifile_p1: OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')' */ 2860 #line 331 "ldgram.y" 2861 { lang_add_output_format ((yyvsp[-5].name), (yyvsp[-3].name), (yyvsp[-1].name), 1); } 2862 #line 2863 "ldgram.c" 2863 break; 2864 2865 case 77: /* ifile_p1: OUTPUT_ARCH '(' NAME ')' */ 2866 #line 333 "ldgram.y" 2867 { ldfile_set_output_arch ((yyvsp[-1].name), bfd_arch_unknown); } 2868 #line 2869 "ldgram.c" 2869 break; 2870 2871 case 78: /* ifile_p1: FORCE_COMMON_ALLOCATION */ 2872 #line 335 "ldgram.y" 2873 { command_line.force_common_definition = true ; } 2874 #line 2875 "ldgram.c" 2875 break; 2876 2877 case 79: /* ifile_p1: FORCE_GROUP_ALLOCATION */ 2878 #line 337 "ldgram.y" 2879 { command_line.force_group_allocation = true ; } 2880 #line 2881 "ldgram.c" 2881 break; 2882 2883 case 80: /* ifile_p1: INHIBIT_COMMON_ALLOCATION */ 2884 #line 339 "ldgram.y" 2885 { link_info.inhibit_common_definition = true ; } 2886 #line 2887 "ldgram.c" 2887 break; 2888 2889 case 82: /* $@5: %empty */ 2890 #line 342 "ldgram.y" 2891 { lang_enter_group (); } 2892 #line 2893 "ldgram.c" 2893 break; 2894 2895 case 83: /* ifile_p1: GROUP $@5 '(' input_list ')' */ 2896 #line 344 "ldgram.y" 2897 { lang_leave_group (); } 2898 #line 2899 "ldgram.c" 2899 break; 2900 2901 case 84: /* ifile_p1: MAP '(' filename ')' */ 2902 #line 346 "ldgram.y" 2903 { lang_add_map((yyvsp[-1].name)); } 2904 #line 2905 "ldgram.c" 2905 break; 2906 2907 case 85: /* $@6: %empty */ 2908 #line 348 "ldgram.y" 2909 { ldfile_open_command_file ((yyvsp[0].name)); } 2910 #line 2911 "ldgram.c" 2911 break; 2912 2913 case 87: /* ifile_p1: NOCROSSREFS '(' nocrossref_list ')' */ 2914 #line 351 "ldgram.y" 2915 { 2916 lang_add_nocrossref ((yyvsp[-1].nocrossref)); 2917 } 2918 #line 2919 "ldgram.c" 2919 break; 2920 2921 case 88: /* ifile_p1: NOCROSSREFS_TO '(' nocrossref_list ')' */ 2922 #line 355 "ldgram.y" 2923 { 2924 lang_add_nocrossref_to ((yyvsp[-1].nocrossref)); 2925 } 2926 #line 2927 "ldgram.c" 2927 break; 2928 2929 case 89: /* $@7: %empty */ 2930 #line 358 "ldgram.y" 2931 { ldlex_expression (); } 2932 #line 2933 "ldgram.c" 2933 break; 2934 2935 case 90: /* ifile_p1: EXTERN '(' $@7 extern_name_list ')' */ 2936 #line 359 "ldgram.y" 2937 { ldlex_popstate (); } 2938 #line 2939 "ldgram.c" 2939 break; 2940 2941 case 91: /* ifile_p1: INSERT_K AFTER NAME */ 2942 #line 361 "ldgram.y" 2943 { lang_add_insert ((yyvsp[0].name), 0); } 2944 #line 2945 "ldgram.c" 2945 break; 2946 2947 case 92: /* ifile_p1: INSERT_K BEFORE NAME */ 2948 #line 363 "ldgram.y" 2949 { lang_add_insert ((yyvsp[0].name), 1); } 2950 #line 2951 "ldgram.c" 2951 break; 2952 2953 case 93: /* ifile_p1: REGION_ALIAS '(' NAME ',' NAME ')' */ 2954 #line 365 "ldgram.y" 2955 { lang_memory_region_alias ((yyvsp[-3].name), (yyvsp[-1].name)); } 2956 #line 2957 "ldgram.c" 2957 break; 2958 2959 case 94: /* ifile_p1: LD_FEATURE '(' NAME ')' */ 2960 #line 367 "ldgram.y" 2961 { lang_ld_feature ((yyvsp[-1].name)); } 2962 #line 2963 "ldgram.c" 2963 break; 2964 2965 case 95: /* $@8: %empty */ 2966 #line 371 "ldgram.y" 2967 { ldlex_inputlist(); } 2968 #line 2969 "ldgram.c" 2969 break; 2970 2971 case 96: /* input_list: $@8 input_list1 */ 2972 #line 373 "ldgram.y" 2973 { ldlex_popstate(); } 2974 #line 2975 "ldgram.c" 2975 break; 2976 2977 case 97: /* input_list1: NAME */ 2978 #line 377 "ldgram.y" 2979 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2980 (char *)NULL); } 2981 #line 2982 "ldgram.c" 2982 break; 2983 2984 case 98: /* input_list1: input_list1 ',' NAME */ 2985 #line 380 "ldgram.y" 2986 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2987 (char *)NULL); } 2988 #line 2989 "ldgram.c" 2989 break; 2990 2991 case 99: /* input_list1: input_list1 NAME */ 2992 #line 383 "ldgram.y" 2993 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum, 2994 (char *)NULL); } 2995 #line 2996 "ldgram.c" 2996 break; 2997 2998 case 100: /* input_list1: LNAME */ 2999 #line 386 "ldgram.y" 3000 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 3001 (char *)NULL); } 3002 #line 3003 "ldgram.c" 3003 break; 3004 3005 case 101: /* input_list1: input_list1 ',' LNAME */ 3006 #line 389 "ldgram.y" 3007 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 3008 (char *)NULL); } 3009 #line 3010 "ldgram.c" 3010 break; 3011 3012 case 102: /* input_list1: input_list1 LNAME */ 3013 #line 392 "ldgram.y" 3014 { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum, 3015 (char *)NULL); } 3016 #line 3017 "ldgram.c" 3017 break; 3018 3019 case 103: /* @9: %empty */ 3020 #line 395 "ldgram.y" 3021 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 3022 input_flags.add_DT_NEEDED_for_regular = true; } 3023 #line 3024 "ldgram.c" 3024 break; 3025 3026 case 104: /* input_list1: AS_NEEDED '(' @9 input_list1 ')' */ 3027 #line 398 "ldgram.y" 3028 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 3029 #line 3030 "ldgram.c" 3030 break; 3031 3032 case 105: /* @10: %empty */ 3033 #line 400 "ldgram.y" 3034 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 3035 input_flags.add_DT_NEEDED_for_regular = true; } 3036 #line 3037 "ldgram.c" 3037 break; 3038 3039 case 106: /* input_list1: input_list1 ',' AS_NEEDED '(' @10 input_list1 ')' */ 3040 #line 403 "ldgram.y" 3041 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 3042 #line 3043 "ldgram.c" 3043 break; 3044 3045 case 107: /* @11: %empty */ 3046 #line 405 "ldgram.y" 3047 { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular; 3048 input_flags.add_DT_NEEDED_for_regular = true; } 3049 #line 3050 "ldgram.c" 3050 break; 3051 3052 case 108: /* input_list1: input_list1 AS_NEEDED '(' @11 input_list1 ')' */ 3053 #line 408 "ldgram.y" 3054 { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); } 3055 #line 3056 "ldgram.c" 3056 break; 3057 3058 case 113: /* statement_anywhere: ENTRY '(' NAME ')' */ 3059 #line 423 "ldgram.y" 3060 { lang_add_entry ((yyvsp[-1].name), false); } 3061 #line 3062 "ldgram.c" 3062 break; 3063 3064 case 115: /* $@12: %empty */ 3065 #line 425 "ldgram.y" 3066 {ldlex_expression ();} 3067 #line 3068 "ldgram.c" 3068 break; 3069 3070 case 116: /* statement_anywhere: ASSERT_K $@12 '(' exp ',' NAME ')' */ 3071 #line 426 "ldgram.y" 3072 { ldlex_popstate (); 3073 lang_add_assignment (exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name))); } 3074 #line 3075 "ldgram.c" 3075 break; 3076 3077 case 117: /* wildcard_name: NAME */ 3078 #line 432 "ldgram.y" 3079 { 3080 (yyval.cname) = (yyvsp[0].name); 3081 } 3082 #line 3083 "ldgram.c" 3083 break; 3084 3085 case 118: /* wildcard_maybe_exclude: wildcard_name */ 3086 #line 439 "ldgram.y" 3087 { 3088 (yyval.wildcard).name = (yyvsp[0].cname); 3089 (yyval.wildcard).sorted = none; 3090 (yyval.wildcard).exclude_name_list = NULL; 3091 (yyval.wildcard).section_flag_list = NULL; 3092 (yyval.wildcard).reversed = false; 3093 } 3094 #line 3095 "ldgram.c" 3095 break; 3096 3097 case 119: /* wildcard_maybe_exclude: EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name */ 3098 #line 447 "ldgram.y" 3099 { 3100 (yyval.wildcard).name = (yyvsp[0].cname); 3101 (yyval.wildcard).sorted = none; 3102 (yyval.wildcard).exclude_name_list = (yyvsp[-2].name_list); 3103 (yyval.wildcard).section_flag_list = NULL; 3104 (yyval.wildcard).reversed = false; 3105 } 3106 #line 3107 "ldgram.c" 3107 break; 3108 3109 case 121: /* wildcard_maybe_reverse: REVERSE '(' wildcard_maybe_exclude ')' */ 3110 #line 459 "ldgram.y" 3111 { 3112 (yyval.wildcard) = (yyvsp[-1].wildcard); 3113 (yyval.wildcard).reversed = true; 3114 (yyval.wildcard).sorted = by_name; 3115 } 3116 #line 3117 "ldgram.c" 3117 break; 3118 3119 case 123: /* filename_spec: SORT_BY_NAME '(' wildcard_maybe_reverse ')' */ 3120 #line 469 "ldgram.y" 3121 { 3122 (yyval.wildcard) = (yyvsp[-1].wildcard); 3123 (yyval.wildcard).sorted = by_name; 3124 } 3125 #line 3126 "ldgram.c" 3126 break; 3127 3128 case 124: /* filename_spec: SORT_NONE '(' wildcard_maybe_reverse ')' */ 3129 #line 474 "ldgram.y" 3130 { 3131 (yyval.wildcard) = (yyvsp[-1].wildcard); 3132 (yyval.wildcard).sorted = by_none; 3133 (yyval.wildcard).reversed = false; 3134 } 3135 #line 3136 "ldgram.c" 3136 break; 3137 3138 case 125: /* filename_spec: REVERSE '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' */ 3139 #line 480 "ldgram.y" 3140 { 3141 (yyval.wildcard) = (yyvsp[-2].wildcard); 3142 (yyval.wildcard).sorted = by_name; 3143 (yyval.wildcard).reversed = true; 3144 } 3145 #line 3146 "ldgram.c" 3146 break; 3147 3148 case 127: /* section_name_spec: SORT_BY_NAME '(' wildcard_maybe_reverse ')' */ 3149 #line 490 "ldgram.y" 3150 { 3151 (yyval.wildcard) = (yyvsp[-1].wildcard); 3152 (yyval.wildcard).sorted = by_name; 3153 } 3154 #line 3155 "ldgram.c" 3155 break; 3156 3157 case 128: /* section_name_spec: SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')' */ 3158 #line 495 "ldgram.y" 3159 { 3160 (yyval.wildcard) = (yyvsp[-1].wildcard); 3161 (yyval.wildcard).sorted = by_alignment; 3162 } 3163 #line 3164 "ldgram.c" 3164 break; 3165 3166 case 129: /* section_name_spec: SORT_NONE '(' wildcard_maybe_reverse ')' */ 3167 #line 500 "ldgram.y" 3168 { 3169 (yyval.wildcard) = (yyvsp[-1].wildcard); 3170 (yyval.wildcard).sorted = by_none; 3171 } 3172 #line 3173 "ldgram.c" 3173 break; 3174 3175 case 130: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')' ')' */ 3176 #line 505 "ldgram.y" 3177 { 3178 (yyval.wildcard) = (yyvsp[-2].wildcard); 3179 (yyval.wildcard).sorted = by_name_alignment; 3180 } 3181 #line 3182 "ldgram.c" 3182 break; 3183 3184 case 131: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_maybe_reverse ')' ')' */ 3185 #line 510 "ldgram.y" 3186 { 3187 (yyval.wildcard) = (yyvsp[-2].wildcard); 3188 (yyval.wildcard).sorted = by_name; 3189 } 3190 #line 3191 "ldgram.c" 3191 break; 3192 3193 case 132: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_maybe_reverse ')' ')' */ 3194 #line 515 "ldgram.y" 3195 { 3196 (yyval.wildcard) = (yyvsp[-2].wildcard); 3197 (yyval.wildcard).sorted = by_alignment_name; 3198 } 3199 #line 3200 "ldgram.c" 3200 break; 3201 3202 case 133: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')' ')' */ 3203 #line 520 "ldgram.y" 3204 { 3205 (yyval.wildcard) = (yyvsp[-2].wildcard); 3206 (yyval.wildcard).sorted = by_alignment; 3207 } 3208 #line 3209 "ldgram.c" 3209 break; 3210 3211 case 134: /* section_name_spec: SORT_BY_INIT_PRIORITY '(' wildcard_maybe_reverse ')' */ 3212 #line 525 "ldgram.y" 3213 { 3214 (yyval.wildcard) = (yyvsp[-1].wildcard); 3215 (yyval.wildcard).sorted = by_init_priority; 3216 } 3217 #line 3218 "ldgram.c" 3218 break; 3219 3220 case 135: /* section_name_spec: REVERSE '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' */ 3221 #line 530 "ldgram.y" 3222 { 3223 (yyval.wildcard) = (yyvsp[-2].wildcard); 3224 (yyval.wildcard).sorted = by_name; 3225 (yyval.wildcard).reversed = true; 3226 } 3227 #line 3228 "ldgram.c" 3228 break; 3229 3230 case 136: /* section_name_spec: REVERSE '(' SORT_BY_INIT_PRIORITY '(' wildcard_maybe_exclude ')' ')' */ 3231 #line 536 "ldgram.y" 3232 { 3233 (yyval.wildcard) = (yyvsp[-2].wildcard); 3234 (yyval.wildcard).sorted = by_init_priority; 3235 (yyval.wildcard).reversed = true; 3236 } 3237 #line 3238 "ldgram.c" 3238 break; 3239 3240 case 137: /* sect_flag_list: NAME */ 3241 #line 544 "ldgram.y" 3242 { 3243 struct flag_info_list *n; 3244 n = stat_alloc (sizeof *n); 3245 if ((yyvsp[0].name)[0] == '!') 3246 { 3247 n->with = without_flags; 3248 n->name = &(yyvsp[0].name)[1]; 3249 } 3250 else 3251 { 3252 n->with = with_flags; 3253 n->name = (yyvsp[0].name); 3254 } 3255 n->valid = false; 3256 n->next = NULL; 3257 (yyval.flag_info_list) = n; 3258 } 3259 #line 3260 "ldgram.c" 3260 break; 3261 3262 case 138: /* sect_flag_list: sect_flag_list '&' NAME */ 3263 #line 562 "ldgram.y" 3264 { 3265 struct flag_info_list *n; 3266 n = stat_alloc (sizeof *n); 3267 if ((yyvsp[0].name)[0] == '!') 3268 { 3269 n->with = without_flags; 3270 n->name = &(yyvsp[0].name)[1]; 3271 } 3272 else 3273 { 3274 n->with = with_flags; 3275 n->name = (yyvsp[0].name); 3276 } 3277 n->valid = false; 3278 n->next = (yyvsp[-2].flag_info_list); 3279 (yyval.flag_info_list) = n; 3280 } 3281 #line 3282 "ldgram.c" 3282 break; 3283 3284 case 139: /* sect_flags: INPUT_SECTION_FLAGS '(' sect_flag_list ')' */ 3285 #line 583 "ldgram.y" 3286 { 3287 struct flag_info *n; 3288 n = stat_alloc (sizeof *n); 3289 n->flag_list = (yyvsp[-1].flag_info_list); 3290 n->flags_initialized = false; 3291 n->not_with_flags = 0; 3292 n->only_with_flags = 0; 3293 (yyval.flag_info) = n; 3294 } 3295 #line 3296 "ldgram.c" 3296 break; 3297 3298 case 140: /* exclude_name_list: exclude_name_list wildcard_name */ 3299 #line 596 "ldgram.y" 3300 { 3301 struct name_list *tmp; 3302 tmp = stat_alloc (sizeof *tmp); 3303 tmp->name = (yyvsp[0].cname); 3304 tmp->next = (yyvsp[-1].name_list); 3305 (yyval.name_list) = tmp; 3306 } 3307 #line 3308 "ldgram.c" 3308 break; 3309 3310 case 141: /* exclude_name_list: wildcard_name */ 3311 #line 605 "ldgram.y" 3312 { 3313 struct name_list *tmp; 3314 tmp = stat_alloc (sizeof *tmp); 3315 tmp->name = (yyvsp[0].cname); 3316 tmp->next = NULL; 3317 (yyval.name_list) = tmp; 3318 } 3319 #line 3320 "ldgram.c" 3320 break; 3321 3322 case 142: /* section_name_list: section_name_list opt_comma section_name_spec */ 3323 #line 616 "ldgram.y" 3324 { 3325 struct wildcard_list *tmp; 3326 tmp = stat_alloc (sizeof *tmp); 3327 tmp->next = (yyvsp[-2].wildcard_list); 3328 tmp->spec = (yyvsp[0].wildcard); 3329 (yyval.wildcard_list) = tmp; 3330 } 3331 #line 3332 "ldgram.c" 3332 break; 3333 3334 case 143: /* section_name_list: section_name_spec */ 3335 #line 625 "ldgram.y" 3336 { 3337 struct wildcard_list *tmp; 3338 tmp = stat_alloc (sizeof *tmp); 3339 tmp->next = NULL; 3340 tmp->spec = (yyvsp[0].wildcard); 3341 (yyval.wildcard_list) = tmp; 3342 } 3343 #line 3344 "ldgram.c" 3344 break; 3345 3346 case 144: /* input_section_spec_no_keep: NAME */ 3347 #line 636 "ldgram.y" 3348 { 3349 struct wildcard_spec tmp; 3350 tmp.name = (yyvsp[0].name); 3351 tmp.exclude_name_list = NULL; 3352 tmp.sorted = none; 3353 tmp.section_flag_list = NULL; 3354 lang_add_wild (&tmp, NULL, ldgram_had_keep); 3355 } 3356 #line 3357 "ldgram.c" 3357 break; 3358 3359 case 145: /* input_section_spec_no_keep: sect_flags NAME */ 3360 #line 645 "ldgram.y" 3361 { 3362 struct wildcard_spec tmp; 3363 tmp.name = (yyvsp[0].name); 3364 tmp.exclude_name_list = NULL; 3365 tmp.sorted = none; 3366 tmp.section_flag_list = (yyvsp[-1].flag_info); 3367 lang_add_wild (&tmp, NULL, ldgram_had_keep); 3368 } 3369 #line 3370 "ldgram.c" 3370 break; 3371 3372 case 146: /* input_section_spec_no_keep: '[' section_name_list ']' */ 3373 #line 654 "ldgram.y" 3374 { 3375 lang_add_wild (NULL, (yyvsp[-1].wildcard_list), ldgram_had_keep); 3376 } 3377 #line 3378 "ldgram.c" 3378 break; 3379 3380 case 147: /* input_section_spec_no_keep: sect_flags '[' section_name_list ']' */ 3381 #line 658 "ldgram.y" 3382 { 3383 struct wildcard_spec tmp; 3384 tmp.name = NULL; 3385 tmp.exclude_name_list = NULL; 3386 tmp.sorted = none; 3387 tmp.section_flag_list = (yyvsp[-3].flag_info); 3388 lang_add_wild (&tmp, (yyvsp[-1].wildcard_list), ldgram_had_keep); 3389 } 3390 #line 3391 "ldgram.c" 3391 break; 3392 3393 case 148: /* input_section_spec_no_keep: filename_spec '(' section_name_list ')' */ 3394 #line 667 "ldgram.y" 3395 { 3396 lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep); 3397 } 3398 #line 3399 "ldgram.c" 3399 break; 3400 3401 case 149: /* input_section_spec_no_keep: sect_flags filename_spec '(' section_name_list ')' */ 3402 #line 671 "ldgram.y" 3403 { 3404 (yyvsp[-3].wildcard).section_flag_list = (yyvsp[-4].flag_info); 3405 lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep); 3406 } 3407 #line 3408 "ldgram.c" 3408 break; 3409 3410 case 151: /* $@13: %empty */ 3411 #line 680 "ldgram.y" 3412 { ldgram_had_keep = true; } 3413 #line 3414 "ldgram.c" 3414 break; 3415 3416 case 152: /* input_section_spec: KEEP '(' $@13 input_section_spec_no_keep ')' */ 3417 #line 682 "ldgram.y" 3418 { ldgram_had_keep = false; } 3419 #line 3420 "ldgram.c" 3420 break; 3421 3422 case 155: /* statement: CREATE_OBJECT_SYMBOLS */ 3423 #line 689 "ldgram.y" 3424 { 3425 lang_add_attribute (lang_object_symbols_statement_enum); 3426 } 3427 #line 3428 "ldgram.c" 3428 break; 3429 3430 case 156: /* statement: CONSTRUCTORS */ 3431 #line 693 "ldgram.y" 3432 { 3433 lang_add_attribute (lang_constructors_statement_enum); 3434 } 3435 #line 3436 "ldgram.c" 3436 break; 3437 3438 case 157: /* statement: SORT_BY_NAME '(' CONSTRUCTORS ')' */ 3439 #line 697 "ldgram.y" 3440 { 3441 constructors_sorted = true; 3442 lang_add_attribute (lang_constructors_statement_enum); 3443 } 3444 #line 3445 "ldgram.c" 3445 break; 3446 3447 case 159: /* statement: length '(' mustbe_exp ')' */ 3448 #line 703 "ldgram.y" 3449 { 3450 lang_add_data ((int) (yyvsp[-3].integer), (yyvsp[-1].etree)); 3451 } 3452 #line 3453 "ldgram.c" 3453 break; 3454 3455 case 160: /* statement: ASCIZ NAME */ 3456 #line 707 "ldgram.y" 3457 { 3458 lang_add_string ((yyvsp[0].name)); 3459 } 3460 #line 3461 "ldgram.c" 3461 break; 3462 3463 case 161: /* statement: FILL '(' fill_exp ')' */ 3464 #line 711 "ldgram.y" 3465 { 3466 lang_add_fill ((yyvsp[-1].fill)); 3467 } 3468 #line 3469 "ldgram.c" 3469 break; 3470 3471 case 162: /* statement: LINKER_VERSION */ 3472 #line 715 "ldgram.y" 3473 { 3474 lang_add_version_string (); 3475 } 3476 #line 3477 "ldgram.c" 3477 break; 3478 3479 case 163: /* $@14: %empty */ 3480 #line 719 "ldgram.y" 3481 { ldlex_expression (); } 3482 #line 3483 "ldgram.c" 3483 break; 3484 3485 case 164: /* statement: ASSERT_K $@14 '(' exp ',' NAME ')' separator */ 3486 #line 721 "ldgram.y" 3487 { 3488 ldlex_popstate (); 3489 lang_add_assignment (exp_assert ((yyvsp[-4].etree), (yyvsp[-2].name))); 3490 } 3491 #line 3492 "ldgram.c" 3492 break; 3493 3494 case 165: /* $@15: %empty */ 3495 #line 726 "ldgram.y" 3496 { 3497 ldfile_open_command_file ((yyvsp[0].name)); 3498 } 3499 #line 3500 "ldgram.c" 3500 break; 3501 3502 case 171: /* length: QUAD */ 3503 #line 744 "ldgram.y" 3504 { (yyval.integer) = (yyvsp[0].token); } 3505 #line 3506 "ldgram.c" 3506 break; 3507 3508 case 172: /* length: SQUAD */ 3509 #line 746 "ldgram.y" 3510 { (yyval.integer) = (yyvsp[0].token); } 3511 #line 3512 "ldgram.c" 3512 break; 3513 3514 case 173: /* length: LONG */ 3515 #line 748 "ldgram.y" 3516 { (yyval.integer) = (yyvsp[0].token); } 3517 #line 3518 "ldgram.c" 3518 break; 3519 3520 case 174: /* length: SHORT */ 3521 #line 750 "ldgram.y" 3522 { (yyval.integer) = (yyvsp[0].token); } 3523 #line 3524 "ldgram.c" 3524 break; 3525 3526 case 175: /* length: BYTE */ 3527 #line 752 "ldgram.y" 3528 { (yyval.integer) = (yyvsp[0].token); } 3529 #line 3530 "ldgram.c" 3530 break; 3531 3532 case 176: /* fill_exp: mustbe_exp */ 3533 #line 757 "ldgram.y" 3534 { 3535 (yyval.fill) = exp_get_fill ((yyvsp[0].etree), 0, _("fill value")); 3536 } 3537 #line 3538 "ldgram.c" 3538 break; 3539 3540 case 177: /* fill_opt: '=' fill_exp */ 3541 #line 764 "ldgram.y" 3542 { (yyval.fill) = (yyvsp[0].fill); } 3543 #line 3544 "ldgram.c" 3544 break; 3545 3546 case 178: /* fill_opt: %empty */ 3547 #line 765 "ldgram.y" 3548 { (yyval.fill) = (fill_type *) 0; } 3549 #line 3550 "ldgram.c" 3550 break; 3551 3552 case 179: /* assign_op: PLUSEQ */ 3553 #line 770 "ldgram.y" 3554 { (yyval.token) = '+'; } 3555 #line 3556 "ldgram.c" 3556 break; 3557 3558 case 180: /* assign_op: MINUSEQ */ 3559 #line 772 "ldgram.y" 3560 { (yyval.token) = '-'; } 3561 #line 3562 "ldgram.c" 3562 break; 3563 3564 case 181: /* assign_op: MULTEQ */ 3565 #line 774 "ldgram.y" 3566 { (yyval.token) = '*'; } 3567 #line 3568 "ldgram.c" 3568 break; 3569 3570 case 182: /* assign_op: DIVEQ */ 3571 #line 776 "ldgram.y" 3572 { (yyval.token) = '/'; } 3573 #line 3574 "ldgram.c" 3574 break; 3575 3576 case 183: /* assign_op: LSHIFTEQ */ 3577 #line 778 "ldgram.y" 3578 { (yyval.token) = LSHIFT; } 3579 #line 3580 "ldgram.c" 3580 break; 3581 3582 case 184: /* assign_op: RSHIFTEQ */ 3583 #line 780 "ldgram.y" 3584 { (yyval.token) = RSHIFT; } 3585 #line 3586 "ldgram.c" 3586 break; 3587 3588 case 185: /* assign_op: ANDEQ */ 3589 #line 782 "ldgram.y" 3590 { (yyval.token) = '&'; } 3591 #line 3592 "ldgram.c" 3592 break; 3593 3594 case 186: /* assign_op: OREQ */ 3595 #line 784 "ldgram.y" 3596 { (yyval.token) = '|'; } 3597 #line 3598 "ldgram.c" 3598 break; 3599 3600 case 187: /* assign_op: XOREQ */ 3601 #line 786 "ldgram.y" 3602 { (yyval.token) = '^'; } 3603 #line 3604 "ldgram.c" 3604 break; 3605 3606 case 190: /* assignment: NAME '=' mustbe_exp */ 3607 #line 796 "ldgram.y" 3608 { 3609 lang_add_assignment (exp_assign ((yyvsp[-2].name), (yyvsp[0].etree), false)); 3610 } 3611 #line 3612 "ldgram.c" 3612 break; 3613 3614 case 191: /* assignment: NAME assign_op mustbe_exp */ 3615 #line 800 "ldgram.y" 3616 { 3617 lang_add_assignment (exp_assign ((yyvsp[-2].name), 3618 exp_binop ((yyvsp[-1].token), 3619 exp_nameop (NAME, 3620 (yyvsp[-2].name)), 3621 (yyvsp[0].etree)), false)); 3622 } 3623 #line 3624 "ldgram.c" 3624 break; 3625 3626 case 192: /* assignment: HIDDEN '(' NAME '=' mustbe_exp ')' */ 3627 #line 808 "ldgram.y" 3628 { 3629 lang_add_assignment (exp_assign ((yyvsp[-3].name), (yyvsp[-1].etree), true)); 3630 } 3631 #line 3632 "ldgram.c" 3632 break; 3633 3634 case 193: /* assignment: PROVIDE '(' NAME '=' mustbe_exp ')' */ 3635 #line 812 "ldgram.y" 3636 { 3637 lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), false)); 3638 } 3639 #line 3640 "ldgram.c" 3640 break; 3641 3642 case 194: /* assignment: PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')' */ 3643 #line 816 "ldgram.y" 3644 { 3645 lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), true)); 3646 } 3647 #line 3648 "ldgram.c" 3648 break; 3649 3650 case 202: /* $@16: %empty */ 3651 #line 839 "ldgram.y" 3652 { region = lang_memory_region_lookup ((yyvsp[0].name), true); } 3653 #line 3654 "ldgram.c" 3654 break; 3655 3656 case 203: /* memory_spec: NAME $@16 attributes_opt ':' origin_spec opt_comma length_spec */ 3657 #line 842 "ldgram.y" 3658 {} 3659 #line 3660 "ldgram.c" 3660 break; 3661 3662 case 204: /* $@17: %empty */ 3663 #line 844 "ldgram.y" 3664 { ldfile_open_command_file ((yyvsp[0].name)); } 3665 #line 3666 "ldgram.c" 3666 break; 3667 3668 case 206: /* origin_spec: ORIGIN '=' mustbe_exp */ 3669 #line 850 "ldgram.y" 3670 { 3671 region->origin_exp = (yyvsp[0].etree); 3672 } 3673 #line 3674 "ldgram.c" 3674 break; 3675 3676 case 207: /* length_spec: LENGTH '=' mustbe_exp */ 3677 #line 857 "ldgram.y" 3678 { 3679 if (yychar == NAME) 3680 { 3681 yyclearin; 3682 ldlex_backup (); 3683 } 3684 region->length_exp = (yyvsp[0].etree); 3685 } 3686 #line 3687 "ldgram.c" 3687 break; 3688 3689 case 208: /* attributes_opt: %empty */ 3690 #line 869 "ldgram.y" 3691 { /* dummy action to avoid bison 1.25 error message */ } 3692 #line 3693 "ldgram.c" 3693 break; 3694 3695 case 212: /* attributes_string: NAME */ 3696 #line 880 "ldgram.y" 3697 { lang_set_flags (region, (yyvsp[0].name), 0); } 3698 #line 3699 "ldgram.c" 3699 break; 3700 3701 case 213: /* attributes_string: '!' NAME */ 3702 #line 882 "ldgram.y" 3703 { lang_set_flags (region, (yyvsp[0].name), 1); } 3704 #line 3705 "ldgram.c" 3705 break; 3706 3707 case 214: /* startup: STARTUP '(' filename ')' */ 3708 #line 887 "ldgram.y" 3709 { lang_startup((yyvsp[-1].name)); } 3710 #line 3711 "ldgram.c" 3711 break; 3712 3713 case 216: /* high_level_library: HLL '(' ')' */ 3714 #line 893 "ldgram.y" 3715 { ldemul_hll((char *)NULL); } 3716 #line 3717 "ldgram.c" 3717 break; 3718 3719 case 217: /* high_level_library_NAME_list: high_level_library_NAME_list opt_comma filename */ 3720 #line 898 "ldgram.y" 3721 { ldemul_hll((yyvsp[0].name)); } 3722 #line 3723 "ldgram.c" 3723 break; 3724 3725 case 218: /* high_level_library_NAME_list: filename */ 3726 #line 900 "ldgram.y" 3727 { ldemul_hll((yyvsp[0].name)); } 3728 #line 3729 "ldgram.c" 3729 break; 3730 3731 case 220: /* low_level_library_NAME_list: low_level_library_NAME_list opt_comma filename */ 3732 #line 909 "ldgram.y" 3733 { ldemul_syslib((yyvsp[0].name)); } 3734 #line 3735 "ldgram.c" 3735 break; 3736 3737 case 222: /* floating_point_support: FLOAT */ 3738 #line 915 "ldgram.y" 3739 { lang_float(true); } 3740 #line 3741 "ldgram.c" 3741 break; 3742 3743 case 223: /* floating_point_support: NOFLOAT */ 3744 #line 917 "ldgram.y" 3745 { lang_float(false); } 3746 #line 3747 "ldgram.c" 3747 break; 3748 3749 case 224: /* nocrossref_list: %empty */ 3750 #line 922 "ldgram.y" 3751 { 3752 (yyval.nocrossref) = NULL; 3753 } 3754 #line 3755 "ldgram.c" 3755 break; 3756 3757 case 225: /* nocrossref_list: NAME nocrossref_list */ 3758 #line 926 "ldgram.y" 3759 { 3760 struct lang_nocrossref *n; 3761 3762 n = stat_alloc (sizeof *n); 3763 n->name = (yyvsp[-1].name); 3764 n->next = (yyvsp[0].nocrossref); 3765 (yyval.nocrossref) = n; 3766 } 3767 #line 3768 "ldgram.c" 3768 break; 3769 3770 case 226: /* nocrossref_list: NAME ',' nocrossref_list */ 3771 #line 935 "ldgram.y" 3772 { 3773 struct lang_nocrossref *n; 3774 3775 n = stat_alloc (sizeof *n); 3776 n->name = (yyvsp[-2].name); 3777 n->next = (yyvsp[0].nocrossref); 3778 (yyval.nocrossref) = n; 3779 } 3780 #line 3781 "ldgram.c" 3781 break; 3782 3783 case 227: /* $@18: %empty */ 3784 #line 945 "ldgram.y" 3785 { ldlex_script (); } 3786 #line 3787 "ldgram.c" 3787 break; 3788 3789 case 228: /* paren_script_name: $@18 '(' NAME ')' */ 3790 #line 947 "ldgram.y" 3791 { ldlex_popstate (); (yyval.name) = (yyvsp[-1].name); } 3792 #line 3793 "ldgram.c" 3793 break; 3794 3795 case 229: /* $@19: %empty */ 3796 #line 949 "ldgram.y" 3797 { ldlex_expression (); } 3798 #line 3799 "ldgram.c" 3799 break; 3800 3801 case 230: /* mustbe_exp: $@19 exp */ 3802 #line 951 "ldgram.y" 3803 { ldlex_popstate (); (yyval.etree) = (yyvsp[0].etree); } 3804 #line 3805 "ldgram.c" 3805 break; 3806 3807 case 231: /* exp: '-' exp */ 3808 #line 956 "ldgram.y" 3809 { (yyval.etree) = exp_unop ('-', (yyvsp[0].etree)); } 3810 #line 3811 "ldgram.c" 3811 break; 3812 3813 case 232: /* exp: '(' exp ')' */ 3814 #line 958 "ldgram.y" 3815 { (yyval.etree) = (yyvsp[-1].etree); } 3816 #line 3817 "ldgram.c" 3817 break; 3818 3819 case 233: /* exp: NEXT '(' exp ')' */ 3820 #line 960 "ldgram.y" 3821 { (yyval.etree) = exp_unop ((int) (yyvsp[-3].integer),(yyvsp[-1].etree)); } 3822 #line 3823 "ldgram.c" 3823 break; 3824 3825 case 234: /* exp: '!' exp */ 3826 #line 962 "ldgram.y" 3827 { (yyval.etree) = exp_unop ('!', (yyvsp[0].etree)); } 3828 #line 3829 "ldgram.c" 3829 break; 3830 3831 case 235: /* exp: '+' exp */ 3832 #line 964 "ldgram.y" 3833 { (yyval.etree) = (yyvsp[0].etree); } 3834 #line 3835 "ldgram.c" 3835 break; 3836 3837 case 236: /* exp: '~' exp */ 3838 #line 966 "ldgram.y" 3839 { (yyval.etree) = exp_unop ('~', (yyvsp[0].etree));} 3840 #line 3841 "ldgram.c" 3841 break; 3842 3843 case 237: /* exp: exp '*' exp */ 3844 #line 969 "ldgram.y" 3845 { (yyval.etree) = exp_binop ('*', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3846 #line 3847 "ldgram.c" 3847 break; 3848 3849 case 238: /* exp: exp '/' exp */ 3850 #line 971 "ldgram.y" 3851 { (yyval.etree) = exp_binop ('/', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3852 #line 3853 "ldgram.c" 3853 break; 3854 3855 case 239: /* exp: exp '%' exp */ 3856 #line 973 "ldgram.y" 3857 { (yyval.etree) = exp_binop ('%', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3858 #line 3859 "ldgram.c" 3859 break; 3860 3861 case 240: /* exp: exp '+' exp */ 3862 #line 975 "ldgram.y" 3863 { (yyval.etree) = exp_binop ('+', (yyvsp[-2].etree), (yyvsp[0].etree)); } 3864 #line 3865 "ldgram.c" 3865 break; 3866 3867 case 241: /* exp: exp '-' exp */ 3868 #line 977 "ldgram.y" 3869 { (yyval.etree) = exp_binop ('-' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3870 #line 3871 "ldgram.c" 3871 break; 3872 3873 case 242: /* exp: exp LSHIFT exp */ 3874 #line 979 "ldgram.y" 3875 { (yyval.etree) = exp_binop (LSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3876 #line 3877 "ldgram.c" 3877 break; 3878 3879 case 243: /* exp: exp RSHIFT exp */ 3880 #line 981 "ldgram.y" 3881 { (yyval.etree) = exp_binop (RSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3882 #line 3883 "ldgram.c" 3883 break; 3884 3885 case 244: /* exp: exp EQ exp */ 3886 #line 983 "ldgram.y" 3887 { (yyval.etree) = exp_binop (EQ , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3888 #line 3889 "ldgram.c" 3889 break; 3890 3891 case 245: /* exp: exp NE exp */ 3892 #line 985 "ldgram.y" 3893 { (yyval.etree) = exp_binop (NE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3894 #line 3895 "ldgram.c" 3895 break; 3896 3897 case 246: /* exp: exp LE exp */ 3898 #line 987 "ldgram.y" 3899 { (yyval.etree) = exp_binop (LE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3900 #line 3901 "ldgram.c" 3901 break; 3902 3903 case 247: /* exp: exp GE exp */ 3904 #line 989 "ldgram.y" 3905 { (yyval.etree) = exp_binop (GE , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3906 #line 3907 "ldgram.c" 3907 break; 3908 3909 case 248: /* exp: exp '<' exp */ 3910 #line 991 "ldgram.y" 3911 { (yyval.etree) = exp_binop ('<' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3912 #line 3913 "ldgram.c" 3913 break; 3914 3915 case 249: /* exp: exp '>' exp */ 3916 #line 993 "ldgram.y" 3917 { (yyval.etree) = exp_binop ('>' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3918 #line 3919 "ldgram.c" 3919 break; 3920 3921 case 250: /* exp: exp '&' exp */ 3922 #line 995 "ldgram.y" 3923 { (yyval.etree) = exp_binop ('&' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3924 #line 3925 "ldgram.c" 3925 break; 3926 3927 case 251: /* exp: exp '^' exp */ 3928 #line 997 "ldgram.y" 3929 { (yyval.etree) = exp_binop ('^' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3930 #line 3931 "ldgram.c" 3931 break; 3932 3933 case 252: /* exp: exp '|' exp */ 3934 #line 999 "ldgram.y" 3935 { (yyval.etree) = exp_binop ('|' , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3936 #line 3937 "ldgram.c" 3937 break; 3938 3939 case 253: /* exp: exp '?' exp ':' exp */ 3940 #line 1001 "ldgram.y" 3941 { (yyval.etree) = exp_trinop ('?' , (yyvsp[-4].etree), (yyvsp[-2].etree), (yyvsp[0].etree)); } 3942 #line 3943 "ldgram.c" 3943 break; 3944 3945 case 254: /* exp: exp ANDAND exp */ 3946 #line 1003 "ldgram.y" 3947 { (yyval.etree) = exp_binop (ANDAND , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3948 #line 3949 "ldgram.c" 3949 break; 3950 3951 case 255: /* exp: exp OROR exp */ 3952 #line 1005 "ldgram.y" 3953 { (yyval.etree) = exp_binop (OROR , (yyvsp[-2].etree), (yyvsp[0].etree)); } 3954 #line 3955 "ldgram.c" 3955 break; 3956 3957 case 256: /* exp: DEFINED '(' NAME ')' */ 3958 #line 1007 "ldgram.y" 3959 { (yyval.etree) = exp_nameop (DEFINED, (yyvsp[-1].name)); } 3960 #line 3961 "ldgram.c" 3961 break; 3962 3963 case 257: /* exp: INT */ 3964 #line 1009 "ldgram.y" 3965 { (yyval.etree) = exp_bigintop ((yyvsp[0].bigint).integer, (yyvsp[0].bigint).str); } 3966 #line 3967 "ldgram.c" 3967 break; 3968 3969 case 258: /* exp: SIZEOF_HEADERS */ 3970 #line 1011 "ldgram.y" 3971 { (yyval.etree) = exp_nameop (SIZEOF_HEADERS,0); } 3972 #line 3973 "ldgram.c" 3973 break; 3974 3975 case 259: /* exp: ALIGNOF paren_script_name */ 3976 #line 1014 "ldgram.y" 3977 { (yyval.etree) = exp_nameop (ALIGNOF, (yyvsp[0].name)); } 3978 #line 3979 "ldgram.c" 3979 break; 3980 3981 case 260: /* exp: SIZEOF paren_script_name */ 3982 #line 1016 "ldgram.y" 3983 { (yyval.etree) = exp_nameop (SIZEOF, (yyvsp[0].name)); } 3984 #line 3985 "ldgram.c" 3985 break; 3986 3987 case 261: /* exp: ADDR paren_script_name */ 3988 #line 1018 "ldgram.y" 3989 { (yyval.etree) = exp_nameop (ADDR, (yyvsp[0].name)); } 3990 #line 3991 "ldgram.c" 3991 break; 3992 3993 case 262: /* exp: LOADADDR paren_script_name */ 3994 #line 1020 "ldgram.y" 3995 { (yyval.etree) = exp_nameop (LOADADDR, (yyvsp[0].name)); } 3996 #line 3997 "ldgram.c" 3997 break; 3998 3999 case 263: /* exp: CONSTANT '(' NAME ')' */ 4000 #line 1022 "ldgram.y" 4001 { (yyval.etree) = exp_nameop (CONSTANT,(yyvsp[-1].name)); } 4002 #line 4003 "ldgram.c" 4003 break; 4004 4005 case 264: /* exp: ABSOLUTE '(' exp ')' */ 4006 #line 1024 "ldgram.y" 4007 { (yyval.etree) = exp_unop (ABSOLUTE, (yyvsp[-1].etree)); } 4008 #line 4009 "ldgram.c" 4009 break; 4010 4011 case 265: /* exp: ALIGN_K '(' exp ')' */ 4012 #line 1026 "ldgram.y" 4013 { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); } 4014 #line 4015 "ldgram.c" 4015 break; 4016 4017 case 266: /* exp: ALIGN_K '(' exp ',' exp ')' */ 4018 #line 1028 "ldgram.y" 4019 { (yyval.etree) = exp_binop (ALIGN_K,(yyvsp[-3].etree),(yyvsp[-1].etree)); } 4020 #line 4021 "ldgram.c" 4021 break; 4022 4023 case 267: /* exp: DATA_SEGMENT_ALIGN '(' exp ',' exp ')' */ 4024 #line 1030 "ldgram.y" 4025 { (yyval.etree) = exp_binop (DATA_SEGMENT_ALIGN, (yyvsp[-3].etree), (yyvsp[-1].etree)); } 4026 #line 4027 "ldgram.c" 4027 break; 4028 4029 case 268: /* exp: DATA_SEGMENT_RELRO_END '(' exp ',' exp ')' */ 4030 #line 1032 "ldgram.y" 4031 { (yyval.etree) = exp_binop (DATA_SEGMENT_RELRO_END, (yyvsp[-1].etree), (yyvsp[-3].etree)); } 4032 #line 4033 "ldgram.c" 4033 break; 4034 4035 case 269: /* exp: DATA_SEGMENT_END '(' exp ')' */ 4036 #line 1034 "ldgram.y" 4037 { (yyval.etree) = exp_unop (DATA_SEGMENT_END, (yyvsp[-1].etree)); } 4038 #line 4039 "ldgram.c" 4039 break; 4040 4041 case 270: /* $@20: %empty */ 4042 #line 1035 "ldgram.y" 4043 { ldlex_script (); } 4044 #line 4045 "ldgram.c" 4045 break; 4046 4047 case 271: /* $@21: %empty */ 4048 #line 1036 "ldgram.y" 4049 { ldlex_popstate (); } 4050 #line 4051 "ldgram.c" 4051 break; 4052 4053 case 272: /* exp: SEGMENT_START $@20 '(' NAME $@21 ',' exp ')' */ 4054 #line 1037 "ldgram.y" 4055 { /* The operands to the expression node are 4056 placed in the opposite order from the way 4057 in which they appear in the script as 4058 that allows us to reuse more code in 4059 fold_binary. */ 4060 (yyval.etree) = exp_binop (SEGMENT_START, 4061 (yyvsp[-1].etree), 4062 exp_nameop (NAME, (yyvsp[-4].name))); } 4063 #line 4064 "ldgram.c" 4064 break; 4065 4066 case 273: /* exp: BLOCK '(' exp ')' */ 4067 #line 1046 "ldgram.y" 4068 { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); } 4069 #line 4070 "ldgram.c" 4070 break; 4071 4072 case 274: /* exp: NAME */ 4073 #line 1048 "ldgram.y" 4074 { (yyval.etree) = exp_nameop (NAME,(yyvsp[0].name)); } 4075 #line 4076 "ldgram.c" 4076 break; 4077 4078 case 275: /* exp: MAX_K '(' exp ',' exp ')' */ 4079 #line 1050 "ldgram.y" 4080 { (yyval.etree) = exp_binop (MAX_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); } 4081 #line 4082 "ldgram.c" 4082 break; 4083 4084 case 276: /* exp: MIN_K '(' exp ',' exp ')' */ 4085 #line 1052 "ldgram.y" 4086 { (yyval.etree) = exp_binop (MIN_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); } 4087 #line 4088 "ldgram.c" 4088 break; 4089 4090 case 277: /* exp: ASSERT_K '(' exp ',' NAME ')' */ 4091 #line 1054 "ldgram.y" 4092 { (yyval.etree) = exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name)); } 4093 #line 4094 "ldgram.c" 4094 break; 4095 4096 case 278: /* exp: ORIGIN paren_script_name */ 4097 #line 1056 "ldgram.y" 4098 { (yyval.etree) = exp_nameop (ORIGIN, (yyvsp[0].name)); } 4099 #line 4100 "ldgram.c" 4100 break; 4101 4102 case 279: /* exp: LENGTH paren_script_name */ 4103 #line 1058 "ldgram.y" 4104 { (yyval.etree) = exp_nameop (LENGTH, (yyvsp[0].name)); } 4105 #line 4106 "ldgram.c" 4106 break; 4107 4108 case 280: /* exp: LOG2CEIL '(' exp ')' */ 4109 #line 1060 "ldgram.y" 4110 { (yyval.etree) = exp_unop (LOG2CEIL, (yyvsp[-1].etree)); } 4111 #line 4112 "ldgram.c" 4112 break; 4113 4114 case 281: /* memspec_at_opt: AT '>' NAME */ 4115 #line 1065 "ldgram.y" 4116 { (yyval.name) = (yyvsp[0].name); } 4117 #line 4118 "ldgram.c" 4118 break; 4119 4120 case 282: /* memspec_at_opt: %empty */ 4121 #line 1066 "ldgram.y" 4122 { (yyval.name) = 0; } 4123 #line 4124 "ldgram.c" 4124 break; 4125 4126 case 283: /* opt_at: AT '(' exp ')' */ 4127 #line 1070 "ldgram.y" 4128 { (yyval.etree) = (yyvsp[-1].etree); } 4129 #line 4130 "ldgram.c" 4130 break; 4131 4132 case 284: /* opt_at: %empty */ 4133 #line 1071 "ldgram.y" 4134 { (yyval.etree) = 0; } 4135 #line 4136 "ldgram.c" 4136 break; 4137 4138 case 285: /* opt_align: ALIGN_K '(' exp ')' */ 4139 #line 1075 "ldgram.y" 4140 { (yyval.etree) = (yyvsp[-1].etree); } 4141 #line 4142 "ldgram.c" 4142 break; 4143 4144 case 286: /* opt_align: %empty */ 4145 #line 1076 "ldgram.y" 4146 { (yyval.etree) = 0; } 4147 #line 4148 "ldgram.c" 4148 break; 4149 4150 case 287: /* opt_align_with_input: ALIGN_WITH_INPUT */ 4151 #line 1080 "ldgram.y" 4152 { (yyval.token) = ALIGN_WITH_INPUT; } 4153 #line 4154 "ldgram.c" 4154 break; 4155 4156 case 288: /* opt_align_with_input: %empty */ 4157 #line 1081 "ldgram.y" 4158 { (yyval.token) = 0; } 4159 #line 4160 "ldgram.c" 4160 break; 4161 4162 case 289: /* opt_subalign: SUBALIGN '(' exp ')' */ 4163 #line 1085 "ldgram.y" 4164 { (yyval.etree) = (yyvsp[-1].etree); } 4165 #line 4166 "ldgram.c" 4166 break; 4167 4168 case 290: /* opt_subalign: %empty */ 4169 #line 1086 "ldgram.y" 4170 { (yyval.etree) = 0; } 4171 #line 4172 "ldgram.c" 4172 break; 4173 4174 case 291: /* sect_constraint: ONLY_IF_RO */ 4175 #line 1090 "ldgram.y" 4176 { (yyval.token) = ONLY_IF_RO; } 4177 #line 4178 "ldgram.c" 4178 break; 4179 4180 case 292: /* sect_constraint: ONLY_IF_RW */ 4181 #line 1091 "ldgram.y" 4182 { (yyval.token) = ONLY_IF_RW; } 4183 #line 4184 "ldgram.c" 4184 break; 4185 4186 case 293: /* sect_constraint: SPECIAL */ 4187 #line 1092 "ldgram.y" 4188 { (yyval.token) = SPECIAL; } 4189 #line 4190 "ldgram.c" 4190 break; 4191 4192 case 294: /* sect_constraint: %empty */ 4193 #line 1093 "ldgram.y" 4194 { (yyval.token) = 0; } 4195 #line 4196 "ldgram.c" 4196 break; 4197 4198 case 295: /* $@22: %empty */ 4199 #line 1097 "ldgram.y" 4200 { ldlex_expression(); } 4201 #line 4202 "ldgram.c" 4202 break; 4203 4204 case 296: /* $@23: %empty */ 4205 #line 1104 "ldgram.y" 4206 { 4207 ldlex_popstate (); 4208 ldlex_wild (); 4209 lang_enter_output_section_statement ((yyvsp[-7].name), (yyvsp[-5].etree), sectype, 4210 sectype_value, (yyvsp[-3].etree), (yyvsp[-1].etree), (yyvsp[-4].etree), (yyvsp[0].token), (yyvsp[-2].token)); 4211 } 4212 #line 4213 "ldgram.c" 4213 break; 4214 4215 case 297: /* $@24: %empty */ 4216 #line 1113 "ldgram.y" 4217 { ldlex_popstate (); } 4218 #line 4219 "ldgram.c" 4219 break; 4220 4221 case 298: /* $@25: %empty */ 4222 #line 1115 "ldgram.y" 4223 { 4224 /* fill_opt may have switched the lexer into 4225 expression state, and back again, but in 4226 order to find the end of the fill 4227 expression the parser must look ahead one 4228 token. If it is a NAME, throw it away as 4229 it will have been lexed in the wrong 4230 state. */ 4231 if (yychar == NAME) 4232 { 4233 yyclearin; 4234 ldlex_backup (); 4235 } 4236 lang_leave_output_section_statement ((yyvsp[0].fill), (yyvsp[-3].name), 4237 (yyvsp[-1].section_phdr), (yyvsp[-2].name)); 4238 } 4239 #line 4240 "ldgram.c" 4240 break; 4241 4242 case 300: /* $@26: %empty */ 4243 #line 1133 "ldgram.y" 4244 { ldlex_expression (); } 4245 #line 4246 "ldgram.c" 4246 break; 4247 4248 case 301: /* $@27: %empty */ 4249 #line 1135 "ldgram.y" 4250 { ldlex_popstate (); } 4251 #line 4252 "ldgram.c" 4252 break; 4253 4254 case 302: /* $@28: %empty */ 4255 #line 1137 "ldgram.y" 4256 { 4257 lang_enter_overlay ((yyvsp[-5].etree), (yyvsp[-2].etree)); 4258 } 4259 #line 4260 "ldgram.c" 4260 break; 4261 4262 case 303: /* $@29: %empty */ 4263 #line 1143 "ldgram.y" 4264 { 4265 if (yychar == NAME) 4266 { 4267 yyclearin; 4268 ldlex_backup (); 4269 } 4270 lang_leave_overlay ((yyvsp[-10].etree), (int) (yyvsp[-11].integer), 4271 (yyvsp[0].fill), (yyvsp[-3].name), (yyvsp[-1].section_phdr), (yyvsp[-2].name)); 4272 } 4273 #line 4274 "ldgram.c" 4274 break; 4275 4276 case 305: /* $@30: %empty */ 4277 #line 1158 "ldgram.y" 4278 { ldlex_expression (); } 4279 #line 4280 "ldgram.c" 4280 break; 4281 4282 case 306: /* $@31: %empty */ 4283 #line 1160 "ldgram.y" 4284 { 4285 ldlex_popstate (); 4286 lang_add_assignment (exp_assign (".", (yyvsp[0].etree), false)); 4287 } 4288 #line 4289 "ldgram.c" 4289 break; 4290 4291 case 308: /* $@32: %empty */ 4292 #line 1166 "ldgram.y" 4293 { 4294 ldfile_open_command_file ((yyvsp[0].name)); 4295 } 4296 #line 4297 "ldgram.c" 4297 break; 4298 4299 case 310: /* type: NOLOAD */ 4300 #line 1173 "ldgram.y" 4301 { sectype = noload_section; } 4302 #line 4303 "ldgram.c" 4303 break; 4304 4305 case 311: /* type: DSECT */ 4306 #line 1174 "ldgram.y" 4307 { sectype = noalloc_section; } 4308 #line 4309 "ldgram.c" 4309 break; 4310 4311 case 312: /* type: COPY */ 4312 #line 1175 "ldgram.y" 4313 { sectype = noalloc_section; } 4314 #line 4315 "ldgram.c" 4315 break; 4316 4317 case 313: /* type: INFO */ 4318 #line 1176 "ldgram.y" 4319 { sectype = noalloc_section; } 4320 #line 4321 "ldgram.c" 4321 break; 4322 4323 case 314: /* type: OVERLAY */ 4324 #line 1177 "ldgram.y" 4325 { sectype = noalloc_section; } 4326 #line 4327 "ldgram.c" 4327 break; 4328 4329 case 315: /* type: READONLY '(' TYPE '=' exp ')' */ 4330 #line 1178 "ldgram.y" 4331 { sectype = typed_readonly_section; sectype_value = (yyvsp[-1].etree); } 4332 #line 4333 "ldgram.c" 4333 break; 4334 4335 case 316: /* type: READONLY */ 4336 #line 1179 "ldgram.y" 4337 { sectype = readonly_section; } 4338 #line 4339 "ldgram.c" 4339 break; 4340 4341 case 317: /* type: TYPE '=' exp */ 4342 #line 1180 "ldgram.y" 4343 { sectype = type_section; sectype_value = (yyvsp[0].etree); } 4344 #line 4345 "ldgram.c" 4345 break; 4346 4347 case 319: /* atype: %empty */ 4348 #line 1185 "ldgram.y" 4349 { sectype = normal_section; } 4350 #line 4351 "ldgram.c" 4351 break; 4352 4353 case 320: /* atype: '(' ')' */ 4354 #line 1186 "ldgram.y" 4355 { sectype = normal_section; } 4356 #line 4357 "ldgram.c" 4357 break; 4358 4359 case 321: /* opt_exp_with_type: exp atype ':' */ 4360 #line 1190 "ldgram.y" 4361 { (yyval.etree) = (yyvsp[-2].etree); } 4362 #line 4363 "ldgram.c" 4363 break; 4364 4365 case 322: /* opt_exp_with_type: atype ':' */ 4366 #line 1191 "ldgram.y" 4367 { (yyval.etree) = (etree_type *)NULL; } 4368 #line 4369 "ldgram.c" 4369 break; 4370 4371 case 323: /* opt_exp_with_type: BIND '(' exp ')' atype ':' */ 4372 #line 1196 "ldgram.y" 4373 { (yyval.etree) = (yyvsp[-3].etree); } 4374 #line 4375 "ldgram.c" 4375 break; 4376 4377 case 324: /* opt_exp_with_type: BIND '(' exp ')' BLOCK '(' exp ')' atype ':' */ 4378 #line 1198 "ldgram.y" 4379 { (yyval.etree) = (yyvsp[-7].etree); } 4380 #line 4381 "ldgram.c" 4381 break; 4382 4383 case 325: /* opt_exp_without_type: exp ':' */ 4384 #line 1202 "ldgram.y" 4385 { (yyval.etree) = (yyvsp[-1].etree); } 4386 #line 4387 "ldgram.c" 4387 break; 4388 4389 case 326: /* opt_exp_without_type: ':' */ 4390 #line 1203 "ldgram.y" 4391 { (yyval.etree) = (etree_type *) NULL; } 4392 #line 4393 "ldgram.c" 4393 break; 4394 4395 case 327: /* opt_nocrossrefs: %empty */ 4396 #line 1208 "ldgram.y" 4397 { (yyval.integer) = 0; } 4398 #line 4399 "ldgram.c" 4399 break; 4400 4401 case 328: /* opt_nocrossrefs: NOCROSSREFS */ 4402 #line 1210 "ldgram.y" 4403 { (yyval.integer) = 1; } 4404 #line 4405 "ldgram.c" 4405 break; 4406 4407 case 329: /* memspec_opt: '>' NAME */ 4408 #line 1215 "ldgram.y" 4409 { (yyval.name) = (yyvsp[0].name); } 4410 #line 4411 "ldgram.c" 4411 break; 4412 4413 case 330: /* memspec_opt: %empty */ 4414 #line 1216 "ldgram.y" 4415 { (yyval.name) = DEFAULT_MEMORY_REGION; } 4416 #line 4417 "ldgram.c" 4417 break; 4418 4419 case 331: /* phdr_opt: %empty */ 4420 #line 1221 "ldgram.y" 4421 { 4422 (yyval.section_phdr) = NULL; 4423 } 4424 #line 4425 "ldgram.c" 4425 break; 4426 4427 case 332: /* phdr_opt: phdr_opt ':' NAME */ 4428 #line 1225 "ldgram.y" 4429 { 4430 struct lang_output_section_phdr_list *n; 4431 4432 n = stat_alloc (sizeof *n); 4433 n->name = (yyvsp[0].name); 4434 n->used = false; 4435 n->next = (yyvsp[-2].section_phdr); 4436 (yyval.section_phdr) = n; 4437 } 4438 #line 4439 "ldgram.c" 4439 break; 4440 4441 case 334: /* $@33: %empty */ 4442 #line 1240 "ldgram.y" 4443 { 4444 ldlex_wild (); 4445 lang_enter_overlay_section ((yyvsp[0].name)); 4446 } 4447 #line 4448 "ldgram.c" 4448 break; 4449 4450 case 335: /* $@34: %empty */ 4451 #line 1247 "ldgram.y" 4452 { ldlex_popstate (); } 4453 #line 4454 "ldgram.c" 4454 break; 4455 4456 case 336: /* $@35: %empty */ 4457 #line 1249 "ldgram.y" 4458 { 4459 if (yychar == NAME) 4460 { 4461 yyclearin; 4462 ldlex_backup (); 4463 } 4464 lang_leave_overlay_section ((yyvsp[0].fill), (yyvsp[-1].section_phdr)); 4465 } 4466 #line 4467 "ldgram.c" 4467 break; 4468 4469 case 341: /* $@36: %empty */ 4470 #line 1270 "ldgram.y" 4471 { ldlex_expression (); } 4472 #line 4473 "ldgram.c" 4473 break; 4474 4475 case 342: /* $@37: %empty */ 4476 #line 1271 "ldgram.y" 4477 { ldlex_popstate (); } 4478 #line 4479 "ldgram.c" 4479 break; 4480 4481 case 343: /* phdr: NAME $@36 phdr_type phdr_qualifiers $@37 ';' */ 4482 #line 1273 "ldgram.y" 4483 { 4484 lang_new_phdr ((yyvsp[-5].name), (yyvsp[-3].etree), (yyvsp[-2].phdr).filehdr, (yyvsp[-2].phdr).phdrs, (yyvsp[-2].phdr).at, 4485 (yyvsp[-2].phdr).flags); 4486 } 4487 #line 4488 "ldgram.c" 4488 break; 4489 4490 case 344: /* phdr_type: exp */ 4491 #line 1281 "ldgram.y" 4492 { 4493 (yyval.etree) = (yyvsp[0].etree); 4494 4495 if ((yyvsp[0].etree)->type.node_class == etree_name 4496 && (yyvsp[0].etree)->type.node_code == NAME) 4497 { 4498 const char *s; 4499 unsigned int i; 4500 static const char * const phdr_types[] = 4501 { 4502 "PT_NULL", "PT_LOAD", "PT_DYNAMIC", 4503 "PT_INTERP", "PT_NOTE", "PT_SHLIB", 4504 "PT_PHDR", "PT_TLS" 4505 }; 4506 4507 s = (yyvsp[0].etree)->name.name; 4508 for (i = 0; 4509 i < sizeof phdr_types / sizeof phdr_types[0]; 4510 i++) 4511 if (strcmp (s, phdr_types[i]) == 0) 4512 { 4513 (yyval.etree) = exp_intop (i); 4514 break; 4515 } 4516 if (i == sizeof phdr_types / sizeof phdr_types[0]) 4517 { 4518 if (strcmp (s, "PT_GNU_EH_FRAME") == 0) 4519 (yyval.etree) = exp_intop (0x6474e550); 4520 else if (strcmp (s, "PT_GNU_STACK") == 0) 4521 (yyval.etree) = exp_intop (0x6474e551); 4522 else if (strcmp (s, "PT_GNU_RELRO") == 0) 4523 (yyval.etree) = exp_intop (0x6474e552); 4524 else if (strcmp (s, "PT_GNU_PROPERTY") == 0) 4525 (yyval.etree) = exp_intop (0x6474e553); 4526 else 4527 { 4528 einfo (_("\ 4529 %X%P:%pS: unknown phdr type `%s' (try integer literal)\n"), 4530 NULL, s); 4531 (yyval.etree) = exp_intop (0); 4532 } 4533 } 4534 } 4535 } 4536 #line 4537 "ldgram.c" 4537 break; 4538 4539 case 345: /* phdr_qualifiers: %empty */ 4540 #line 1329 "ldgram.y" 4541 { 4542 memset (&(yyval.phdr), 0, sizeof (struct phdr_info)); 4543 } 4544 #line 4545 "ldgram.c" 4545 break; 4546 4547 case 346: /* phdr_qualifiers: NAME phdr_val phdr_qualifiers */ 4548 #line 1333 "ldgram.y" 4549 { 4550 (yyval.phdr) = (yyvsp[0].phdr); 4551 if (strcmp ((yyvsp[-2].name), "FILEHDR") == 0 && (yyvsp[-1].etree) == NULL) 4552 (yyval.phdr).filehdr = true; 4553 else if (strcmp ((yyvsp[-2].name), "PHDRS") == 0 && (yyvsp[-1].etree) == NULL) 4554 (yyval.phdr).phdrs = true; 4555 else if (strcmp ((yyvsp[-2].name), "FLAGS") == 0 && (yyvsp[-1].etree) != NULL) 4556 (yyval.phdr).flags = (yyvsp[-1].etree); 4557 else 4558 einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"), 4559 NULL, (yyvsp[-2].name)); 4560 } 4561 #line 4562 "ldgram.c" 4562 break; 4563 4564 case 347: /* phdr_qualifiers: AT '(' exp ')' phdr_qualifiers */ 4565 #line 1346 "ldgram.y" 4566 { 4567 (yyval.phdr) = (yyvsp[0].phdr); 4568 (yyval.phdr).at = (yyvsp[-2].etree); 4569 } 4570 #line 4571 "ldgram.c" 4571 break; 4572 4573 case 348: /* phdr_val: %empty */ 4574 #line 1354 "ldgram.y" 4575 { 4576 (yyval.etree) = NULL; 4577 } 4578 #line 4579 "ldgram.c" 4579 break; 4580 4581 case 349: /* phdr_val: '(' exp ')' */ 4582 #line 1358 "ldgram.y" 4583 { 4584 (yyval.etree) = (yyvsp[-1].etree); 4585 } 4586 #line 4587 "ldgram.c" 4587 break; 4588 4589 case 350: /* $@38: %empty */ 4590 #line 1364 "ldgram.y" 4591 { 4592 ldlex_version_file (); 4593 PUSH_ERROR (_("dynamic list")); 4594 } 4595 #line 4596 "ldgram.c" 4596 break; 4597 4598 case 351: /* dynamic_list_file: $@38 dynamic_list_nodes */ 4599 #line 1369 "ldgram.y" 4600 { 4601 ldlex_popstate (); 4602 POP_ERROR (); 4603 } 4604 #line 4605 "ldgram.c" 4605 break; 4606 4607 case 355: /* dynamic_list_tag: vers_defns ';' */ 4608 #line 1386 "ldgram.y" 4609 { 4610 lang_append_dynamic_list (current_dynamic_list_p, (yyvsp[-1].versyms)); 4611 } 4612 #line 4613 "ldgram.c" 4613 break; 4614 4615 case 356: /* $@39: %empty */ 4616 #line 1394 "ldgram.y" 4617 { 4618 ldlex_version_file (); 4619 PUSH_ERROR (_("VERSION script")); 4620 } 4621 #line 4622 "ldgram.c" 4622 break; 4623 4624 case 357: /* version_script_file: $@39 vers_nodes */ 4625 #line 1399 "ldgram.y" 4626 { 4627 ldlex_popstate (); 4628 POP_ERROR (); 4629 } 4630 #line 4631 "ldgram.c" 4631 break; 4632 4633 case 358: /* $@40: %empty */ 4634 #line 1408 "ldgram.y" 4635 { 4636 ldlex_version_script (); 4637 } 4638 #line 4639 "ldgram.c" 4639 break; 4640 4641 case 359: /* version: $@40 VERSIONK '{' vers_nodes '}' */ 4642 #line 1412 "ldgram.y" 4643 { 4644 ldlex_popstate (); 4645 } 4646 #line 4647 "ldgram.c" 4647 break; 4648 4649 case 362: /* vers_node: '{' vers_tag '}' ';' */ 4650 #line 1424 "ldgram.y" 4651 { 4652 lang_register_vers_node (NULL, (yyvsp[-2].versnode), NULL); 4653 } 4654 #line 4655 "ldgram.c" 4655 break; 4656 4657 case 363: /* vers_node: VERS_TAG '{' vers_tag '}' ';' */ 4658 #line 1428 "ldgram.y" 4659 { 4660 lang_register_vers_node ((yyvsp[-4].name), (yyvsp[-2].versnode), NULL); 4661 } 4662 #line 4663 "ldgram.c" 4663 break; 4664 4665 case 364: /* vers_node: VERS_TAG '{' vers_tag '}' verdep ';' */ 4666 #line 1432 "ldgram.y" 4667 { 4668 lang_register_vers_node ((yyvsp[-5].name), (yyvsp[-3].versnode), (yyvsp[-1].deflist)); 4669 } 4670 #line 4671 "ldgram.c" 4671 break; 4672 4673 case 365: /* verdep: VERS_TAG */ 4674 #line 1439 "ldgram.y" 4675 { 4676 (yyval.deflist) = lang_add_vers_depend (NULL, (yyvsp[0].name)); 4677 } 4678 #line 4679 "ldgram.c" 4679 break; 4680 4681 case 366: /* verdep: verdep VERS_TAG */ 4682 #line 1443 "ldgram.y" 4683 { 4684 (yyval.deflist) = lang_add_vers_depend ((yyvsp[-1].deflist), (yyvsp[0].name)); 4685 } 4686 #line 4687 "ldgram.c" 4687 break; 4688 4689 case 367: /* vers_tag: %empty */ 4690 #line 1450 "ldgram.y" 4691 { 4692 (yyval.versnode) = lang_new_vers_node (NULL, NULL); 4693 } 4694 #line 4695 "ldgram.c" 4695 break; 4696 4697 case 368: /* vers_tag: vers_defns ';' */ 4698 #line 1454 "ldgram.y" 4699 { 4700 (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL); 4701 } 4702 #line 4703 "ldgram.c" 4703 break; 4704 4705 case 369: /* vers_tag: GLOBAL ':' vers_defns ';' */ 4706 #line 1458 "ldgram.y" 4707 { 4708 (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL); 4709 } 4710 #line 4711 "ldgram.c" 4711 break; 4712 4713 case 370: /* vers_tag: LOCAL ':' vers_defns ';' */ 4714 #line 1462 "ldgram.y" 4715 { 4716 (yyval.versnode) = lang_new_vers_node (NULL, (yyvsp[-1].versyms)); 4717 } 4718 #line 4719 "ldgram.c" 4719 break; 4720 4721 case 371: /* vers_tag: GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';' */ 4722 #line 1466 "ldgram.y" 4723 { 4724 (yyval.versnode) = lang_new_vers_node ((yyvsp[-5].versyms), (yyvsp[-1].versyms)); 4725 } 4726 #line 4727 "ldgram.c" 4727 break; 4728 4729 case 372: /* vers_defns: VERS_IDENTIFIER */ 4730 #line 1473 "ldgram.y" 4731 { 4732 (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, false); 4733 } 4734 #line 4735 "ldgram.c" 4735 break; 4736 4737 case 373: /* vers_defns: NAME */ 4738 #line 1477 "ldgram.y" 4739 { 4740 (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, true); 4741 } 4742 #line 4743 "ldgram.c" 4743 break; 4744 4745 case 374: /* vers_defns: vers_defns ';' VERS_IDENTIFIER */ 4746 #line 1481 "ldgram.y" 4747 { 4748 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, false); 4749 } 4750 #line 4751 "ldgram.c" 4751 break; 4752 4753 case 375: /* vers_defns: vers_defns ';' NAME */ 4754 #line 1485 "ldgram.y" 4755 { 4756 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, true); 4757 } 4758 #line 4759 "ldgram.c" 4759 break; 4760 4761 case 376: /* @41: %empty */ 4762 #line 1489 "ldgram.y" 4763 { 4764 (yyval.name) = ldgram_vers_current_lang; 4765 ldgram_vers_current_lang = (yyvsp[-1].name); 4766 } 4767 #line 4768 "ldgram.c" 4768 break; 4769 4770 case 377: /* vers_defns: vers_defns ';' EXTERN NAME '{' @41 vers_defns opt_semicolon '}' */ 4771 #line 1494 "ldgram.y" 4772 { 4773 struct bfd_elf_version_expr *pat; 4774 for (pat = (yyvsp[-2].versyms); pat->next != NULL; pat = pat->next); 4775 pat->next = (yyvsp[-8].versyms); 4776 (yyval.versyms) = (yyvsp[-2].versyms); 4777 ldgram_vers_current_lang = (yyvsp[-3].name); 4778 } 4779 #line 4780 "ldgram.c" 4780 break; 4781 4782 case 378: /* @42: %empty */ 4783 #line 1502 "ldgram.y" 4784 { 4785 (yyval.name) = ldgram_vers_current_lang; 4786 ldgram_vers_current_lang = (yyvsp[-1].name); 4787 } 4788 #line 4789 "ldgram.c" 4789 break; 4790 4791 case 379: /* vers_defns: EXTERN NAME '{' @42 vers_defns opt_semicolon '}' */ 4792 #line 1507 "ldgram.y" 4793 { 4794 (yyval.versyms) = (yyvsp[-2].versyms); 4795 ldgram_vers_current_lang = (yyvsp[-3].name); 4796 } 4797 #line 4798 "ldgram.c" 4798 break; 4799 4800 case 380: /* vers_defns: GLOBAL */ 4801 #line 1512 "ldgram.y" 4802 { 4803 (yyval.versyms) = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false); 4804 } 4805 #line 4806 "ldgram.c" 4806 break; 4807 4808 case 381: /* vers_defns: vers_defns ';' GLOBAL */ 4809 #line 1516 "ldgram.y" 4810 { 4811 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "global", ldgram_vers_current_lang, false); 4812 } 4813 #line 4814 "ldgram.c" 4814 break; 4815 4816 case 382: /* vers_defns: LOCAL */ 4817 #line 1520 "ldgram.y" 4818 { 4819 (yyval.versyms) = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false); 4820 } 4821 #line 4822 "ldgram.c" 4822 break; 4823 4824 case 383: /* vers_defns: vers_defns ';' LOCAL */ 4825 #line 1524 "ldgram.y" 4826 { 4827 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "local", ldgram_vers_current_lang, false); 4828 } 4829 #line 4830 "ldgram.c" 4830 break; 4831 4832 case 384: /* vers_defns: EXTERN */ 4833 #line 1528 "ldgram.y" 4834 { 4835 (yyval.versyms) = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false); 4836 } 4837 #line 4838 "ldgram.c" 4838 break; 4839 4840 case 385: /* vers_defns: vers_defns ';' EXTERN */ 4841 #line 1532 "ldgram.y" 4842 { 4843 (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "extern", ldgram_vers_current_lang, false); 4844 } 4845 #line 4846 "ldgram.c" 4846 break; 4847 4848 case 388: /* $@43: %empty */ 4849 #line 1543 "ldgram.y" 4850 { 4851 ldlex_script (); 4852 PUSH_ERROR (_("section-ordering-file script")); 4853 } 4854 #line 4855 "ldgram.c" 4855 break; 4856 4857 case 389: /* section_ordering_script_file: $@43 section_ordering_list */ 4858 #line 1548 "ldgram.y" 4859 { 4860 ldlex_popstate (); 4861 POP_ERROR (); 4862 } 4863 #line 4864 "ldgram.c" 4864 break; 4865 4866 case 393: /* $@44: %empty */ 4867 #line 1561 "ldgram.y" 4868 { 4869 ldlex_wild (); 4870 lang_enter_output_section_statement 4871 ((yyvsp[-1].name), NULL, 0, NULL, NULL, NULL, NULL, 0, 0); 4872 } 4873 #line 4874 "ldgram.c" 4874 break; 4875 4876 case 394: /* $@45: %empty */ 4877 #line 1569 "ldgram.y" 4878 { 4879 ldlex_popstate (); 4880 lang_leave_output_section_statement (NULL, NULL, NULL, NULL); 4881 } 4882 #line 4883 "ldgram.c" 4883 break; 4884 4885 4886 #line 4887 "ldgram.c" 4887 4888 default: break; 4889 } 4890 /* User semantic actions sometimes alter yychar, and that requires 4891 that yytoken be updated with the new translation. We take the 4892 approach of translating immediately before every use of yytoken. 4893 One alternative is translating here after every semantic action, 4894 but that translation would be missed if the semantic action invokes 4895 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 4896 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 4897 incorrect destructor might then be invoked immediately. In the 4898 case of YYERROR or YYBACKUP, subsequent parser actions might lead 4899 to an incorrect destructor call or verbose syntax error message 4900 before the lookahead is translated. */ 4901 YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); 4902 4903 YYPOPSTACK (yylen); 4904 yylen = 0; 4905 4906 *++yyvsp = yyval; 4907 4908 /* Now 'shift' the result of the reduction. Determine what state 4909 that goes to, based on the state we popped back to and the rule 4910 number reduced by. */ 4911 { 4912 const int yylhs = yyr1[yyn] - YYNTOKENS; 4913 const int yyi = yypgoto[yylhs] + *yyssp; 4914 yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 4915 ? yytable[yyi] 4916 : yydefgoto[yylhs]); 4917 } 4918 4919 goto yynewstate; 4920 4921 4922 /*--------------------------------------. 4923 | yyerrlab -- here on detecting error. | 4924 `--------------------------------------*/ 4925 yyerrlab: 4926 /* Make sure we have latest lookahead translation. See comments at 4927 user semantic actions for why this is necessary. */ 4928 yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); 4929 /* If not already recovering from an error, report this error. */ 4930 if (!yyerrstatus) 4931 { 4932 ++yynerrs; 4933 yyerror (YY_("syntax error")); 4934 } 4935 4936 if (yyerrstatus == 3) 4937 { 4938 /* If just tried and failed to reuse lookahead token after an 4939 error, discard it. */ 4940 4941 if (yychar <= YYEOF) 4942 { 4943 /* Return failure if at end of input. */ 4944 if (yychar == YYEOF) 4945 YYABORT; 4946 } 4947 else 4948 { 4949 yydestruct ("Error: discarding", 4950 yytoken, &yylval); 4951 yychar = YYEMPTY; 4952 } 4953 } 4954 4955 /* Else will try to reuse lookahead token after shifting the error 4956 token. */ 4957 goto yyerrlab1; 4958 4959 4960 /*---------------------------------------------------. 4961 | yyerrorlab -- error raised explicitly by YYERROR. | 4962 `---------------------------------------------------*/ 4963 yyerrorlab: 4964 /* Pacify compilers when the user code never invokes YYERROR and the 4965 label yyerrorlab therefore never appears in user code. */ 4966 if (0) 4967 YYERROR; 4968 ++yynerrs; 4969 4970 /* Do not reclaim the symbols of the rule whose action triggered 4971 this YYERROR. */ 4972 YYPOPSTACK (yylen); 4973 yylen = 0; 4974 YY_STACK_PRINT (yyss, yyssp); 4975 yystate = *yyssp; 4976 goto yyerrlab1; 4977 4978 4979 /*-------------------------------------------------------------. 4980 | yyerrlab1 -- common code for both syntax error and YYERROR. | 4981 `-------------------------------------------------------------*/ 4982 yyerrlab1: 4983 yyerrstatus = 3; /* Each real token shifted decrements this. */ 4984 4985 /* Pop stack until we find a state that shifts the error token. */ 4986 for (;;) 4987 { 4988 yyn = yypact[yystate]; 4989 if (!yypact_value_is_default (yyn)) 4990 { 4991 yyn += YYSYMBOL_YYerror; 4992 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) 4993 { 4994 yyn = yytable[yyn]; 4995 if (0 < yyn) 4996 break; 4997 } 4998 } 4999 5000 /* Pop the current state because it cannot handle the error token. */ 5001 if (yyssp == yyss) 5002 YYABORT; 5003 5004 5005 yydestruct ("Error: popping", 5006 YY_ACCESSING_SYMBOL (yystate), yyvsp); 5007 YYPOPSTACK (1); 5008 yystate = *yyssp; 5009 YY_STACK_PRINT (yyss, yyssp); 5010 } 5011 5012 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 5013 *++yyvsp = yylval; 5014 YY_IGNORE_MAYBE_UNINITIALIZED_END 5015 5016 5017 /* Shift the error token. */ 5018 YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); 5019 5020 yystate = yyn; 5021 goto yynewstate; 5022 5023 5024 /*-------------------------------------. 5025 | yyacceptlab -- YYACCEPT comes here. | 5026 `-------------------------------------*/ 5027 yyacceptlab: 5028 yyresult = 0; 5029 goto yyreturnlab; 5030 5031 5032 /*-----------------------------------. 5033 | yyabortlab -- YYABORT comes here. | 5034 `-----------------------------------*/ 5035 yyabortlab: 5036 yyresult = 1; 5037 goto yyreturnlab; 5038 5039 5040 /*-----------------------------------------------------------. 5041 | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | 5042 `-----------------------------------------------------------*/ 5043 yyexhaustedlab: 5044 yyerror (YY_("memory exhausted")); 5045 yyresult = 2; 5046 goto yyreturnlab; 5047 5048 5049 /*----------------------------------------------------------. 5050 | yyreturnlab -- parsing is finished, clean up and return. | 5051 `----------------------------------------------------------*/ 5052 yyreturnlab: 5053 if (yychar != YYEMPTY) 5054 { 5055 /* Make sure we have latest lookahead translation. See comments at 5056 user semantic actions for why this is necessary. */ 5057 yytoken = YYTRANSLATE (yychar); 5058 yydestruct ("Cleanup: discarding lookahead", 5059 yytoken, &yylval); 5060 } 5061 /* Do not reclaim the symbols of the rule whose action triggered 5062 this YYABORT or YYACCEPT. */ 5063 YYPOPSTACK (yylen); 5064 YY_STACK_PRINT (yyss, yyssp); 5065 while (yyssp != yyss) 5066 { 5067 yydestruct ("Cleanup: popping", 5068 YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); 5069 YYPOPSTACK (1); 5070 } 5071 #ifndef yyoverflow 5072 if (yyss != yyssa) 5073 YYSTACK_FREE (yyss); 5074 #endif 5075 5076 return yyresult; 5077 } 5078 5079 #line 1575 "ldgram.y" 5080 5081 static void 5082 yyerror (const char *arg) 5083 { 5084 if (ldfile_assumed_script) 5085 einfo (_("%P:%s: file format not recognized; treating as linker script\n"), 5086 ldlex_filename ()); 5087 if (error_index > 0 && error_index < ERROR_NAME_MAX) 5088 fatal (_("%P:%pS: %s in %s\n"), NULL, arg, error_names[error_index - 1]); 5089 else 5090 fatal ("%P:%pS: %s\n", NULL, arg); 5091 } 5092