xref: /netbsd-src/external/gpl3/binutils/dist/ld/ldgram.h (revision 92e958de60c71aa0f2452bd7074cbb006fe6546b)
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