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