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