1/* A Bison parser, made by GNU Bison 3.0. */ 2 3/* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20/* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33#ifndef YY_YY_LDGRAM_H_INCLUDED 34# define YY_YY_LDGRAM_H_INCLUDED 35/* Debug traces. */ 36#ifndef YYDEBUG 37# define YYDEBUG 0 38#endif 39#if YYDEBUG 40extern int yydebug; 41#endif 42 43/* Token type. */ 44#ifndef YYTOKENTYPE 45# define YYTOKENTYPE 46 enum yytokentype 47 { 48 INT = 258, 49 NAME = 259, 50 LNAME = 260, 51 PLUSEQ = 261, 52 MINUSEQ = 262, 53 MULTEQ = 263, 54 DIVEQ = 264, 55 LSHIFTEQ = 265, 56 RSHIFTEQ = 266, 57 ANDEQ = 267, 58 OREQ = 268, 59 OROR = 269, 60 ANDAND = 270, 61 EQ = 271, 62 NE = 272, 63 LE = 273, 64 GE = 274, 65 LSHIFT = 275, 66 RSHIFT = 276, 67 UNARY = 277, 68 END = 278, 69 ALIGN_K = 279, 70 BLOCK = 280, 71 BIND = 281, 72 QUAD = 282, 73 SQUAD = 283, 74 LONG = 284, 75 SHORT = 285, 76 BYTE = 286, 77 SECTIONS = 287, 78 PHDRS = 288, 79 INSERT_K = 289, 80 AFTER = 290, 81 BEFORE = 291, 82 DATA_SEGMENT_ALIGN = 292, 83 DATA_SEGMENT_RELRO_END = 293, 84 DATA_SEGMENT_END = 294, 85 SORT_BY_NAME = 295, 86 SORT_BY_ALIGNMENT = 296, 87 SORT_NONE = 297, 88 SORT_BY_INIT_PRIORITY = 298, 89 SIZEOF_HEADERS = 299, 90 OUTPUT_FORMAT = 300, 91 FORCE_COMMON_ALLOCATION = 301, 92 OUTPUT_ARCH = 302, 93 INHIBIT_COMMON_ALLOCATION = 303, 94 SEGMENT_START = 304, 95 INCLUDE = 305, 96 MEMORY = 306, 97 REGION_ALIAS = 307, 98 LD_FEATURE = 308, 99 NOLOAD = 309, 100 DSECT = 310, 101 COPY = 311, 102 INFO = 312, 103 OVERLAY = 313, 104 DEFINED = 314, 105 TARGET_K = 315, 106 SEARCH_DIR = 316, 107 MAP = 317, 108 ENTRY = 318, 109 NEXT = 319, 110 SIZEOF = 320, 111 ALIGNOF = 321, 112 ADDR = 322, 113 LOADADDR = 323, 114 MAX_K = 324, 115 MIN_K = 325, 116 STARTUP = 326, 117 HLL = 327, 118 SYSLIB = 328, 119 FLOAT = 329, 120 NOFLOAT = 330, 121 NOCROSSREFS = 331, 122 NOCROSSREFS_TO = 332, 123 ORIGIN = 333, 124 FILL = 334, 125 LENGTH = 335, 126 CREATE_OBJECT_SYMBOLS = 336, 127 INPUT = 337, 128 GROUP = 338, 129 OUTPUT = 339, 130 CONSTRUCTORS = 340, 131 ALIGNMOD = 341, 132 AT = 342, 133 SUBALIGN = 343, 134 HIDDEN = 344, 135 PROVIDE = 345, 136 PROVIDE_HIDDEN = 346, 137 AS_NEEDED = 347, 138 CHIP = 348, 139 LIST = 349, 140 SECT = 350, 141 ABSOLUTE = 351, 142 LOAD = 352, 143 NEWLINE = 353, 144 ENDWORD = 354, 145 ORDER = 355, 146 NAMEWORD = 356, 147 ASSERT_K = 357, 148 LOG2CEIL = 358, 149 FORMAT = 359, 150 PUBLIC = 360, 151 DEFSYMEND = 361, 152 BASE = 362, 153 ALIAS = 363, 154 TRUNCATE = 364, 155 REL = 365, 156 INPUT_SCRIPT = 366, 157 INPUT_MRI_SCRIPT = 367, 158 INPUT_DEFSYM = 368, 159 CASE = 369, 160 EXTERN = 370, 161 START = 371, 162 VERS_TAG = 372, 163 VERS_IDENTIFIER = 373, 164 GLOBAL = 374, 165 LOCAL = 375, 166 VERSIONK = 376, 167 INPUT_VERSION_SCRIPT = 377, 168 KEEP = 378, 169 ONLY_IF_RO = 379, 170 ONLY_IF_RW = 380, 171 SPECIAL = 381, 172 INPUT_SECTION_FLAGS = 382, 173 ALIGN_WITH_INPUT = 383, 174 EXCLUDE_FILE = 384, 175 CONSTANT = 385, 176 INPUT_DYNAMIC_LIST = 386 177 }; 178#endif 179/* Tokens. */ 180#define INT 258 181#define NAME 259 182#define LNAME 260 183#define PLUSEQ 261 184#define MINUSEQ 262 185#define MULTEQ 263 186#define DIVEQ 264 187#define LSHIFTEQ 265 188#define RSHIFTEQ 266 189#define ANDEQ 267 190#define OREQ 268 191#define OROR 269 192#define ANDAND 270 193#define EQ 271 194#define NE 272 195#define LE 273 196#define GE 274 197#define LSHIFT 275 198#define RSHIFT 276 199#define UNARY 277 200#define END 278 201#define ALIGN_K 279 202#define BLOCK 280 203#define BIND 281 204#define QUAD 282 205#define SQUAD 283 206#define LONG 284 207#define SHORT 285 208#define BYTE 286 209#define SECTIONS 287 210#define PHDRS 288 211#define INSERT_K 289 212#define AFTER 290 213#define BEFORE 291 214#define DATA_SEGMENT_ALIGN 292 215#define DATA_SEGMENT_RELRO_END 293 216#define DATA_SEGMENT_END 294 217#define SORT_BY_NAME 295 218#define SORT_BY_ALIGNMENT 296 219#define SORT_NONE 297 220#define SORT_BY_INIT_PRIORITY 298 221#define SIZEOF_HEADERS 299 222#define OUTPUT_FORMAT 300 223#define FORCE_COMMON_ALLOCATION 301 224#define OUTPUT_ARCH 302 225#define INHIBIT_COMMON_ALLOCATION 303 226#define SEGMENT_START 304 227#define INCLUDE 305 228#define MEMORY 306 229#define REGION_ALIAS 307 230#define LD_FEATURE 308 231#define NOLOAD 309 232#define DSECT 310 233#define COPY 311 234#define INFO 312 235#define OVERLAY 313 236#define DEFINED 314 237#define TARGET_K 315 238#define SEARCH_DIR 316 239#define MAP 317 240#define ENTRY 318 241#define NEXT 319 242#define SIZEOF 320 243#define ALIGNOF 321 244#define ADDR 322 245#define LOADADDR 323 246#define MAX_K 324 247#define MIN_K 325 248#define STARTUP 326 249#define HLL 327 250#define SYSLIB 328 251#define FLOAT 329 252#define NOFLOAT 330 253#define NOCROSSREFS 331 254#define NOCROSSREFS_TO 332 255#define ORIGIN 333 256#define FILL 334 257#define LENGTH 335 258#define CREATE_OBJECT_SYMBOLS 336 259#define INPUT 337 260#define GROUP 338 261#define OUTPUT 339 262#define CONSTRUCTORS 340 263#define ALIGNMOD 341 264#define AT 342 265#define SUBALIGN 343 266#define HIDDEN 344 267#define PROVIDE 345 268#define PROVIDE_HIDDEN 346 269#define AS_NEEDED 347 270#define CHIP 348 271#define LIST 349 272#define SECT 350 273#define ABSOLUTE 351 274#define LOAD 352 275#define NEWLINE 353 276#define ENDWORD 354 277#define ORDER 355 278#define NAMEWORD 356 279#define ASSERT_K 357 280#define LOG2CEIL 358 281#define FORMAT 359 282#define PUBLIC 360 283#define DEFSYMEND 361 284#define BASE 362 285#define ALIAS 363 286#define TRUNCATE 364 287#define REL 365 288#define INPUT_SCRIPT 366 289#define INPUT_MRI_SCRIPT 367 290#define INPUT_DEFSYM 368 291#define CASE 369 292#define EXTERN 370 293#define START 371 294#define VERS_TAG 372 295#define VERS_IDENTIFIER 373 296#define GLOBAL 374 297#define LOCAL 375 298#define VERSIONK 376 299#define INPUT_VERSION_SCRIPT 377 300#define KEEP 378 301#define ONLY_IF_RO 379 302#define ONLY_IF_RW 380 303#define SPECIAL 381 304#define INPUT_SECTION_FLAGS 382 305#define ALIGN_WITH_INPUT 383 306#define EXCLUDE_FILE 384 307#define CONSTANT 385 308#define INPUT_DYNAMIC_LIST 386 309 310/* Value type. */ 311#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 312typedef union YYSTYPE YYSTYPE; 313union YYSTYPE 314{ 315#line 60 "ldgram.y" /* yacc.c:1915 */ 316 317 bfd_vma integer; 318 struct big_int 319 { 320 bfd_vma integer; 321 char *str; 322 } bigint; 323 fill_type *fill; 324 char *name; 325 const char *cname; 326 struct wildcard_spec wildcard; 327 struct wildcard_list *wildcard_list; 328 struct name_list *name_list; 329 struct flag_info_list *flag_info_list; 330 struct flag_info *flag_info; 331 int token; 332 union etree_union *etree; 333 struct phdr_info 334 { 335 bfd_boolean filehdr; 336 bfd_boolean phdrs; 337 union etree_union *at; 338 union etree_union *flags; 339 } phdr; 340 struct lang_nocrossref *nocrossref; 341 struct lang_output_section_phdr_list *section_phdr; 342 struct bfd_elf_version_deps *deflist; 343 struct bfd_elf_version_expr *versyms; 344 struct bfd_elf_version_tree *versnode; 345 346#line 347 "ldgram.h" /* yacc.c:1915 */ 347}; 348# define YYSTYPE_IS_TRIVIAL 1 349# define YYSTYPE_IS_DECLARED 1 350#endif 351 352 353extern YYSTYPE yylval; 354 355int yyparse (void); 356 357#endif /* !YY_YY_LDGRAM_H_INCLUDED */ 358