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