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 40 extern 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 ORIGIN = 332, 123 FILL = 333, 124 LENGTH = 334, 125 CREATE_OBJECT_SYMBOLS = 335, 126 INPUT = 336, 127 GROUP = 337, 128 OUTPUT = 338, 129 CONSTRUCTORS = 339, 130 ALIGNMOD = 340, 131 AT = 341, 132 SUBALIGN = 342, 133 HIDDEN = 343, 134 PROVIDE = 344, 135 PROVIDE_HIDDEN = 345, 136 AS_NEEDED = 346, 137 CHIP = 347, 138 LIST = 348, 139 SECT = 349, 140 ABSOLUTE = 350, 141 LOAD = 351, 142 NEWLINE = 352, 143 ENDWORD = 353, 144 ORDER = 354, 145 NAMEWORD = 355, 146 ASSERT_K = 356, 147 LOG2CEIL = 357, 148 FORMAT = 358, 149 PUBLIC = 359, 150 DEFSYMEND = 360, 151 BASE = 361, 152 ALIAS = 362, 153 TRUNCATE = 363, 154 REL = 364, 155 INPUT_SCRIPT = 365, 156 INPUT_MRI_SCRIPT = 366, 157 INPUT_DEFSYM = 367, 158 CASE = 368, 159 EXTERN = 369, 160 START = 370, 161 VERS_TAG = 371, 162 VERS_IDENTIFIER = 372, 163 GLOBAL = 373, 164 LOCAL = 374, 165 VERSIONK = 375, 166 INPUT_VERSION_SCRIPT = 376, 167 KEEP = 377, 168 ONLY_IF_RO = 378, 169 ONLY_IF_RW = 379, 170 SPECIAL = 380, 171 INPUT_SECTION_FLAGS = 381, 172 ALIGN_WITH_INPUT = 382, 173 EXCLUDE_FILE = 383, 174 CONSTANT = 384, 175 INPUT_DYNAMIC_LIST = 385 176 }; 177 #endif 178 /* Tokens. */ 179 #define INT 258 180 #define NAME 259 181 #define LNAME 260 182 #define PLUSEQ 261 183 #define MINUSEQ 262 184 #define MULTEQ 263 185 #define DIVEQ 264 186 #define LSHIFTEQ 265 187 #define RSHIFTEQ 266 188 #define ANDEQ 267 189 #define OREQ 268 190 #define OROR 269 191 #define ANDAND 270 192 #define EQ 271 193 #define NE 272 194 #define LE 273 195 #define GE 274 196 #define LSHIFT 275 197 #define RSHIFT 276 198 #define UNARY 277 199 #define END 278 200 #define ALIGN_K 279 201 #define BLOCK 280 202 #define BIND 281 203 #define QUAD 282 204 #define SQUAD 283 205 #define LONG 284 206 #define SHORT 285 207 #define BYTE 286 208 #define SECTIONS 287 209 #define PHDRS 288 210 #define INSERT_K 289 211 #define AFTER 290 212 #define BEFORE 291 213 #define DATA_SEGMENT_ALIGN 292 214 #define DATA_SEGMENT_RELRO_END 293 215 #define DATA_SEGMENT_END 294 216 #define SORT_BY_NAME 295 217 #define SORT_BY_ALIGNMENT 296 218 #define SORT_NONE 297 219 #define SORT_BY_INIT_PRIORITY 298 220 #define SIZEOF_HEADERS 299 221 #define OUTPUT_FORMAT 300 222 #define FORCE_COMMON_ALLOCATION 301 223 #define OUTPUT_ARCH 302 224 #define INHIBIT_COMMON_ALLOCATION 303 225 #define SEGMENT_START 304 226 #define INCLUDE 305 227 #define MEMORY 306 228 #define REGION_ALIAS 307 229 #define LD_FEATURE 308 230 #define NOLOAD 309 231 #define DSECT 310 232 #define COPY 311 233 #define INFO 312 234 #define OVERLAY 313 235 #define DEFINED 314 236 #define TARGET_K 315 237 #define SEARCH_DIR 316 238 #define MAP 317 239 #define ENTRY 318 240 #define NEXT 319 241 #define SIZEOF 320 242 #define ALIGNOF 321 243 #define ADDR 322 244 #define LOADADDR 323 245 #define MAX_K 324 246 #define MIN_K 325 247 #define STARTUP 326 248 #define HLL 327 249 #define SYSLIB 328 250 #define FLOAT 329 251 #define NOFLOAT 330 252 #define NOCROSSREFS 331 253 #define ORIGIN 332 254 #define FILL 333 255 #define LENGTH 334 256 #define CREATE_OBJECT_SYMBOLS 335 257 #define INPUT 336 258 #define GROUP 337 259 #define OUTPUT 338 260 #define CONSTRUCTORS 339 261 #define ALIGNMOD 340 262 #define AT 341 263 #define SUBALIGN 342 264 #define HIDDEN 343 265 #define PROVIDE 344 266 #define PROVIDE_HIDDEN 345 267 #define AS_NEEDED 346 268 #define CHIP 347 269 #define LIST 348 270 #define SECT 349 271 #define ABSOLUTE 350 272 #define LOAD 351 273 #define NEWLINE 352 274 #define ENDWORD 353 275 #define ORDER 354 276 #define NAMEWORD 355 277 #define ASSERT_K 356 278 #define LOG2CEIL 357 279 #define FORMAT 358 280 #define PUBLIC 359 281 #define DEFSYMEND 360 282 #define BASE 361 283 #define ALIAS 362 284 #define TRUNCATE 363 285 #define REL 364 286 #define INPUT_SCRIPT 365 287 #define INPUT_MRI_SCRIPT 366 288 #define INPUT_DEFSYM 367 289 #define CASE 368 290 #define EXTERN 369 291 #define START 370 292 #define VERS_TAG 371 293 #define VERS_IDENTIFIER 372 294 #define GLOBAL 373 295 #define LOCAL 374 296 #define VERSIONK 375 297 #define INPUT_VERSION_SCRIPT 376 298 #define KEEP 377 299 #define ONLY_IF_RO 378 300 #define ONLY_IF_RW 379 301 #define SPECIAL 380 302 #define INPUT_SECTION_FLAGS 381 303 #define ALIGN_WITH_INPUT 382 304 #define EXCLUDE_FILE 383 305 #define CONSTANT 384 306 #define INPUT_DYNAMIC_LIST 385 307 308 /* Value type. */ 309 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 310 typedef union YYSTYPE YYSTYPE; 311 union YYSTYPE 312 { 313 #line 60 "ldgram.y" /* yacc.c:1915 */ 314 315 bfd_vma integer; 316 struct big_int 317 { 318 bfd_vma integer; 319 char *str; 320 } bigint; 321 fill_type *fill; 322 char *name; 323 const char *cname; 324 struct wildcard_spec wildcard; 325 struct wildcard_list *wildcard_list; 326 struct name_list *name_list; 327 struct flag_info_list *flag_info_list; 328 struct flag_info *flag_info; 329 int token; 330 union etree_union *etree; 331 struct phdr_info 332 { 333 bfd_boolean filehdr; 334 bfd_boolean phdrs; 335 union etree_union *at; 336 union etree_union *flags; 337 } phdr; 338 struct lang_nocrossref *nocrossref; 339 struct lang_output_section_phdr_list *section_phdr; 340 struct bfd_elf_version_deps *deflist; 341 struct bfd_elf_version_expr *versyms; 342 struct bfd_elf_version_tree *versnode; 343 344 #line 345 "ldgram.h" /* yacc.c:1915 */ 345 }; 346 # define YYSTYPE_IS_TRIVIAL 1 347 # define YYSTYPE_IS_DECLARED 1 348 #endif 349 350 351 extern YYSTYPE yylval; 352 353 int yyparse (void); 354 355 #endif /* !YY_YY_LDGRAM_H_INCLUDED */ 356