xref: /minix/external/gpl3/binutils/files/yyscript.h (revision e39e890e)
1 /* A Bison parser, made by GNU Bison 3.0.2.  */
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_YYSCRIPT_H_INCLUDED
34 # define YY_YY_YYSCRIPT_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     PLUSEQ = 258,
49     MINUSEQ = 259,
50     MULTEQ = 260,
51     DIVEQ = 261,
52     LSHIFTEQ = 262,
53     RSHIFTEQ = 263,
54     ANDEQ = 264,
55     OREQ = 265,
56     OROR = 266,
57     ANDAND = 267,
58     EQ = 268,
59     NE = 269,
60     LE = 270,
61     GE = 271,
62     LSHIFT = 272,
63     RSHIFT = 273,
64     UNARY = 274,
65     STRING = 275,
66     QUOTED_STRING = 276,
67     INTEGER = 277,
68     ABSOLUTE = 278,
69     ADDR = 279,
70     ALIGN_K = 280,
71     ALIGNOF = 281,
72     ASSERT_K = 282,
73     AS_NEEDED = 283,
74     AT = 284,
75     BIND = 285,
76     BLOCK = 286,
77     BYTE = 287,
78     CONSTANT = 288,
79     CONSTRUCTORS = 289,
80     COPY = 290,
81     CREATE_OBJECT_SYMBOLS = 291,
82     DATA_SEGMENT_ALIGN = 292,
83     DATA_SEGMENT_END = 293,
84     DATA_SEGMENT_RELRO_END = 294,
85     DEFINED = 295,
86     DSECT = 296,
87     ENTRY = 297,
88     EXCLUDE_FILE = 298,
89     EXTERN = 299,
90     FILL = 300,
91     FLOAT = 301,
92     FORCE_COMMON_ALLOCATION = 302,
93     GLOBAL = 303,
94     GROUP = 304,
95     HLL = 305,
96     INCLUDE = 306,
97     INHIBIT_COMMON_ALLOCATION = 307,
98     INFO = 308,
99     INPUT = 309,
100     KEEP = 310,
101     LEN = 311,
102     LENGTH = 312,
103     LOADADDR = 313,
104     LOCAL = 314,
105     LONG = 315,
106     MAP = 316,
107     MAX_K = 317,
108     MEMORY = 318,
109     MIN_K = 319,
110     NEXT = 320,
111     NOCROSSREFS = 321,
112     NOFLOAT = 322,
113     NOLOAD = 323,
114     ONLY_IF_RO = 324,
115     ONLY_IF_RW = 325,
116     ORG = 326,
117     ORIGIN = 327,
118     OUTPUT = 328,
119     OUTPUT_ARCH = 329,
120     OUTPUT_FORMAT = 330,
121     OVERLAY = 331,
122     PHDRS = 332,
123     PROVIDE = 333,
124     PROVIDE_HIDDEN = 334,
125     QUAD = 335,
126     SEARCH_DIR = 336,
127     SECTIONS = 337,
128     SEGMENT_START = 338,
129     SHORT = 339,
130     SIZEOF = 340,
131     SIZEOF_HEADERS = 341,
132     SORT_BY_ALIGNMENT = 342,
133     SORT_BY_NAME = 343,
134     SPECIAL = 344,
135     SQUAD = 345,
136     STARTUP = 346,
137     SUBALIGN = 347,
138     SYSLIB = 348,
139     TARGET_K = 349,
140     TRUNCATE = 350,
141     VERSIONK = 351,
142     OPTION = 352,
143     PARSING_LINKER_SCRIPT = 353,
144     PARSING_VERSION_SCRIPT = 354,
145     PARSING_DEFSYM = 355,
146     PARSING_DYNAMIC_LIST = 356
147   };
148 #endif
149 /* Tokens.  */
150 #define PLUSEQ 258
151 #define MINUSEQ 259
152 #define MULTEQ 260
153 #define DIVEQ 261
154 #define LSHIFTEQ 262
155 #define RSHIFTEQ 263
156 #define ANDEQ 264
157 #define OREQ 265
158 #define OROR 266
159 #define ANDAND 267
160 #define EQ 268
161 #define NE 269
162 #define LE 270
163 #define GE 271
164 #define LSHIFT 272
165 #define RSHIFT 273
166 #define UNARY 274
167 #define STRING 275
168 #define QUOTED_STRING 276
169 #define INTEGER 277
170 #define ABSOLUTE 278
171 #define ADDR 279
172 #define ALIGN_K 280
173 #define ALIGNOF 281
174 #define ASSERT_K 282
175 #define AS_NEEDED 283
176 #define AT 284
177 #define BIND 285
178 #define BLOCK 286
179 #define BYTE 287
180 #define CONSTANT 288
181 #define CONSTRUCTORS 289
182 #define COPY 290
183 #define CREATE_OBJECT_SYMBOLS 291
184 #define DATA_SEGMENT_ALIGN 292
185 #define DATA_SEGMENT_END 293
186 #define DATA_SEGMENT_RELRO_END 294
187 #define DEFINED 295
188 #define DSECT 296
189 #define ENTRY 297
190 #define EXCLUDE_FILE 298
191 #define EXTERN 299
192 #define FILL 300
193 #define FLOAT 301
194 #define FORCE_COMMON_ALLOCATION 302
195 #define GLOBAL 303
196 #define GROUP 304
197 #define HLL 305
198 #define INCLUDE 306
199 #define INHIBIT_COMMON_ALLOCATION 307
200 #define INFO 308
201 #define INPUT 309
202 #define KEEP 310
203 #define LEN 311
204 #define LENGTH 312
205 #define LOADADDR 313
206 #define LOCAL 314
207 #define LONG 315
208 #define MAP 316
209 #define MAX_K 317
210 #define MEMORY 318
211 #define MIN_K 319
212 #define NEXT 320
213 #define NOCROSSREFS 321
214 #define NOFLOAT 322
215 #define NOLOAD 323
216 #define ONLY_IF_RO 324
217 #define ONLY_IF_RW 325
218 #define ORG 326
219 #define ORIGIN 327
220 #define OUTPUT 328
221 #define OUTPUT_ARCH 329
222 #define OUTPUT_FORMAT 330
223 #define OVERLAY 331
224 #define PHDRS 332
225 #define PROVIDE 333
226 #define PROVIDE_HIDDEN 334
227 #define QUAD 335
228 #define SEARCH_DIR 336
229 #define SECTIONS 337
230 #define SEGMENT_START 338
231 #define SHORT 339
232 #define SIZEOF 340
233 #define SIZEOF_HEADERS 341
234 #define SORT_BY_ALIGNMENT 342
235 #define SORT_BY_NAME 343
236 #define SPECIAL 344
237 #define SQUAD 345
238 #define STARTUP 346
239 #define SUBALIGN 347
240 #define SYSLIB 348
241 #define TARGET_K 349
242 #define TRUNCATE 350
243 #define VERSIONK 351
244 #define OPTION 352
245 #define PARSING_LINKER_SCRIPT 353
246 #define PARSING_VERSION_SCRIPT 354
247 #define PARSING_DEFSYM 355
248 #define PARSING_DYNAMIC_LIST 356
249 
250 /* Value type.  */
251 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
252 typedef union YYSTYPE YYSTYPE;
253 union YYSTYPE
254 {
255 #line 53 "yyscript.y" /* yacc.c:1909  */
256 
257   /* A string.  */
258   struct Parser_string string;
259   /* A number.  */
260   uint64_t integer;
261   /* An expression.  */
262   Expression_ptr expr;
263   /* An output section header.  */
264   struct Parser_output_section_header output_section_header;
265   /* An output section trailer.  */
266   struct Parser_output_section_trailer output_section_trailer;
267   /* A section constraint.  */
268   enum Section_constraint constraint;
269   /* A complete input section specification.  */
270   struct Input_section_spec input_section_spec;
271   /* A list of wildcard specifications, with exclusions.  */
272   struct Wildcard_sections wildcard_sections;
273   /* A single wildcard specification.  */
274   struct Wildcard_section wildcard_section;
275   /* A list of strings.  */
276   String_list_ptr string_list;
277   /* Information for a program header.  */
278   struct Phdr_info phdr_info;
279   /* Used for version scripts and within VERSION {}.  */
280   struct Version_dependency_list* deplist;
281   struct Version_expression_list* versyms;
282   struct Version_tree* versnode;
283   enum Script_section_type section_type;
284 
285 #line 286 "yyscript.h" /* yacc.c:1909  */
286 };
287 # define YYSTYPE_IS_TRIVIAL 1
288 # define YYSTYPE_IS_DECLARED 1
289 #endif
290 
291 
292 
293 int yyparse (void* closure);
294 
295 #endif /* !YY_YY_YYSCRIPT_H_INCLUDED  */
296