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