xref: /netbsd-src/external/gpl3/binutils/dist/gold/yyscript.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1 /* A Bison parser, made by GNU Bison 3.8.2.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35    especially those whose name start with YY_ or yy_.  They are
36    private implementation details that can be changed or removed.  */
37 
38 #ifndef YY_YY_YYSCRIPT_H_INCLUDED
39 # define YY_YY_YYSCRIPT_H_INCLUDED
40 /* Debug traces.  */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int yydebug;
46 #endif
47 
48 /* Token kinds.  */
49 #ifndef YYTOKENTYPE
50 # define YYTOKENTYPE
51   enum yytokentype
52   {
53     YYEMPTY = -2,
54     YYEOF = 0,                     /* "end of file"  */
55     YYerror = 256,                 /* error  */
56     YYUNDEF = 257,                 /* "invalid token"  */
57     PLUSEQ = 258,                  /* PLUSEQ  */
58     MINUSEQ = 259,                 /* MINUSEQ  */
59     MULTEQ = 260,                  /* MULTEQ  */
60     DIVEQ = 261,                   /* DIVEQ  */
61     LSHIFTEQ = 262,                /* LSHIFTEQ  */
62     RSHIFTEQ = 263,                /* RSHIFTEQ  */
63     ANDEQ = 264,                   /* ANDEQ  */
64     OREQ = 265,                    /* OREQ  */
65     OROR = 266,                    /* OROR  */
66     ANDAND = 267,                  /* ANDAND  */
67     EQ = 268,                      /* EQ  */
68     NE = 269,                      /* NE  */
69     LE = 270,                      /* LE  */
70     GE = 271,                      /* GE  */
71     LSHIFT = 272,                  /* LSHIFT  */
72     RSHIFT = 273,                  /* RSHIFT  */
73     UNARY = 274,                   /* UNARY  */
74     STRING = 275,                  /* STRING  */
75     QUOTED_STRING = 276,           /* QUOTED_STRING  */
76     INTEGER = 277,                 /* INTEGER  */
77     ABSOLUTE = 278,                /* ABSOLUTE  */
78     ADDR = 279,                    /* ADDR  */
79     ALIGN_K = 280,                 /* ALIGN_K  */
80     ALIGNOF = 281,                 /* ALIGNOF  */
81     ASSERT_K = 282,                /* ASSERT_K  */
82     AS_NEEDED = 283,               /* AS_NEEDED  */
83     AT = 284,                      /* AT  */
84     BIND = 285,                    /* BIND  */
85     BLOCK = 286,                   /* BLOCK  */
86     BYTE = 287,                    /* BYTE  */
87     CONSTANT = 288,                /* CONSTANT  */
88     CONSTRUCTORS = 289,            /* CONSTRUCTORS  */
89     COPY = 290,                    /* COPY  */
90     CREATE_OBJECT_SYMBOLS = 291,   /* CREATE_OBJECT_SYMBOLS  */
91     DATA_SEGMENT_ALIGN = 292,      /* DATA_SEGMENT_ALIGN  */
92     DATA_SEGMENT_END = 293,        /* DATA_SEGMENT_END  */
93     DATA_SEGMENT_RELRO_END = 294,  /* DATA_SEGMENT_RELRO_END  */
94     DEFINED = 295,                 /* DEFINED  */
95     DSECT = 296,                   /* DSECT  */
96     ENTRY = 297,                   /* ENTRY  */
97     EXCLUDE_FILE = 298,            /* EXCLUDE_FILE  */
98     EXTERN = 299,                  /* EXTERN  */
99     FILL = 300,                    /* FILL  */
100     FLOAT = 301,                   /* FLOAT  */
101     FORCE_COMMON_ALLOCATION = 302, /* FORCE_COMMON_ALLOCATION  */
102     GLOBAL = 303,                  /* GLOBAL  */
103     GROUP = 304,                   /* GROUP  */
104     HIDDEN = 305,                  /* HIDDEN  */
105     HLL = 306,                     /* HLL  */
106     INCLUDE = 307,                 /* INCLUDE  */
107     INHIBIT_COMMON_ALLOCATION = 308, /* INHIBIT_COMMON_ALLOCATION  */
108     INFO = 309,                    /* INFO  */
109     INPUT = 310,                   /* INPUT  */
110     KEEP = 311,                    /* KEEP  */
111     LEN = 312,                     /* LEN  */
112     LENGTH = 313,                  /* LENGTH  */
113     LOADADDR = 314,                /* LOADADDR  */
114     LOCAL = 315,                   /* LOCAL  */
115     LONG = 316,                    /* LONG  */
116     MAP = 317,                     /* MAP  */
117     MAX_K = 318,                   /* MAX_K  */
118     MEMORY = 319,                  /* MEMORY  */
119     MIN_K = 320,                   /* MIN_K  */
120     NEXT = 321,                    /* NEXT  */
121     NOCROSSREFS = 322,             /* NOCROSSREFS  */
122     NOFLOAT = 323,                 /* NOFLOAT  */
123     NOLOAD = 324,                  /* NOLOAD  */
124     ONLY_IF_RO = 325,              /* ONLY_IF_RO  */
125     ONLY_IF_RW = 326,              /* ONLY_IF_RW  */
126     ORG = 327,                     /* ORG  */
127     ORIGIN = 328,                  /* ORIGIN  */
128     OUTPUT = 329,                  /* OUTPUT  */
129     OUTPUT_ARCH = 330,             /* OUTPUT_ARCH  */
130     OUTPUT_FORMAT = 331,           /* OUTPUT_FORMAT  */
131     OVERLAY = 332,                 /* OVERLAY  */
132     PHDRS = 333,                   /* PHDRS  */
133     PROVIDE = 334,                 /* PROVIDE  */
134     PROVIDE_HIDDEN = 335,          /* PROVIDE_HIDDEN  */
135     QUAD = 336,                    /* QUAD  */
136     SEARCH_DIR = 337,              /* SEARCH_DIR  */
137     SECTIONS = 338,                /* SECTIONS  */
138     SEGMENT_START = 339,           /* SEGMENT_START  */
139     SHORT = 340,                   /* SHORT  */
140     SIZEOF = 341,                  /* SIZEOF  */
141     SIZEOF_HEADERS = 342,          /* SIZEOF_HEADERS  */
142     SORT_BY_ALIGNMENT = 343,       /* SORT_BY_ALIGNMENT  */
143     SORT_BY_INIT_PRIORITY = 344,   /* SORT_BY_INIT_PRIORITY  */
144     SORT_BY_NAME = 345,            /* SORT_BY_NAME  */
145     SPECIAL = 346,                 /* SPECIAL  */
146     SQUAD = 347,                   /* SQUAD  */
147     STARTUP = 348,                 /* STARTUP  */
148     SUBALIGN = 349,                /* SUBALIGN  */
149     SYSLIB = 350,                  /* SYSLIB  */
150     TARGET_K = 351,                /* TARGET_K  */
151     TRUNCATE = 352,                /* TRUNCATE  */
152     VERSIONK = 353,                /* VERSIONK  */
153     OPTION = 354,                  /* OPTION  */
154     PARSING_LINKER_SCRIPT = 355,   /* PARSING_LINKER_SCRIPT  */
155     PARSING_VERSION_SCRIPT = 356,  /* PARSING_VERSION_SCRIPT  */
156     PARSING_DEFSYM = 357,          /* PARSING_DEFSYM  */
157     PARSING_DYNAMIC_LIST = 358,    /* PARSING_DYNAMIC_LIST  */
158     PARSING_SECTIONS_BLOCK = 359,  /* PARSING_SECTIONS_BLOCK  */
159     PARSING_SECTION_COMMANDS = 360, /* PARSING_SECTION_COMMANDS  */
160     PARSING_MEMORY_DEF = 361       /* PARSING_MEMORY_DEF  */
161   };
162   typedef enum yytokentype yytoken_kind_t;
163 #endif
164 /* Token kinds.  */
165 #define YYEMPTY -2
166 #define YYEOF 0
167 #define YYerror 256
168 #define YYUNDEF 257
169 #define PLUSEQ 258
170 #define MINUSEQ 259
171 #define MULTEQ 260
172 #define DIVEQ 261
173 #define LSHIFTEQ 262
174 #define RSHIFTEQ 263
175 #define ANDEQ 264
176 #define OREQ 265
177 #define OROR 266
178 #define ANDAND 267
179 #define EQ 268
180 #define NE 269
181 #define LE 270
182 #define GE 271
183 #define LSHIFT 272
184 #define RSHIFT 273
185 #define UNARY 274
186 #define STRING 275
187 #define QUOTED_STRING 276
188 #define INTEGER 277
189 #define ABSOLUTE 278
190 #define ADDR 279
191 #define ALIGN_K 280
192 #define ALIGNOF 281
193 #define ASSERT_K 282
194 #define AS_NEEDED 283
195 #define AT 284
196 #define BIND 285
197 #define BLOCK 286
198 #define BYTE 287
199 #define CONSTANT 288
200 #define CONSTRUCTORS 289
201 #define COPY 290
202 #define CREATE_OBJECT_SYMBOLS 291
203 #define DATA_SEGMENT_ALIGN 292
204 #define DATA_SEGMENT_END 293
205 #define DATA_SEGMENT_RELRO_END 294
206 #define DEFINED 295
207 #define DSECT 296
208 #define ENTRY 297
209 #define EXCLUDE_FILE 298
210 #define EXTERN 299
211 #define FILL 300
212 #define FLOAT 301
213 #define FORCE_COMMON_ALLOCATION 302
214 #define GLOBAL 303
215 #define GROUP 304
216 #define HIDDEN 305
217 #define HLL 306
218 #define INCLUDE 307
219 #define INHIBIT_COMMON_ALLOCATION 308
220 #define INFO 309
221 #define INPUT 310
222 #define KEEP 311
223 #define LEN 312
224 #define LENGTH 313
225 #define LOADADDR 314
226 #define LOCAL 315
227 #define LONG 316
228 #define MAP 317
229 #define MAX_K 318
230 #define MEMORY 319
231 #define MIN_K 320
232 #define NEXT 321
233 #define NOCROSSREFS 322
234 #define NOFLOAT 323
235 #define NOLOAD 324
236 #define ONLY_IF_RO 325
237 #define ONLY_IF_RW 326
238 #define ORG 327
239 #define ORIGIN 328
240 #define OUTPUT 329
241 #define OUTPUT_ARCH 330
242 #define OUTPUT_FORMAT 331
243 #define OVERLAY 332
244 #define PHDRS 333
245 #define PROVIDE 334
246 #define PROVIDE_HIDDEN 335
247 #define QUAD 336
248 #define SEARCH_DIR 337
249 #define SECTIONS 338
250 #define SEGMENT_START 339
251 #define SHORT 340
252 #define SIZEOF 341
253 #define SIZEOF_HEADERS 342
254 #define SORT_BY_ALIGNMENT 343
255 #define SORT_BY_INIT_PRIORITY 344
256 #define SORT_BY_NAME 345
257 #define SPECIAL 346
258 #define SQUAD 347
259 #define STARTUP 348
260 #define SUBALIGN 349
261 #define SYSLIB 350
262 #define TARGET_K 351
263 #define TRUNCATE 352
264 #define VERSIONK 353
265 #define OPTION 354
266 #define PARSING_LINKER_SCRIPT 355
267 #define PARSING_VERSION_SCRIPT 356
268 #define PARSING_DEFSYM 357
269 #define PARSING_DYNAMIC_LIST 358
270 #define PARSING_SECTIONS_BLOCK 359
271 #define PARSING_SECTION_COMMANDS 360
272 #define PARSING_MEMORY_DEF 361
273 
274 /* Value type.  */
275 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
276 union YYSTYPE
277 {
278 #line 56 "yyscript.y"
279 
280   /* A string.  */
281   struct Parser_string string;
282   /* A number.  */
283   uint64_t integer;
284   /* An expression.  */
285   Expression_ptr expr;
286   /* An output section header.  */
287   struct Parser_output_section_header output_section_header;
288   /* An output section trailer.  */
289   struct Parser_output_section_trailer output_section_trailer;
290   /* A section constraint.  */
291   enum Section_constraint constraint;
292   /* A complete input section specification.  */
293   struct Input_section_spec input_section_spec;
294   /* A list of wildcard specifications, with exclusions.  */
295   struct Wildcard_sections wildcard_sections;
296   /* A single wildcard specification.  */
297   struct Wildcard_section wildcard_section;
298   /* A list of strings.  */
299   String_list_ptr string_list;
300   /* Information for a program header.  */
301   struct Phdr_info phdr_info;
302   /* Used for version scripts and within VERSION {}.  */
303   struct Version_dependency_list* deplist;
304   struct Version_expression_list* versyms;
305   struct Version_tree* versnode;
306   enum Script_section_type section_type;
307 
308 #line 309 "yyscript.h"
309 
310 };
311 typedef union YYSTYPE YYSTYPE;
312 # define YYSTYPE_IS_TRIVIAL 1
313 # define YYSTYPE_IS_DECLARED 1
314 #endif
315 
316 
317 
318 
319 int yyparse (void* closure);
320 
321 
322 #endif /* !YY_YY_YYSCRIPT_H_INCLUDED  */
323