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