xref: /netbsd-src/external/gpl3/binutils/dist/ld/ldgram.h (revision 46f5119e40af2e51998f686b2fdcc76b5488f7f3)
1 /* A Bison parser, made by GNU Bison 2.1.  */
2 
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.
5 
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.
10 
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.
15 
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.  */
20 
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.  */
25 
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
152    };
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
275 
276 
277 
278 
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
284     {
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
297     {
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
315 
316 extern YYSTYPE yylval;
317 
318 
319 
320