ldgram.c revision 1.10 1 1.10 christos /* A Bison parser, made by GNU Bison 3.8.2. */
2 1.3 matt
3 1.7 christos /* Bison implementation for Yacc-like parsers in C
4 1.4 matt
5 1.10 christos Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6 1.10 christos Inc.
7 1.3 matt
8 1.7 christos This program is free software: you can redistribute it and/or modify
9 1.3 matt it under the terms of the GNU General Public License as published by
10 1.7 christos the Free Software Foundation, either version 3 of the License, or
11 1.7 christos (at your option) any later version.
12 1.3 matt
13 1.3 matt This program is distributed in the hope that it will be useful,
14 1.3 matt but WITHOUT ANY WARRANTY; without even the implied warranty of
15 1.3 matt MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 1.3 matt GNU General Public License for more details.
17 1.3 matt
18 1.3 matt You should have received a copy of the GNU General Public License
19 1.10 christos along with this program. If not, see <https://www.gnu.org/licenses/>. */
20 1.3 matt
21 1.4 matt /* As a special exception, you may create a larger work that contains
22 1.4 matt part or all of the Bison parser skeleton and distribute that work
23 1.4 matt under terms of your choice, so long as that work isn't itself a
24 1.4 matt parser generator using the skeleton or a modified version thereof
25 1.4 matt as a parser skeleton. Alternatively, if you modify or redistribute
26 1.4 matt the parser skeleton itself, you may (at your option) remove this
27 1.4 matt special exception, which will cause the skeleton and the resulting
28 1.4 matt Bison output files to be licensed under the GNU General Public
29 1.4 matt License without this special exception.
30 1.4 matt
31 1.4 matt This special exception was added by the Free Software Foundation in
32 1.4 matt version 2.2 of Bison. */
33 1.3 matt
34 1.4 matt /* C LALR(1) parser skeleton written by Richard Stallman, by
35 1.4 matt simplifying the original so-called "semantic" parser. */
36 1.3 matt
37 1.10 christos /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38 1.10 christos especially those whose name start with YY_ or yy_. They are
39 1.10 christos private implementation details that can be changed or removed. */
40 1.10 christos
41 1.3 matt /* All symbols defined below should begin with yy or YY, to avoid
42 1.3 matt infringing on user name space. This should be done even for local
43 1.3 matt variables, as they might otherwise be expanded by user macros.
44 1.3 matt There are some unavoidable exceptions within include files to
45 1.3 matt define necessary library symbols; they are noted "INFRINGES ON
46 1.3 matt USER NAME SPACE" below. */
47 1.3 matt
48 1.10 christos /* Identify Bison output, and Bison version. */
49 1.10 christos #define YYBISON 30802
50 1.3 matt
51 1.10 christos /* Bison version string. */
52 1.10 christos #define YYBISON_VERSION "3.8.2"
53 1.3 matt
54 1.3 matt /* Skeleton name. */
55 1.3 matt #define YYSKELETON_NAME "yacc.c"
56 1.3 matt
57 1.3 matt /* Pure parsers. */
58 1.3 matt #define YYPURE 0
59 1.3 matt
60 1.7 christos /* Push parsers. */
61 1.7 christos #define YYPUSH 0
62 1.3 matt
63 1.7 christos /* Pull parsers. */
64 1.7 christos #define YYPULL 1
65 1.6 christos
66 1.6 christos
67 1.6 christos
68 1.6 christos
69 1.10 christos /* First part of user prologue. */
70 1.10 christos #line 22 "ldgram.y"
71 1.6 christos
72 1.6 christos /*
73 1.6 christos
74 1.6 christos */
75 1.6 christos
76 1.6 christos #define DONTDECLARE_MALLOC
77 1.6 christos
78 1.6 christos #include "sysdep.h"
79 1.6 christos #include "bfd.h"
80 1.6 christos #include "bfdlink.h"
81 1.9 christos #include "ctf-api.h"
82 1.6 christos #include "ld.h"
83 1.6 christos #include "ldexp.h"
84 1.6 christos #include "ldver.h"
85 1.6 christos #include "ldlang.h"
86 1.6 christos #include "ldfile.h"
87 1.6 christos #include "ldemul.h"
88 1.6 christos #include "ldmisc.h"
89 1.6 christos #include "ldmain.h"
90 1.6 christos #include "mri.h"
91 1.6 christos #include "ldctor.h"
92 1.6 christos #include "ldlex.h"
93 1.6 christos
94 1.6 christos #ifndef YYDEBUG
95 1.6 christos #define YYDEBUG 1
96 1.6 christos #endif
97 1.6 christos
98 1.6 christos static enum section_type sectype;
99 1.10 christos static etree_type *sectype_value;
100 1.6 christos static lang_memory_region_type *region;
101 1.6 christos
102 1.10 christos static bool ldgram_had_keep = false;
103 1.7 christos static char *ldgram_vers_current_lang = NULL;
104 1.6 christos
105 1.6 christos #define ERROR_NAME_MAX 20
106 1.6 christos static char *error_names[ERROR_NAME_MAX];
107 1.6 christos static int error_index;
108 1.6 christos #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
109 1.6 christos #define POP_ERROR() error_index--;
110 1.6 christos
111 1.10 christos #line 112 "ldgram.c"
112 1.6 christos
113 1.10 christos # ifndef YY_CAST
114 1.10 christos # ifdef __cplusplus
115 1.10 christos # define YY_CAST(Type, Val) static_cast<Type> (Val)
116 1.10 christos # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
117 1.10 christos # else
118 1.10 christos # define YY_CAST(Type, Val) ((Type) (Val))
119 1.10 christos # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
120 1.10 christos # endif
121 1.10 christos # endif
122 1.7 christos # ifndef YY_NULLPTR
123 1.10 christos # if defined __cplusplus
124 1.10 christos # if 201103L <= __cplusplus
125 1.10 christos # define YY_NULLPTR nullptr
126 1.10 christos # else
127 1.10 christos # define YY_NULLPTR 0
128 1.10 christos # endif
129 1.7 christos # else
130 1.10 christos # define YY_NULLPTR ((void*)0)
131 1.7 christos # endif
132 1.7 christos # endif
133 1.6 christos
134 1.10 christos /* Use api.header.include to #include this header
135 1.10 christos instead of duplicating it here. */
136 1.7 christos #ifndef YY_YY_LDGRAM_H_INCLUDED
137 1.7 christos # define YY_YY_LDGRAM_H_INCLUDED
138 1.7 christos /* Debug traces. */
139 1.7 christos #ifndef YYDEBUG
140 1.7 christos # define YYDEBUG 0
141 1.7 christos #endif
142 1.7 christos #if YYDEBUG
143 1.7 christos extern int yydebug;
144 1.6 christos #endif
145 1.3 matt
146 1.10 christos /* Token kinds. */
147 1.7 christos #ifndef YYTOKENTYPE
148 1.7 christos # define YYTOKENTYPE
149 1.7 christos enum yytokentype
150 1.7 christos {
151 1.10 christos YYEMPTY = -2,
152 1.10 christos YYEOF = 0, /* "end of file" */
153 1.10 christos YYerror = 256, /* error */
154 1.10 christos YYUNDEF = 257, /* "invalid token" */
155 1.10 christos INT = 258, /* INT */
156 1.10 christos NAME = 259, /* NAME */
157 1.10 christos LNAME = 260, /* LNAME */
158 1.10 christos PLUSEQ = 261, /* PLUSEQ */
159 1.10 christos MINUSEQ = 262, /* MINUSEQ */
160 1.10 christos MULTEQ = 263, /* MULTEQ */
161 1.10 christos DIVEQ = 264, /* DIVEQ */
162 1.10 christos LSHIFTEQ = 265, /* LSHIFTEQ */
163 1.10 christos RSHIFTEQ = 266, /* RSHIFTEQ */
164 1.10 christos ANDEQ = 267, /* ANDEQ */
165 1.10 christos OREQ = 268, /* OREQ */
166 1.10 christos OROR = 269, /* OROR */
167 1.10 christos ANDAND = 270, /* ANDAND */
168 1.10 christos EQ = 271, /* EQ */
169 1.10 christos NE = 272, /* NE */
170 1.10 christos LE = 273, /* LE */
171 1.10 christos GE = 274, /* GE */
172 1.10 christos LSHIFT = 275, /* LSHIFT */
173 1.10 christos RSHIFT = 276, /* RSHIFT */
174 1.10 christos UNARY = 277, /* UNARY */
175 1.10 christos END = 278, /* END */
176 1.10 christos ALIGN_K = 279, /* ALIGN_K */
177 1.10 christos BLOCK = 280, /* BLOCK */
178 1.10 christos BIND = 281, /* BIND */
179 1.10 christos QUAD = 282, /* QUAD */
180 1.10 christos SQUAD = 283, /* SQUAD */
181 1.10 christos LONG = 284, /* LONG */
182 1.10 christos SHORT = 285, /* SHORT */
183 1.10 christos BYTE = 286, /* BYTE */
184 1.10 christos SECTIONS = 287, /* SECTIONS */
185 1.10 christos PHDRS = 288, /* PHDRS */
186 1.10 christos INSERT_K = 289, /* INSERT_K */
187 1.10 christos AFTER = 290, /* AFTER */
188 1.10 christos BEFORE = 291, /* BEFORE */
189 1.10 christos DATA_SEGMENT_ALIGN = 292, /* DATA_SEGMENT_ALIGN */
190 1.10 christos DATA_SEGMENT_RELRO_END = 293, /* DATA_SEGMENT_RELRO_END */
191 1.10 christos DATA_SEGMENT_END = 294, /* DATA_SEGMENT_END */
192 1.10 christos SORT_BY_NAME = 295, /* SORT_BY_NAME */
193 1.10 christos SORT_BY_ALIGNMENT = 296, /* SORT_BY_ALIGNMENT */
194 1.10 christos SORT_NONE = 297, /* SORT_NONE */
195 1.10 christos SORT_BY_INIT_PRIORITY = 298, /* SORT_BY_INIT_PRIORITY */
196 1.10 christos SIZEOF_HEADERS = 299, /* SIZEOF_HEADERS */
197 1.10 christos OUTPUT_FORMAT = 300, /* OUTPUT_FORMAT */
198 1.10 christos FORCE_COMMON_ALLOCATION = 301, /* FORCE_COMMON_ALLOCATION */
199 1.10 christos OUTPUT_ARCH = 302, /* OUTPUT_ARCH */
200 1.10 christos INHIBIT_COMMON_ALLOCATION = 303, /* INHIBIT_COMMON_ALLOCATION */
201 1.10 christos FORCE_GROUP_ALLOCATION = 304, /* FORCE_GROUP_ALLOCATION */
202 1.10 christos SEGMENT_START = 305, /* SEGMENT_START */
203 1.10 christos INCLUDE = 306, /* INCLUDE */
204 1.10 christos MEMORY = 307, /* MEMORY */
205 1.10 christos REGION_ALIAS = 308, /* REGION_ALIAS */
206 1.10 christos LD_FEATURE = 309, /* LD_FEATURE */
207 1.10 christos NOLOAD = 310, /* NOLOAD */
208 1.10 christos DSECT = 311, /* DSECT */
209 1.10 christos COPY = 312, /* COPY */
210 1.10 christos INFO = 313, /* INFO */
211 1.10 christos OVERLAY = 314, /* OVERLAY */
212 1.10 christos READONLY = 315, /* READONLY */
213 1.10 christos TYPE = 316, /* TYPE */
214 1.10 christos DEFINED = 317, /* DEFINED */
215 1.10 christos TARGET_K = 318, /* TARGET_K */
216 1.10 christos SEARCH_DIR = 319, /* SEARCH_DIR */
217 1.10 christos MAP = 320, /* MAP */
218 1.10 christos ENTRY = 321, /* ENTRY */
219 1.10 christos NEXT = 322, /* NEXT */
220 1.10 christos SIZEOF = 323, /* SIZEOF */
221 1.10 christos ALIGNOF = 324, /* ALIGNOF */
222 1.10 christos ADDR = 325, /* ADDR */
223 1.10 christos LOADADDR = 326, /* LOADADDR */
224 1.10 christos MAX_K = 327, /* MAX_K */
225 1.10 christos MIN_K = 328, /* MIN_K */
226 1.10 christos STARTUP = 329, /* STARTUP */
227 1.10 christos HLL = 330, /* HLL */
228 1.10 christos SYSLIB = 331, /* SYSLIB */
229 1.10 christos FLOAT = 332, /* FLOAT */
230 1.10 christos NOFLOAT = 333, /* NOFLOAT */
231 1.10 christos NOCROSSREFS = 334, /* NOCROSSREFS */
232 1.10 christos NOCROSSREFS_TO = 335, /* NOCROSSREFS_TO */
233 1.10 christos ORIGIN = 336, /* ORIGIN */
234 1.10 christos FILL = 337, /* FILL */
235 1.10 christos LENGTH = 338, /* LENGTH */
236 1.10 christos CREATE_OBJECT_SYMBOLS = 339, /* CREATE_OBJECT_SYMBOLS */
237 1.10 christos INPUT = 340, /* INPUT */
238 1.10 christos GROUP = 341, /* GROUP */
239 1.10 christos OUTPUT = 342, /* OUTPUT */
240 1.10 christos CONSTRUCTORS = 343, /* CONSTRUCTORS */
241 1.10 christos ALIGNMOD = 344, /* ALIGNMOD */
242 1.10 christos AT = 345, /* AT */
243 1.10 christos SUBALIGN = 346, /* SUBALIGN */
244 1.10 christos HIDDEN = 347, /* HIDDEN */
245 1.10 christos PROVIDE = 348, /* PROVIDE */
246 1.10 christos PROVIDE_HIDDEN = 349, /* PROVIDE_HIDDEN */
247 1.10 christos AS_NEEDED = 350, /* AS_NEEDED */
248 1.10 christos CHIP = 351, /* CHIP */
249 1.10 christos LIST = 352, /* LIST */
250 1.10 christos SECT = 353, /* SECT */
251 1.10 christos ABSOLUTE = 354, /* ABSOLUTE */
252 1.10 christos LOAD = 355, /* LOAD */
253 1.10 christos NEWLINE = 356, /* NEWLINE */
254 1.10 christos ENDWORD = 357, /* ENDWORD */
255 1.10 christos ORDER = 358, /* ORDER */
256 1.10 christos NAMEWORD = 359, /* NAMEWORD */
257 1.10 christos ASSERT_K = 360, /* ASSERT_K */
258 1.10 christos LOG2CEIL = 361, /* LOG2CEIL */
259 1.10 christos FORMAT = 362, /* FORMAT */
260 1.10 christos PUBLIC = 363, /* PUBLIC */
261 1.10 christos DEFSYMEND = 364, /* DEFSYMEND */
262 1.10 christos BASE = 365, /* BASE */
263 1.10 christos ALIAS = 366, /* ALIAS */
264 1.10 christos TRUNCATE = 367, /* TRUNCATE */
265 1.10 christos REL = 368, /* REL */
266 1.10 christos INPUT_SCRIPT = 369, /* INPUT_SCRIPT */
267 1.10 christos INPUT_MRI_SCRIPT = 370, /* INPUT_MRI_SCRIPT */
268 1.10 christos INPUT_DEFSYM = 371, /* INPUT_DEFSYM */
269 1.10 christos CASE = 372, /* CASE */
270 1.10 christos EXTERN = 373, /* EXTERN */
271 1.10 christos START = 374, /* START */
272 1.10 christos VERS_TAG = 375, /* VERS_TAG */
273 1.10 christos VERS_IDENTIFIER = 376, /* VERS_IDENTIFIER */
274 1.10 christos GLOBAL = 377, /* GLOBAL */
275 1.10 christos LOCAL = 378, /* LOCAL */
276 1.10 christos VERSIONK = 379, /* VERSIONK */
277 1.10 christos INPUT_VERSION_SCRIPT = 380, /* INPUT_VERSION_SCRIPT */
278 1.10 christos KEEP = 381, /* KEEP */
279 1.10 christos ONLY_IF_RO = 382, /* ONLY_IF_RO */
280 1.10 christos ONLY_IF_RW = 383, /* ONLY_IF_RW */
281 1.10 christos SPECIAL = 384, /* SPECIAL */
282 1.10 christos INPUT_SECTION_FLAGS = 385, /* INPUT_SECTION_FLAGS */
283 1.10 christos ALIGN_WITH_INPUT = 386, /* ALIGN_WITH_INPUT */
284 1.10 christos EXCLUDE_FILE = 387, /* EXCLUDE_FILE */
285 1.10 christos CONSTANT = 388, /* CONSTANT */
286 1.10 christos INPUT_DYNAMIC_LIST = 389 /* INPUT_DYNAMIC_LIST */
287 1.7 christos };
288 1.10 christos typedef enum yytokentype yytoken_kind_t;
289 1.7 christos #endif
290 1.10 christos /* Token kinds. */
291 1.10 christos #define YYEMPTY -2
292 1.10 christos #define YYEOF 0
293 1.10 christos #define YYerror 256
294 1.10 christos #define YYUNDEF 257
295 1.7 christos #define INT 258
296 1.7 christos #define NAME 259
297 1.7 christos #define LNAME 260
298 1.7 christos #define PLUSEQ 261
299 1.7 christos #define MINUSEQ 262
300 1.7 christos #define MULTEQ 263
301 1.7 christos #define DIVEQ 264
302 1.7 christos #define LSHIFTEQ 265
303 1.7 christos #define RSHIFTEQ 266
304 1.7 christos #define ANDEQ 267
305 1.7 christos #define OREQ 268
306 1.7 christos #define OROR 269
307 1.7 christos #define ANDAND 270
308 1.7 christos #define EQ 271
309 1.7 christos #define NE 272
310 1.7 christos #define LE 273
311 1.7 christos #define GE 274
312 1.7 christos #define LSHIFT 275
313 1.7 christos #define RSHIFT 276
314 1.7 christos #define UNARY 277
315 1.7 christos #define END 278
316 1.7 christos #define ALIGN_K 279
317 1.7 christos #define BLOCK 280
318 1.7 christos #define BIND 281
319 1.7 christos #define QUAD 282
320 1.7 christos #define SQUAD 283
321 1.7 christos #define LONG 284
322 1.7 christos #define SHORT 285
323 1.7 christos #define BYTE 286
324 1.7 christos #define SECTIONS 287
325 1.7 christos #define PHDRS 288
326 1.7 christos #define INSERT_K 289
327 1.7 christos #define AFTER 290
328 1.7 christos #define BEFORE 291
329 1.7 christos #define DATA_SEGMENT_ALIGN 292
330 1.7 christos #define DATA_SEGMENT_RELRO_END 293
331 1.7 christos #define DATA_SEGMENT_END 294
332 1.7 christos #define SORT_BY_NAME 295
333 1.7 christos #define SORT_BY_ALIGNMENT 296
334 1.7 christos #define SORT_NONE 297
335 1.7 christos #define SORT_BY_INIT_PRIORITY 298
336 1.7 christos #define SIZEOF_HEADERS 299
337 1.7 christos #define OUTPUT_FORMAT 300
338 1.7 christos #define FORCE_COMMON_ALLOCATION 301
339 1.7 christos #define OUTPUT_ARCH 302
340 1.7 christos #define INHIBIT_COMMON_ALLOCATION 303
341 1.7 christos #define FORCE_GROUP_ALLOCATION 304
342 1.7 christos #define SEGMENT_START 305
343 1.7 christos #define INCLUDE 306
344 1.7 christos #define MEMORY 307
345 1.7 christos #define REGION_ALIAS 308
346 1.7 christos #define LD_FEATURE 309
347 1.7 christos #define NOLOAD 310
348 1.7 christos #define DSECT 311
349 1.7 christos #define COPY 312
350 1.7 christos #define INFO 313
351 1.7 christos #define OVERLAY 314
352 1.10 christos #define READONLY 315
353 1.10 christos #define TYPE 316
354 1.10 christos #define DEFINED 317
355 1.10 christos #define TARGET_K 318
356 1.10 christos #define SEARCH_DIR 319
357 1.10 christos #define MAP 320
358 1.10 christos #define ENTRY 321
359 1.10 christos #define NEXT 322
360 1.10 christos #define SIZEOF 323
361 1.10 christos #define ALIGNOF 324
362 1.10 christos #define ADDR 325
363 1.10 christos #define LOADADDR 326
364 1.10 christos #define MAX_K 327
365 1.10 christos #define MIN_K 328
366 1.10 christos #define STARTUP 329
367 1.10 christos #define HLL 330
368 1.10 christos #define SYSLIB 331
369 1.10 christos #define FLOAT 332
370 1.10 christos #define NOFLOAT 333
371 1.10 christos #define NOCROSSREFS 334
372 1.10 christos #define NOCROSSREFS_TO 335
373 1.10 christos #define ORIGIN 336
374 1.10 christos #define FILL 337
375 1.10 christos #define LENGTH 338
376 1.10 christos #define CREATE_OBJECT_SYMBOLS 339
377 1.10 christos #define INPUT 340
378 1.10 christos #define GROUP 341
379 1.10 christos #define OUTPUT 342
380 1.10 christos #define CONSTRUCTORS 343
381 1.10 christos #define ALIGNMOD 344
382 1.10 christos #define AT 345
383 1.10 christos #define SUBALIGN 346
384 1.10 christos #define HIDDEN 347
385 1.10 christos #define PROVIDE 348
386 1.10 christos #define PROVIDE_HIDDEN 349
387 1.10 christos #define AS_NEEDED 350
388 1.10 christos #define CHIP 351
389 1.10 christos #define LIST 352
390 1.10 christos #define SECT 353
391 1.10 christos #define ABSOLUTE 354
392 1.10 christos #define LOAD 355
393 1.10 christos #define NEWLINE 356
394 1.10 christos #define ENDWORD 357
395 1.10 christos #define ORDER 358
396 1.10 christos #define NAMEWORD 359
397 1.10 christos #define ASSERT_K 360
398 1.10 christos #define LOG2CEIL 361
399 1.10 christos #define FORMAT 362
400 1.10 christos #define PUBLIC 363
401 1.10 christos #define DEFSYMEND 364
402 1.10 christos #define BASE 365
403 1.10 christos #define ALIAS 366
404 1.10 christos #define TRUNCATE 367
405 1.10 christos #define REL 368
406 1.10 christos #define INPUT_SCRIPT 369
407 1.10 christos #define INPUT_MRI_SCRIPT 370
408 1.10 christos #define INPUT_DEFSYM 371
409 1.10 christos #define CASE 372
410 1.10 christos #define EXTERN 373
411 1.10 christos #define START 374
412 1.10 christos #define VERS_TAG 375
413 1.10 christos #define VERS_IDENTIFIER 376
414 1.10 christos #define GLOBAL 377
415 1.10 christos #define LOCAL 378
416 1.10 christos #define VERSIONK 379
417 1.10 christos #define INPUT_VERSION_SCRIPT 380
418 1.10 christos #define KEEP 381
419 1.10 christos #define ONLY_IF_RO 382
420 1.10 christos #define ONLY_IF_RW 383
421 1.10 christos #define SPECIAL 384
422 1.10 christos #define INPUT_SECTION_FLAGS 385
423 1.10 christos #define ALIGN_WITH_INPUT 386
424 1.10 christos #define EXCLUDE_FILE 387
425 1.10 christos #define CONSTANT 388
426 1.10 christos #define INPUT_DYNAMIC_LIST 389
427 1.7 christos
428 1.7 christos /* Value type. */
429 1.4 matt #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
430 1.7 christos union YYSTYPE
431 1.4 matt {
432 1.10 christos #line 62 "ldgram.y"
433 1.7 christos
434 1.1 skrll bfd_vma integer;
435 1.1 skrll struct big_int
436 1.1 skrll {
437 1.1 skrll bfd_vma integer;
438 1.1 skrll char *str;
439 1.1 skrll } bigint;
440 1.1 skrll fill_type *fill;
441 1.1 skrll char *name;
442 1.1 skrll const char *cname;
443 1.1 skrll struct wildcard_spec wildcard;
444 1.1 skrll struct wildcard_list *wildcard_list;
445 1.1 skrll struct name_list *name_list;
446 1.4 matt struct flag_info_list *flag_info_list;
447 1.4 matt struct flag_info *flag_info;
448 1.1 skrll int token;
449 1.1 skrll union etree_union *etree;
450 1.1 skrll struct phdr_info
451 1.1 skrll {
452 1.10 christos bool filehdr;
453 1.10 christos bool phdrs;
454 1.1 skrll union etree_union *at;
455 1.1 skrll union etree_union *flags;
456 1.1 skrll } phdr;
457 1.1 skrll struct lang_nocrossref *nocrossref;
458 1.1 skrll struct lang_output_section_phdr_list *section_phdr;
459 1.1 skrll struct bfd_elf_version_deps *deflist;
460 1.1 skrll struct bfd_elf_version_expr *versyms;
461 1.1 skrll struct bfd_elf_version_tree *versnode;
462 1.7 christos
463 1.10 christos #line 464 "ldgram.c"
464 1.10 christos
465 1.7 christos };
466 1.7 christos typedef union YYSTYPE YYSTYPE;
467 1.7 christos # define YYSTYPE_IS_TRIVIAL 1
468 1.6 christos # define YYSTYPE_IS_DECLARED 1
469 1.3 matt #endif
470 1.3 matt
471 1.3 matt
472 1.7 christos extern YYSTYPE yylval;
473 1.7 christos
474 1.10 christos
475 1.7 christos int yyparse (void);
476 1.7 christos
477 1.10 christos
478 1.7 christos #endif /* !YY_YY_LDGRAM_H_INCLUDED */
479 1.10 christos /* Symbol kind. */
480 1.10 christos enum yysymbol_kind_t
481 1.10 christos {
482 1.10 christos YYSYMBOL_YYEMPTY = -2,
483 1.10 christos YYSYMBOL_YYEOF = 0, /* "end of file" */
484 1.10 christos YYSYMBOL_YYerror = 1, /* error */
485 1.10 christos YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
486 1.10 christos YYSYMBOL_INT = 3, /* INT */
487 1.10 christos YYSYMBOL_NAME = 4, /* NAME */
488 1.10 christos YYSYMBOL_LNAME = 5, /* LNAME */
489 1.10 christos YYSYMBOL_PLUSEQ = 6, /* PLUSEQ */
490 1.10 christos YYSYMBOL_MINUSEQ = 7, /* MINUSEQ */
491 1.10 christos YYSYMBOL_MULTEQ = 8, /* MULTEQ */
492 1.10 christos YYSYMBOL_DIVEQ = 9, /* DIVEQ */
493 1.10 christos YYSYMBOL_10_ = 10, /* '=' */
494 1.10 christos YYSYMBOL_LSHIFTEQ = 11, /* LSHIFTEQ */
495 1.10 christos YYSYMBOL_RSHIFTEQ = 12, /* RSHIFTEQ */
496 1.10 christos YYSYMBOL_ANDEQ = 13, /* ANDEQ */
497 1.10 christos YYSYMBOL_OREQ = 14, /* OREQ */
498 1.10 christos YYSYMBOL_15_ = 15, /* '?' */
499 1.10 christos YYSYMBOL_16_ = 16, /* ':' */
500 1.10 christos YYSYMBOL_OROR = 17, /* OROR */
501 1.10 christos YYSYMBOL_ANDAND = 18, /* ANDAND */
502 1.10 christos YYSYMBOL_19_ = 19, /* '|' */
503 1.10 christos YYSYMBOL_20_ = 20, /* '^' */
504 1.10 christos YYSYMBOL_21_ = 21, /* '&' */
505 1.10 christos YYSYMBOL_EQ = 22, /* EQ */
506 1.10 christos YYSYMBOL_NE = 23, /* NE */
507 1.10 christos YYSYMBOL_24_ = 24, /* '<' */
508 1.10 christos YYSYMBOL_25_ = 25, /* '>' */
509 1.10 christos YYSYMBOL_LE = 26, /* LE */
510 1.10 christos YYSYMBOL_GE = 27, /* GE */
511 1.10 christos YYSYMBOL_LSHIFT = 28, /* LSHIFT */
512 1.10 christos YYSYMBOL_RSHIFT = 29, /* RSHIFT */
513 1.10 christos YYSYMBOL_30_ = 30, /* '+' */
514 1.10 christos YYSYMBOL_31_ = 31, /* '-' */
515 1.10 christos YYSYMBOL_32_ = 32, /* '*' */
516 1.10 christos YYSYMBOL_33_ = 33, /* '/' */
517 1.10 christos YYSYMBOL_34_ = 34, /* '%' */
518 1.10 christos YYSYMBOL_UNARY = 35, /* UNARY */
519 1.10 christos YYSYMBOL_END = 36, /* END */
520 1.10 christos YYSYMBOL_37_ = 37, /* '(' */
521 1.10 christos YYSYMBOL_ALIGN_K = 38, /* ALIGN_K */
522 1.10 christos YYSYMBOL_BLOCK = 39, /* BLOCK */
523 1.10 christos YYSYMBOL_BIND = 40, /* BIND */
524 1.10 christos YYSYMBOL_QUAD = 41, /* QUAD */
525 1.10 christos YYSYMBOL_SQUAD = 42, /* SQUAD */
526 1.10 christos YYSYMBOL_LONG = 43, /* LONG */
527 1.10 christos YYSYMBOL_SHORT = 44, /* SHORT */
528 1.10 christos YYSYMBOL_BYTE = 45, /* BYTE */
529 1.10 christos YYSYMBOL_SECTIONS = 46, /* SECTIONS */
530 1.10 christos YYSYMBOL_PHDRS = 47, /* PHDRS */
531 1.10 christos YYSYMBOL_INSERT_K = 48, /* INSERT_K */
532 1.10 christos YYSYMBOL_AFTER = 49, /* AFTER */
533 1.10 christos YYSYMBOL_BEFORE = 50, /* BEFORE */
534 1.10 christos YYSYMBOL_DATA_SEGMENT_ALIGN = 51, /* DATA_SEGMENT_ALIGN */
535 1.10 christos YYSYMBOL_DATA_SEGMENT_RELRO_END = 52, /* DATA_SEGMENT_RELRO_END */
536 1.10 christos YYSYMBOL_DATA_SEGMENT_END = 53, /* DATA_SEGMENT_END */
537 1.10 christos YYSYMBOL_SORT_BY_NAME = 54, /* SORT_BY_NAME */
538 1.10 christos YYSYMBOL_SORT_BY_ALIGNMENT = 55, /* SORT_BY_ALIGNMENT */
539 1.10 christos YYSYMBOL_SORT_NONE = 56, /* SORT_NONE */
540 1.10 christos YYSYMBOL_SORT_BY_INIT_PRIORITY = 57, /* SORT_BY_INIT_PRIORITY */
541 1.10 christos YYSYMBOL_58_ = 58, /* '{' */
542 1.10 christos YYSYMBOL_59_ = 59, /* '}' */
543 1.10 christos YYSYMBOL_SIZEOF_HEADERS = 60, /* SIZEOF_HEADERS */
544 1.10 christos YYSYMBOL_OUTPUT_FORMAT = 61, /* OUTPUT_FORMAT */
545 1.10 christos YYSYMBOL_FORCE_COMMON_ALLOCATION = 62, /* FORCE_COMMON_ALLOCATION */
546 1.10 christos YYSYMBOL_OUTPUT_ARCH = 63, /* OUTPUT_ARCH */
547 1.10 christos YYSYMBOL_INHIBIT_COMMON_ALLOCATION = 64, /* INHIBIT_COMMON_ALLOCATION */
548 1.10 christos YYSYMBOL_FORCE_GROUP_ALLOCATION = 65, /* FORCE_GROUP_ALLOCATION */
549 1.10 christos YYSYMBOL_SEGMENT_START = 66, /* SEGMENT_START */
550 1.10 christos YYSYMBOL_INCLUDE = 67, /* INCLUDE */
551 1.10 christos YYSYMBOL_MEMORY = 68, /* MEMORY */
552 1.10 christos YYSYMBOL_REGION_ALIAS = 69, /* REGION_ALIAS */
553 1.10 christos YYSYMBOL_LD_FEATURE = 70, /* LD_FEATURE */
554 1.10 christos YYSYMBOL_NOLOAD = 71, /* NOLOAD */
555 1.10 christos YYSYMBOL_DSECT = 72, /* DSECT */
556 1.10 christos YYSYMBOL_COPY = 73, /* COPY */
557 1.10 christos YYSYMBOL_INFO = 74, /* INFO */
558 1.10 christos YYSYMBOL_OVERLAY = 75, /* OVERLAY */
559 1.10 christos YYSYMBOL_READONLY = 76, /* READONLY */
560 1.10 christos YYSYMBOL_TYPE = 77, /* TYPE */
561 1.10 christos YYSYMBOL_DEFINED = 78, /* DEFINED */
562 1.10 christos YYSYMBOL_TARGET_K = 79, /* TARGET_K */
563 1.10 christos YYSYMBOL_SEARCH_DIR = 80, /* SEARCH_DIR */
564 1.10 christos YYSYMBOL_MAP = 81, /* MAP */
565 1.10 christos YYSYMBOL_ENTRY = 82, /* ENTRY */
566 1.10 christos YYSYMBOL_NEXT = 83, /* NEXT */
567 1.10 christos YYSYMBOL_SIZEOF = 84, /* SIZEOF */
568 1.10 christos YYSYMBOL_ALIGNOF = 85, /* ALIGNOF */
569 1.10 christos YYSYMBOL_ADDR = 86, /* ADDR */
570 1.10 christos YYSYMBOL_LOADADDR = 87, /* LOADADDR */
571 1.10 christos YYSYMBOL_MAX_K = 88, /* MAX_K */
572 1.10 christos YYSYMBOL_MIN_K = 89, /* MIN_K */
573 1.10 christos YYSYMBOL_STARTUP = 90, /* STARTUP */
574 1.10 christos YYSYMBOL_HLL = 91, /* HLL */
575 1.10 christos YYSYMBOL_SYSLIB = 92, /* SYSLIB */
576 1.10 christos YYSYMBOL_FLOAT = 93, /* FLOAT */
577 1.10 christos YYSYMBOL_NOFLOAT = 94, /* NOFLOAT */
578 1.10 christos YYSYMBOL_NOCROSSREFS = 95, /* NOCROSSREFS */
579 1.10 christos YYSYMBOL_NOCROSSREFS_TO = 96, /* NOCROSSREFS_TO */
580 1.10 christos YYSYMBOL_ORIGIN = 97, /* ORIGIN */
581 1.10 christos YYSYMBOL_FILL = 98, /* FILL */
582 1.10 christos YYSYMBOL_LENGTH = 99, /* LENGTH */
583 1.10 christos YYSYMBOL_CREATE_OBJECT_SYMBOLS = 100, /* CREATE_OBJECT_SYMBOLS */
584 1.10 christos YYSYMBOL_INPUT = 101, /* INPUT */
585 1.10 christos YYSYMBOL_GROUP = 102, /* GROUP */
586 1.10 christos YYSYMBOL_OUTPUT = 103, /* OUTPUT */
587 1.10 christos YYSYMBOL_CONSTRUCTORS = 104, /* CONSTRUCTORS */
588 1.10 christos YYSYMBOL_ALIGNMOD = 105, /* ALIGNMOD */
589 1.10 christos YYSYMBOL_AT = 106, /* AT */
590 1.10 christos YYSYMBOL_SUBALIGN = 107, /* SUBALIGN */
591 1.10 christos YYSYMBOL_HIDDEN = 108, /* HIDDEN */
592 1.10 christos YYSYMBOL_PROVIDE = 109, /* PROVIDE */
593 1.10 christos YYSYMBOL_PROVIDE_HIDDEN = 110, /* PROVIDE_HIDDEN */
594 1.10 christos YYSYMBOL_AS_NEEDED = 111, /* AS_NEEDED */
595 1.10 christos YYSYMBOL_CHIP = 112, /* CHIP */
596 1.10 christos YYSYMBOL_LIST = 113, /* LIST */
597 1.10 christos YYSYMBOL_SECT = 114, /* SECT */
598 1.10 christos YYSYMBOL_ABSOLUTE = 115, /* ABSOLUTE */
599 1.10 christos YYSYMBOL_LOAD = 116, /* LOAD */
600 1.10 christos YYSYMBOL_NEWLINE = 117, /* NEWLINE */
601 1.10 christos YYSYMBOL_ENDWORD = 118, /* ENDWORD */
602 1.10 christos YYSYMBOL_ORDER = 119, /* ORDER */
603 1.10 christos YYSYMBOL_NAMEWORD = 120, /* NAMEWORD */
604 1.10 christos YYSYMBOL_ASSERT_K = 121, /* ASSERT_K */
605 1.10 christos YYSYMBOL_LOG2CEIL = 122, /* LOG2CEIL */
606 1.10 christos YYSYMBOL_FORMAT = 123, /* FORMAT */
607 1.10 christos YYSYMBOL_PUBLIC = 124, /* PUBLIC */
608 1.10 christos YYSYMBOL_DEFSYMEND = 125, /* DEFSYMEND */
609 1.10 christos YYSYMBOL_BASE = 126, /* BASE */
610 1.10 christos YYSYMBOL_ALIAS = 127, /* ALIAS */
611 1.10 christos YYSYMBOL_TRUNCATE = 128, /* TRUNCATE */
612 1.10 christos YYSYMBOL_REL = 129, /* REL */
613 1.10 christos YYSYMBOL_INPUT_SCRIPT = 130, /* INPUT_SCRIPT */
614 1.10 christos YYSYMBOL_INPUT_MRI_SCRIPT = 131, /* INPUT_MRI_SCRIPT */
615 1.10 christos YYSYMBOL_INPUT_DEFSYM = 132, /* INPUT_DEFSYM */
616 1.10 christos YYSYMBOL_CASE = 133, /* CASE */
617 1.10 christos YYSYMBOL_EXTERN = 134, /* EXTERN */
618 1.10 christos YYSYMBOL_START = 135, /* START */
619 1.10 christos YYSYMBOL_VERS_TAG = 136, /* VERS_TAG */
620 1.10 christos YYSYMBOL_VERS_IDENTIFIER = 137, /* VERS_IDENTIFIER */
621 1.10 christos YYSYMBOL_GLOBAL = 138, /* GLOBAL */
622 1.10 christos YYSYMBOL_LOCAL = 139, /* LOCAL */
623 1.10 christos YYSYMBOL_VERSIONK = 140, /* VERSIONK */
624 1.10 christos YYSYMBOL_INPUT_VERSION_SCRIPT = 141, /* INPUT_VERSION_SCRIPT */
625 1.10 christos YYSYMBOL_KEEP = 142, /* KEEP */
626 1.10 christos YYSYMBOL_ONLY_IF_RO = 143, /* ONLY_IF_RO */
627 1.10 christos YYSYMBOL_ONLY_IF_RW = 144, /* ONLY_IF_RW */
628 1.10 christos YYSYMBOL_SPECIAL = 145, /* SPECIAL */
629 1.10 christos YYSYMBOL_INPUT_SECTION_FLAGS = 146, /* INPUT_SECTION_FLAGS */
630 1.10 christos YYSYMBOL_ALIGN_WITH_INPUT = 147, /* ALIGN_WITH_INPUT */
631 1.10 christos YYSYMBOL_EXCLUDE_FILE = 148, /* EXCLUDE_FILE */
632 1.10 christos YYSYMBOL_CONSTANT = 149, /* CONSTANT */
633 1.10 christos YYSYMBOL_INPUT_DYNAMIC_LIST = 150, /* INPUT_DYNAMIC_LIST */
634 1.10 christos YYSYMBOL_151_ = 151, /* ',' */
635 1.10 christos YYSYMBOL_152_ = 152, /* ';' */
636 1.10 christos YYSYMBOL_153_ = 153, /* ')' */
637 1.10 christos YYSYMBOL_154_ = 154, /* '[' */
638 1.10 christos YYSYMBOL_155_ = 155, /* ']' */
639 1.10 christos YYSYMBOL_156_ = 156, /* '!' */
640 1.10 christos YYSYMBOL_157_ = 157, /* '~' */
641 1.10 christos YYSYMBOL_YYACCEPT = 158, /* $accept */
642 1.10 christos YYSYMBOL_file = 159, /* file */
643 1.10 christos YYSYMBOL_filename = 160, /* filename */
644 1.10 christos YYSYMBOL_defsym_expr = 161, /* defsym_expr */
645 1.10 christos YYSYMBOL_162_1 = 162, /* $@1 */
646 1.10 christos YYSYMBOL_mri_script_file = 163, /* mri_script_file */
647 1.10 christos YYSYMBOL_164_2 = 164, /* $@2 */
648 1.10 christos YYSYMBOL_mri_script_lines = 165, /* mri_script_lines */
649 1.10 christos YYSYMBOL_mri_script_command = 166, /* mri_script_command */
650 1.10 christos YYSYMBOL_167_3 = 167, /* $@3 */
651 1.10 christos YYSYMBOL_ordernamelist = 168, /* ordernamelist */
652 1.10 christos YYSYMBOL_mri_load_name_list = 169, /* mri_load_name_list */
653 1.10 christos YYSYMBOL_mri_abs_name_list = 170, /* mri_abs_name_list */
654 1.10 christos YYSYMBOL_casesymlist = 171, /* casesymlist */
655 1.10 christos YYSYMBOL_extern_name_list = 172, /* extern_name_list */
656 1.10 christos YYSYMBOL_script_file = 173, /* script_file */
657 1.10 christos YYSYMBOL_174_4 = 174, /* $@4 */
658 1.10 christos YYSYMBOL_ifile_list = 175, /* ifile_list */
659 1.10 christos YYSYMBOL_ifile_p1 = 176, /* ifile_p1 */
660 1.10 christos YYSYMBOL_177_5 = 177, /* $@5 */
661 1.10 christos YYSYMBOL_178_6 = 178, /* $@6 */
662 1.10 christos YYSYMBOL_179_7 = 179, /* $@7 */
663 1.10 christos YYSYMBOL_input_list = 180, /* input_list */
664 1.10 christos YYSYMBOL_181_8 = 181, /* $@8 */
665 1.10 christos YYSYMBOL_input_list1 = 182, /* input_list1 */
666 1.10 christos YYSYMBOL_183_9 = 183, /* @9 */
667 1.10 christos YYSYMBOL_184_10 = 184, /* @10 */
668 1.10 christos YYSYMBOL_185_11 = 185, /* @11 */
669 1.10 christos YYSYMBOL_sections = 186, /* sections */
670 1.10 christos YYSYMBOL_sec_or_group_p1 = 187, /* sec_or_group_p1 */
671 1.10 christos YYSYMBOL_statement_anywhere = 188, /* statement_anywhere */
672 1.10 christos YYSYMBOL_189_12 = 189, /* $@12 */
673 1.10 christos YYSYMBOL_wildcard_name = 190, /* wildcard_name */
674 1.10 christos YYSYMBOL_wildcard_maybe_exclude = 191, /* wildcard_maybe_exclude */
675 1.10 christos YYSYMBOL_filename_spec = 192, /* filename_spec */
676 1.10 christos YYSYMBOL_section_name_spec = 193, /* section_name_spec */
677 1.10 christos YYSYMBOL_sect_flag_list = 194, /* sect_flag_list */
678 1.10 christos YYSYMBOL_sect_flags = 195, /* sect_flags */
679 1.10 christos YYSYMBOL_exclude_name_list = 196, /* exclude_name_list */
680 1.10 christos YYSYMBOL_section_name_list = 197, /* section_name_list */
681 1.10 christos YYSYMBOL_input_section_spec_no_keep = 198, /* input_section_spec_no_keep */
682 1.10 christos YYSYMBOL_input_section_spec = 199, /* input_section_spec */
683 1.10 christos YYSYMBOL_200_13 = 200, /* $@13 */
684 1.10 christos YYSYMBOL_statement = 201, /* statement */
685 1.10 christos YYSYMBOL_202_14 = 202, /* $@14 */
686 1.10 christos YYSYMBOL_203_15 = 203, /* $@15 */
687 1.10 christos YYSYMBOL_statement_list = 204, /* statement_list */
688 1.10 christos YYSYMBOL_statement_list_opt = 205, /* statement_list_opt */
689 1.10 christos YYSYMBOL_length = 206, /* length */
690 1.10 christos YYSYMBOL_fill_exp = 207, /* fill_exp */
691 1.10 christos YYSYMBOL_fill_opt = 208, /* fill_opt */
692 1.10 christos YYSYMBOL_assign_op = 209, /* assign_op */
693 1.10 christos YYSYMBOL_separator = 210, /* separator */
694 1.10 christos YYSYMBOL_assignment = 211, /* assignment */
695 1.10 christos YYSYMBOL_opt_comma = 212, /* opt_comma */
696 1.10 christos YYSYMBOL_memory = 213, /* memory */
697 1.10 christos YYSYMBOL_memory_spec_list_opt = 214, /* memory_spec_list_opt */
698 1.10 christos YYSYMBOL_memory_spec_list = 215, /* memory_spec_list */
699 1.10 christos YYSYMBOL_memory_spec = 216, /* memory_spec */
700 1.10 christos YYSYMBOL_217_16 = 217, /* $@16 */
701 1.10 christos YYSYMBOL_218_17 = 218, /* $@17 */
702 1.10 christos YYSYMBOL_origin_spec = 219, /* origin_spec */
703 1.10 christos YYSYMBOL_length_spec = 220, /* length_spec */
704 1.10 christos YYSYMBOL_attributes_opt = 221, /* attributes_opt */
705 1.10 christos YYSYMBOL_attributes_list = 222, /* attributes_list */
706 1.10 christos YYSYMBOL_attributes_string = 223, /* attributes_string */
707 1.10 christos YYSYMBOL_startup = 224, /* startup */
708 1.10 christos YYSYMBOL_high_level_library = 225, /* high_level_library */
709 1.10 christos YYSYMBOL_high_level_library_NAME_list = 226, /* high_level_library_NAME_list */
710 1.10 christos YYSYMBOL_low_level_library = 227, /* low_level_library */
711 1.10 christos YYSYMBOL_low_level_library_NAME_list = 228, /* low_level_library_NAME_list */
712 1.10 christos YYSYMBOL_floating_point_support = 229, /* floating_point_support */
713 1.10 christos YYSYMBOL_nocrossref_list = 230, /* nocrossref_list */
714 1.10 christos YYSYMBOL_paren_script_name = 231, /* paren_script_name */
715 1.10 christos YYSYMBOL_232_18 = 232, /* $@18 */
716 1.10 christos YYSYMBOL_mustbe_exp = 233, /* mustbe_exp */
717 1.10 christos YYSYMBOL_234_19 = 234, /* $@19 */
718 1.10 christos YYSYMBOL_exp = 235, /* exp */
719 1.10 christos YYSYMBOL_236_20 = 236, /* $@20 */
720 1.10 christos YYSYMBOL_237_21 = 237, /* $@21 */
721 1.10 christos YYSYMBOL_memspec_at_opt = 238, /* memspec_at_opt */
722 1.10 christos YYSYMBOL_opt_at = 239, /* opt_at */
723 1.10 christos YYSYMBOL_opt_align = 240, /* opt_align */
724 1.10 christos YYSYMBOL_opt_align_with_input = 241, /* opt_align_with_input */
725 1.10 christos YYSYMBOL_opt_subalign = 242, /* opt_subalign */
726 1.10 christos YYSYMBOL_sect_constraint = 243, /* sect_constraint */
727 1.10 christos YYSYMBOL_section = 244, /* section */
728 1.10 christos YYSYMBOL_245_22 = 245, /* $@22 */
729 1.10 christos YYSYMBOL_246_23 = 246, /* $@23 */
730 1.10 christos YYSYMBOL_247_24 = 247, /* $@24 */
731 1.10 christos YYSYMBOL_248_25 = 248, /* $@25 */
732 1.10 christos YYSYMBOL_249_26 = 249, /* $@26 */
733 1.10 christos YYSYMBOL_250_27 = 250, /* $@27 */
734 1.10 christos YYSYMBOL_251_28 = 251, /* $@28 */
735 1.10 christos YYSYMBOL_252_29 = 252, /* $@29 */
736 1.10 christos YYSYMBOL_253_30 = 253, /* $@30 */
737 1.10 christos YYSYMBOL_254_31 = 254, /* $@31 */
738 1.10 christos YYSYMBOL_255_32 = 255, /* $@32 */
739 1.10 christos YYSYMBOL_type = 256, /* type */
740 1.10 christos YYSYMBOL_atype = 257, /* atype */
741 1.10 christos YYSYMBOL_opt_exp_with_type = 258, /* opt_exp_with_type */
742 1.10 christos YYSYMBOL_opt_exp_without_type = 259, /* opt_exp_without_type */
743 1.10 christos YYSYMBOL_opt_nocrossrefs = 260, /* opt_nocrossrefs */
744 1.10 christos YYSYMBOL_memspec_opt = 261, /* memspec_opt */
745 1.10 christos YYSYMBOL_phdr_opt = 262, /* phdr_opt */
746 1.10 christos YYSYMBOL_overlay_section = 263, /* overlay_section */
747 1.10 christos YYSYMBOL_264_33 = 264, /* $@33 */
748 1.10 christos YYSYMBOL_265_34 = 265, /* $@34 */
749 1.10 christos YYSYMBOL_266_35 = 266, /* $@35 */
750 1.10 christos YYSYMBOL_phdrs = 267, /* phdrs */
751 1.10 christos YYSYMBOL_phdr_list = 268, /* phdr_list */
752 1.10 christos YYSYMBOL_phdr = 269, /* phdr */
753 1.10 christos YYSYMBOL_270_36 = 270, /* $@36 */
754 1.10 christos YYSYMBOL_271_37 = 271, /* $@37 */
755 1.10 christos YYSYMBOL_phdr_type = 272, /* phdr_type */
756 1.10 christos YYSYMBOL_phdr_qualifiers = 273, /* phdr_qualifiers */
757 1.10 christos YYSYMBOL_phdr_val = 274, /* phdr_val */
758 1.10 christos YYSYMBOL_dynamic_list_file = 275, /* dynamic_list_file */
759 1.10 christos YYSYMBOL_276_38 = 276, /* $@38 */
760 1.10 christos YYSYMBOL_dynamic_list_nodes = 277, /* dynamic_list_nodes */
761 1.10 christos YYSYMBOL_dynamic_list_node = 278, /* dynamic_list_node */
762 1.10 christos YYSYMBOL_dynamic_list_tag = 279, /* dynamic_list_tag */
763 1.10 christos YYSYMBOL_version_script_file = 280, /* version_script_file */
764 1.10 christos YYSYMBOL_281_39 = 281, /* $@39 */
765 1.10 christos YYSYMBOL_version = 282, /* version */
766 1.10 christos YYSYMBOL_283_40 = 283, /* $@40 */
767 1.10 christos YYSYMBOL_vers_nodes = 284, /* vers_nodes */
768 1.10 christos YYSYMBOL_vers_node = 285, /* vers_node */
769 1.10 christos YYSYMBOL_verdep = 286, /* verdep */
770 1.10 christos YYSYMBOL_vers_tag = 287, /* vers_tag */
771 1.10 christos YYSYMBOL_vers_defns = 288, /* vers_defns */
772 1.10 christos YYSYMBOL_289_41 = 289, /* @41 */
773 1.10 christos YYSYMBOL_290_42 = 290, /* @42 */
774 1.10 christos YYSYMBOL_opt_semicolon = 291 /* opt_semicolon */
775 1.10 christos };
776 1.10 christos typedef enum yysymbol_kind_t yysymbol_kind_t;
777 1.10 christos
778 1.5 christos
779 1.5 christos
780 1.4 matt
781 1.4 matt #ifdef short
782 1.4 matt # undef short
783 1.4 matt #endif
784 1.4 matt
785 1.10 christos /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
786 1.10 christos <limits.h> and (if available) <stdint.h> are included
787 1.10 christos so that the code can choose integer types of a good width. */
788 1.10 christos
789 1.10 christos #ifndef __PTRDIFF_MAX__
790 1.10 christos # include <limits.h> /* INFRINGES ON USER NAME SPACE */
791 1.10 christos # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
792 1.10 christos # include <stdint.h> /* INFRINGES ON USER NAME SPACE */
793 1.10 christos # define YY_STDINT_H
794 1.10 christos # endif
795 1.10 christos #endif
796 1.10 christos
797 1.10 christos /* Narrow types that promote to a signed type and that can represent a
798 1.10 christos signed or unsigned integer of at least N bits. In tables they can
799 1.10 christos save space and decrease cache pressure. Promoting to a signed type
800 1.10 christos helps avoid bugs in integer arithmetic. */
801 1.10 christos
802 1.10 christos #ifdef __INT_LEAST8_MAX__
803 1.10 christos typedef __INT_LEAST8_TYPE__ yytype_int8;
804 1.10 christos #elif defined YY_STDINT_H
805 1.10 christos typedef int_least8_t yytype_int8;
806 1.4 matt #else
807 1.10 christos typedef signed char yytype_int8;
808 1.4 matt #endif
809 1.1 skrll
810 1.10 christos #ifdef __INT_LEAST16_MAX__
811 1.10 christos typedef __INT_LEAST16_TYPE__ yytype_int16;
812 1.10 christos #elif defined YY_STDINT_H
813 1.10 christos typedef int_least16_t yytype_int16;
814 1.7 christos #else
815 1.10 christos typedef short yytype_int16;
816 1.10 christos #endif
817 1.10 christos
818 1.10 christos /* Work around bug in HP-UX 11.23, which defines these macros
819 1.10 christos incorrectly for preprocessor constants. This workaround can likely
820 1.10 christos be removed in 2023, as HPE has promised support for HP-UX 11.23
821 1.10 christos (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
822 1.10 christos <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
823 1.10 christos #ifdef __hpux
824 1.10 christos # undef UINT_LEAST8_MAX
825 1.10 christos # undef UINT_LEAST16_MAX
826 1.10 christos # define UINT_LEAST8_MAX 255
827 1.10 christos # define UINT_LEAST16_MAX 65535
828 1.3 matt #endif
829 1.4 matt
830 1.10 christos #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
831 1.10 christos typedef __UINT_LEAST8_TYPE__ yytype_uint8;
832 1.10 christos #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
833 1.10 christos && UINT_LEAST8_MAX <= INT_MAX)
834 1.10 christos typedef uint_least8_t yytype_uint8;
835 1.10 christos #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
836 1.10 christos typedef unsigned char yytype_uint8;
837 1.4 matt #else
838 1.10 christos typedef short yytype_uint8;
839 1.3 matt #endif
840 1.4 matt
841 1.10 christos #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
842 1.10 christos typedef __UINT_LEAST16_TYPE__ yytype_uint16;
843 1.10 christos #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
844 1.10 christos && UINT_LEAST16_MAX <= INT_MAX)
845 1.10 christos typedef uint_least16_t yytype_uint16;
846 1.10 christos #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
847 1.10 christos typedef unsigned short yytype_uint16;
848 1.4 matt #else
849 1.10 christos typedef int yytype_uint16;
850 1.10 christos #endif
851 1.10 christos
852 1.10 christos #ifndef YYPTRDIFF_T
853 1.10 christos # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
854 1.10 christos # define YYPTRDIFF_T __PTRDIFF_TYPE__
855 1.10 christos # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
856 1.10 christos # elif defined PTRDIFF_MAX
857 1.10 christos # ifndef ptrdiff_t
858 1.10 christos # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
859 1.10 christos # endif
860 1.10 christos # define YYPTRDIFF_T ptrdiff_t
861 1.10 christos # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
862 1.10 christos # else
863 1.10 christos # define YYPTRDIFF_T long
864 1.10 christos # define YYPTRDIFF_MAXIMUM LONG_MAX
865 1.10 christos # endif
866 1.3 matt #endif
867 1.4 matt
868 1.4 matt #ifndef YYSIZE_T
869 1.4 matt # ifdef __SIZE_TYPE__
870 1.4 matt # define YYSIZE_T __SIZE_TYPE__
871 1.4 matt # elif defined size_t
872 1.4 matt # define YYSIZE_T size_t
873 1.10 christos # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
874 1.4 matt # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
875 1.4 matt # define YYSIZE_T size_t
876 1.4 matt # else
877 1.10 christos # define YYSIZE_T unsigned
878 1.4 matt # endif
879 1.3 matt #endif
880 1.3 matt
881 1.10 christos #define YYSIZE_MAXIMUM \
882 1.10 christos YY_CAST (YYPTRDIFF_T, \
883 1.10 christos (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
884 1.10 christos ? YYPTRDIFF_MAXIMUM \
885 1.10 christos : YY_CAST (YYSIZE_T, -1)))
886 1.10 christos
887 1.10 christos #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
888 1.10 christos
889 1.10 christos
890 1.10 christos /* Stored state numbers (used for stacks). */
891 1.10 christos typedef yytype_int16 yy_state_t;
892 1.10 christos
893 1.10 christos /* State numbers in computations. */
894 1.10 christos typedef int yy_state_fast_t;
895 1.4 matt
896 1.3 matt #ifndef YY_
897 1.4 matt # if defined YYENABLE_NLS && YYENABLE_NLS
898 1.3 matt # if ENABLE_NLS
899 1.3 matt # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
900 1.7 christos # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
901 1.3 matt # endif
902 1.3 matt # endif
903 1.3 matt # ifndef YY_
904 1.7 christos # define YY_(Msgid) Msgid
905 1.7 christos # endif
906 1.7 christos #endif
907 1.7 christos
908 1.10 christos
909 1.10 christos #ifndef YY_ATTRIBUTE_PURE
910 1.10 christos # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
911 1.10 christos # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
912 1.7 christos # else
913 1.10 christos # define YY_ATTRIBUTE_PURE
914 1.7 christos # endif
915 1.7 christos #endif
916 1.7 christos
917 1.7 christos #ifndef YY_ATTRIBUTE_UNUSED
918 1.10 christos # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
919 1.10 christos # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
920 1.7 christos # else
921 1.10 christos # define YY_ATTRIBUTE_UNUSED
922 1.3 matt # endif
923 1.3 matt #endif
924 1.3 matt
925 1.4 matt /* Suppress unused-variable warnings by "using" E. */
926 1.4 matt #if ! defined lint || defined __GNUC__
927 1.10 christos # define YY_USE(E) ((void) (E))
928 1.4 matt #else
929 1.10 christos # define YY_USE(E) /* empty */
930 1.4 matt #endif
931 1.4 matt
932 1.7 christos /* Suppress an incorrect diagnostic about yylval being uninitialized. */
933 1.10 christos #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
934 1.10 christos # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
935 1.10 christos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
936 1.10 christos _Pragma ("GCC diagnostic push") \
937 1.10 christos _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
938 1.10 christos # else
939 1.10 christos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
940 1.10 christos _Pragma ("GCC diagnostic push") \
941 1.10 christos _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
942 1.7 christos _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
943 1.10 christos # endif
944 1.10 christos # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
945 1.7 christos _Pragma ("GCC diagnostic pop")
946 1.4 matt #else
947 1.7 christos # define YY_INITIAL_VALUE(Value) Value
948 1.7 christos #endif
949 1.7 christos #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
950 1.7 christos # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
951 1.7 christos # define YY_IGNORE_MAYBE_UNINITIALIZED_END
952 1.5 christos #endif
953 1.7 christos #ifndef YY_INITIAL_VALUE
954 1.7 christos # define YY_INITIAL_VALUE(Value) /* Nothing. */
955 1.4 matt #endif
956 1.4 matt
957 1.10 christos #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
958 1.10 christos # define YY_IGNORE_USELESS_CAST_BEGIN \
959 1.10 christos _Pragma ("GCC diagnostic push") \
960 1.10 christos _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
961 1.10 christos # define YY_IGNORE_USELESS_CAST_END \
962 1.10 christos _Pragma ("GCC diagnostic pop")
963 1.10 christos #endif
964 1.10 christos #ifndef YY_IGNORE_USELESS_CAST_BEGIN
965 1.10 christos # define YY_IGNORE_USELESS_CAST_BEGIN
966 1.10 christos # define YY_IGNORE_USELESS_CAST_END
967 1.10 christos #endif
968 1.7 christos
969 1.10 christos
970 1.10 christos #define YY_ASSERT(E) ((void) (0 && (E)))
971 1.10 christos
972 1.10 christos #if !defined yyoverflow
973 1.3 matt
974 1.3 matt /* The parser invokes alloca or malloc; define the necessary symbols. */
975 1.3 matt
976 1.3 matt # ifdef YYSTACK_USE_ALLOCA
977 1.3 matt # if YYSTACK_USE_ALLOCA
978 1.3 matt # ifdef __GNUC__
979 1.3 matt # define YYSTACK_ALLOC __builtin_alloca
980 1.4 matt # elif defined __BUILTIN_VA_ARG_INCR
981 1.4 matt # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
982 1.4 matt # elif defined _AIX
983 1.4 matt # define YYSTACK_ALLOC __alloca
984 1.4 matt # elif defined _MSC_VER
985 1.4 matt # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
986 1.4 matt # define alloca _alloca
987 1.3 matt # else
988 1.3 matt # define YYSTACK_ALLOC alloca
989 1.7 christos # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
990 1.3 matt # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
991 1.7 christos /* Use EXIT_SUCCESS as a witness for stdlib.h. */
992 1.7 christos # ifndef EXIT_SUCCESS
993 1.7 christos # define EXIT_SUCCESS 0
994 1.4 matt # endif
995 1.3 matt # endif
996 1.3 matt # endif
997 1.3 matt # endif
998 1.3 matt # endif
999 1.3 matt
1000 1.3 matt # ifdef YYSTACK_ALLOC
1001 1.7 christos /* Pacify GCC's 'empty if-body' warning. */
1002 1.7 christos # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1003 1.3 matt # ifndef YYSTACK_ALLOC_MAXIMUM
1004 1.3 matt /* The OS might guarantee only one guard page at the bottom of the stack,
1005 1.3 matt and a page size can be as small as 4096 bytes. So we cannot safely
1006 1.3 matt invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1007 1.3 matt to allow for a few compiler-allocated temporary stack slots. */
1008 1.4 matt # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1009 1.3 matt # endif
1010 1.1 skrll # else
1011 1.3 matt # define YYSTACK_ALLOC YYMALLOC
1012 1.3 matt # define YYSTACK_FREE YYFREE
1013 1.3 matt # ifndef YYSTACK_ALLOC_MAXIMUM
1014 1.4 matt # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1015 1.3 matt # endif
1016 1.7 christos # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1017 1.4 matt && ! ((defined YYMALLOC || defined malloc) \
1018 1.7 christos && (defined YYFREE || defined free)))
1019 1.4 matt # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1020 1.7 christos # ifndef EXIT_SUCCESS
1021 1.7 christos # define EXIT_SUCCESS 0
1022 1.4 matt # endif
1023 1.3 matt # endif
1024 1.3 matt # ifndef YYMALLOC
1025 1.3 matt # define YYMALLOC malloc
1026 1.7 christos # if ! defined malloc && ! defined EXIT_SUCCESS
1027 1.3 matt void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1028 1.3 matt # endif
1029 1.3 matt # endif
1030 1.3 matt # ifndef YYFREE
1031 1.3 matt # define YYFREE free
1032 1.7 christos # if ! defined free && ! defined EXIT_SUCCESS
1033 1.3 matt void free (void *); /* INFRINGES ON USER NAME SPACE */
1034 1.3 matt # endif
1035 1.3 matt # endif
1036 1.3 matt # endif
1037 1.10 christos #endif /* !defined yyoverflow */
1038 1.3 matt
1039 1.4 matt #if (! defined yyoverflow \
1040 1.4 matt && (! defined __cplusplus \
1041 1.7 christos || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1042 1.3 matt
1043 1.3 matt /* A type that is properly aligned for any stack member. */
1044 1.3 matt union yyalloc
1045 1.3 matt {
1046 1.10 christos yy_state_t yyss_alloc;
1047 1.7 christos YYSTYPE yyvs_alloc;
1048 1.7 christos };
1049 1.3 matt
1050 1.3 matt /* The size of the maximum gap between one aligned stack and the next. */
1051 1.10 christos # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1052 1.3 matt
1053 1.3 matt /* The size of an array large to enough to hold all stacks, each with
1054 1.3 matt N elements. */
1055 1.3 matt # define YYSTACK_BYTES(N) \
1056 1.10 christos ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
1057 1.3 matt + YYSTACK_GAP_MAXIMUM)
1058 1.3 matt
1059 1.7 christos # define YYCOPY_NEEDED 1
1060 1.3 matt
1061 1.3 matt /* Relocate STACK from its old location to the new one. The
1062 1.3 matt local variables YYSIZE and YYSTACKSIZE give the old and new number of
1063 1.3 matt elements in the stack, and YYPTR gives the new location of the
1064 1.3 matt stack. Advance YYPTR to a properly aligned location for the next
1065 1.3 matt stack. */
1066 1.7 christos # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1067 1.7 christos do \
1068 1.7 christos { \
1069 1.10 christos YYPTRDIFF_T yynewbytes; \
1070 1.7 christos YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1071 1.7 christos Stack = &yyptr->Stack_alloc; \
1072 1.10 christos yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1073 1.10 christos yyptr += yynewbytes / YYSIZEOF (*yyptr); \
1074 1.7 christos } \
1075 1.7 christos while (0)
1076 1.1 skrll
1077 1.1 skrll #endif
1078 1.1 skrll
1079 1.7 christos #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1080 1.7 christos /* Copy COUNT objects from SRC to DST. The source and destination do
1081 1.7 christos not overlap. */
1082 1.7 christos # ifndef YYCOPY
1083 1.7 christos # if defined __GNUC__ && 1 < __GNUC__
1084 1.7 christos # define YYCOPY(Dst, Src, Count) \
1085 1.10 christos __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1086 1.7 christos # else
1087 1.7 christos # define YYCOPY(Dst, Src, Count) \
1088 1.7 christos do \
1089 1.7 christos { \
1090 1.10 christos YYPTRDIFF_T yyi; \
1091 1.7 christos for (yyi = 0; yyi < (Count); yyi++) \
1092 1.7 christos (Dst)[yyi] = (Src)[yyi]; \
1093 1.7 christos } \
1094 1.7 christos while (0)
1095 1.7 christos # endif
1096 1.7 christos # endif
1097 1.7 christos #endif /* !YYCOPY_NEEDED */
1098 1.7 christos
1099 1.4 matt /* YYFINAL -- State number of the termination state. */
1100 1.3 matt #define YYFINAL 17
1101 1.3 matt /* YYLAST -- Last index in YYTABLE. */
1102 1.10 christos #define YYLAST 2005
1103 1.3 matt
1104 1.4 matt /* YYNTOKENS -- Number of terminals. */
1105 1.10 christos #define YYNTOKENS 158
1106 1.4 matt /* YYNNTS -- Number of nonterminals. */
1107 1.10 christos #define YYNNTS 134
1108 1.4 matt /* YYNRULES -- Number of rules. */
1109 1.10 christos #define YYNRULES 378
1110 1.7 christos /* YYNSTATES -- Number of states. */
1111 1.10 christos #define YYNSTATES 810
1112 1.3 matt
1113 1.10 christos /* YYMAXUTOK -- Last valid token kind. */
1114 1.10 christos #define YYMAXUTOK 389
1115 1.3 matt
1116 1.10 christos
1117 1.10 christos /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1118 1.10 christos as returned by yylex, with out-of-bounds checking. */
1119 1.10 christos #define YYTRANSLATE(YYX) \
1120 1.10 christos (0 <= (YYX) && (YYX) <= YYMAXUTOK \
1121 1.10 christos ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
1122 1.10 christos : YYSYMBOL_YYUNDEF)
1123 1.3 matt
1124 1.7 christos /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1125 1.10 christos as returned by yylex. */
1126 1.4 matt static const yytype_uint8 yytranslate[] =
1127 1.3 matt {
1128 1.3 matt 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1130 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 1.10 christos 2, 2, 2, 156, 2, 2, 2, 34, 21, 2,
1132 1.10 christos 37, 153, 32, 30, 151, 31, 2, 33, 2, 2,
1133 1.10 christos 2, 2, 2, 2, 2, 2, 2, 2, 16, 152,
1134 1.7 christos 24, 10, 25, 15, 2, 2, 2, 2, 2, 2,
1135 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1136 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1137 1.10 christos 2, 154, 2, 155, 20, 2, 2, 2, 2, 2,
1138 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1139 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1140 1.10 christos 2, 2, 2, 58, 19, 59, 157, 2, 2, 2,
1141 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1143 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1146 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 1.3 matt 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 1.3 matt 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1154 1.7 christos 5, 6, 7, 8, 9, 11, 12, 13, 14, 17,
1155 1.3 matt 18, 22, 23, 26, 27, 28, 29, 35, 36, 38,
1156 1.3 matt 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1157 1.4 matt 49, 50, 51, 52, 53, 54, 55, 56, 57, 60,
1158 1.3 matt 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1159 1.3 matt 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1160 1.3 matt 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1161 1.3 matt 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1162 1.3 matt 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1163 1.3 matt 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1164 1.3 matt 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1165 1.4 matt 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1166 1.10 christos 141, 142, 143, 144, 145, 146, 147, 148, 149, 150
1167 1.3 matt };
1168 1.3 matt
1169 1.3 matt #if YYDEBUG
1170 1.10 christos /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1171 1.10 christos static const yytype_int16 yyrline[] =
1172 1.3 matt {
1173 1.10 christos 0, 169, 169, 170, 171, 172, 173, 177, 181, 181,
1174 1.10 christos 188, 188, 201, 202, 206, 207, 208, 211, 214, 215,
1175 1.10 christos 216, 218, 220, 222, 224, 226, 228, 230, 232, 234,
1176 1.10 christos 236, 238, 239, 240, 242, 244, 246, 248, 250, 251,
1177 1.10 christos 253, 252, 255, 257, 261, 262, 263, 267, 269, 273,
1178 1.10 christos 275, 280, 281, 282, 286, 288, 290, 295, 295, 301,
1179 1.10 christos 302, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1180 1.10 christos 316, 317, 319, 321, 323, 326, 328, 330, 332, 334,
1181 1.10 christos 336, 338, 337, 341, 344, 343, 346, 350, 354, 354,
1182 1.10 christos 356, 358, 360, 362, 367, 367, 372, 375, 378, 381,
1183 1.10 christos 384, 387, 391, 390, 396, 395, 401, 400, 408, 412,
1184 1.10 christos 413, 414, 418, 420, 421, 421, 427, 434, 441, 451,
1185 1.10 christos 452, 457, 465, 466, 471, 476, 481, 486, 491, 496,
1186 1.10 christos 501, 508, 526, 547, 560, 569, 580, 589, 600, 609,
1187 1.10 christos 618, 622, 631, 635, 643, 645, 644, 651, 652, 653,
1188 1.10 christos 657, 661, 666, 667, 672, 677, 676, 684, 683, 691,
1189 1.10 christos 692, 695, 697, 701, 703, 705, 707, 709, 714, 721,
1190 1.10 christos 723, 727, 729, 731, 733, 735, 737, 739, 741, 746,
1191 1.10 christos 746, 751, 755, 763, 767, 771, 779, 779, 783, 786,
1192 1.10 christos 786, 789, 790, 795, 794, 800, 799, 805, 812, 825,
1193 1.10 christos 826, 830, 831, 835, 837, 842, 847, 848, 853, 855,
1194 1.10 christos 860, 864, 866, 870, 872, 878, 881, 890, 901, 901,
1195 1.10 christos 905, 905, 911, 913, 915, 917, 919, 921, 924, 926,
1196 1.10 christos 928, 930, 932, 934, 936, 938, 940, 942, 944, 946,
1197 1.10 christos 948, 950, 952, 954, 956, 958, 960, 962, 964, 966,
1198 1.10 christos 969, 971, 973, 975, 977, 979, 981, 983, 985, 987,
1199 1.10 christos 989, 991, 992, 991, 1001, 1003, 1005, 1007, 1009, 1011,
1200 1.10 christos 1013, 1015, 1021, 1022, 1026, 1027, 1031, 1032, 1036, 1037,
1201 1.10 christos 1041, 1042, 1046, 1047, 1048, 1049, 1053, 1060, 1069, 1071,
1202 1.10 christos 1052, 1089, 1091, 1093, 1099, 1088, 1114, 1116, 1113, 1122,
1203 1.10 christos 1121, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1140,
1204 1.10 christos 1141, 1142, 1146, 1147, 1152, 1153, 1158, 1159, 1164, 1165,
1205 1.10 christos 1170, 1172, 1177, 1180, 1193, 1197, 1204, 1206, 1195, 1218,
1206 1.10 christos 1221, 1223, 1227, 1228, 1227, 1237, 1286, 1289, 1302, 1311,
1207 1.10 christos 1314, 1321, 1321, 1333, 1334, 1338, 1342, 1351, 1351, 1365,
1208 1.10 christos 1365, 1375, 1376, 1380, 1384, 1388, 1395, 1399, 1407, 1410,
1209 1.10 christos 1414, 1418, 1422, 1429, 1433, 1437, 1441, 1446, 1445, 1459,
1210 1.10 christos 1458, 1468, 1472, 1476, 1480, 1484, 1488, 1494, 1496
1211 1.3 matt };
1212 1.2 matt #endif
1213 1.3 matt
1214 1.10 christos /** Accessing symbol of state STATE. */
1215 1.10 christos #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
1216 1.10 christos
1217 1.10 christos #if YYDEBUG || 0
1218 1.10 christos /* The user-facing name of the symbol whose (internal) number is
1219 1.10 christos YYSYMBOL. No bounds checking. */
1220 1.10 christos static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
1221 1.10 christos
1222 1.3 matt /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1223 1.4 matt First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1224 1.3 matt static const char *const yytname[] =
1225 1.3 matt {
1226 1.10 christos "\"end of file\"", "error", "\"invalid token\"", "INT", "NAME", "LNAME",
1227 1.10 christos "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ",
1228 1.10 christos "ANDEQ", "OREQ", "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'",
1229 1.10 christos "EQ", "NE", "'<'", "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'",
1230 1.10 christos "'*'", "'/'", "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND",
1231 1.10 christos "QUAD", "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS",
1232 1.10 christos "INSERT_K", "AFTER", "BEFORE", "DATA_SEGMENT_ALIGN",
1233 1.10 christos "DATA_SEGMENT_RELRO_END", "DATA_SEGMENT_END", "SORT_BY_NAME",
1234 1.10 christos "SORT_BY_ALIGNMENT", "SORT_NONE", "SORT_BY_INIT_PRIORITY", "'{'", "'}'",
1235 1.10 christos "SIZEOF_HEADERS", "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION",
1236 1.10 christos "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", "FORCE_GROUP_ALLOCATION",
1237 1.10 christos "SEGMENT_START", "INCLUDE", "MEMORY", "REGION_ALIAS", "LD_FEATURE",
1238 1.10 christos "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "READONLY", "TYPE",
1239 1.10 christos "DEFINED", "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF",
1240 1.10 christos "ALIGNOF", "ADDR", "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL",
1241 1.10 christos "SYSLIB", "FLOAT", "NOFLOAT", "NOCROSSREFS", "NOCROSSREFS_TO", "ORIGIN",
1242 1.10 christos "FILL", "LENGTH", "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT",
1243 1.10 christos "CONSTRUCTORS", "ALIGNMOD", "AT", "SUBALIGN", "HIDDEN", "PROVIDE",
1244 1.10 christos "PROVIDE_HIDDEN", "AS_NEEDED", "CHIP", "LIST", "SECT", "ABSOLUTE",
1245 1.10 christos "LOAD", "NEWLINE", "ENDWORD", "ORDER", "NAMEWORD", "ASSERT_K",
1246 1.10 christos "LOG2CEIL", "FORMAT", "PUBLIC", "DEFSYMEND", "BASE", "ALIAS", "TRUNCATE",
1247 1.10 christos "REL", "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE",
1248 1.10 christos "EXTERN", "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL",
1249 1.10 christos "VERSIONK", "INPUT_VERSION_SCRIPT", "KEEP", "ONLY_IF_RO", "ONLY_IF_RW",
1250 1.10 christos "SPECIAL", "INPUT_SECTION_FLAGS", "ALIGN_WITH_INPUT", "EXCLUDE_FILE",
1251 1.10 christos "CONSTANT", "INPUT_DYNAMIC_LIST", "','", "';'", "')'", "'['", "']'",
1252 1.10 christos "'!'", "'~'", "$accept", "file", "filename", "defsym_expr", "$@1",
1253 1.10 christos "mri_script_file", "$@2", "mri_script_lines", "mri_script_command",
1254 1.10 christos "$@3", "ordernamelist", "mri_load_name_list", "mri_abs_name_list",
1255 1.10 christos "casesymlist", "extern_name_list", "script_file", "$@4", "ifile_list",
1256 1.10 christos "ifile_p1", "$@5", "$@6", "$@7", "input_list", "$@8", "input_list1",
1257 1.10 christos "@9", "@10", "@11", "sections", "sec_or_group_p1", "statement_anywhere",
1258 1.10 christos "$@12", "wildcard_name", "wildcard_maybe_exclude", "filename_spec",
1259 1.7 christos "section_name_spec", "sect_flag_list", "sect_flags", "exclude_name_list",
1260 1.7 christos "section_name_list", "input_section_spec_no_keep", "input_section_spec",
1261 1.7 christos "$@13", "statement", "$@14", "$@15", "statement_list",
1262 1.6 christos "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op",
1263 1.10 christos "separator", "assignment", "opt_comma", "memory", "memory_spec_list_opt",
1264 1.7 christos "memory_spec_list", "memory_spec", "$@16", "$@17", "origin_spec",
1265 1.6 christos "length_spec", "attributes_opt", "attributes_list", "attributes_string",
1266 1.6 christos "startup", "high_level_library", "high_level_library_NAME_list",
1267 1.6 christos "low_level_library", "low_level_library_NAME_list",
1268 1.10 christos "floating_point_support", "nocrossref_list", "paren_script_name", "$@18",
1269 1.10 christos "mustbe_exp", "$@19", "exp", "$@20", "$@21", "memspec_at_opt", "opt_at",
1270 1.10 christos "opt_align", "opt_align_with_input", "opt_subalign", "sect_constraint",
1271 1.10 christos "section", "$@22", "$@23", "$@24", "$@25", "$@26", "$@27", "$@28",
1272 1.10 christos "$@29", "$@30", "$@31", "$@32", "type", "atype", "opt_exp_with_type",
1273 1.10 christos "opt_exp_without_type", "opt_nocrossrefs", "memspec_opt", "phdr_opt",
1274 1.10 christos "overlay_section", "$@33", "$@34", "$@35", "phdrs", "phdr_list", "phdr",
1275 1.10 christos "$@36", "$@37", "phdr_type", "phdr_qualifiers", "phdr_val",
1276 1.10 christos "dynamic_list_file", "$@38", "dynamic_list_nodes", "dynamic_list_node",
1277 1.10 christos "dynamic_list_tag", "version_script_file", "$@39", "version", "$@40",
1278 1.10 christos "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns", "@41",
1279 1.10 christos "@42", "opt_semicolon", YY_NULLPTR
1280 1.3 matt };
1281 1.1 skrll
1282 1.10 christos static const char *
1283 1.10 christos yysymbol_name (yysymbol_kind_t yysymbol)
1284 1.3 matt {
1285 1.10 christos return yytname[yysymbol];
1286 1.10 christos }
1287 1.10 christos #endif
1288 1.1 skrll
1289 1.10 christos #define YYPACT_NINF (-750)
1290 1.7 christos
1291 1.10 christos #define yypact_value_is_default(Yyn) \
1292 1.10 christos ((Yyn) == YYPACT_NINF)
1293 1.7 christos
1294 1.10 christos #define YYTABLE_NINF (-350)
1295 1.7 christos
1296 1.10 christos #define yytable_value_is_error(Yyn) \
1297 1.7 christos 0
1298 1.5 christos
1299 1.10 christos /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1300 1.10 christos STATE-NUM. */
1301 1.7 christos static const yytype_int16 yypact[] =
1302 1.3 matt {
1303 1.10 christos 147, -750, -750, -750, -750, -750, 90, -750, -750, -750,
1304 1.10 christos -750, -750, 20, -750, -16, -750, -26, -750, 915, 1765,
1305 1.10 christos 453, 56, 68, 89, -750, 106, 59, -16, -750, 112,
1306 1.10 christos -26, -750, 69, 73, 52, 98, -750, 114, -750, -750,
1307 1.10 christos 184, 176, 198, 204, 205, 210, 211, 215, 232, 233,
1308 1.10 christos 238, -750, -750, 243, 252, 256, -750, 261, -750, 262,
1309 1.10 christos -750, -750, -750, -750, -43, -750, -750, -750, -750, -750,
1310 1.10 christos -750, -750, 161, -750, 298, 184, 299, 768, -750, 300,
1311 1.10 christos 309, 310, -750, -750, 311, 312, 321, 768, 322, 325,
1312 1.10 christos 328, 338, 339, 207, -750, -750, -750, -750, -750, -750,
1313 1.10 christos -750, -750, -750, -750, 340, 341, 343, -750, 344, -750,
1314 1.10 christos 313, 342, 304, 236, 106, -750, -750, -750, 330, 245,
1315 1.10 christos -750, -750, -750, 380, 395, 396, 398, -750, -750, 30,
1316 1.10 christos 409, 410, 411, 184, 184, 413, 184, 13, -750, 414,
1317 1.10 christos 414, -750, 383, 184, 386, -750, -750, -750, -750, 366,
1318 1.10 christos 2, -750, 77, -750, -750, 768, 768, 768, 388, 389,
1319 1.10 christos 390, 394, 397, -750, -750, 399, 400, -750, -750, -750,
1320 1.10 christos -750, 401, 403, -750, -750, 404, 412, 415, 416, 768,
1321 1.10 christos 768, 1550, 391, -750, 281, -750, 282, 43, -750, -750,
1322 1.10 christos 506, 1820, 284, -750, -750, 297, -750, 44, -750, -750,
1323 1.10 christos -750, 768, -750, 440, 444, 458, 423, 112, 112, 318,
1324 1.10 christos 120, 425, 319, 120, 337, 22, -750, -750, -94, 329,
1325 1.10 christos -750, -750, 184, 426, -14, -750, 335, 334, 336, 346,
1326 1.10 christos 349, 351, 352, -750, -750, -30, 7, 49, 354, 355,
1327 1.10 christos 361, 23, -750, 362, 768, 338, -16, 768, 768, -750,
1328 1.10 christos 768, 768, -750, -750, 347, 768, 768, 768, 768, 768,
1329 1.10 christos 435, 469, 768, -750, 455, -750, -750, -750, 768, 768,
1330 1.10 christos -750, -750, 768, 768, 768, 490, -750, -750, 768, 768,
1331 1.10 christos 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1332 1.10 christos 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1333 1.10 christos 1820, 492, 513, -750, 516, 768, 768, 1820, 151, 517,
1334 1.10 christos -750, 518, 1820, -750, -750, -750, -750, 371, 372, -750,
1335 1.10 christos -750, 521, -750, -750, -750, -74, -750, 453, -750, 184,
1336 1.10 christos -750, -750, -750, -750, -750, -750, -750, 522, -750, -750,
1337 1.10 christos 983, 491, -750, -750, -750, 30, 525, -750, -750, -750,
1338 1.10 christos -750, -750, -750, -750, 184, -750, 184, 414, -750, -750,
1339 1.10 christos -750, -750, -750, -750, 493, 39, 378, -750, 1570, 48,
1340 1.10 christos -4, 1820, 1820, 1790, 1820, 1820, -750, 881, 1119, 1590,
1341 1.10 christos 1610, 1139, 528, 385, 1159, 535, 1630, 1685, 1179, 1705,
1342 1.10 christos 1199, 393, 925, 1236, 1099, 1371, 1507, 1643, 674, 674,
1343 1.10 christos 377, 377, 377, 377, 320, 320, 79, 79, -750, -750,
1344 1.10 christos -750, 1820, 1820, 1820, -750, -750, -750, 1820, 1820, -750,
1345 1.10 christos -750, -750, -750, 402, 417, 421, 112, 129, 120, 494,
1346 1.10 christos -750, -750, -70, 594, -750, 681, 594, 768, 405, -750,
1347 1.10 christos 9, 534, 30, -750, 422, -750, -750, -750, -750, -750,
1348 1.10 christos -750, 514, 46, -750, 549, -750, -750, -750, 768, -750,
1349 1.10 christos -750, 768, 768, -750, -750, -750, -750, 424, 768, 768,
1350 1.10 christos -750, 559, -750, -750, 768, -750, -750, -750, 427, 548,
1351 1.10 christos -750, -750, -750, 234, 530, 1787, 552, 459, -750, -750,
1352 1.10 christos 1916, 474, -750, 1820, 42, 572, -750, 574, 3, -750,
1353 1.10 christos 484, 546, -750, 23, -750, -750, -750, 550, 430, 1219,
1354 1.10 christos 1256, 1276, 445, -750, 1296, 1316, 433, 1820, 120, 540,
1355 1.10 christos 112, 112, -750, -750, -750, -750, -750, 563, 591, -750,
1356 1.10 christos 449, 768, 263, 588, -750, 569, 570, 706, -750, -750,
1357 1.10 christos 459, 551, 573, 585, -750, 454, -750, -750, -750, 613,
1358 1.10 christos 475, -750, 25, 23, -750, -750, -750, -750, -750, 768,
1359 1.10 christos -750, -750, -750, -750, 477, 427, 560, 768, -750, 1336,
1360 1.10 christos -750, 768, 599, 495, -750, 531, -750, 768, 42, 768,
1361 1.10 christos 487, -750, -750, 541, -750, 36, 23, 1356, 120, 582,
1362 1.10 christos 634, 1820, 216, 1393, 768, -750, 531, 611, -750, 452,
1363 1.10 christos 1413, -750, 1433, -750, -750, 639, -750, -750, 80, -750,
1364 1.10 christos -750, 768, 614, 636, -750, 1453, 117, 768, 592, -750,
1365 1.10 christos -750, 42, -750, -750, 1473, 768, -750, -750, -750, -750,
1366 1.10 christos -750, -750, 1493, -750, -750, -750, -750, 1530, 595, -750,
1367 1.10 christos -750, 619, 818, 32, 643, 606, -750, -750, -750, -750,
1368 1.10 christos -750, 624, 627, 184, 628, -750, -750, -750, 629, 630,
1369 1.10 christos 631, -750, 84, -750, -750, 632, 19, -750, -750, -750,
1370 1.10 christos 818, 612, 633, -43, -750, 648, -750, 14, 29, -750,
1371 1.10 christos -750, 637, -750, 671, 672, -750, 649, 650, 651, 652,
1372 1.10 christos -750, -750, -79, 84, 653, 655, 84, 657, -750, -750,
1373 1.10 christos -750, -750, 656, 691, 607, 568, 571, 575, 818, 576,
1374 1.10 christos -750, 768, 15, -750, -1, -750, 17, 88, 91, 29,
1375 1.10 christos 29, -750, 84, 123, 29, -55, 84, 648, 577, 818,
1376 1.10 christos -750, 697, -750, -750, -750, -750, 687, -750, 1725, 578,
1377 1.10 christos 583, 721, -750, 672, -750, 689, 690, 584, 698, 701,
1378 1.10 christos 586, 587, 593, -750, -750, -750, 131, 607, -750, 685,
1379 1.10 christos 741, 67, -750, 744, -750, -750, -750, 29, 29, -750,
1380 1.10 christos 29, 29, -750, -750, -750, -750, -750, -750, -750, -750,
1381 1.10 christos 745, -750, 600, 601, 602, 603, 604, 67, -750, -750,
1382 1.10 christos -750, 475, -43, 605, 608, 609, 610, -750, 67, -750,
1383 1.10 christos -750, -750, -750, -750, -750, 475, -750, -750, 475, -750
1384 1.1 skrll };
1385 1.3 matt
1386 1.10 christos /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1387 1.10 christos Performed when YYTABLE does not specify something else to do. Zero
1388 1.10 christos means the default is an error. */
1389 1.10 christos static const yytype_int16 yydefact[] =
1390 1.3 matt {
1391 1.10 christos 0, 57, 10, 8, 347, 341, 0, 2, 60, 3,
1392 1.10 christos 13, 6, 0, 4, 0, 5, 0, 1, 58, 11,
1393 1.10 christos 0, 0, 0, 0, 9, 358, 0, 348, 351, 0,
1394 1.10 christos 342, 343, 0, 0, 0, 0, 77, 0, 79, 78,
1395 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396 1.10 christos 0, 213, 214, 0, 0, 0, 81, 0, 114, 0,
1397 1.10 christos 70, 59, 62, 68, 0, 61, 64, 65, 66, 67,
1398 1.10 christos 63, 69, 0, 16, 0, 0, 0, 0, 17, 0,
1399 1.7 christos 0, 0, 19, 46, 0, 0, 0, 0, 0, 0,
1400 1.10 christos 51, 0, 0, 0, 171, 172, 173, 174, 220, 175,
1401 1.10 christos 176, 177, 178, 220, 0, 0, 0, 364, 375, 363,
1402 1.10 christos 371, 373, 0, 0, 358, 352, 371, 373, 0, 0,
1403 1.10 christos 344, 111, 330, 0, 0, 0, 0, 7, 84, 190,
1404 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 212, 215,
1405 1.10 christos 215, 94, 0, 0, 0, 88, 180, 179, 113, 0,
1406 1.10 christos 0, 40, 0, 248, 265, 0, 0, 0, 0, 0,
1407 1.10 christos 0, 0, 0, 249, 261, 0, 0, 218, 218, 218,
1408 1.10 christos 218, 0, 0, 218, 218, 0, 0, 0, 0, 0,
1409 1.10 christos 0, 14, 0, 49, 31, 47, 32, 18, 33, 23,
1410 1.10 christos 0, 36, 0, 37, 52, 38, 54, 39, 42, 12,
1411 1.10 christos 181, 0, 182, 0, 0, 0, 0, 0, 0, 0,
1412 1.10 christos 359, 0, 0, 346, 0, 0, 90, 91, 0, 0,
1413 1.10 christos 60, 193, 0, 0, 187, 192, 0, 0, 0, 0,
1414 1.10 christos 0, 0, 0, 207, 209, 187, 187, 215, 0, 0,
1415 1.10 christos 0, 0, 94, 0, 0, 0, 0, 0, 0, 13,
1416 1.10 christos 0, 0, 226, 222, 0, 0, 0, 0, 0, 0,
1417 1.10 christos 0, 0, 0, 251, 0, 250, 252, 253, 0, 0,
1418 1.10 christos 269, 270, 0, 0, 0, 0, 225, 227, 0, 0,
1419 1.3 matt 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 1.3 matt 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 1.10 christos 25, 0, 0, 45, 0, 0, 0, 22, 0, 0,
1422 1.10 christos 55, 0, 221, 220, 220, 220, 369, 0, 0, 353,
1423 1.10 christos 366, 376, 365, 372, 374, 0, 345, 286, 108, 0,
1424 1.10 christos 291, 296, 110, 109, 332, 329, 331, 0, 74, 76,
1425 1.10 christos 349, 199, 195, 188, 186, 0, 0, 93, 71, 72,
1426 1.10 christos 83, 112, 205, 206, 0, 210, 0, 215, 216, 86,
1427 1.10 christos 87, 80, 96, 99, 0, 95, 0, 73, 0, 0,
1428 1.10 christos 0, 27, 28, 43, 29, 30, 223, 0, 0, 0,
1429 1.3 matt 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 1.10 christos 0, 0, 0, 246, 245, 243, 242, 241, 235, 236,
1431 1.10 christos 239, 240, 237, 238, 233, 234, 231, 232, 228, 229,
1432 1.10 christos 230, 15, 26, 24, 50, 48, 44, 20, 21, 35,
1433 1.10 christos 34, 53, 56, 0, 0, 0, 0, 360, 361, 0,
1434 1.10 christos 356, 354, 0, 310, 299, 0, 310, 0, 0, 85,
1435 1.10 christos 0, 0, 190, 191, 0, 208, 211, 217, 102, 98,
1436 1.10 christos 101, 0, 0, 82, 0, 89, 350, 41, 0, 256,
1437 1.10 christos 264, 0, 0, 260, 262, 247, 224, 0, 0, 0,
1438 1.10 christos 255, 0, 271, 254, 0, 183, 184, 185, 377, 374,
1439 1.10 christos 367, 357, 355, 0, 0, 310, 0, 275, 111, 317,
1440 1.10 christos 0, 318, 297, 335, 336, 0, 203, 0, 0, 201,
1441 1.10 christos 0, 0, 92, 0, 106, 97, 100, 0, 0, 0,
1442 1.10 christos 0, 0, 0, 219, 0, 0, 0, 244, 378, 0,
1443 1.10 christos 0, 0, 301, 302, 303, 304, 305, 307, 0, 311,
1444 1.10 christos 0, 0, 0, 0, 313, 0, 277, 0, 316, 319,
1445 1.10 christos 275, 0, 339, 0, 333, 0, 204, 200, 202, 0,
1446 1.10 christos 187, 196, 0, 0, 104, 115, 257, 258, 259, 0,
1447 1.10 christos 266, 267, 268, 370, 0, 377, 0, 0, 309, 0,
1448 1.10 christos 312, 0, 0, 279, 300, 281, 111, 0, 336, 0,
1449 1.10 christos 0, 75, 220, 0, 103, 0, 0, 0, 362, 0,
1450 1.10 christos 0, 308, 310, 0, 0, 278, 281, 0, 292, 0,
1451 1.10 christos 0, 337, 0, 334, 197, 0, 194, 107, 0, 263,
1452 1.10 christos 368, 0, 0, 0, 274, 0, 285, 0, 0, 298,
1453 1.10 christos 340, 336, 220, 105, 0, 0, 314, 276, 282, 283,
1454 1.10 christos 284, 287, 0, 293, 338, 198, 306, 0, 0, 280,
1455 1.10 christos 324, 310, 161, 0, 0, 138, 163, 164, 165, 166,
1456 1.10 christos 167, 0, 0, 0, 0, 149, 150, 155, 0, 0,
1457 1.10 christos 0, 147, 0, 117, 119, 0, 0, 144, 152, 160,
1458 1.10 christos 162, 0, 0, 0, 325, 321, 315, 0, 0, 157,
1459 1.10 christos 220, 0, 145, 0, 0, 116, 0, 0, 0, 0,
1460 1.10 christos 122, 137, 187, 0, 139, 0, 0, 0, 159, 288,
1461 1.10 christos 220, 148, 0, 0, 273, 0, 0, 0, 161, 0,
1462 1.10 christos 168, 0, 0, 131, 0, 135, 0, 0, 0, 0,
1463 1.10 christos 0, 140, 0, 187, 0, 187, 0, 321, 0, 161,
1464 1.10 christos 320, 0, 322, 151, 120, 121, 0, 154, 0, 116,
1465 1.10 christos 0, 0, 133, 0, 134, 0, 0, 0, 0, 0,
1466 1.10 christos 0, 0, 0, 136, 142, 141, 187, 273, 153, 0,
1467 1.10 christos 0, 170, 158, 0, 146, 132, 118, 0, 0, 123,
1468 1.10 christos 0, 0, 124, 125, 130, 143, 322, 326, 272, 220,
1469 1.10 christos 0, 294, 0, 0, 0, 0, 0, 170, 322, 169,
1470 1.10 christos 323, 187, 0, 0, 0, 0, 0, 289, 170, 295,
1471 1.10 christos 156, 127, 126, 128, 129, 187, 327, 290, 187, 328
1472 1.6 christos };
1473 1.6 christos
1474 1.10 christos /* YYPGOTO[NTERM-NUM]. */
1475 1.7 christos static const yytype_int16 yypgoto[] =
1476 1.6 christos {
1477 1.10 christos -750, -750, -73, -750, -750, -750, -750, 503, -750, -750,
1478 1.10 christos -750, -750, -750, -750, 515, -750, -750, 554, -750, -750,
1479 1.10 christos -750, -750, 533, -750, -464, -750, -750, -750, -750, -457,
1480 1.10 christos -13, -750, -649, 1234, 110, 55, -750, -750, -750, -628,
1481 1.10 christos 70, -750, -750, 109, -750, -750, -750, -671, -750, 4,
1482 1.10 christos -749, -750, -648, -12, -220, -750, 345, -750, 439, -750,
1483 1.10 christos -750, -750, -750, -750, -750, 287, -750, -750, -750, -750,
1484 1.10 christos -750, -750, -130, 122, -750, -89, -750, -76, -750, -750,
1485 1.10 christos 33, 246, -750, -750, 193, -750, -750, -750, -750, -750,
1486 1.10 christos -750, -750, -750, -750, -750, -750, -750, -750, -750, -477,
1487 1.10 christos 356, -750, -750, 64, -702, -750, -750, -750, -750, -750,
1488 1.10 christos -750, -750, -750, -750, -750, -522, -750, -750, -750, -750,
1489 1.10 christos 763, -750, -750, -750, -750, -750, 555, -24, -750, 680,
1490 1.10 christos -23, -750, -750, 230
1491 1.1 skrll };
1492 1.3 matt
1493 1.10 christos /* YYDEFGOTO[NTERM-NUM]. */
1494 1.7 christos static const yytype_int16 yydefgoto[] =
1495 1.3 matt {
1496 1.10 christos 0, 6, 128, 11, 12, 9, 10, 19, 93, 249,
1497 1.10 christos 187, 186, 184, 195, 197, 7, 8, 18, 61, 142,
1498 1.10 christos 220, 245, 240, 241, 365, 503, 586, 553, 62, 214,
1499 1.10 christos 332, 144, 663, 664, 665, 691, 714, 666, 716, 692,
1500 1.10 christos 667, 668, 712, 669, 681, 708, 670, 671, 672, 709,
1501 1.10 christos 781, 103, 148, 64, 722, 65, 223, 224, 225, 341,
1502 1.10 christos 442, 550, 606, 441, 498, 499, 66, 67, 235, 68,
1503 1.10 christos 236, 69, 238, 263, 264, 710, 201, 254, 260, 512,
1504 1.10 christos 732, 536, 573, 596, 598, 631, 333, 433, 638, 727,
1505 1.10 christos 805, 435, 618, 640, 791, 436, 541, 488, 530, 486,
1506 1.10 christos 487, 491, 540, 704, 761, 643, 702, 788, 808, 70,
1507 1.10 christos 215, 336, 437, 580, 494, 544, 578, 15, 16, 30,
1508 1.10 christos 31, 118, 13, 14, 71, 72, 27, 28, 432, 112,
1509 1.10 christos 113, 521, 426, 519
1510 1.1 skrll };
1511 1.3 matt
1512 1.10 christos /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1513 1.10 christos positive, shift that token. If negative, reduce the rule whose
1514 1.10 christos number is the opposite. If YYTABLE_NINF, syntax error. */
1515 1.4 matt static const yytype_int16 yytable[] =
1516 1.3 matt {
1517 1.10 christos 24, 181, 151, 115, 345, 63, 119, 496, 533, 200,
1518 1.10 christos 239, 191, 247, 496, 202, 354, 356, 127, 685, 739,
1519 1.10 christos 741, 685, -189, 694, 20, 701, 334, 362, 363, 449,
1520 1.10 christos 450, 537, 29, 685, 221, 715, 674, 736, 797, 552,
1521 1.10 christos 449, 450, 25, 449, 450, -189, 542, 303, 310, 806,
1522 1.10 christos 505, 506, 310, 237, 25, 456, 601, 337, 759, 338,
1523 1.10 christos 229, 230, 430, 232, 234, 723, 481, 744, 725, 695,
1524 1.10 christos 243, 652, 344, 695, 787, 652, 721, 779, 431, 252,
1525 1.10 christos 253, 335, 482, 780, 449, 450, 798, 250, 685, 585,
1526 1.10 christos 17, 675, 685, 104, 766, 685, 344, 222, 756, 634,
1527 1.10 christos 755, 123, 124, 276, 277, 105, 300, 358, 146, 147,
1528 1.10 christos 107, 294, 295, 296, 307, 613, 107, 114, 705, 599,
1529 1.10 christos 26, 344, 608, 353, 320, 312, 106, 121, 21, 22,
1530 1.10 christos 23, 122, 26, 320, 364, 125, 451, 344, 686, 687,
1531 1.10 christos 688, 689, 745, 746, 800, 748, 749, 451, 543, 342,
1532 1.10 christos 451, 126, 742, 248, 419, 420, 547, 507, 344, 497,
1533 1.10 christos 355, 659, 660, 660, 644, 497, 233, 660, 368, 662,
1534 1.10 christos 743, 371, 372, 696, 374, 375, 452, 660, 584, 377,
1535 1.10 christos 378, 379, 380, 381, 317, 318, 384, 452, 127, 607,
1536 1.10 christos 452, 451, 386, 387, 304, 311, 388, 389, 390, 311,
1537 1.10 christos 357, 455, 392, 393, 394, 395, 396, 397, 398, 399,
1538 1.10 christos 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
1539 1.10 christos 410, 411, 412, 413, 423, 424, 425, 447, 251, 417,
1540 1.10 christos 418, 452, 660, 623, 129, 130, 660, 153, 154, 660,
1541 1.10 christos 108, 131, 132, 109, 110, 111, 108, 133, 134, 109,
1542 1.10 christos 116, 117, 135, 532, 321, 612, 434, 322, 323, 324,
1543 1.10 christos 628, 629, 630, 321, 155, 156, 322, 323, 479, 136,
1544 1.10 christos 137, 157, 158, 159, 344, 138, 754, 1, 2, 3,
1545 1.10 christos 139, 445, 344, 446, 775, 160, 161, 162, 4, 140,
1546 1.10 christos 265, 266, 267, 141, 163, 270, 271, 5, 143, 145,
1547 1.10 christos 164, 149, 150, 152, 182, 522, 523, 524, 525, 526,
1548 1.10 christos 527, 528, 165, 183, 185, 188, 189, 166, 167, 168,
1549 1.10 christos 169, 170, 171, 172, 199, 190, 192, 63, 193, 207,
1550 1.10 christos 583, 173, 194, 174, 522, 523, 524, 525, 526, 527,
1551 1.10 christos 528, 327, 196, 198, 203, 204, 115, 205, 206, 175,
1552 1.10 christos 292, 293, 294, 295, 296, 176, 177, 485, 208, 490,
1553 1.10 christos 485, 493, 278, 209, 279, 280, 281, 282, 283, 284,
1554 1.7 christos 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1555 1.10 christos 295, 296, 509, 178, 216, 510, 511, 529, 210, 212,
1556 1.10 christos 179, 180, 514, 515, 153, 154, 328, 213, 517, 217,
1557 1.10 christos 218, 298, 219, 478, 329, 290, 291, 292, 293, 294,
1558 1.10 christos 295, 296, 330, 226, 227, 228, 529, 231, 237, 47,
1559 1.10 christos 242, 155, 156, 244, 246, 255, 256, 257, 157, 158,
1560 1.10 christos 159, 258, 301, 302, 259, 308, 261, 262, 268, 331,
1561 1.10 christos 269, 272, 160, 161, 162, 21, 22, 23, 309, 273,
1562 1.10 christos 313, 163, 274, 275, 314, 569, 327, 164, 58, 94,
1563 1.10 christos 95, 96, 97, 98, 99, 100, 101, 102, 315, 165,
1564 1.10 christos 319, 326, 382, 383, 166, 167, 168, 169, 170, 171,
1565 1.10 christos 172, 316, 339, 587, 325, 343, 346, 347, 173, 348,
1566 1.10 christos 174, 591, 385, 604, 391, 593, 414, 564, 565, 349,
1567 1.10 christos 376, 600, 350, 602, 351, 352, 175, 359, 360, 153,
1568 1.10 christos 154, 619, 176, 177, 361, 367, 305, 415, 615, 329,
1569 1.10 christos 416, 421, 422, 427, 428, 429, 438, 330, 440, 444,
1570 1.10 christos 448, 453, 464, 635, 47, 624, 155, 156, 465, 467,
1571 1.10 christos 178, 632, 299, 157, 158, 159, 473, 179, 180, 637,
1572 1.10 christos 500, 504, 480, 508, 331, 475, 495, 160, 161, 162,
1573 1.10 christos 21, 22, 23, 516, 520, 535, 163, 531, 534, 539,
1574 1.10 christos 476, 799, 164, 58, 477, 502, 545, 513, 546, 518,
1575 1.10 christos 679, 549, 551, 555, 165, 807, 562, 554, 809, 166,
1576 1.10 christos 167, 168, 169, 170, 171, 172, 559, 153, 154, 563,
1577 1.10 christos 566, 567, 568, 173, 570, 174, 571, 581, 572, 576,
1578 1.10 christos 577, 728, 94, 95, 96, 97, 98, 99, 100, 101,
1579 1.10 christos 102, 175, 579, 582, 155, 156, 344, 176, 177, 588,
1580 1.10 christos 673, 483, 158, 159, 484, 738, 594, 590, 597, 603,
1581 1.10 christos 605, 610, 595, -116, 611, 160, 161, 162, 617, 622,
1582 1.10 christos 633, 625, 626, 642, 163, 178, 532, 306, 673, 676,
1583 1.10 christos 164, 677, 179, 180, 678, 680, 682, 683, 684, 693,
1584 1.10 christos 700, 699, 165, 703, 711, 713, 685, 166, 167, 168,
1585 1.10 christos 169, 170, 171, 172, 153, 154, 717, 718, 719, 720,
1586 1.10 christos -116, 173, 724, 174, 726, 730, 673, 489, 286, 287,
1587 1.10 christos 288, 289, 290, 291, 292, 293, 294, 295, 296, 175,
1588 1.10 christos 327, 155, 156, 731, 729, 176, 177, 673, 157, 158,
1589 1.10 christos 159, 733, 760, 762, 734, 765, 767, 768, 735, 737,
1590 1.10 christos 758, -138, 160, 161, 162, 770, 764, 769, 771, 772,
1591 1.10 christos 773, 163, 574, 178, 777, 778, 774, 164, 782, 790,
1592 1.10 christos 179, 180, 373, 792, 793, 794, 795, 796, 801, 165,
1593 1.10 christos 369, 802, 803, 804, 166, 167, 168, 169, 170, 171,
1594 1.10 christos 172, 153, 154, 329, 340, 366, 697, 753, 173, 698,
1595 1.10 christos 174, 330, 740, 789, 443, 548, 575, 501, 47, 616,
1596 1.10 christos 776, 757, 492, 120, 211, 589, 175, 0, 155, 156,
1597 1.10 christos 0, 370, 176, 177, 0, 157, 158, 159, 331, 0,
1598 1.10 christos 0, 0, 0, 0, 21, 22, 23, 0, 0, 160,
1599 1.10 christos 161, 162, 645, 0, 0, 0, 0, 58, 163, 0,
1600 1.10 christos 178, 0, 0, 0, 164, 0, 0, 179, 180, 0,
1601 1.10 christos 0, 0, 0, 0, 0, 0, 165, 0, 0, 0,
1602 1.10 christos 0, 166, 167, 168, 169, 170, 171, 172, 0, 646,
1603 1.10 christos 647, 648, 649, 650, 0, 173, 0, 174, 0, 0,
1604 1.10 christos 0, 0, 651, 0, 652, 0, 0, 0, 0, 0,
1605 1.10 christos 0, 0, 0, 175, 0, 653, 0, 0, 0, 176,
1606 1.10 christos 177, 0, 0, 0, 0, 0, 278, 0, 279, 280,
1607 1.10 christos 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1608 1.10 christos 291, 292, 293, 294, 295, 296, 654, 178, 655, 20,
1609 1.10 christos 0, 0, 656, 0, 179, 180, 21, 22, 23, 0,
1610 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 657,
1611 1.10 christos 278, 474, 279, 280, 281, 282, 283, 284, 285, 286,
1612 1.10 christos 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1613 1.10 christos 658, 32, 33, 34, 659, 0, 660, 0, 0, 0,
1614 1.10 christos 661, 0, 662, 0, 0, 0, 35, 36, 37, 38,
1615 1.10 christos 39, 0, 40, 41, 42, 43, 0, 20, 0, 0,
1616 1.10 christos 0, 0, 0, 0, 44, 45, 46, 47, 0, 0,
1617 1.10 christos 0, 0, 0, 0, 0, 48, 49, 50, 51, 52,
1618 1.10 christos 53, 54, 0, 0, 0, 0, 55, 56, 57, 439,
1619 1.10 christos 0, 0, 0, 21, 22, 23, 0, 0, 0, 32,
1620 1.10 christos 33, 34, 458, 0, 459, 0, 58, 0, 0, 0,
1621 1.10 christos 0, 0, 0, 0, 35, 36, 37, 38, 39, 59,
1622 1.10 christos 40, 41, 42, 43, 0, -349, 0, 0, 0, 0,
1623 1.10 christos 0, 0, 44, 45, 46, 47, 0, 60, 0, 0,
1624 1.10 christos 0, 0, 0, 48, 49, 50, 51, 52, 53, 54,
1625 1.10 christos 0, 0, 0, 0, 55, 56, 57, 0, 0, 0,
1626 1.10 christos 0, 21, 22, 23, 0, 0, 0, 0, 0, 0,
1627 1.10 christos 0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
1628 1.10 christos 0, 0, 0, 0, 0, 0, 0, 59, 281, 282,
1629 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1630 1.10 christos 293, 294, 295, 296, 278, 60, 279, 280, 281, 282,
1631 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1632 1.10 christos 293, 294, 295, 296, 278, 0, 279, 280, 281, 282,
1633 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1634 1.10 christos 293, 294, 295, 296, 278, 0, 279, 280, 281, 282,
1635 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1636 1.10 christos 293, 294, 295, 296, 278, 0, 279, 280, 281, 282,
1637 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1638 1.10 christos 293, 294, 295, 296, 278, 0, 279, 280, 281, 282,
1639 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1640 1.10 christos 293, 294, 295, 296, 278, 0, 279, 280, 281, 282,
1641 1.10 christos 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1642 1.10 christos 293, 294, 295, 296, 280, 281, 282, 283, 284, 285,
1643 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1644 1.10 christos 296, 278, 460, 279, 280, 281, 282, 283, 284, 285,
1645 1.6 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1646 1.10 christos 296, 278, 463, 279, 280, 281, 282, 283, 284, 285,
1647 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1648 1.10 christos 296, 278, 466, 279, 280, 281, 282, 283, 284, 285,
1649 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1650 1.10 christos 296, 278, 470, 279, 280, 281, 282, 283, 284, 285,
1651 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1652 1.10 christos 296, 278, 472, 279, 280, 281, 282, 283, 284, 285,
1653 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1654 1.10 christos 296, 278, 556, 279, 280, 281, 282, 283, 284, 285,
1655 1.6 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1656 1.10 christos 296, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1657 1.10 christos 291, 292, 293, 294, 295, 296, 0, 0, 278, 557,
1658 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1659 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 278, 558,
1660 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1661 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 278, 560,
1662 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1663 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 278, 561,
1664 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1665 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 278, 592,
1666 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1667 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 278, 609,
1668 1.10 christos 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
1669 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 283, 284,
1670 1.7 christos 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1671 1.10 christos 295, 296, 0, 0, 0, 278, 614, 279, 280, 281,
1672 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1673 1.10 christos 292, 293, 294, 295, 296, 278, 620, 279, 280, 281,
1674 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1675 1.10 christos 292, 293, 294, 295, 296, 278, 621, 279, 280, 281,
1676 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1677 1.10 christos 292, 293, 294, 295, 296, 278, 627, 279, 280, 281,
1678 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1679 1.10 christos 292, 293, 294, 295, 296, 278, 636, 279, 280, 281,
1680 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1681 1.10 christos 292, 293, 294, 295, 296, 278, 639, 279, 280, 281,
1682 1.10 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1683 1.10 christos 292, 293, 294, 295, 296, 284, 285, 286, 287, 288,
1684 1.10 christos 289, 290, 291, 292, 293, 294, 295, 296, 0, 0,
1685 1.10 christos 0, 0, 0, 641, 0, 0, 0, 0, 0, 0,
1686 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 1.10 christos 278, 297, 279, 280, 281, 282, 283, 284, 285, 286,
1688 1.10 christos 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1689 1.10 christos 278, 454, 279, 280, 281, 282, 283, 284, 285, 286,
1690 1.10 christos 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1691 1.10 christos 278, 461, 279, 280, 281, 282, 283, 284, 285, 286,
1692 1.10 christos 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1693 1.10 christos 0, 462, 0, 0, 0, 0, 0, 0, 0, 73,
1694 1.7 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 1.10 christos 0, 468, 0, 0, 0, 0, 0, 0, 0, 0,
1696 1.10 christos 0, 0, 0, 0, 73, 0, 0, 0, 0, 0,
1697 1.10 christos 0, 0, 278, 74, 279, 280, 281, 282, 283, 284,
1698 1.7 christos 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1699 1.10 christos 295, 296, 0, 0, 532, 0, 457, 0, 74, 0,
1700 1.10 christos 0, 0, 75, 0, 0, 278, 469, 279, 280, 281,
1701 1.7 christos 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1702 1.10 christos 292, 293, 294, 295, 296, 0, 471, 75, 0, 0,
1703 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 1.10 christos 76, 0, 0, 0, 0, 0, 763, 77, 78, 79,
1705 1.10 christos 80, 81, -43, 82, 83, 84, 0, 0, 85, 86,
1706 1.10 christos 0, 87, 88, 89, 0, 76, 690, 0, 90, 91,
1707 1.10 christos 92, 0, 77, 78, 79, 80, 81, 0, 82, 83,
1708 1.10 christos 84, 706, 707, 85, 86, 0, 87, 88, 89, 0,
1709 1.10 christos 0, 0, 0, 90, 91, 92, 0, 690, 0, 0,
1710 1.10 christos 690, 278, 538, 279, 280, 281, 282, 283, 284, 285,
1711 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1712 1.10 christos 296, 747, 750, 751, 752, 0, 690, 0, 706, 0,
1713 1.10 christos 690, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 1.7 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 1.10 christos 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 1.10 christos 0, 783, 784, 0, 785, 786
1718 1.1 skrll };
1719 1.3 matt
1720 1.4 matt static const yytype_int16 yycheck[] =
1721 1.3 matt {
1722 1.10 christos 12, 77, 75, 27, 224, 18, 29, 4, 485, 98,
1723 1.10 christos 140, 87, 10, 4, 103, 235, 236, 4, 4, 4,
1724 1.10 christos 21, 4, 36, 4, 4, 673, 4, 4, 5, 4,
1725 1.10 christos 5, 488, 58, 4, 4, 684, 4, 708, 787, 503,
1726 1.10 christos 4, 5, 58, 4, 5, 59, 4, 4, 4, 798,
1727 1.10 christos 4, 5, 4, 4, 58, 59, 578, 151, 729, 153,
1728 1.10 christos 133, 134, 136, 136, 137, 693, 136, 716, 696, 54,
1729 1.10 christos 143, 56, 151, 54, 776, 56, 155, 10, 152, 155,
1730 1.10 christos 156, 59, 152, 16, 4, 5, 788, 10, 4, 553,
1731 1.10 christos 0, 59, 4, 37, 743, 4, 151, 67, 726, 621,
1732 1.10 christos 155, 49, 50, 179, 180, 37, 182, 237, 151, 152,
1733 1.10 christos 4, 32, 33, 34, 190, 592, 4, 58, 104, 576,
1734 1.10 christos 136, 151, 586, 153, 4, 201, 37, 58, 108, 109,
1735 1.10 christos 110, 58, 136, 4, 111, 37, 111, 151, 54, 55,
1736 1.10 christos 56, 57, 54, 55, 792, 54, 55, 111, 106, 222,
1737 1.10 christos 111, 37, 153, 151, 3, 4, 153, 111, 151, 156,
1738 1.10 christos 153, 146, 148, 148, 641, 156, 153, 148, 244, 154,
1739 1.10 christos 153, 247, 248, 154, 250, 251, 151, 148, 153, 255,
1740 1.10 christos 256, 257, 258, 259, 207, 208, 262, 151, 4, 153,
1741 1.10 christos 151, 111, 268, 269, 151, 151, 272, 273, 274, 151,
1742 1.10 christos 151, 153, 278, 279, 280, 281, 282, 283, 284, 285,
1743 1.10 christos 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1744 1.10 christos 296, 297, 298, 299, 313, 314, 315, 357, 151, 305,
1745 1.10 christos 306, 151, 148, 153, 58, 37, 148, 3, 4, 148,
1746 1.10 christos 134, 37, 37, 137, 138, 139, 134, 37, 37, 137,
1747 1.10 christos 138, 139, 37, 37, 134, 39, 329, 137, 138, 139,
1748 1.10 christos 143, 144, 145, 134, 30, 31, 137, 138, 139, 37,
1749 1.10 christos 37, 37, 38, 39, 151, 37, 153, 130, 131, 132,
1750 1.10 christos 37, 354, 151, 356, 153, 51, 52, 53, 141, 37,
1751 1.10 christos 168, 169, 170, 37, 60, 173, 174, 150, 37, 37,
1752 1.10 christos 66, 140, 4, 4, 4, 71, 72, 73, 74, 75,
1753 1.10 christos 76, 77, 78, 4, 4, 4, 4, 83, 84, 85,
1754 1.10 christos 86, 87, 88, 89, 117, 4, 4, 340, 3, 16,
1755 1.10 christos 550, 97, 4, 99, 71, 72, 73, 74, 75, 76,
1756 1.10 christos 77, 4, 4, 4, 4, 4, 370, 4, 4, 115,
1757 1.10 christos 30, 31, 32, 33, 34, 121, 122, 433, 16, 435,
1758 1.10 christos 436, 437, 15, 59, 17, 18, 19, 20, 21, 22,
1759 1.10 christos 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1760 1.10 christos 33, 34, 458, 149, 4, 461, 462, 153, 152, 59,
1761 1.10 christos 156, 157, 468, 469, 3, 4, 59, 152, 474, 4,
1762 1.10 christos 4, 10, 4, 426, 67, 28, 29, 30, 31, 32,
1763 1.10 christos 33, 34, 75, 4, 4, 4, 153, 4, 4, 82,
1764 1.10 christos 37, 30, 31, 37, 58, 37, 37, 37, 37, 38,
1765 1.10 christos 39, 37, 151, 151, 37, 151, 37, 37, 37, 102,
1766 1.10 christos 37, 37, 51, 52, 53, 108, 109, 110, 151, 37,
1767 1.10 christos 10, 60, 37, 37, 10, 531, 4, 66, 121, 6,
1768 1.10 christos 7, 8, 9, 10, 11, 12, 13, 14, 10, 78,
1769 1.10 christos 152, 152, 37, 4, 83, 84, 85, 86, 87, 88,
1770 1.10 christos 89, 58, 153, 559, 59, 59, 151, 153, 97, 153,
1771 1.10 christos 99, 567, 37, 582, 4, 571, 4, 520, 521, 153,
1772 1.10 christos 153, 577, 153, 579, 153, 153, 115, 153, 153, 3,
1773 1.10 christos 4, 59, 121, 122, 153, 153, 10, 4, 594, 67,
1774 1.10 christos 4, 4, 4, 152, 152, 4, 4, 75, 37, 4,
1775 1.10 christos 37, 153, 4, 622, 82, 611, 30, 31, 153, 4,
1776 1.10 christos 149, 617, 151, 37, 38, 39, 153, 156, 157, 625,
1777 1.10 christos 16, 37, 58, 4, 102, 153, 151, 51, 52, 53,
1778 1.10 christos 108, 109, 110, 4, 16, 106, 60, 37, 16, 95,
1779 1.10 christos 153, 791, 66, 121, 153, 153, 4, 153, 4, 152,
1780 1.10 christos 653, 97, 36, 153, 78, 805, 153, 37, 808, 83,
1781 1.10 christos 84, 85, 86, 87, 88, 89, 151, 3, 4, 59,
1782 1.10 christos 37, 10, 153, 97, 16, 99, 37, 153, 38, 58,
1783 1.10 christos 37, 700, 6, 7, 8, 9, 10, 11, 12, 13,
1784 1.10 christos 14, 115, 37, 10, 30, 31, 151, 121, 122, 152,
1785 1.10 christos 642, 37, 38, 39, 40, 711, 37, 77, 107, 152,
1786 1.10 christos 99, 59, 147, 37, 10, 51, 52, 53, 37, 10,
1787 1.10 christos 58, 37, 16, 58, 60, 149, 37, 151, 670, 16,
1788 1.10 christos 66, 37, 156, 157, 37, 37, 37, 37, 37, 37,
1789 1.10 christos 37, 59, 78, 25, 37, 4, 4, 83, 84, 85,
1790 1.10 christos 86, 87, 88, 89, 3, 4, 37, 37, 37, 37,
1791 1.10 christos 37, 97, 37, 99, 37, 4, 708, 16, 24, 25,
1792 1.10 christos 26, 27, 28, 29, 30, 31, 32, 33, 34, 115,
1793 1.10 christos 4, 30, 31, 106, 58, 121, 122, 729, 37, 38,
1794 1.10 christos 39, 153, 25, 36, 153, 4, 37, 37, 153, 153,
1795 1.10 christos 153, 153, 51, 52, 53, 37, 153, 153, 37, 153,
1796 1.10 christos 153, 60, 36, 149, 59, 4, 153, 66, 4, 4,
1797 1.10 christos 156, 157, 249, 153, 153, 153, 153, 153, 153, 78,
1798 1.10 christos 245, 153, 153, 153, 83, 84, 85, 86, 87, 88,
1799 1.10 christos 89, 3, 4, 67, 220, 242, 666, 722, 97, 670,
1800 1.10 christos 99, 75, 712, 779, 345, 498, 540, 442, 82, 596,
1801 1.10 christos 757, 727, 436, 30, 114, 565, 115, -1, 30, 31,
1802 1.10 christos -1, 246, 121, 122, -1, 37, 38, 39, 102, -1,
1803 1.10 christos -1, -1, -1, -1, 108, 109, 110, -1, -1, 51,
1804 1.10 christos 52, 53, 4, -1, -1, -1, -1, 121, 60, -1,
1805 1.10 christos 149, -1, -1, -1, 66, -1, -1, 156, 157, -1,
1806 1.10 christos -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1807 1.10 christos -1, 83, 84, 85, 86, 87, 88, 89, -1, 41,
1808 1.10 christos 42, 43, 44, 45, -1, 97, -1, 99, -1, -1,
1809 1.10 christos -1, -1, 54, -1, 56, -1, -1, -1, -1, -1,
1810 1.10 christos -1, -1, -1, 115, -1, 67, -1, -1, -1, 121,
1811 1.10 christos 122, -1, -1, -1, -1, -1, 15, -1, 17, 18,
1812 1.10 christos 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1813 1.10 christos 29, 30, 31, 32, 33, 34, 98, 149, 100, 4,
1814 1.10 christos -1, -1, 104, -1, 156, 157, 108, 109, 110, -1,
1815 1.10 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, 121,
1816 1.10 christos 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1817 1.10 christos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1818 1.10 christos 142, 46, 47, 48, 146, -1, 148, -1, -1, -1,
1819 1.10 christos 152, -1, 154, -1, -1, -1, 61, 62, 63, 64,
1820 1.10 christos 65, -1, 67, 68, 69, 70, -1, 4, -1, -1,
1821 1.10 christos -1, -1, -1, -1, 79, 80, 81, 82, -1, -1,
1822 1.10 christos -1, -1, -1, -1, -1, 90, 91, 92, 93, 94,
1823 1.10 christos 95, 96, -1, -1, -1, -1, 101, 102, 103, 36,
1824 1.10 christos -1, -1, -1, 108, 109, 110, -1, -1, -1, 46,
1825 1.10 christos 47, 48, 151, -1, 153, -1, 121, -1, -1, -1,
1826 1.10 christos -1, -1, -1, -1, 61, 62, 63, 64, 65, 134,
1827 1.10 christos 67, 68, 69, 70, -1, 140, -1, -1, -1, -1,
1828 1.10 christos -1, -1, 79, 80, 81, 82, -1, 152, -1, -1,
1829 1.10 christos -1, -1, -1, 90, 91, 92, 93, 94, 95, 96,
1830 1.10 christos -1, -1, -1, -1, 101, 102, 103, -1, -1, -1,
1831 1.10 christos -1, 108, 109, 110, -1, -1, -1, -1, -1, -1,
1832 1.10 christos -1, -1, -1, -1, 121, -1, -1, -1, -1, -1,
1833 1.10 christos -1, -1, -1, -1, -1, -1, -1, 134, 19, 20,
1834 1.10 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1835 1.10 christos 31, 32, 33, 34, 15, 152, 17, 18, 19, 20,
1836 1.10 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1837 1.10 christos 31, 32, 33, 34, 15, -1, 17, 18, 19, 20,
1838 1.10 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1839 1.10 christos 31, 32, 33, 34, 15, -1, 17, 18, 19, 20,
1840 1.10 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1841 1.10 christos 31, 32, 33, 34, 15, -1, 17, 18, 19, 20,
1842 1.10 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1843 1.10 christos 31, 32, 33, 34, 15, -1, 17, 18, 19, 20,
1844 1.7 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1845 1.10 christos 31, 32, 33, 34, 15, -1, 17, 18, 19, 20,
1846 1.7 christos 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1847 1.10 christos 31, 32, 33, 34, 18, 19, 20, 21, 22, 23,
1848 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1849 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1850 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1851 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1852 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1853 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1854 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1855 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1856 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1857 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1858 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1859 1.10 christos 34, 15, 153, 17, 18, 19, 20, 21, 22, 23,
1860 1.10 christos 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1861 1.10 christos 34, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1862 1.10 christos 29, 30, 31, 32, 33, 34, -1, -1, 15, 153,
1863 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1864 1.10 christos 27, 28, 29, 30, 31, 32, 33, 34, 15, 153,
1865 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1866 1.10 christos 27, 28, 29, 30, 31, 32, 33, 34, 15, 153,
1867 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1868 1.10 christos 27, 28, 29, 30, 31, 32, 33, 34, 15, 153,
1869 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1870 1.10 christos 27, 28, 29, 30, 31, 32, 33, 34, 15, 153,
1871 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1872 1.10 christos 27, 28, 29, 30, 31, 32, 33, 34, 15, 153,
1873 1.7 christos 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1874 1.7 christos 27, 28, 29, 30, 31, 32, 33, 34, 21, 22,
1875 1.7 christos 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1876 1.10 christos 33, 34, -1, -1, -1, 15, 153, 17, 18, 19,
1877 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1878 1.10 christos 30, 31, 32, 33, 34, 15, 153, 17, 18, 19,
1879 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1880 1.10 christos 30, 31, 32, 33, 34, 15, 153, 17, 18, 19,
1881 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1882 1.10 christos 30, 31, 32, 33, 34, 15, 153, 17, 18, 19,
1883 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1884 1.10 christos 30, 31, 32, 33, 34, 15, 153, 17, 18, 19,
1885 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1886 1.10 christos 30, 31, 32, 33, 34, 15, 153, 17, 18, 19,
1887 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1888 1.10 christos 30, 31, 32, 33, 34, 22, 23, 24, 25, 26,
1889 1.7 christos 27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
1890 1.10 christos -1, -1, -1, 153, -1, -1, -1, -1, -1, -1,
1891 1.7 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1892 1.10 christos 15, 151, 17, 18, 19, 20, 21, 22, 23, 24,
1893 1.10 christos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1894 1.10 christos 15, 151, 17, 18, 19, 20, 21, 22, 23, 24,
1895 1.10 christos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1896 1.10 christos 15, 151, 17, 18, 19, 20, 21, 22, 23, 24,
1897 1.10 christos 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1898 1.10 christos -1, 151, -1, -1, -1, -1, -1, -1, -1, 4,
1899 1.10 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1900 1.10 christos -1, 151, -1, -1, -1, -1, -1, -1, -1, -1,
1901 1.10 christos -1, -1, -1, -1, 4, -1, -1, -1, -1, -1,
1902 1.10 christos -1, -1, 15, 38, 17, 18, 19, 20, 21, 22,
1903 1.10 christos 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1904 1.10 christos 33, 34, -1, -1, 37, -1, 36, -1, 38, -1,
1905 1.10 christos -1, -1, 67, -1, -1, 15, 151, 17, 18, 19,
1906 1.10 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1907 1.10 christos 30, 31, 32, 33, 34, -1, 151, 67, -1, -1,
1908 1.6 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1909 1.10 christos 105, -1, -1, -1, -1, -1, 151, 112, 113, 114,
1910 1.10 christos 115, 116, 117, 118, 119, 120, -1, -1, 123, 124,
1911 1.10 christos -1, 126, 127, 128, -1, 105, 662, -1, 133, 134,
1912 1.10 christos 135, -1, 112, 113, 114, 115, 116, -1, 118, 119,
1913 1.10 christos 120, 677, 678, 123, 124, -1, 126, 127, 128, -1,
1914 1.10 christos -1, -1, -1, 133, 134, 135, -1, 693, -1, -1,
1915 1.10 christos 696, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1916 1.4 matt 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1917 1.10 christos 34, 717, 718, 719, 720, -1, 722, -1, 724, -1,
1918 1.10 christos 726, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1919 1.10 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1920 1.10 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1921 1.10 christos -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1922 1.10 christos -1, 767, 768, -1, 770, 771
1923 1.1 skrll };
1924 1.3 matt
1925 1.10 christos /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
1926 1.10 christos state STATE-NUM. */
1927 1.10 christos static const yytype_int16 yystos[] =
1928 1.3 matt {
1929 1.10 christos 0, 130, 131, 132, 141, 150, 159, 173, 174, 163,
1930 1.10 christos 164, 161, 162, 280, 281, 275, 276, 0, 175, 165,
1931 1.10 christos 4, 108, 109, 110, 211, 58, 136, 284, 285, 58,
1932 1.10 christos 277, 278, 46, 47, 48, 61, 62, 63, 64, 65,
1933 1.10 christos 67, 68, 69, 70, 79, 80, 81, 82, 90, 91,
1934 1.10 christos 92, 93, 94, 95, 96, 101, 102, 103, 121, 134,
1935 1.10 christos 152, 176, 186, 188, 211, 213, 224, 225, 227, 229,
1936 1.10 christos 267, 282, 283, 4, 38, 67, 105, 112, 113, 114,
1937 1.10 christos 115, 116, 118, 119, 120, 123, 124, 126, 127, 128,
1938 1.10 christos 133, 134, 135, 166, 6, 7, 8, 9, 10, 11,
1939 1.10 christos 12, 13, 14, 209, 37, 37, 37, 4, 134, 137,
1940 1.10 christos 138, 139, 287, 288, 58, 285, 138, 139, 279, 288,
1941 1.10 christos 278, 58, 58, 49, 50, 37, 37, 4, 160, 58,
1942 1.7 christos 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1943 1.10 christos 37, 37, 177, 37, 189, 37, 151, 152, 210, 140,
1944 1.10 christos 4, 160, 4, 3, 4, 30, 31, 37, 38, 39,
1945 1.10 christos 51, 52, 53, 60, 66, 78, 83, 84, 85, 86,
1946 1.10 christos 87, 88, 89, 97, 99, 115, 121, 122, 149, 156,
1947 1.10 christos 157, 235, 4, 4, 170, 4, 169, 168, 4, 4,
1948 1.10 christos 4, 235, 4, 3, 4, 171, 4, 172, 4, 117,
1949 1.10 christos 233, 234, 233, 4, 4, 4, 4, 16, 16, 59,
1950 1.10 christos 152, 287, 59, 152, 187, 268, 4, 4, 4, 4,
1951 1.10 christos 178, 4, 67, 214, 215, 216, 4, 4, 4, 160,
1952 1.10 christos 160, 4, 160, 153, 160, 226, 228, 4, 230, 230,
1953 1.10 christos 180, 181, 37, 160, 37, 179, 58, 10, 151, 167,
1954 1.10 christos 10, 151, 235, 235, 235, 37, 37, 37, 37, 37,
1955 1.10 christos 236, 37, 37, 231, 232, 231, 231, 231, 37, 37,
1956 1.10 christos 231, 231, 37, 37, 37, 37, 235, 235, 15, 17,
1957 1.10 christos 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1958 1.10 christos 28, 29, 30, 31, 32, 33, 34, 151, 10, 151,
1959 1.10 christos 235, 151, 151, 4, 151, 10, 151, 235, 151, 151,
1960 1.10 christos 4, 151, 235, 10, 10, 10, 58, 288, 288, 152,
1961 1.10 christos 4, 134, 137, 138, 139, 59, 152, 4, 59, 67,
1962 1.10 christos 75, 102, 188, 244, 4, 59, 269, 151, 153, 153,
1963 1.10 christos 175, 217, 160, 59, 151, 212, 151, 153, 153, 153,
1964 1.10 christos 153, 153, 153, 153, 212, 153, 212, 151, 230, 153,
1965 1.10 christos 153, 153, 4, 5, 111, 182, 180, 153, 235, 172,
1966 1.10 christos 284, 235, 235, 165, 235, 235, 153, 235, 235, 235,
1967 1.10 christos 235, 235, 37, 4, 235, 37, 235, 235, 235, 235,
1968 1.10 christos 235, 4, 235, 235, 235, 235, 235, 235, 235, 235,
1969 1.10 christos 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
1970 1.10 christos 235, 235, 235, 235, 4, 4, 4, 235, 235, 3,
1971 1.10 christos 4, 4, 4, 233, 233, 233, 290, 152, 152, 4,
1972 1.10 christos 136, 152, 286, 245, 160, 249, 253, 270, 4, 36,
1973 1.10 christos 37, 221, 218, 216, 4, 160, 160, 230, 37, 4,
1974 1.10 christos 5, 111, 151, 153, 151, 153, 59, 36, 151, 153,
1975 1.10 christos 153, 151, 151, 153, 4, 153, 153, 4, 151, 151,
1976 1.10 christos 153, 151, 153, 153, 16, 153, 153, 153, 288, 139,
1977 1.10 christos 58, 136, 152, 37, 40, 235, 257, 258, 255, 16,
1978 1.10 christos 235, 259, 258, 235, 272, 151, 4, 156, 222, 223,
1979 1.10 christos 16, 214, 153, 183, 37, 4, 5, 111, 4, 235,
1980 1.10 christos 235, 235, 237, 153, 235, 235, 4, 235, 152, 291,
1981 1.10 christos 16, 289, 71, 72, 73, 74, 75, 76, 77, 153,
1982 1.10 christos 256, 37, 37, 257, 16, 106, 239, 187, 16, 95,
1983 1.10 christos 260, 254, 4, 106, 273, 4, 4, 153, 223, 97,
1984 1.10 christos 219, 36, 182, 185, 37, 153, 153, 153, 153, 151,
1985 1.10 christos 153, 153, 153, 59, 288, 288, 37, 10, 153, 235,
1986 1.10 christos 16, 37, 38, 240, 36, 239, 58, 37, 274, 37,
1987 1.10 christos 271, 153, 10, 212, 153, 182, 184, 235, 152, 291,
1988 1.10 christos 77, 235, 153, 235, 37, 147, 241, 107, 242, 187,
1989 1.10 christos 235, 273, 235, 152, 233, 99, 220, 153, 182, 153,
1990 1.10 christos 59, 10, 39, 257, 153, 235, 242, 37, 250, 59,
1991 1.10 christos 153, 153, 10, 153, 235, 37, 16, 153, 143, 144,
1992 1.10 christos 145, 243, 235, 58, 273, 233, 153, 235, 246, 153,
1993 1.10 christos 251, 153, 58, 263, 257, 4, 41, 42, 43, 44,
1994 1.10 christos 45, 54, 56, 67, 98, 100, 104, 121, 142, 146,
1995 1.10 christos 148, 152, 154, 190, 191, 192, 195, 198, 199, 201,
1996 1.10 christos 204, 205, 206, 211, 4, 59, 16, 37, 37, 160,
1997 1.10 christos 37, 202, 37, 37, 37, 4, 54, 55, 56, 57,
1998 1.10 christos 191, 193, 197, 37, 4, 54, 154, 192, 201, 59,
1999 1.10 christos 37, 210, 264, 25, 261, 104, 191, 191, 203, 207,
2000 1.10 christos 233, 37, 200, 4, 194, 190, 196, 37, 37, 37,
2001 1.10 christos 37, 155, 212, 197, 37, 197, 37, 247, 233, 58,
2002 1.10 christos 4, 106, 238, 153, 153, 153, 205, 153, 235, 4,
2003 1.10 christos 198, 21, 153, 153, 190, 54, 55, 191, 54, 55,
2004 1.10 christos 191, 191, 191, 193, 153, 155, 197, 261, 153, 205,
2005 1.10 christos 25, 262, 36, 151, 153, 4, 190, 37, 37, 153,
2006 1.10 christos 37, 37, 153, 153, 153, 153, 238, 59, 4, 10,
2007 1.10 christos 16, 208, 4, 191, 191, 191, 191, 262, 265, 207,
2008 1.10 christos 4, 252, 153, 153, 153, 153, 153, 208, 262, 212,
2009 1.10 christos 210, 153, 153, 153, 153, 248, 208, 212, 266, 212
2010 1.1 skrll };
2011 1.3 matt
2012 1.10 christos /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
2013 1.10 christos static const yytype_int16 yyr1[] =
2014 1.7 christos {
2015 1.10 christos 0, 158, 159, 159, 159, 159, 159, 160, 162, 161,
2016 1.10 christos 164, 163, 165, 165, 166, 166, 166, 166, 166, 166,
2017 1.10 christos 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2018 1.10 christos 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2019 1.10 christos 167, 166, 166, 166, 168, 168, 168, 169, 169, 170,
2020 1.10 christos 170, 171, 171, 171, 172, 172, 172, 174, 173, 175,
2021 1.10 christos 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2022 1.7 christos 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2023 1.10 christos 176, 177, 176, 176, 178, 176, 176, 176, 179, 176,
2024 1.10 christos 176, 176, 176, 176, 181, 180, 182, 182, 182, 182,
2025 1.10 christos 182, 182, 183, 182, 184, 182, 185, 182, 186, 187,
2026 1.10 christos 187, 187, 188, 188, 189, 188, 190, 191, 191, 192,
2027 1.10 christos 192, 192, 193, 193, 193, 193, 193, 193, 193, 193,
2028 1.10 christos 193, 194, 194, 195, 196, 196, 197, 197, 198, 198,
2029 1.10 christos 198, 198, 198, 198, 199, 200, 199, 201, 201, 201,
2030 1.10 christos 201, 201, 201, 201, 201, 202, 201, 203, 201, 204,
2031 1.10 christos 204, 205, 205, 206, 206, 206, 206, 206, 207, 208,
2032 1.10 christos 208, 209, 209, 209, 209, 209, 209, 209, 209, 210,
2033 1.10 christos 210, 211, 211, 211, 211, 211, 212, 212, 213, 214,
2034 1.10 christos 214, 215, 215, 217, 216, 218, 216, 219, 220, 221,
2035 1.10 christos 221, 222, 222, 223, 223, 224, 225, 225, 226, 226,
2036 1.10 christos 227, 228, 228, 229, 229, 230, 230, 230, 232, 231,
2037 1.10 christos 234, 233, 235, 235, 235, 235, 235, 235, 235, 235,
2038 1.10 christos 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
2039 1.10 christos 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
2040 1.10 christos 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
2041 1.10 christos 235, 236, 237, 235, 235, 235, 235, 235, 235, 235,
2042 1.10 christos 235, 235, 238, 238, 239, 239, 240, 240, 241, 241,
2043 1.10 christos 242, 242, 243, 243, 243, 243, 245, 246, 247, 248,
2044 1.10 christos 244, 249, 250, 251, 252, 244, 253, 254, 244, 255,
2045 1.10 christos 244, 256, 256, 256, 256, 256, 256, 256, 256, 257,
2046 1.10 christos 257, 257, 258, 258, 258, 258, 259, 259, 260, 260,
2047 1.10 christos 261, 261, 262, 262, 263, 264, 265, 266, 263, 267,
2048 1.10 christos 268, 268, 270, 271, 269, 272, 273, 273, 273, 274,
2049 1.10 christos 274, 276, 275, 277, 277, 278, 279, 281, 280, 283,
2050 1.10 christos 282, 284, 284, 285, 285, 285, 286, 286, 287, 287,
2051 1.10 christos 287, 287, 287, 288, 288, 288, 288, 289, 288, 290,
2052 1.10 christos 288, 288, 288, 288, 288, 288, 288, 291, 291
2053 1.7 christos };
2054 1.3 matt
2055 1.10 christos /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
2056 1.10 christos static const yytype_int8 yyr2[] =
2057 1.7 christos {
2058 1.10 christos 0, 2, 2, 2, 2, 2, 2, 1, 0, 2,
2059 1.7 christos 0, 2, 3, 0, 2, 4, 1, 1, 2, 1,
2060 1.7 christos 4, 4, 3, 2, 4, 3, 4, 4, 4, 4,
2061 1.7 christos 4, 2, 2, 2, 4, 4, 2, 2, 2, 2,
2062 1.7 christos 0, 5, 2, 0, 3, 2, 0, 1, 3, 1,
2063 1.10 christos 3, 0, 1, 3, 1, 2, 3, 0, 2, 2,
2064 1.10 christos 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2065 1.10 christos 1, 4, 4, 4, 4, 8, 4, 1, 1, 1,
2066 1.10 christos 4, 0, 5, 4, 0, 5, 4, 4, 0, 5,
2067 1.10 christos 3, 3, 6, 4, 0, 2, 1, 3, 2, 1,
2068 1.10 christos 3, 2, 0, 5, 0, 7, 0, 6, 4, 2,
2069 1.10 christos 2, 0, 4, 2, 0, 7, 1, 1, 5, 1,
2070 1.10 christos 4, 4, 1, 4, 4, 4, 7, 7, 7, 7,
2071 1.10 christos 4, 1, 3, 4, 2, 1, 3, 1, 1, 2,
2072 1.10 christos 3, 4, 4, 5, 1, 0, 5, 1, 2, 1,
2073 1.10 christos 1, 4, 1, 4, 4, 0, 8, 0, 5, 2,
2074 1.10 christos 1, 0, 1, 1, 1, 1, 1, 1, 1, 2,
2075 1.10 christos 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2076 1.10 christos 1, 3, 3, 6, 6, 6, 1, 0, 4, 1,
2077 1.10 christos 0, 3, 1, 0, 7, 0, 5, 3, 3, 0,
2078 1.10 christos 3, 1, 2, 1, 2, 4, 4, 3, 3, 1,
2079 1.10 christos 4, 3, 0, 1, 1, 0, 2, 3, 0, 4,
2080 1.10 christos 0, 2, 2, 3, 4, 2, 2, 2, 3, 3,
2081 1.7 christos 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2082 1.10 christos 3, 3, 3, 3, 5, 3, 3, 4, 1, 1,
2083 1.10 christos 2, 2, 2, 2, 4, 4, 4, 6, 6, 6,
2084 1.10 christos 4, 0, 0, 8, 4, 1, 6, 6, 6, 2,
2085 1.10 christos 2, 4, 3, 0, 4, 0, 4, 0, 1, 0,
2086 1.10 christos 4, 0, 1, 1, 1, 0, 0, 0, 0, 0,
2087 1.10 christos 19, 0, 0, 0, 0, 17, 0, 0, 7, 0,
2088 1.10 christos 5, 1, 1, 1, 1, 1, 6, 1, 3, 3,
2089 1.10 christos 0, 2, 3, 2, 6, 10, 2, 1, 0, 1,
2090 1.10 christos 2, 0, 0, 3, 0, 0, 0, 0, 11, 4,
2091 1.10 christos 0, 2, 0, 0, 6, 1, 0, 3, 5, 0,
2092 1.10 christos 3, 0, 2, 1, 2, 4, 2, 0, 2, 0,
2093 1.10 christos 5, 1, 2, 4, 5, 6, 1, 2, 0, 2,
2094 1.10 christos 4, 4, 8, 1, 1, 3, 3, 0, 9, 0,
2095 1.10 christos 7, 1, 3, 1, 3, 1, 3, 0, 1
2096 1.7 christos };
2097 1.3 matt
2098 1.3 matt
2099 1.10 christos enum { YYENOMEM = -2 };
2100 1.10 christos
2101 1.7 christos #define yyerrok (yyerrstatus = 0)
2102 1.7 christos #define yyclearin (yychar = YYEMPTY)
2103 1.7 christos
2104 1.7 christos #define YYACCEPT goto yyacceptlab
2105 1.7 christos #define YYABORT goto yyabortlab
2106 1.7 christos #define YYERROR goto yyerrorlab
2107 1.10 christos #define YYNOMEM goto yyexhaustedlab
2108 1.3 matt
2109 1.3 matt
2110 1.3 matt #define YYRECOVERING() (!!yyerrstatus)
2111 1.3 matt
2112 1.10 christos #define YYBACKUP(Token, Value) \
2113 1.10 christos do \
2114 1.10 christos if (yychar == YYEMPTY) \
2115 1.10 christos { \
2116 1.10 christos yychar = (Token); \
2117 1.10 christos yylval = (Value); \
2118 1.10 christos YYPOPSTACK (yylen); \
2119 1.10 christos yystate = *yyssp; \
2120 1.10 christos goto yybackup; \
2121 1.10 christos } \
2122 1.10 christos else \
2123 1.10 christos { \
2124 1.10 christos yyerror (YY_("syntax error: cannot back up")); \
2125 1.10 christos YYERROR; \
2126 1.10 christos } \
2127 1.10 christos while (0)
2128 1.10 christos
2129 1.10 christos /* Backward compatibility with an undocumented macro.
2130 1.10 christos Use YYerror or YYUNDEF. */
2131 1.10 christos #define YYERRCODE YYUNDEF
2132 1.3 matt
2133 1.3 matt
2134 1.3 matt /* Enable debugging if requested. */
2135 1.2 matt #if YYDEBUG
2136 1.1 skrll
2137 1.3 matt # ifndef YYFPRINTF
2138 1.3 matt # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2139 1.3 matt # define YYFPRINTF fprintf
2140 1.3 matt # endif
2141 1.1 skrll
2142 1.7 christos # define YYDPRINTF(Args) \
2143 1.7 christos do { \
2144 1.7 christos if (yydebug) \
2145 1.7 christos YYFPRINTF Args; \
2146 1.7 christos } while (0)
2147 1.5 christos
2148 1.7 christos
2149 1.7 christos
2150 1.10 christos
2151 1.10 christos # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
2152 1.7 christos do { \
2153 1.7 christos if (yydebug) \
2154 1.7 christos { \
2155 1.7 christos YYFPRINTF (stderr, "%s ", Title); \
2156 1.7 christos yy_symbol_print (stderr, \
2157 1.10 christos Kind, Value); \
2158 1.7 christos YYFPRINTF (stderr, "\n"); \
2159 1.7 christos } \
2160 1.7 christos } while (0)
2161 1.4 matt
2162 1.4 matt
2163 1.10 christos /*-----------------------------------.
2164 1.10 christos | Print this symbol's value on YYO. |
2165 1.10 christos `-----------------------------------*/
2166 1.7 christos
2167 1.4 matt static void
2168 1.10 christos yy_symbol_value_print (FILE *yyo,
2169 1.10 christos yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
2170 1.4 matt {
2171 1.10 christos FILE *yyoutput = yyo;
2172 1.10 christos YY_USE (yyoutput);
2173 1.4 matt if (!yyvaluep)
2174 1.4 matt return;
2175 1.10 christos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2176 1.10 christos YY_USE (yykind);
2177 1.10 christos YY_IGNORE_MAYBE_UNINITIALIZED_END
2178 1.4 matt }
2179 1.4 matt
2180 1.4 matt
2181 1.10 christos /*---------------------------.
2182 1.10 christos | Print this symbol on YYO. |
2183 1.10 christos `---------------------------*/
2184 1.4 matt
2185 1.4 matt static void
2186 1.10 christos yy_symbol_print (FILE *yyo,
2187 1.10 christos yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
2188 1.4 matt {
2189 1.10 christos YYFPRINTF (yyo, "%s %s (",
2190 1.10 christos yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
2191 1.3 matt
2192 1.10 christos yy_symbol_value_print (yyo, yykind, yyvaluep);
2193 1.10 christos YYFPRINTF (yyo, ")");
2194 1.4 matt }
2195 1.3 matt
2196 1.3 matt /*------------------------------------------------------------------.
2197 1.3 matt | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2198 1.3 matt | TOP (included). |
2199 1.3 matt `------------------------------------------------------------------*/
2200 1.3 matt
2201 1.6 christos static void
2202 1.10 christos yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
2203 1.3 matt {
2204 1.3 matt YYFPRINTF (stderr, "Stack now");
2205 1.7 christos for (; yybottom <= yytop; yybottom++)
2206 1.7 christos {
2207 1.7 christos int yybot = *yybottom;
2208 1.7 christos YYFPRINTF (stderr, " %d", yybot);
2209 1.7 christos }
2210 1.3 matt YYFPRINTF (stderr, "\n");
2211 1.3 matt }
2212 1.1 skrll
2213 1.7 christos # define YY_STACK_PRINT(Bottom, Top) \
2214 1.7 christos do { \
2215 1.7 christos if (yydebug) \
2216 1.7 christos yy_stack_print ((Bottom), (Top)); \
2217 1.7 christos } while (0)
2218 1.1 skrll
2219 1.3 matt
2220 1.3 matt /*------------------------------------------------.
2221 1.3 matt | Report that the YYRULE is going to be reduced. |
2222 1.3 matt `------------------------------------------------*/
2223 1.3 matt
2224 1.6 christos static void
2225 1.10 christos yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
2226 1.10 christos int yyrule)
2227 1.3 matt {
2228 1.10 christos int yylno = yyrline[yyrule];
2229 1.4 matt int yynrhs = yyr2[yyrule];
2230 1.3 matt int yyi;
2231 1.10 christos YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
2232 1.7 christos yyrule - 1, yylno);
2233 1.4 matt /* The symbols being reduced. */
2234 1.4 matt for (yyi = 0; yyi < yynrhs; yyi++)
2235 1.4 matt {
2236 1.7 christos YYFPRINTF (stderr, " $%d = ", yyi + 1);
2237 1.7 christos yy_symbol_print (stderr,
2238 1.10 christos YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
2239 1.10 christos &yyvsp[(yyi + 1) - (yynrhs)]);
2240 1.7 christos YYFPRINTF (stderr, "\n");
2241 1.4 matt }
2242 1.3 matt }
2243 1.3 matt
2244 1.7 christos # define YY_REDUCE_PRINT(Rule) \
2245 1.7 christos do { \
2246 1.7 christos if (yydebug) \
2247 1.7 christos yy_reduce_print (yyssp, yyvsp, Rule); \
2248 1.7 christos } while (0)
2249 1.3 matt
2250 1.3 matt /* Nonzero means print parse trace. It is left uninitialized so that
2251 1.3 matt multiple parsers can coexist. */
2252 1.3 matt int yydebug;
2253 1.3 matt #else /* !YYDEBUG */
2254 1.10 christos # define YYDPRINTF(Args) ((void) 0)
2255 1.10 christos # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
2256 1.3 matt # define YY_STACK_PRINT(Bottom, Top)
2257 1.3 matt # define YY_REDUCE_PRINT(Rule)
2258 1.3 matt #endif /* !YYDEBUG */
2259 1.3 matt
2260 1.3 matt
2261 1.3 matt /* YYINITDEPTH -- initial size of the parser's stacks. */
2262 1.7 christos #ifndef YYINITDEPTH
2263 1.3 matt # define YYINITDEPTH 200
2264 1.1 skrll #endif
2265 1.3 matt
2266 1.3 matt /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2267 1.3 matt if the built-in stack extension method is used).
2268 1.3 matt
2269 1.3 matt Do not make this value too large; the results are undefined if
2270 1.3 matt YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2271 1.3 matt evaluated with infinite-precision integer arithmetic. */
2272 1.3 matt
2273 1.3 matt #ifndef YYMAXDEPTH
2274 1.3 matt # define YYMAXDEPTH 10000
2275 1.1 skrll #endif
2276 1.1 skrll
2277 1.3 matt
2278 1.1 skrll
2279 1.3 matt
2280 1.1 skrll
2281 1.1 skrll
2282 1.3 matt /*-----------------------------------------------.
2283 1.3 matt | Release the memory associated to this symbol. |
2284 1.3 matt `-----------------------------------------------*/
2285 1.3 matt
2286 1.3 matt static void
2287 1.10 christos yydestruct (const char *yymsg,
2288 1.10 christos yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
2289 1.1 skrll {
2290 1.10 christos YY_USE (yyvaluep);
2291 1.3 matt if (!yymsg)
2292 1.3 matt yymsg = "Deleting";
2293 1.10 christos YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
2294 1.3 matt
2295 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2296 1.10 christos YY_USE (yykind);
2297 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_END
2298 1.1 skrll }
2299 1.6 christos
2300 1.3 matt
2301 1.10 christos /* Lookahead token kind. */
2302 1.3 matt int yychar;
2303 1.3 matt
2304 1.7 christos /* The semantic value of the lookahead symbol. */
2305 1.3 matt YYSTYPE yylval;
2306 1.3 matt /* Number of syntax errors so far. */
2307 1.3 matt int yynerrs;
2308 1.1 skrll
2309 1.1 skrll
2310 1.10 christos
2311 1.10 christos
2312 1.3 matt /*----------.
2313 1.3 matt | yyparse. |
2314 1.3 matt `----------*/
2315 1.3 matt
2316 1.3 matt int
2317 1.3 matt yyparse (void)
2318 1.7 christos {
2319 1.10 christos yy_state_fast_t yystate = 0;
2320 1.7 christos /* Number of tokens to shift before error messages enabled. */
2321 1.10 christos int yyerrstatus = 0;
2322 1.7 christos
2323 1.10 christos /* Refer to the stacks through separate pointers, to allow yyoverflow
2324 1.10 christos to reallocate them elsewhere. */
2325 1.7 christos
2326 1.10 christos /* Their size. */
2327 1.10 christos YYPTRDIFF_T yystacksize = YYINITDEPTH;
2328 1.7 christos
2329 1.10 christos /* The state stack: array, bottom, top. */
2330 1.10 christos yy_state_t yyssa[YYINITDEPTH];
2331 1.10 christos yy_state_t *yyss = yyssa;
2332 1.10 christos yy_state_t *yyssp = yyss;
2333 1.7 christos
2334 1.10 christos /* The semantic value stack: array, bottom, top. */
2335 1.7 christos YYSTYPE yyvsa[YYINITDEPTH];
2336 1.10 christos YYSTYPE *yyvs = yyvsa;
2337 1.10 christos YYSTYPE *yyvsp = yyvs;
2338 1.6 christos
2339 1.3 matt int yyn;
2340 1.10 christos /* The return value of yyparse. */
2341 1.3 matt int yyresult;
2342 1.10 christos /* Lookahead symbol kind. */
2343 1.10 christos yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
2344 1.7 christos /* The variables used to return semantic value and location from the
2345 1.7 christos action routines. */
2346 1.7 christos YYSTYPE yyval;
2347 1.7 christos
2348 1.10 christos
2349 1.3 matt
2350 1.4 matt #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2351 1.3 matt
2352 1.4 matt /* The number of symbols on the RHS of the reduced rule.
2353 1.4 matt Keep to zero when no symbol should be popped. */
2354 1.4 matt int yylen = 0;
2355 1.3 matt
2356 1.3 matt YYDPRINTF ((stderr, "Starting parse\n"));
2357 1.3 matt
2358 1.7 christos yychar = YYEMPTY; /* Cause a token to be read. */
2359 1.10 christos
2360 1.3 matt goto yysetstate;
2361 1.3 matt
2362 1.10 christos
2363 1.3 matt /*------------------------------------------------------------.
2364 1.10 christos | yynewstate -- push a new state, which is found in yystate. |
2365 1.3 matt `------------------------------------------------------------*/
2366 1.10 christos yynewstate:
2367 1.3 matt /* In all cases, when you get here, the value and location stacks
2368 1.4 matt have just been pushed. So pushing a state here evens the stacks. */
2369 1.3 matt yyssp++;
2370 1.3 matt
2371 1.10 christos
2372 1.10 christos /*--------------------------------------------------------------------.
2373 1.10 christos | yysetstate -- set current state (the top of the stack) to yystate. |
2374 1.10 christos `--------------------------------------------------------------------*/
2375 1.10 christos yysetstate:
2376 1.10 christos YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2377 1.10 christos YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
2378 1.10 christos YY_IGNORE_USELESS_CAST_BEGIN
2379 1.10 christos *yyssp = YY_CAST (yy_state_t, yystate);
2380 1.10 christos YY_IGNORE_USELESS_CAST_END
2381 1.10 christos YY_STACK_PRINT (yyss, yyssp);
2382 1.1 skrll
2383 1.3 matt if (yyss + yystacksize - 1 <= yyssp)
2384 1.10 christos #if !defined yyoverflow && !defined YYSTACK_RELOCATE
2385 1.10 christos YYNOMEM;
2386 1.10 christos #else
2387 1.1 skrll {
2388 1.3 matt /* Get the current used size of the three stacks, in elements. */
2389 1.10 christos YYPTRDIFF_T yysize = yyssp - yyss + 1;
2390 1.3 matt
2391 1.10 christos # if defined yyoverflow
2392 1.3 matt {
2393 1.7 christos /* Give user a chance to reallocate the stack. Use copies of
2394 1.7 christos these so that the &'s don't force the real ones into
2395 1.7 christos memory. */
2396 1.10 christos yy_state_t *yyss1 = yyss;
2397 1.7 christos YYSTYPE *yyvs1 = yyvs;
2398 1.7 christos
2399 1.7 christos /* Each stack pointer address is followed by the size of the
2400 1.7 christos data in use in that stack, in bytes. This used to be a
2401 1.7 christos conditional around just the two extra args, but that might
2402 1.7 christos be undefined if yyoverflow is a macro. */
2403 1.7 christos yyoverflow (YY_("memory exhausted"),
2404 1.10 christos &yyss1, yysize * YYSIZEOF (*yyssp),
2405 1.10 christos &yyvs1, yysize * YYSIZEOF (*yyvsp),
2406 1.7 christos &yystacksize);
2407 1.7 christos yyss = yyss1;
2408 1.7 christos yyvs = yyvs1;
2409 1.3 matt }
2410 1.10 christos # else /* defined YYSTACK_RELOCATE */
2411 1.3 matt /* Extend the stack our own way. */
2412 1.3 matt if (YYMAXDEPTH <= yystacksize)
2413 1.10 christos YYNOMEM;
2414 1.3 matt yystacksize *= 2;
2415 1.3 matt if (YYMAXDEPTH < yystacksize)
2416 1.7 christos yystacksize = YYMAXDEPTH;
2417 1.3 matt
2418 1.3 matt {
2419 1.10 christos yy_state_t *yyss1 = yyss;
2420 1.7 christos union yyalloc *yyptr =
2421 1.10 christos YY_CAST (union yyalloc *,
2422 1.10 christos YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
2423 1.7 christos if (! yyptr)
2424 1.10 christos YYNOMEM;
2425 1.7 christos YYSTACK_RELOCATE (yyss_alloc, yyss);
2426 1.7 christos YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2427 1.3 matt # undef YYSTACK_RELOCATE
2428 1.7 christos if (yyss1 != yyssa)
2429 1.7 christos YYSTACK_FREE (yyss1);
2430 1.3 matt }
2431 1.3 matt # endif
2432 1.3 matt
2433 1.3 matt yyssp = yyss + yysize - 1;
2434 1.3 matt yyvsp = yyvs + yysize - 1;
2435 1.3 matt
2436 1.10 christos YY_IGNORE_USELESS_CAST_BEGIN
2437 1.10 christos YYDPRINTF ((stderr, "Stack size increased to %ld\n",
2438 1.10 christos YY_CAST (long, yystacksize)));
2439 1.10 christos YY_IGNORE_USELESS_CAST_END
2440 1.3 matt
2441 1.3 matt if (yyss + yystacksize - 1 <= yyssp)
2442 1.7 christos YYABORT;
2443 1.1 skrll }
2444 1.10 christos #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
2445 1.1 skrll
2446 1.3 matt
2447 1.7 christos if (yystate == YYFINAL)
2448 1.7 christos YYACCEPT;
2449 1.7 christos
2450 1.3 matt goto yybackup;
2451 1.3 matt
2452 1.10 christos
2453 1.3 matt /*-----------.
2454 1.3 matt | yybackup. |
2455 1.3 matt `-----------*/
2456 1.3 matt yybackup:
2457 1.4 matt /* Do appropriate processing given the current state. Read a
2458 1.7 christos lookahead token if we need one and don't already have one. */
2459 1.3 matt
2460 1.7 christos /* First try to decide what to do without reference to lookahead token. */
2461 1.3 matt yyn = yypact[yystate];
2462 1.7 christos if (yypact_value_is_default (yyn))
2463 1.3 matt goto yydefault;
2464 1.1 skrll
2465 1.7 christos /* Not known => get a lookahead token if don't already have one. */
2466 1.1 skrll
2467 1.10 christos /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
2468 1.3 matt if (yychar == YYEMPTY)
2469 1.3 matt {
2470 1.10 christos YYDPRINTF ((stderr, "Reading a token\n"));
2471 1.7 christos yychar = yylex ();
2472 1.3 matt }
2473 1.1 skrll
2474 1.3 matt if (yychar <= YYEOF)
2475 1.2 matt {
2476 1.10 christos yychar = YYEOF;
2477 1.10 christos yytoken = YYSYMBOL_YYEOF;
2478 1.3 matt YYDPRINTF ((stderr, "Now at end of input.\n"));
2479 1.2 matt }
2480 1.10 christos else if (yychar == YYerror)
2481 1.10 christos {
2482 1.10 christos /* The scanner already issued an error message, process directly
2483 1.10 christos to error recovery. But do not keep the error token as
2484 1.10 christos lookahead, it is too special and may lead us to an endless
2485 1.10 christos loop in error recovery. */
2486 1.10 christos yychar = YYUNDEF;
2487 1.10 christos yytoken = YYSYMBOL_YYerror;
2488 1.10 christos goto yyerrlab1;
2489 1.10 christos }
2490 1.3 matt else
2491 1.2 matt {
2492 1.3 matt yytoken = YYTRANSLATE (yychar);
2493 1.3 matt YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2494 1.2 matt }
2495 1.3 matt
2496 1.3 matt /* If the proper action on seeing token YYTOKEN is to reduce or to
2497 1.3 matt detect an error, take that action. */
2498 1.3 matt yyn += yytoken;
2499 1.3 matt if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2500 1.3 matt goto yydefault;
2501 1.3 matt yyn = yytable[yyn];
2502 1.3 matt if (yyn <= 0)
2503 1.1 skrll {
2504 1.7 christos if (yytable_value_is_error (yyn))
2505 1.7 christos goto yyerrlab;
2506 1.3 matt yyn = -yyn;
2507 1.3 matt goto yyreduce;
2508 1.1 skrll }
2509 1.1 skrll
2510 1.4 matt /* Count tokens shifted since error; after three, turn off error
2511 1.4 matt status. */
2512 1.4 matt if (yyerrstatus)
2513 1.4 matt yyerrstatus--;
2514 1.4 matt
2515 1.7 christos /* Shift the lookahead token. */
2516 1.3 matt YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2517 1.4 matt yystate = yyn;
2518 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2519 1.3 matt *++yyvsp = yylval;
2520 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_END
2521 1.3 matt
2522 1.10 christos /* Discard the shifted token. */
2523 1.10 christos yychar = YYEMPTY;
2524 1.3 matt goto yynewstate;
2525 1.3 matt
2526 1.3 matt
2527 1.3 matt /*-----------------------------------------------------------.
2528 1.3 matt | yydefault -- do the default action for the current state. |
2529 1.3 matt `-----------------------------------------------------------*/
2530 1.3 matt yydefault:
2531 1.3 matt yyn = yydefact[yystate];
2532 1.3 matt if (yyn == 0)
2533 1.2 matt goto yyerrlab;
2534 1.3 matt goto yyreduce;
2535 1.3 matt
2536 1.1 skrll
2537 1.3 matt /*-----------------------------.
2538 1.10 christos | yyreduce -- do a reduction. |
2539 1.3 matt `-----------------------------*/
2540 1.3 matt yyreduce:
2541 1.3 matt /* yyn is the number of a rule to reduce with. */
2542 1.3 matt yylen = yyr2[yyn];
2543 1.3 matt
2544 1.3 matt /* If YYLEN is nonzero, implement the default value of the action:
2545 1.7 christos '$$ = $1'.
2546 1.3 matt
2547 1.3 matt Otherwise, the following line sets YYVAL to garbage.
2548 1.3 matt This behavior is undocumented and Bison
2549 1.3 matt users should not rely upon it. Assigning to YYVAL
2550 1.3 matt unconditionally makes the parser a bit smaller, and it avoids a
2551 1.3 matt GCC warning that YYVAL may be used uninitialized. */
2552 1.3 matt yyval = yyvsp[1-yylen];
2553 1.3 matt
2554 1.3 matt
2555 1.3 matt YY_REDUCE_PRINT (yyn);
2556 1.3 matt switch (yyn)
2557 1.3 matt {
2558 1.10 christos case 8: /* $@1: %empty */
2559 1.10 christos #line 181 "ldgram.y"
2560 1.10 christos { ldlex_expression(); }
2561 1.10 christos #line 2562 "ldgram.c"
2562 1.3 matt break;
2563 1.1 skrll
2564 1.10 christos case 9: /* defsym_expr: $@1 assignment */
2565 1.10 christos #line 183 "ldgram.y"
2566 1.10 christos { ldlex_popstate(); }
2567 1.10 christos #line 2568 "ldgram.c"
2568 1.3 matt break;
2569 1.3 matt
2570 1.10 christos case 10: /* $@2: %empty */
2571 1.10 christos #line 188 "ldgram.y"
2572 1.10 christos {
2573 1.1 skrll ldlex_mri_script ();
2574 1.1 skrll PUSH_ERROR (_("MRI style script"));
2575 1.1 skrll }
2576 1.10 christos #line 2577 "ldgram.c"
2577 1.3 matt break;
2578 1.3 matt
2579 1.10 christos case 11: /* mri_script_file: $@2 mri_script_lines */
2580 1.10 christos #line 193 "ldgram.y"
2581 1.10 christos {
2582 1.1 skrll ldlex_popstate ();
2583 1.1 skrll mri_draw_tree ();
2584 1.1 skrll POP_ERROR ();
2585 1.1 skrll }
2586 1.10 christos #line 2587 "ldgram.c"
2587 1.3 matt break;
2588 1.3 matt
2589 1.10 christos case 16: /* mri_script_command: NAME */
2590 1.10 christos #line 208 "ldgram.y"
2591 1.10 christos {
2592 1.8 christos einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),(yyvsp[0].name));
2593 1.1 skrll }
2594 1.10 christos #line 2595 "ldgram.c"
2595 1.3 matt break;
2596 1.3 matt
2597 1.10 christos case 17: /* mri_script_command: LIST */
2598 1.10 christos #line 211 "ldgram.y"
2599 1.10 christos {
2600 1.1 skrll config.map_filename = "-";
2601 1.1 skrll }
2602 1.10 christos #line 2603 "ldgram.c"
2603 1.3 matt break;
2604 1.3 matt
2605 1.10 christos case 20: /* mri_script_command: PUBLIC NAME '=' exp */
2606 1.10 christos #line 217 "ldgram.y"
2607 1.10 christos { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); }
2608 1.10 christos #line 2609 "ldgram.c"
2609 1.3 matt break;
2610 1.3 matt
2611 1.10 christos case 21: /* mri_script_command: PUBLIC NAME ',' exp */
2612 1.10 christos #line 219 "ldgram.y"
2613 1.10 christos { mri_public((yyvsp[-2].name), (yyvsp[0].etree)); }
2614 1.10 christos #line 2615 "ldgram.c"
2615 1.3 matt break;
2616 1.3 matt
2617 1.10 christos case 22: /* mri_script_command: PUBLIC NAME exp */
2618 1.10 christos #line 221 "ldgram.y"
2619 1.10 christos { mri_public((yyvsp[-1].name), (yyvsp[0].etree)); }
2620 1.10 christos #line 2621 "ldgram.c"
2621 1.3 matt break;
2622 1.3 matt
2623 1.10 christos case 23: /* mri_script_command: FORMAT NAME */
2624 1.10 christos #line 223 "ldgram.y"
2625 1.10 christos { mri_format((yyvsp[0].name)); }
2626 1.10 christos #line 2627 "ldgram.c"
2627 1.3 matt break;
2628 1.3 matt
2629 1.10 christos case 24: /* mri_script_command: SECT NAME ',' exp */
2630 1.10 christos #line 225 "ldgram.y"
2631 1.10 christos { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));}
2632 1.10 christos #line 2633 "ldgram.c"
2633 1.3 matt break;
2634 1.3 matt
2635 1.10 christos case 25: /* mri_script_command: SECT NAME exp */
2636 1.10 christos #line 227 "ldgram.y"
2637 1.10 christos { mri_output_section((yyvsp[-1].name), (yyvsp[0].etree));}
2638 1.10 christos #line 2639 "ldgram.c"
2639 1.3 matt break;
2640 1.3 matt
2641 1.10 christos case 26: /* mri_script_command: SECT NAME '=' exp */
2642 1.10 christos #line 229 "ldgram.y"
2643 1.10 christos { mri_output_section((yyvsp[-2].name), (yyvsp[0].etree));}
2644 1.10 christos #line 2645 "ldgram.c"
2645 1.3 matt break;
2646 1.3 matt
2647 1.10 christos case 27: /* mri_script_command: ALIGN_K NAME '=' exp */
2648 1.10 christos #line 231 "ldgram.y"
2649 1.10 christos { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); }
2650 1.10 christos #line 2651 "ldgram.c"
2651 1.3 matt break;
2652 1.3 matt
2653 1.10 christos case 28: /* mri_script_command: ALIGN_K NAME ',' exp */
2654 1.10 christos #line 233 "ldgram.y"
2655 1.10 christos { mri_align((yyvsp[-2].name),(yyvsp[0].etree)); }
2656 1.10 christos #line 2657 "ldgram.c"
2657 1.3 matt break;
2658 1.3 matt
2659 1.10 christos case 29: /* mri_script_command: ALIGNMOD NAME '=' exp */
2660 1.10 christos #line 235 "ldgram.y"
2661 1.10 christos { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); }
2662 1.10 christos #line 2663 "ldgram.c"
2663 1.3 matt break;
2664 1.3 matt
2665 1.10 christos case 30: /* mri_script_command: ALIGNMOD NAME ',' exp */
2666 1.10 christos #line 237 "ldgram.y"
2667 1.10 christos { mri_alignmod((yyvsp[-2].name),(yyvsp[0].etree)); }
2668 1.10 christos #line 2669 "ldgram.c"
2669 1.3 matt break;
2670 1.3 matt
2671 1.10 christos case 33: /* mri_script_command: NAMEWORD NAME */
2672 1.10 christos #line 241 "ldgram.y"
2673 1.10 christos { mri_name((yyvsp[0].name)); }
2674 1.10 christos #line 2675 "ldgram.c"
2675 1.3 matt break;
2676 1.3 matt
2677 1.10 christos case 34: /* mri_script_command: ALIAS NAME ',' NAME */
2678 1.10 christos #line 243 "ldgram.y"
2679 1.10 christos { mri_alias((yyvsp[-2].name),(yyvsp[0].name),0);}
2680 1.10 christos #line 2681 "ldgram.c"
2681 1.3 matt break;
2682 1.3 matt
2683 1.10 christos case 35: /* mri_script_command: ALIAS NAME ',' INT */
2684 1.10 christos #line 245 "ldgram.y"
2685 1.10 christos { mri_alias ((yyvsp[-2].name), 0, (int) (yyvsp[0].bigint).integer); }
2686 1.10 christos #line 2687 "ldgram.c"
2687 1.3 matt break;
2688 1.3 matt
2689 1.10 christos case 36: /* mri_script_command: BASE exp */
2690 1.10 christos #line 247 "ldgram.y"
2691 1.10 christos { mri_base((yyvsp[0].etree)); }
2692 1.10 christos #line 2693 "ldgram.c"
2693 1.3 matt break;
2694 1.3 matt
2695 1.10 christos case 37: /* mri_script_command: TRUNCATE INT */
2696 1.10 christos #line 249 "ldgram.y"
2697 1.10 christos { mri_truncate ((unsigned int) (yyvsp[0].bigint).integer); }
2698 1.10 christos #line 2699 "ldgram.c"
2699 1.3 matt break;
2700 1.3 matt
2701 1.10 christos case 40: /* $@3: %empty */
2702 1.10 christos #line 253 "ldgram.y"
2703 1.10 christos { ldfile_open_command_file ((yyvsp[0].name)); }
2704 1.10 christos #line 2705 "ldgram.c"
2705 1.3 matt break;
2706 1.3 matt
2707 1.10 christos case 42: /* mri_script_command: START NAME */
2708 1.10 christos #line 256 "ldgram.y"
2709 1.10 christos { lang_add_entry ((yyvsp[0].name), false); }
2710 1.10 christos #line 2711 "ldgram.c"
2711 1.3 matt break;
2712 1.3 matt
2713 1.10 christos case 44: /* ordernamelist: ordernamelist ',' NAME */
2714 1.10 christos #line 261 "ldgram.y"
2715 1.10 christos { mri_order((yyvsp[0].name)); }
2716 1.10 christos #line 2717 "ldgram.c"
2717 1.3 matt break;
2718 1.3 matt
2719 1.10 christos case 45: /* ordernamelist: ordernamelist NAME */
2720 1.10 christos #line 262 "ldgram.y"
2721 1.10 christos { mri_order((yyvsp[0].name)); }
2722 1.10 christos #line 2723 "ldgram.c"
2723 1.3 matt break;
2724 1.3 matt
2725 1.10 christos case 47: /* mri_load_name_list: NAME */
2726 1.10 christos #line 268 "ldgram.y"
2727 1.10 christos { mri_load((yyvsp[0].name)); }
2728 1.10 christos #line 2729 "ldgram.c"
2729 1.3 matt break;
2730 1.3 matt
2731 1.10 christos case 48: /* mri_load_name_list: mri_load_name_list ',' NAME */
2732 1.10 christos #line 269 "ldgram.y"
2733 1.10 christos { mri_load((yyvsp[0].name)); }
2734 1.10 christos #line 2735 "ldgram.c"
2735 1.3 matt break;
2736 1.3 matt
2737 1.10 christos case 49: /* mri_abs_name_list: NAME */
2738 1.10 christos #line 274 "ldgram.y"
2739 1.10 christos { mri_only_load((yyvsp[0].name)); }
2740 1.10 christos #line 2741 "ldgram.c"
2741 1.3 matt break;
2742 1.3 matt
2743 1.10 christos case 50: /* mri_abs_name_list: mri_abs_name_list ',' NAME */
2744 1.10 christos #line 276 "ldgram.y"
2745 1.10 christos { mri_only_load((yyvsp[0].name)); }
2746 1.10 christos #line 2747 "ldgram.c"
2747 1.3 matt break;
2748 1.3 matt
2749 1.10 christos case 51: /* casesymlist: %empty */
2750 1.10 christos #line 280 "ldgram.y"
2751 1.10 christos { (yyval.name) = NULL; }
2752 1.10 christos #line 2753 "ldgram.c"
2753 1.3 matt break;
2754 1.3 matt
2755 1.10 christos case 54: /* extern_name_list: NAME */
2756 1.10 christos #line 287 "ldgram.y"
2757 1.10 christos { ldlang_add_undef ((yyvsp[0].name), false); }
2758 1.10 christos #line 2759 "ldgram.c"
2759 1.3 matt break;
2760 1.3 matt
2761 1.10 christos case 55: /* extern_name_list: extern_name_list NAME */
2762 1.10 christos #line 289 "ldgram.y"
2763 1.10 christos { ldlang_add_undef ((yyvsp[0].name), false); }
2764 1.10 christos #line 2765 "ldgram.c"
2765 1.3 matt break;
2766 1.3 matt
2767 1.10 christos case 56: /* extern_name_list: extern_name_list ',' NAME */
2768 1.10 christos #line 291 "ldgram.y"
2769 1.10 christos { ldlang_add_undef ((yyvsp[0].name), false); }
2770 1.10 christos #line 2771 "ldgram.c"
2771 1.3 matt break;
2772 1.3 matt
2773 1.10 christos case 57: /* $@4: %empty */
2774 1.10 christos #line 295 "ldgram.y"
2775 1.10 christos { ldlex_script (); }
2776 1.10 christos #line 2777 "ldgram.c"
2777 1.3 matt break;
2778 1.3 matt
2779 1.10 christos case 58: /* script_file: $@4 ifile_list */
2780 1.10 christos #line 297 "ldgram.y"
2781 1.10 christos { ldlex_popstate (); }
2782 1.10 christos #line 2783 "ldgram.c"
2783 1.3 matt break;
2784 1.3 matt
2785 1.10 christos case 71: /* ifile_p1: TARGET_K '(' NAME ')' */
2786 1.10 christos #line 318 "ldgram.y"
2787 1.10 christos { lang_add_target((yyvsp[-1].name)); }
2788 1.10 christos #line 2789 "ldgram.c"
2789 1.3 matt break;
2790 1.3 matt
2791 1.10 christos case 72: /* ifile_p1: SEARCH_DIR '(' filename ')' */
2792 1.10 christos #line 320 "ldgram.y"
2793 1.10 christos { ldfile_add_library_path ((yyvsp[-1].name), false); }
2794 1.10 christos #line 2795 "ldgram.c"
2795 1.3 matt break;
2796 1.3 matt
2797 1.10 christos case 73: /* ifile_p1: OUTPUT '(' filename ')' */
2798 1.10 christos #line 322 "ldgram.y"
2799 1.10 christos { lang_add_output((yyvsp[-1].name), 1); }
2800 1.10 christos #line 2801 "ldgram.c"
2801 1.3 matt break;
2802 1.3 matt
2803 1.10 christos case 74: /* ifile_p1: OUTPUT_FORMAT '(' NAME ')' */
2804 1.10 christos #line 324 "ldgram.y"
2805 1.10 christos { lang_add_output_format ((yyvsp[-1].name), (char *) NULL,
2806 1.1 skrll (char *) NULL, 1); }
2807 1.10 christos #line 2808 "ldgram.c"
2808 1.3 matt break;
2809 1.3 matt
2810 1.10 christos case 75: /* ifile_p1: OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')' */
2811 1.10 christos #line 327 "ldgram.y"
2812 1.10 christos { lang_add_output_format ((yyvsp[-5].name), (yyvsp[-3].name), (yyvsp[-1].name), 1); }
2813 1.10 christos #line 2814 "ldgram.c"
2814 1.3 matt break;
2815 1.3 matt
2816 1.10 christos case 76: /* ifile_p1: OUTPUT_ARCH '(' NAME ')' */
2817 1.10 christos #line 329 "ldgram.y"
2818 1.10 christos { ldfile_set_output_arch ((yyvsp[-1].name), bfd_arch_unknown); }
2819 1.10 christos #line 2820 "ldgram.c"
2820 1.3 matt break;
2821 1.3 matt
2822 1.10 christos case 77: /* ifile_p1: FORCE_COMMON_ALLOCATION */
2823 1.10 christos #line 331 "ldgram.y"
2824 1.10 christos { command_line.force_common_definition = true ; }
2825 1.10 christos #line 2826 "ldgram.c"
2826 1.3 matt break;
2827 1.3 matt
2828 1.10 christos case 78: /* ifile_p1: FORCE_GROUP_ALLOCATION */
2829 1.10 christos #line 333 "ldgram.y"
2830 1.10 christos { command_line.force_group_allocation = true ; }
2831 1.10 christos #line 2832 "ldgram.c"
2832 1.3 matt break;
2833 1.3 matt
2834 1.10 christos case 79: /* ifile_p1: INHIBIT_COMMON_ALLOCATION */
2835 1.10 christos #line 335 "ldgram.y"
2836 1.10 christos { link_info.inhibit_common_definition = true ; }
2837 1.10 christos #line 2838 "ldgram.c"
2838 1.3 matt break;
2839 1.3 matt
2840 1.10 christos case 81: /* $@5: %empty */
2841 1.10 christos #line 338 "ldgram.y"
2842 1.10 christos { lang_enter_group (); }
2843 1.10 christos #line 2844 "ldgram.c"
2844 1.3 matt break;
2845 1.3 matt
2846 1.10 christos case 82: /* ifile_p1: GROUP $@5 '(' input_list ')' */
2847 1.10 christos #line 340 "ldgram.y"
2848 1.10 christos { lang_leave_group (); }
2849 1.10 christos #line 2850 "ldgram.c"
2850 1.3 matt break;
2851 1.3 matt
2852 1.10 christos case 83: /* ifile_p1: MAP '(' filename ')' */
2853 1.10 christos #line 342 "ldgram.y"
2854 1.10 christos { lang_add_map((yyvsp[-1].name)); }
2855 1.10 christos #line 2856 "ldgram.c"
2856 1.3 matt break;
2857 1.3 matt
2858 1.10 christos case 84: /* $@6: %empty */
2859 1.10 christos #line 344 "ldgram.y"
2860 1.10 christos { ldfile_open_command_file ((yyvsp[0].name)); }
2861 1.10 christos #line 2862 "ldgram.c"
2862 1.3 matt break;
2863 1.3 matt
2864 1.10 christos case 86: /* ifile_p1: NOCROSSREFS '(' nocrossref_list ')' */
2865 1.10 christos #line 347 "ldgram.y"
2866 1.10 christos {
2867 1.7 christos lang_add_nocrossref ((yyvsp[-1].nocrossref));
2868 1.6 christos }
2869 1.10 christos #line 2870 "ldgram.c"
2870 1.3 matt break;
2871 1.3 matt
2872 1.10 christos case 87: /* ifile_p1: NOCROSSREFS_TO '(' nocrossref_list ')' */
2873 1.10 christos #line 351 "ldgram.y"
2874 1.10 christos {
2875 1.7 christos lang_add_nocrossref_to ((yyvsp[-1].nocrossref));
2876 1.7 christos }
2877 1.10 christos #line 2878 "ldgram.c"
2878 1.10 christos break;
2879 1.10 christos
2880 1.10 christos case 88: /* $@7: %empty */
2881 1.10 christos #line 354 "ldgram.y"
2882 1.10 christos { ldlex_expression (); }
2883 1.10 christos #line 2884 "ldgram.c"
2884 1.3 matt break;
2885 1.3 matt
2886 1.10 christos case 89: /* ifile_p1: EXTERN '(' $@7 extern_name_list ')' */
2887 1.10 christos #line 355 "ldgram.y"
2888 1.10 christos { ldlex_popstate (); }
2889 1.10 christos #line 2890 "ldgram.c"
2890 1.3 matt break;
2891 1.3 matt
2892 1.10 christos case 90: /* ifile_p1: INSERT_K AFTER NAME */
2893 1.10 christos #line 357 "ldgram.y"
2894 1.10 christos { lang_add_insert ((yyvsp[0].name), 0); }
2895 1.10 christos #line 2896 "ldgram.c"
2896 1.3 matt break;
2897 1.3 matt
2898 1.10 christos case 91: /* ifile_p1: INSERT_K BEFORE NAME */
2899 1.10 christos #line 359 "ldgram.y"
2900 1.10 christos { lang_add_insert ((yyvsp[0].name), 1); }
2901 1.10 christos #line 2902 "ldgram.c"
2902 1.3 matt break;
2903 1.3 matt
2904 1.10 christos case 92: /* ifile_p1: REGION_ALIAS '(' NAME ',' NAME ')' */
2905 1.10 christos #line 361 "ldgram.y"
2906 1.10 christos { lang_memory_region_alias ((yyvsp[-3].name), (yyvsp[-1].name)); }
2907 1.10 christos #line 2908 "ldgram.c"
2908 1.3 matt break;
2909 1.3 matt
2910 1.10 christos case 93: /* ifile_p1: LD_FEATURE '(' NAME ')' */
2911 1.10 christos #line 363 "ldgram.y"
2912 1.10 christos { lang_ld_feature ((yyvsp[-1].name)); }
2913 1.10 christos #line 2914 "ldgram.c"
2914 1.3 matt break;
2915 1.3 matt
2916 1.10 christos case 94: /* $@8: %empty */
2917 1.10 christos #line 367 "ldgram.y"
2918 1.10 christos { ldlex_inputlist(); }
2919 1.10 christos #line 2920 "ldgram.c"
2920 1.3 matt break;
2921 1.3 matt
2922 1.10 christos case 95: /* input_list: $@8 input_list1 */
2923 1.10 christos #line 369 "ldgram.y"
2924 1.10 christos { ldlex_popstate(); }
2925 1.10 christos #line 2926 "ldgram.c"
2926 1.10 christos break;
2927 1.10 christos
2928 1.10 christos case 96: /* input_list1: NAME */
2929 1.10 christos #line 373 "ldgram.y"
2930 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
2931 1.4 matt (char *)NULL); }
2932 1.10 christos #line 2933 "ldgram.c"
2933 1.3 matt break;
2934 1.3 matt
2935 1.10 christos case 97: /* input_list1: input_list1 ',' NAME */
2936 1.10 christos #line 376 "ldgram.y"
2937 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
2938 1.4 matt (char *)NULL); }
2939 1.10 christos #line 2940 "ldgram.c"
2940 1.3 matt break;
2941 1.3 matt
2942 1.10 christos case 98: /* input_list1: input_list1 NAME */
2943 1.10 christos #line 379 "ldgram.y"
2944 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_search_file_enum,
2945 1.5 christos (char *)NULL); }
2946 1.10 christos #line 2947 "ldgram.c"
2947 1.3 matt break;
2948 1.3 matt
2949 1.10 christos case 99: /* input_list1: LNAME */
2950 1.10 christos #line 382 "ldgram.y"
2951 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
2952 1.5 christos (char *)NULL); }
2953 1.10 christos #line 2954 "ldgram.c"
2954 1.3 matt break;
2955 1.3 matt
2956 1.10 christos case 100: /* input_list1: input_list1 ',' LNAME */
2957 1.10 christos #line 385 "ldgram.y"
2958 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
2959 1.6 christos (char *)NULL); }
2960 1.10 christos #line 2961 "ldgram.c"
2961 1.6 christos break;
2962 1.6 christos
2963 1.10 christos case 101: /* input_list1: input_list1 LNAME */
2964 1.10 christos #line 388 "ldgram.y"
2965 1.10 christos { lang_add_input_file((yyvsp[0].name),lang_input_file_is_l_enum,
2966 1.7 christos (char *)NULL); }
2967 1.10 christos #line 2968 "ldgram.c"
2968 1.7 christos break;
2969 1.7 christos
2970 1.10 christos case 102: /* @9: %empty */
2971 1.10 christos #line 391 "ldgram.y"
2972 1.10 christos { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
2973 1.10 christos input_flags.add_DT_NEEDED_for_regular = true; }
2974 1.10 christos #line 2975 "ldgram.c"
2975 1.3 matt break;
2976 1.3 matt
2977 1.10 christos case 103: /* input_list1: AS_NEEDED '(' @9 input_list1 ')' */
2978 1.10 christos #line 394 "ldgram.y"
2979 1.10 christos { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
2980 1.10 christos #line 2981 "ldgram.c"
2981 1.4 matt break;
2982 1.4 matt
2983 1.10 christos case 104: /* @10: %empty */
2984 1.10 christos #line 396 "ldgram.y"
2985 1.10 christos { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
2986 1.10 christos input_flags.add_DT_NEEDED_for_regular = true; }
2987 1.10 christos #line 2988 "ldgram.c"
2988 1.3 matt break;
2989 1.3 matt
2990 1.10 christos case 105: /* input_list1: input_list1 ',' AS_NEEDED '(' @10 input_list1 ')' */
2991 1.10 christos #line 399 "ldgram.y"
2992 1.10 christos { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
2993 1.10 christos #line 2994 "ldgram.c"
2994 1.5 christos break;
2995 1.5 christos
2996 1.10 christos case 106: /* @11: %empty */
2997 1.10 christos #line 401 "ldgram.y"
2998 1.10 christos { (yyval.integer) = input_flags.add_DT_NEEDED_for_regular;
2999 1.10 christos input_flags.add_DT_NEEDED_for_regular = true; }
3000 1.10 christos #line 3001 "ldgram.c"
3001 1.3 matt break;
3002 1.3 matt
3003 1.10 christos case 107: /* input_list1: input_list1 AS_NEEDED '(' @11 input_list1 ')' */
3004 1.10 christos #line 404 "ldgram.y"
3005 1.10 christos { input_flags.add_DT_NEEDED_for_regular = (yyvsp[-2].integer); }
3006 1.10 christos #line 3007 "ldgram.c"
3007 1.4 matt break;
3008 1.4 matt
3009 1.10 christos case 112: /* statement_anywhere: ENTRY '(' NAME ')' */
3010 1.10 christos #line 419 "ldgram.y"
3011 1.10 christos { lang_add_entry ((yyvsp[-1].name), false); }
3012 1.10 christos #line 3013 "ldgram.c"
3013 1.5 christos break;
3014 1.5 christos
3015 1.10 christos case 114: /* $@12: %empty */
3016 1.10 christos #line 421 "ldgram.y"
3017 1.10 christos {ldlex_expression ();}
3018 1.10 christos #line 3019 "ldgram.c"
3019 1.3 matt break;
3020 1.3 matt
3021 1.10 christos case 115: /* statement_anywhere: ASSERT_K $@12 '(' exp ',' NAME ')' */
3022 1.10 christos #line 422 "ldgram.y"
3023 1.10 christos { ldlex_popstate ();
3024 1.7 christos lang_add_assignment (exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name))); }
3025 1.10 christos #line 3026 "ldgram.c"
3026 1.3 matt break;
3027 1.3 matt
3028 1.10 christos case 116: /* wildcard_name: NAME */
3029 1.10 christos #line 428 "ldgram.y"
3030 1.10 christos {
3031 1.7 christos (yyval.cname) = (yyvsp[0].name);
3032 1.3 matt }
3033 1.10 christos #line 3034 "ldgram.c"
3034 1.3 matt break;
3035 1.3 matt
3036 1.10 christos case 117: /* wildcard_maybe_exclude: wildcard_name */
3037 1.10 christos #line 435 "ldgram.y"
3038 1.10 christos {
3039 1.7 christos (yyval.wildcard).name = (yyvsp[0].cname);
3040 1.3 matt (yyval.wildcard).sorted = none;
3041 1.3 matt (yyval.wildcard).exclude_name_list = NULL;
3042 1.4 matt (yyval.wildcard).section_flag_list = NULL;
3043 1.3 matt }
3044 1.10 christos #line 3045 "ldgram.c"
3045 1.3 matt break;
3046 1.3 matt
3047 1.10 christos case 118: /* wildcard_maybe_exclude: EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name */
3048 1.10 christos #line 442 "ldgram.y"
3049 1.10 christos {
3050 1.7 christos (yyval.wildcard).name = (yyvsp[0].cname);
3051 1.3 matt (yyval.wildcard).sorted = none;
3052 1.7 christos (yyval.wildcard).exclude_name_list = (yyvsp[-2].name_list);
3053 1.4 matt (yyval.wildcard).section_flag_list = NULL;
3054 1.3 matt }
3055 1.10 christos #line 3056 "ldgram.c"
3056 1.7 christos break;
3057 1.7 christos
3058 1.10 christos case 120: /* filename_spec: SORT_BY_NAME '(' wildcard_maybe_exclude ')' */
3059 1.10 christos #line 453 "ldgram.y"
3060 1.10 christos {
3061 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3062 1.7 christos (yyval.wildcard).sorted = by_name;
3063 1.7 christos }
3064 1.10 christos #line 3065 "ldgram.c"
3065 1.7 christos break;
3066 1.7 christos
3067 1.10 christos case 121: /* filename_spec: SORT_NONE '(' wildcard_maybe_exclude ')' */
3068 1.10 christos #line 458 "ldgram.y"
3069 1.10 christos {
3070 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3071 1.7 christos (yyval.wildcard).sorted = by_none;
3072 1.7 christos }
3073 1.10 christos #line 3074 "ldgram.c"
3074 1.3 matt break;
3075 1.3 matt
3076 1.10 christos case 123: /* section_name_spec: SORT_BY_NAME '(' wildcard_maybe_exclude ')' */
3077 1.10 christos #line 467 "ldgram.y"
3078 1.10 christos {
3079 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3080 1.3 matt (yyval.wildcard).sorted = by_name;
3081 1.1 skrll }
3082 1.10 christos #line 3083 "ldgram.c"
3083 1.3 matt break;
3084 1.3 matt
3085 1.10 christos case 124: /* section_name_spec: SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' */
3086 1.10 christos #line 472 "ldgram.y"
3087 1.10 christos {
3088 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3089 1.3 matt (yyval.wildcard).sorted = by_alignment;
3090 1.1 skrll }
3091 1.10 christos #line 3092 "ldgram.c"
3092 1.3 matt break;
3093 1.3 matt
3094 1.10 christos case 125: /* section_name_spec: SORT_NONE '(' wildcard_maybe_exclude ')' */
3095 1.10 christos #line 477 "ldgram.y"
3096 1.10 christos {
3097 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3098 1.4 matt (yyval.wildcard).sorted = by_none;
3099 1.4 matt }
3100 1.10 christos #line 3101 "ldgram.c"
3101 1.4 matt break;
3102 1.4 matt
3103 1.10 christos case 126: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')' */
3104 1.10 christos #line 482 "ldgram.y"
3105 1.10 christos {
3106 1.7 christos (yyval.wildcard) = (yyvsp[-2].wildcard);
3107 1.3 matt (yyval.wildcard).sorted = by_name_alignment;
3108 1.1 skrll }
3109 1.10 christos #line 3110 "ldgram.c"
3110 1.3 matt break;
3111 1.3 matt
3112 1.10 christos case 127: /* section_name_spec: SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' */
3113 1.10 christos #line 487 "ldgram.y"
3114 1.10 christos {
3115 1.7 christos (yyval.wildcard) = (yyvsp[-2].wildcard);
3116 1.3 matt (yyval.wildcard).sorted = by_name;
3117 1.1 skrll }
3118 1.10 christos #line 3119 "ldgram.c"
3119 1.3 matt break;
3120 1.3 matt
3121 1.10 christos case 128: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')' */
3122 1.10 christos #line 492 "ldgram.y"
3123 1.10 christos {
3124 1.7 christos (yyval.wildcard) = (yyvsp[-2].wildcard);
3125 1.3 matt (yyval.wildcard).sorted = by_alignment_name;
3126 1.3 matt }
3127 1.10 christos #line 3128 "ldgram.c"
3128 1.3 matt break;
3129 1.3 matt
3130 1.10 christos case 129: /* section_name_spec: SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_exclude ')' ')' */
3131 1.10 christos #line 497 "ldgram.y"
3132 1.10 christos {
3133 1.7 christos (yyval.wildcard) = (yyvsp[-2].wildcard);
3134 1.3 matt (yyval.wildcard).sorted = by_alignment;
3135 1.3 matt }
3136 1.10 christos #line 3137 "ldgram.c"
3137 1.3 matt break;
3138 1.3 matt
3139 1.10 christos case 130: /* section_name_spec: SORT_BY_INIT_PRIORITY '(' wildcard_maybe_exclude ')' */
3140 1.10 christos #line 502 "ldgram.y"
3141 1.10 christos {
3142 1.7 christos (yyval.wildcard) = (yyvsp[-1].wildcard);
3143 1.4 matt (yyval.wildcard).sorted = by_init_priority;
3144 1.4 matt }
3145 1.10 christos #line 3146 "ldgram.c"
3146 1.4 matt break;
3147 1.4 matt
3148 1.10 christos case 131: /* sect_flag_list: NAME */
3149 1.10 christos #line 509 "ldgram.y"
3150 1.10 christos {
3151 1.4 matt struct flag_info_list *n;
3152 1.4 matt n = ((struct flag_info_list *) xmalloc (sizeof *n));
3153 1.7 christos if ((yyvsp[0].name)[0] == '!')
3154 1.4 matt {
3155 1.4 matt n->with = without_flags;
3156 1.7 christos n->name = &(yyvsp[0].name)[1];
3157 1.4 matt }
3158 1.4 matt else
3159 1.4 matt {
3160 1.4 matt n->with = with_flags;
3161 1.7 christos n->name = (yyvsp[0].name);
3162 1.4 matt }
3163 1.10 christos n->valid = false;
3164 1.4 matt n->next = NULL;
3165 1.4 matt (yyval.flag_info_list) = n;
3166 1.1 skrll }
3167 1.10 christos #line 3168 "ldgram.c"
3168 1.3 matt break;
3169 1.3 matt
3170 1.10 christos case 132: /* sect_flag_list: sect_flag_list '&' NAME */
3171 1.10 christos #line 527 "ldgram.y"
3172 1.10 christos {
3173 1.4 matt struct flag_info_list *n;
3174 1.4 matt n = ((struct flag_info_list *) xmalloc (sizeof *n));
3175 1.7 christos if ((yyvsp[0].name)[0] == '!')
3176 1.4 matt {
3177 1.4 matt n->with = without_flags;
3178 1.7 christos n->name = &(yyvsp[0].name)[1];
3179 1.4 matt }
3180 1.4 matt else
3181 1.4 matt {
3182 1.4 matt n->with = with_flags;
3183 1.7 christos n->name = (yyvsp[0].name);
3184 1.4 matt }
3185 1.10 christos n->valid = false;
3186 1.7 christos n->next = (yyvsp[-2].flag_info_list);
3187 1.4 matt (yyval.flag_info_list) = n;
3188 1.4 matt }
3189 1.10 christos #line 3190 "ldgram.c"
3190 1.4 matt break;
3191 1.4 matt
3192 1.10 christos case 133: /* sect_flags: INPUT_SECTION_FLAGS '(' sect_flag_list ')' */
3193 1.10 christos #line 548 "ldgram.y"
3194 1.10 christos {
3195 1.4 matt struct flag_info *n;
3196 1.4 matt n = ((struct flag_info *) xmalloc (sizeof *n));
3197 1.7 christos n->flag_list = (yyvsp[-1].flag_info_list);
3198 1.10 christos n->flags_initialized = false;
3199 1.4 matt n->not_with_flags = 0;
3200 1.4 matt n->only_with_flags = 0;
3201 1.4 matt (yyval.flag_info) = n;
3202 1.4 matt }
3203 1.10 christos #line 3204 "ldgram.c"
3204 1.4 matt break;
3205 1.4 matt
3206 1.10 christos case 134: /* exclude_name_list: exclude_name_list wildcard_name */
3207 1.10 christos #line 561 "ldgram.y"
3208 1.10 christos {
3209 1.1 skrll struct name_list *tmp;
3210 1.1 skrll tmp = (struct name_list *) xmalloc (sizeof *tmp);
3211 1.7 christos tmp->name = (yyvsp[0].cname);
3212 1.7 christos tmp->next = (yyvsp[-1].name_list);
3213 1.3 matt (yyval.name_list) = tmp;
3214 1.1 skrll }
3215 1.10 christos #line 3216 "ldgram.c"
3216 1.3 matt break;
3217 1.3 matt
3218 1.10 christos case 135: /* exclude_name_list: wildcard_name */
3219 1.10 christos #line 570 "ldgram.y"
3220 1.10 christos {
3221 1.1 skrll struct name_list *tmp;
3222 1.1 skrll tmp = (struct name_list *) xmalloc (sizeof *tmp);
3223 1.7 christos tmp->name = (yyvsp[0].cname);
3224 1.1 skrll tmp->next = NULL;
3225 1.3 matt (yyval.name_list) = tmp;
3226 1.1 skrll }
3227 1.10 christos #line 3228 "ldgram.c"
3228 1.3 matt break;
3229 1.3 matt
3230 1.10 christos case 136: /* section_name_list: section_name_list opt_comma section_name_spec */
3231 1.10 christos #line 581 "ldgram.y"
3232 1.10 christos {
3233 1.1 skrll struct wildcard_list *tmp;
3234 1.1 skrll tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
3235 1.7 christos tmp->next = (yyvsp[-2].wildcard_list);
3236 1.7 christos tmp->spec = (yyvsp[0].wildcard);
3237 1.3 matt (yyval.wildcard_list) = tmp;
3238 1.3 matt }
3239 1.10 christos #line 3240 "ldgram.c"
3240 1.3 matt break;
3241 1.3 matt
3242 1.10 christos case 137: /* section_name_list: section_name_spec */
3243 1.10 christos #line 590 "ldgram.y"
3244 1.10 christos {
3245 1.1 skrll struct wildcard_list *tmp;
3246 1.1 skrll tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
3247 1.1 skrll tmp->next = NULL;
3248 1.7 christos tmp->spec = (yyvsp[0].wildcard);
3249 1.3 matt (yyval.wildcard_list) = tmp;
3250 1.2 matt }
3251 1.10 christos #line 3252 "ldgram.c"
3252 1.3 matt break;
3253 1.3 matt
3254 1.10 christos case 138: /* input_section_spec_no_keep: NAME */
3255 1.10 christos #line 601 "ldgram.y"
3256 1.10 christos {
3257 1.4 matt struct wildcard_spec tmp;
3258 1.7 christos tmp.name = (yyvsp[0].name);
3259 1.4 matt tmp.exclude_name_list = NULL;
3260 1.4 matt tmp.sorted = none;
3261 1.4 matt tmp.section_flag_list = NULL;
3262 1.4 matt lang_add_wild (&tmp, NULL, ldgram_had_keep);
3263 1.4 matt }
3264 1.10 christos #line 3265 "ldgram.c"
3265 1.4 matt break;
3266 1.4 matt
3267 1.10 christos case 139: /* input_section_spec_no_keep: sect_flags NAME */
3268 1.10 christos #line 610 "ldgram.y"
3269 1.10 christos {
3270 1.2 matt struct wildcard_spec tmp;
3271 1.7 christos tmp.name = (yyvsp[0].name);
3272 1.2 matt tmp.exclude_name_list = NULL;
3273 1.2 matt tmp.sorted = none;
3274 1.7 christos tmp.section_flag_list = (yyvsp[-1].flag_info);
3275 1.2 matt lang_add_wild (&tmp, NULL, ldgram_had_keep);
3276 1.1 skrll }
3277 1.10 christos #line 3278 "ldgram.c"
3278 1.3 matt break;
3279 1.3 matt
3280 1.10 christos case 140: /* input_section_spec_no_keep: '[' section_name_list ']' */
3281 1.10 christos #line 619 "ldgram.y"
3282 1.10 christos {
3283 1.7 christos lang_add_wild (NULL, (yyvsp[-1].wildcard_list), ldgram_had_keep);
3284 1.4 matt }
3285 1.10 christos #line 3286 "ldgram.c"
3286 1.4 matt break;
3287 1.4 matt
3288 1.10 christos case 141: /* input_section_spec_no_keep: sect_flags '[' section_name_list ']' */
3289 1.10 christos #line 623 "ldgram.y"
3290 1.10 christos {
3291 1.4 matt struct wildcard_spec tmp;
3292 1.4 matt tmp.name = NULL;
3293 1.4 matt tmp.exclude_name_list = NULL;
3294 1.4 matt tmp.sorted = none;
3295 1.7 christos tmp.section_flag_list = (yyvsp[-3].flag_info);
3296 1.7 christos lang_add_wild (&tmp, (yyvsp[-1].wildcard_list), ldgram_had_keep);
3297 1.4 matt }
3298 1.10 christos #line 3299 "ldgram.c"
3299 1.4 matt break;
3300 1.4 matt
3301 1.10 christos case 142: /* input_section_spec_no_keep: filename_spec '(' section_name_list ')' */
3302 1.10 christos #line 632 "ldgram.y"
3303 1.10 christos {
3304 1.7 christos lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep);
3305 1.1 skrll }
3306 1.10 christos #line 3307 "ldgram.c"
3307 1.3 matt break;
3308 1.3 matt
3309 1.10 christos case 143: /* input_section_spec_no_keep: sect_flags filename_spec '(' section_name_list ')' */
3310 1.10 christos #line 636 "ldgram.y"
3311 1.10 christos {
3312 1.7 christos (yyvsp[-3].wildcard).section_flag_list = (yyvsp[-4].flag_info);
3313 1.7 christos lang_add_wild (&(yyvsp[-3].wildcard), (yyvsp[-1].wildcard_list), ldgram_had_keep);
3314 1.2 matt }
3315 1.10 christos #line 3316 "ldgram.c"
3316 1.3 matt break;
3317 1.3 matt
3318 1.10 christos case 145: /* $@13: %empty */
3319 1.10 christos #line 645 "ldgram.y"
3320 1.10 christos { ldgram_had_keep = true; }
3321 1.10 christos #line 3322 "ldgram.c"
3322 1.3 matt break;
3323 1.3 matt
3324 1.10 christos case 146: /* input_section_spec: KEEP '(' $@13 input_section_spec_no_keep ')' */
3325 1.10 christos #line 647 "ldgram.y"
3326 1.10 christos { ldgram_had_keep = false; }
3327 1.10 christos #line 3328 "ldgram.c"
3328 1.3 matt break;
3329 1.3 matt
3330 1.10 christos case 149: /* statement: CREATE_OBJECT_SYMBOLS */
3331 1.10 christos #line 654 "ldgram.y"
3332 1.10 christos {
3333 1.10 christos lang_add_attribute (lang_object_symbols_statement_enum);
3334 1.7 christos }
3335 1.10 christos #line 3336 "ldgram.c"
3336 1.3 matt break;
3337 1.3 matt
3338 1.10 christos case 150: /* statement: CONSTRUCTORS */
3339 1.10 christos #line 658 "ldgram.y"
3340 1.10 christos {
3341 1.10 christos lang_add_attribute (lang_constructors_statement_enum);
3342 1.1 skrll }
3343 1.10 christos #line 3344 "ldgram.c"
3344 1.3 matt break;
3345 1.3 matt
3346 1.10 christos case 151: /* statement: SORT_BY_NAME '(' CONSTRUCTORS ')' */
3347 1.10 christos #line 662 "ldgram.y"
3348 1.10 christos {
3349 1.10 christos constructors_sorted = true;
3350 1.1 skrll lang_add_attribute (lang_constructors_statement_enum);
3351 1.1 skrll }
3352 1.10 christos #line 3353 "ldgram.c"
3353 1.3 matt break;
3354 1.3 matt
3355 1.10 christos case 153: /* statement: length '(' mustbe_exp ')' */
3356 1.10 christos #line 668 "ldgram.y"
3357 1.10 christos {
3358 1.7 christos lang_add_data ((int) (yyvsp[-3].integer), (yyvsp[-1].etree));
3359 1.7 christos }
3360 1.10 christos #line 3361 "ldgram.c"
3361 1.3 matt break;
3362 1.3 matt
3363 1.10 christos case 154: /* statement: FILL '(' fill_exp ')' */
3364 1.10 christos #line 673 "ldgram.y"
3365 1.10 christos {
3366 1.7 christos lang_add_fill ((yyvsp[-1].fill));
3367 1.7 christos }
3368 1.10 christos #line 3369 "ldgram.c"
3369 1.3 matt break;
3370 1.3 matt
3371 1.10 christos case 155: /* $@14: %empty */
3372 1.10 christos #line 677 "ldgram.y"
3373 1.10 christos { ldlex_expression (); }
3374 1.10 christos #line 3375 "ldgram.c"
3375 1.3 matt break;
3376 1.3 matt
3377 1.10 christos case 156: /* statement: ASSERT_K $@14 '(' exp ',' NAME ')' separator */
3378 1.10 christos #line 679 "ldgram.y"
3379 1.10 christos {
3380 1.10 christos ldlex_popstate ();
3381 1.10 christos lang_add_assignment (exp_assert ((yyvsp[-4].etree), (yyvsp[-2].name)));
3382 1.10 christos }
3383 1.10 christos #line 3384 "ldgram.c"
3384 1.3 matt break;
3385 1.3 matt
3386 1.10 christos case 157: /* $@15: %empty */
3387 1.10 christos #line 684 "ldgram.y"
3388 1.10 christos {
3389 1.10 christos ldfile_open_command_file ((yyvsp[0].name));
3390 1.10 christos }
3391 1.10 christos #line 3392 "ldgram.c"
3392 1.3 matt break;
3393 1.3 matt
3394 1.10 christos case 163: /* length: QUAD */
3395 1.10 christos #line 702 "ldgram.y"
3396 1.10 christos { (yyval.integer) = (yyvsp[0].token); }
3397 1.10 christos #line 3398 "ldgram.c"
3398 1.3 matt break;
3399 1.3 matt
3400 1.10 christos case 164: /* length: SQUAD */
3401 1.10 christos #line 704 "ldgram.y"
3402 1.10 christos { (yyval.integer) = (yyvsp[0].token); }
3403 1.10 christos #line 3404 "ldgram.c"
3404 1.3 matt break;
3405 1.3 matt
3406 1.10 christos case 165: /* length: LONG */
3407 1.10 christos #line 706 "ldgram.y"
3408 1.10 christos { (yyval.integer) = (yyvsp[0].token); }
3409 1.10 christos #line 3410 "ldgram.c"
3410 1.3 matt break;
3411 1.3 matt
3412 1.10 christos case 166: /* length: SHORT */
3413 1.10 christos #line 708 "ldgram.y"
3414 1.10 christos { (yyval.integer) = (yyvsp[0].token); }
3415 1.10 christos #line 3416 "ldgram.c"
3416 1.5 christos break;
3417 1.5 christos
3418 1.10 christos case 167: /* length: BYTE */
3419 1.10 christos #line 710 "ldgram.y"
3420 1.10 christos { (yyval.integer) = (yyvsp[0].token); }
3421 1.10 christos #line 3422 "ldgram.c"
3422 1.5 christos break;
3423 1.5 christos
3424 1.10 christos case 168: /* fill_exp: mustbe_exp */
3425 1.10 christos #line 715 "ldgram.y"
3426 1.10 christos {
3427 1.7 christos (yyval.fill) = exp_get_fill ((yyvsp[0].etree), 0, "fill value");
3428 1.6 christos }
3429 1.10 christos #line 3430 "ldgram.c"
3430 1.3 matt break;
3431 1.3 matt
3432 1.10 christos case 169: /* fill_opt: '=' fill_exp */
3433 1.10 christos #line 722 "ldgram.y"
3434 1.10 christos { (yyval.fill) = (yyvsp[0].fill); }
3435 1.10 christos #line 3436 "ldgram.c"
3436 1.3 matt break;
3437 1.3 matt
3438 1.10 christos case 170: /* fill_opt: %empty */
3439 1.10 christos #line 723 "ldgram.y"
3440 1.10 christos { (yyval.fill) = (fill_type *) 0; }
3441 1.10 christos #line 3442 "ldgram.c"
3442 1.3 matt break;
3443 1.3 matt
3444 1.10 christos case 171: /* assign_op: PLUSEQ */
3445 1.10 christos #line 728 "ldgram.y"
3446 1.10 christos { (yyval.token) = '+'; }
3447 1.10 christos #line 3448 "ldgram.c"
3448 1.3 matt break;
3449 1.3 matt
3450 1.10 christos case 172: /* assign_op: MINUSEQ */
3451 1.10 christos #line 730 "ldgram.y"
3452 1.10 christos { (yyval.token) = '-'; }
3453 1.10 christos #line 3454 "ldgram.c"
3454 1.3 matt break;
3455 1.3 matt
3456 1.10 christos case 173: /* assign_op: MULTEQ */
3457 1.10 christos #line 732 "ldgram.y"
3458 1.10 christos { (yyval.token) = '*'; }
3459 1.10 christos #line 3460 "ldgram.c"
3460 1.3 matt break;
3461 1.3 matt
3462 1.10 christos case 174: /* assign_op: DIVEQ */
3463 1.10 christos #line 734 "ldgram.y"
3464 1.10 christos { (yyval.token) = '/'; }
3465 1.10 christos #line 3466 "ldgram.c"
3466 1.3 matt break;
3467 1.3 matt
3468 1.10 christos case 175: /* assign_op: LSHIFTEQ */
3469 1.10 christos #line 736 "ldgram.y"
3470 1.10 christos { (yyval.token) = LSHIFT; }
3471 1.10 christos #line 3472 "ldgram.c"
3472 1.3 matt break;
3473 1.3 matt
3474 1.10 christos case 176: /* assign_op: RSHIFTEQ */
3475 1.10 christos #line 738 "ldgram.y"
3476 1.10 christos { (yyval.token) = RSHIFT; }
3477 1.10 christos #line 3478 "ldgram.c"
3478 1.3 matt break;
3479 1.3 matt
3480 1.10 christos case 177: /* assign_op: ANDEQ */
3481 1.10 christos #line 740 "ldgram.y"
3482 1.10 christos { (yyval.token) = '&'; }
3483 1.10 christos #line 3484 "ldgram.c"
3484 1.3 matt break;
3485 1.3 matt
3486 1.10 christos case 178: /* assign_op: OREQ */
3487 1.10 christos #line 742 "ldgram.y"
3488 1.10 christos { (yyval.token) = '|'; }
3489 1.10 christos #line 3490 "ldgram.c"
3490 1.4 matt break;
3491 1.4 matt
3492 1.10 christos case 181: /* assignment: NAME '=' mustbe_exp */
3493 1.10 christos #line 752 "ldgram.y"
3494 1.10 christos {
3495 1.10 christos lang_add_assignment (exp_assign ((yyvsp[-2].name), (yyvsp[0].etree), false));
3496 1.3 matt }
3497 1.10 christos #line 3498 "ldgram.c"
3498 1.3 matt break;
3499 1.3 matt
3500 1.10 christos case 182: /* assignment: NAME assign_op mustbe_exp */
3501 1.10 christos #line 756 "ldgram.y"
3502 1.10 christos {
3503 1.7 christos lang_add_assignment (exp_assign ((yyvsp[-2].name),
3504 1.7 christos exp_binop ((yyvsp[-1].token),
3505 1.6 christos exp_nameop (NAME,
3506 1.7 christos (yyvsp[-2].name)),
3507 1.10 christos (yyvsp[0].etree)), false));
3508 1.3 matt }
3509 1.10 christos #line 3510 "ldgram.c"
3510 1.3 matt break;
3511 1.3 matt
3512 1.10 christos case 183: /* assignment: HIDDEN '(' NAME '=' mustbe_exp ')' */
3513 1.10 christos #line 764 "ldgram.y"
3514 1.10 christos {
3515 1.10 christos lang_add_assignment (exp_assign ((yyvsp[-3].name), (yyvsp[-1].etree), true));
3516 1.3 matt }
3517 1.10 christos #line 3518 "ldgram.c"
3518 1.3 matt break;
3519 1.3 matt
3520 1.10 christos case 184: /* assignment: PROVIDE '(' NAME '=' mustbe_exp ')' */
3521 1.10 christos #line 768 "ldgram.y"
3522 1.10 christos {
3523 1.10 christos lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), false));
3524 1.3 matt }
3525 1.10 christos #line 3526 "ldgram.c"
3526 1.3 matt break;
3527 1.3 matt
3528 1.10 christos case 185: /* assignment: PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')' */
3529 1.10 christos #line 772 "ldgram.y"
3530 1.10 christos {
3531 1.10 christos lang_add_assignment (exp_provide ((yyvsp[-3].name), (yyvsp[-1].etree), true));
3532 1.6 christos }
3533 1.10 christos #line 3534 "ldgram.c"
3534 1.3 matt break;
3535 1.3 matt
3536 1.10 christos case 193: /* $@16: %empty */
3537 1.10 christos #line 795 "ldgram.y"
3538 1.10 christos { region = lang_memory_region_lookup ((yyvsp[0].name), true); }
3539 1.10 christos #line 3540 "ldgram.c"
3540 1.3 matt break;
3541 1.3 matt
3542 1.10 christos case 194: /* memory_spec: NAME $@16 attributes_opt ':' origin_spec opt_comma length_spec */
3543 1.10 christos #line 798 "ldgram.y"
3544 1.10 christos {}
3545 1.10 christos #line 3546 "ldgram.c"
3546 1.3 matt break;
3547 1.3 matt
3548 1.10 christos case 195: /* $@17: %empty */
3549 1.10 christos #line 800 "ldgram.y"
3550 1.10 christos { ldfile_open_command_file ((yyvsp[0].name)); }
3551 1.10 christos #line 3552 "ldgram.c"
3552 1.6 christos break;
3553 1.6 christos
3554 1.10 christos case 197: /* origin_spec: ORIGIN '=' mustbe_exp */
3555 1.10 christos #line 806 "ldgram.y"
3556 1.10 christos {
3557 1.7 christos region->origin_exp = (yyvsp[0].etree);
3558 1.3 matt }
3559 1.10 christos #line 3560 "ldgram.c"
3560 1.3 matt break;
3561 1.3 matt
3562 1.10 christos case 198: /* length_spec: LENGTH '=' mustbe_exp */
3563 1.10 christos #line 813 "ldgram.y"
3564 1.10 christos {
3565 1.10 christos if (yychar == NAME)
3566 1.10 christos {
3567 1.10 christos yyclearin;
3568 1.10 christos ldlex_backup ();
3569 1.10 christos }
3570 1.7 christos region->length_exp = (yyvsp[0].etree);
3571 1.1 skrll }
3572 1.10 christos #line 3573 "ldgram.c"
3573 1.3 matt break;
3574 1.3 matt
3575 1.10 christos case 199: /* attributes_opt: %empty */
3576 1.10 christos #line 825 "ldgram.y"
3577 1.10 christos { /* dummy action to avoid bison 1.25 error message */ }
3578 1.10 christos #line 3579 "ldgram.c"
3579 1.3 matt break;
3580 1.3 matt
3581 1.10 christos case 203: /* attributes_string: NAME */
3582 1.10 christos #line 836 "ldgram.y"
3583 1.10 christos { lang_set_flags (region, (yyvsp[0].name), 0); }
3584 1.10 christos #line 3585 "ldgram.c"
3585 1.3 matt break;
3586 1.3 matt
3587 1.10 christos case 204: /* attributes_string: '!' NAME */
3588 1.10 christos #line 838 "ldgram.y"
3589 1.10 christos { lang_set_flags (region, (yyvsp[0].name), 1); }
3590 1.10 christos #line 3591 "ldgram.c"
3591 1.3 matt break;
3592 1.3 matt
3593 1.10 christos case 205: /* startup: STARTUP '(' filename ')' */
3594 1.10 christos #line 843 "ldgram.y"
3595 1.10 christos { lang_startup((yyvsp[-1].name)); }
3596 1.10 christos #line 3597 "ldgram.c"
3597 1.3 matt break;
3598 1.3 matt
3599 1.10 christos case 207: /* high_level_library: HLL '(' ')' */
3600 1.10 christos #line 849 "ldgram.y"
3601 1.10 christos { ldemul_hll((char *)NULL); }
3602 1.10 christos #line 3603 "ldgram.c"
3603 1.3 matt break;
3604 1.3 matt
3605 1.10 christos case 208: /* high_level_library_NAME_list: high_level_library_NAME_list opt_comma filename */
3606 1.10 christos #line 854 "ldgram.y"
3607 1.10 christos { ldemul_hll((yyvsp[0].name)); }
3608 1.10 christos #line 3609 "ldgram.c"
3609 1.6 christos break;
3610 1.6 christos
3611 1.10 christos case 209: /* high_level_library_NAME_list: filename */
3612 1.10 christos #line 856 "ldgram.y"
3613 1.10 christos { ldemul_hll((yyvsp[0].name)); }
3614 1.10 christos #line 3615 "ldgram.c"
3615 1.3 matt break;
3616 1.3 matt
3617 1.10 christos case 211: /* low_level_library_NAME_list: low_level_library_NAME_list opt_comma filename */
3618 1.10 christos #line 865 "ldgram.y"
3619 1.10 christos { ldemul_syslib((yyvsp[0].name)); }
3620 1.10 christos #line 3621 "ldgram.c"
3621 1.3 matt break;
3622 1.3 matt
3623 1.10 christos case 213: /* floating_point_support: FLOAT */
3624 1.10 christos #line 871 "ldgram.y"
3625 1.10 christos { lang_float(true); }
3626 1.10 christos #line 3627 "ldgram.c"
3627 1.3 matt break;
3628 1.3 matt
3629 1.10 christos case 214: /* floating_point_support: NOFLOAT */
3630 1.10 christos #line 873 "ldgram.y"
3631 1.10 christos { lang_float(false); }
3632 1.10 christos #line 3633 "ldgram.c"
3633 1.3 matt break;
3634 1.3 matt
3635 1.10 christos case 215: /* nocrossref_list: %empty */
3636 1.10 christos #line 878 "ldgram.y"
3637 1.10 christos {
3638 1.3 matt (yyval.nocrossref) = NULL;
3639 1.2 matt }
3640 1.10 christos #line 3641 "ldgram.c"
3641 1.3 matt break;
3642 1.3 matt
3643 1.10 christos case 216: /* nocrossref_list: NAME nocrossref_list */
3644 1.10 christos #line 882 "ldgram.y"
3645 1.10 christos {
3646 1.3 matt struct lang_nocrossref *n;
3647 1.3 matt
3648 1.3 matt n = (struct lang_nocrossref *) xmalloc (sizeof *n);
3649 1.7 christos n->name = (yyvsp[-1].name);
3650 1.7 christos n->next = (yyvsp[0].nocrossref);
3651 1.3 matt (yyval.nocrossref) = n;
3652 1.2 matt }
3653 1.10 christos #line 3654 "ldgram.c"
3654 1.3 matt break;
3655 1.3 matt
3656 1.10 christos case 217: /* nocrossref_list: NAME ',' nocrossref_list */
3657 1.10 christos #line 891 "ldgram.y"
3658 1.10 christos {
3659 1.3 matt struct lang_nocrossref *n;
3660 1.3 matt
3661 1.3 matt n = (struct lang_nocrossref *) xmalloc (sizeof *n);
3662 1.7 christos n->name = (yyvsp[-2].name);
3663 1.7 christos n->next = (yyvsp[0].nocrossref);
3664 1.3 matt (yyval.nocrossref) = n;
3665 1.3 matt }
3666 1.10 christos #line 3667 "ldgram.c"
3667 1.10 christos break;
3668 1.10 christos
3669 1.10 christos case 218: /* $@18: %empty */
3670 1.10 christos #line 901 "ldgram.y"
3671 1.10 christos { ldlex_script (); }
3672 1.10 christos #line 3673 "ldgram.c"
3673 1.10 christos break;
3674 1.10 christos
3675 1.10 christos case 219: /* paren_script_name: $@18 '(' NAME ')' */
3676 1.10 christos #line 903 "ldgram.y"
3677 1.10 christos { ldlex_popstate (); (yyval.name) = (yyvsp[-1].name); }
3678 1.10 christos #line 3679 "ldgram.c"
3679 1.3 matt break;
3680 1.3 matt
3681 1.10 christos case 220: /* $@19: %empty */
3682 1.10 christos #line 905 "ldgram.y"
3683 1.10 christos { ldlex_expression (); }
3684 1.10 christos #line 3685 "ldgram.c"
3685 1.3 matt break;
3686 1.3 matt
3687 1.10 christos case 221: /* mustbe_exp: $@19 exp */
3688 1.10 christos #line 907 "ldgram.y"
3689 1.10 christos { ldlex_popstate (); (yyval.etree) = (yyvsp[0].etree); }
3690 1.10 christos #line 3691 "ldgram.c"
3691 1.3 matt break;
3692 1.3 matt
3693 1.10 christos case 222: /* exp: '-' exp */
3694 1.10 christos #line 912 "ldgram.y"
3695 1.10 christos { (yyval.etree) = exp_unop ('-', (yyvsp[0].etree)); }
3696 1.10 christos #line 3697 "ldgram.c"
3697 1.3 matt break;
3698 1.3 matt
3699 1.10 christos case 223: /* exp: '(' exp ')' */
3700 1.10 christos #line 914 "ldgram.y"
3701 1.10 christos { (yyval.etree) = (yyvsp[-1].etree); }
3702 1.10 christos #line 3703 "ldgram.c"
3703 1.3 matt break;
3704 1.3 matt
3705 1.10 christos case 224: /* exp: NEXT '(' exp ')' */
3706 1.10 christos #line 916 "ldgram.y"
3707 1.10 christos { (yyval.etree) = exp_unop ((int) (yyvsp[-3].integer),(yyvsp[-1].etree)); }
3708 1.10 christos #line 3709 "ldgram.c"
3709 1.3 matt break;
3710 1.3 matt
3711 1.10 christos case 225: /* exp: '!' exp */
3712 1.10 christos #line 918 "ldgram.y"
3713 1.10 christos { (yyval.etree) = exp_unop ('!', (yyvsp[0].etree)); }
3714 1.10 christos #line 3715 "ldgram.c"
3715 1.3 matt break;
3716 1.3 matt
3717 1.10 christos case 226: /* exp: '+' exp */
3718 1.10 christos #line 920 "ldgram.y"
3719 1.10 christos { (yyval.etree) = (yyvsp[0].etree); }
3720 1.10 christos #line 3721 "ldgram.c"
3721 1.3 matt break;
3722 1.3 matt
3723 1.10 christos case 227: /* exp: '~' exp */
3724 1.10 christos #line 922 "ldgram.y"
3725 1.10 christos { (yyval.etree) = exp_unop ('~', (yyvsp[0].etree));}
3726 1.10 christos #line 3727 "ldgram.c"
3727 1.3 matt break;
3728 1.3 matt
3729 1.10 christos case 228: /* exp: exp '*' exp */
3730 1.10 christos #line 925 "ldgram.y"
3731 1.10 christos { (yyval.etree) = exp_binop ('*', (yyvsp[-2].etree), (yyvsp[0].etree)); }
3732 1.10 christos #line 3733 "ldgram.c"
3733 1.3 matt break;
3734 1.3 matt
3735 1.10 christos case 229: /* exp: exp '/' exp */
3736 1.10 christos #line 927 "ldgram.y"
3737 1.10 christos { (yyval.etree) = exp_binop ('/', (yyvsp[-2].etree), (yyvsp[0].etree)); }
3738 1.10 christos #line 3739 "ldgram.c"
3739 1.3 matt break;
3740 1.3 matt
3741 1.10 christos case 230: /* exp: exp '%' exp */
3742 1.10 christos #line 929 "ldgram.y"
3743 1.10 christos { (yyval.etree) = exp_binop ('%', (yyvsp[-2].etree), (yyvsp[0].etree)); }
3744 1.10 christos #line 3745 "ldgram.c"
3745 1.3 matt break;
3746 1.3 matt
3747 1.10 christos case 231: /* exp: exp '+' exp */
3748 1.10 christos #line 931 "ldgram.y"
3749 1.10 christos { (yyval.etree) = exp_binop ('+', (yyvsp[-2].etree), (yyvsp[0].etree)); }
3750 1.10 christos #line 3751 "ldgram.c"
3751 1.3 matt break;
3752 1.3 matt
3753 1.10 christos case 232: /* exp: exp '-' exp */
3754 1.10 christos #line 933 "ldgram.y"
3755 1.10 christos { (yyval.etree) = exp_binop ('-' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3756 1.10 christos #line 3757 "ldgram.c"
3757 1.3 matt break;
3758 1.3 matt
3759 1.10 christos case 233: /* exp: exp LSHIFT exp */
3760 1.10 christos #line 935 "ldgram.y"
3761 1.10 christos { (yyval.etree) = exp_binop (LSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3762 1.10 christos #line 3763 "ldgram.c"
3763 1.3 matt break;
3764 1.3 matt
3765 1.10 christos case 234: /* exp: exp RSHIFT exp */
3766 1.10 christos #line 937 "ldgram.y"
3767 1.10 christos { (yyval.etree) = exp_binop (RSHIFT , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3768 1.10 christos #line 3769 "ldgram.c"
3769 1.3 matt break;
3770 1.3 matt
3771 1.10 christos case 235: /* exp: exp EQ exp */
3772 1.10 christos #line 939 "ldgram.y"
3773 1.10 christos { (yyval.etree) = exp_binop (EQ , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3774 1.10 christos #line 3775 "ldgram.c"
3775 1.3 matt break;
3776 1.3 matt
3777 1.10 christos case 236: /* exp: exp NE exp */
3778 1.10 christos #line 941 "ldgram.y"
3779 1.10 christos { (yyval.etree) = exp_binop (NE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3780 1.10 christos #line 3781 "ldgram.c"
3781 1.3 matt break;
3782 1.3 matt
3783 1.10 christos case 237: /* exp: exp LE exp */
3784 1.10 christos #line 943 "ldgram.y"
3785 1.10 christos { (yyval.etree) = exp_binop (LE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3786 1.10 christos #line 3787 "ldgram.c"
3787 1.3 matt break;
3788 1.3 matt
3789 1.10 christos case 238: /* exp: exp GE exp */
3790 1.10 christos #line 945 "ldgram.y"
3791 1.10 christos { (yyval.etree) = exp_binop (GE , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3792 1.10 christos #line 3793 "ldgram.c"
3793 1.3 matt break;
3794 1.3 matt
3795 1.10 christos case 239: /* exp: exp '<' exp */
3796 1.10 christos #line 947 "ldgram.y"
3797 1.10 christos { (yyval.etree) = exp_binop ('<' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3798 1.10 christos #line 3799 "ldgram.c"
3799 1.3 matt break;
3800 1.3 matt
3801 1.10 christos case 240: /* exp: exp '>' exp */
3802 1.10 christos #line 949 "ldgram.y"
3803 1.10 christos { (yyval.etree) = exp_binop ('>' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3804 1.10 christos #line 3805 "ldgram.c"
3805 1.3 matt break;
3806 1.3 matt
3807 1.10 christos case 241: /* exp: exp '&' exp */
3808 1.10 christos #line 951 "ldgram.y"
3809 1.10 christos { (yyval.etree) = exp_binop ('&' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3810 1.10 christos #line 3811 "ldgram.c"
3811 1.3 matt break;
3812 1.3 matt
3813 1.10 christos case 242: /* exp: exp '^' exp */
3814 1.10 christos #line 953 "ldgram.y"
3815 1.10 christos { (yyval.etree) = exp_binop ('^' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3816 1.10 christos #line 3817 "ldgram.c"
3817 1.3 matt break;
3818 1.3 matt
3819 1.10 christos case 243: /* exp: exp '|' exp */
3820 1.10 christos #line 955 "ldgram.y"
3821 1.10 christos { (yyval.etree) = exp_binop ('|' , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3822 1.10 christos #line 3823 "ldgram.c"
3823 1.3 matt break;
3824 1.3 matt
3825 1.10 christos case 244: /* exp: exp '?' exp ':' exp */
3826 1.10 christos #line 957 "ldgram.y"
3827 1.10 christos { (yyval.etree) = exp_trinop ('?' , (yyvsp[-4].etree), (yyvsp[-2].etree), (yyvsp[0].etree)); }
3828 1.10 christos #line 3829 "ldgram.c"
3829 1.3 matt break;
3830 1.3 matt
3831 1.10 christos case 245: /* exp: exp ANDAND exp */
3832 1.10 christos #line 959 "ldgram.y"
3833 1.10 christos { (yyval.etree) = exp_binop (ANDAND , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3834 1.10 christos #line 3835 "ldgram.c"
3835 1.3 matt break;
3836 1.3 matt
3837 1.10 christos case 246: /* exp: exp OROR exp */
3838 1.10 christos #line 961 "ldgram.y"
3839 1.10 christos { (yyval.etree) = exp_binop (OROR , (yyvsp[-2].etree), (yyvsp[0].etree)); }
3840 1.10 christos #line 3841 "ldgram.c"
3841 1.3 matt break;
3842 1.3 matt
3843 1.10 christos case 247: /* exp: DEFINED '(' NAME ')' */
3844 1.10 christos #line 963 "ldgram.y"
3845 1.10 christos { (yyval.etree) = exp_nameop (DEFINED, (yyvsp[-1].name)); }
3846 1.10 christos #line 3847 "ldgram.c"
3847 1.3 matt break;
3848 1.3 matt
3849 1.10 christos case 248: /* exp: INT */
3850 1.10 christos #line 965 "ldgram.y"
3851 1.10 christos { (yyval.etree) = exp_bigintop ((yyvsp[0].bigint).integer, (yyvsp[0].bigint).str); }
3852 1.10 christos #line 3853 "ldgram.c"
3853 1.3 matt break;
3854 1.3 matt
3855 1.10 christos case 249: /* exp: SIZEOF_HEADERS */
3856 1.10 christos #line 967 "ldgram.y"
3857 1.10 christos { (yyval.etree) = exp_nameop (SIZEOF_HEADERS,0); }
3858 1.10 christos #line 3859 "ldgram.c"
3859 1.3 matt break;
3860 1.3 matt
3861 1.10 christos case 250: /* exp: ALIGNOF paren_script_name */
3862 1.10 christos #line 970 "ldgram.y"
3863 1.10 christos { (yyval.etree) = exp_nameop (ALIGNOF, (yyvsp[0].name)); }
3864 1.10 christos #line 3865 "ldgram.c"
3865 1.3 matt break;
3866 1.3 matt
3867 1.10 christos case 251: /* exp: SIZEOF paren_script_name */
3868 1.10 christos #line 972 "ldgram.y"
3869 1.10 christos { (yyval.etree) = exp_nameop (SIZEOF, (yyvsp[0].name)); }
3870 1.10 christos #line 3871 "ldgram.c"
3871 1.3 matt break;
3872 1.3 matt
3873 1.10 christos case 252: /* exp: ADDR paren_script_name */
3874 1.10 christos #line 974 "ldgram.y"
3875 1.10 christos { (yyval.etree) = exp_nameop (ADDR, (yyvsp[0].name)); }
3876 1.10 christos #line 3877 "ldgram.c"
3877 1.3 matt break;
3878 1.3 matt
3879 1.10 christos case 253: /* exp: LOADADDR paren_script_name */
3880 1.10 christos #line 976 "ldgram.y"
3881 1.10 christos { (yyval.etree) = exp_nameop (LOADADDR, (yyvsp[0].name)); }
3882 1.10 christos #line 3883 "ldgram.c"
3883 1.3 matt break;
3884 1.3 matt
3885 1.10 christos case 254: /* exp: CONSTANT '(' NAME ')' */
3886 1.10 christos #line 978 "ldgram.y"
3887 1.10 christos { (yyval.etree) = exp_nameop (CONSTANT,(yyvsp[-1].name)); }
3888 1.10 christos #line 3889 "ldgram.c"
3889 1.5 christos break;
3890 1.5 christos
3891 1.10 christos case 255: /* exp: ABSOLUTE '(' exp ')' */
3892 1.10 christos #line 980 "ldgram.y"
3893 1.10 christos { (yyval.etree) = exp_unop (ABSOLUTE, (yyvsp[-1].etree)); }
3894 1.10 christos #line 3895 "ldgram.c"
3895 1.5 christos break;
3896 1.5 christos
3897 1.10 christos case 256: /* exp: ALIGN_K '(' exp ')' */
3898 1.10 christos #line 982 "ldgram.y"
3899 1.10 christos { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); }
3900 1.10 christos #line 3901 "ldgram.c"
3901 1.6 christos break;
3902 1.6 christos
3903 1.10 christos case 257: /* exp: ALIGN_K '(' exp ',' exp ')' */
3904 1.10 christos #line 984 "ldgram.y"
3905 1.10 christos { (yyval.etree) = exp_binop (ALIGN_K,(yyvsp[-3].etree),(yyvsp[-1].etree)); }
3906 1.10 christos #line 3907 "ldgram.c"
3907 1.3 matt break;
3908 1.3 matt
3909 1.10 christos case 258: /* exp: DATA_SEGMENT_ALIGN '(' exp ',' exp ')' */
3910 1.10 christos #line 986 "ldgram.y"
3911 1.10 christos { (yyval.etree) = exp_binop (DATA_SEGMENT_ALIGN, (yyvsp[-3].etree), (yyvsp[-1].etree)); }
3912 1.10 christos #line 3913 "ldgram.c"
3913 1.3 matt break;
3914 1.3 matt
3915 1.10 christos case 259: /* exp: DATA_SEGMENT_RELRO_END '(' exp ',' exp ')' */
3916 1.10 christos #line 988 "ldgram.y"
3917 1.10 christos { (yyval.etree) = exp_binop (DATA_SEGMENT_RELRO_END, (yyvsp[-1].etree), (yyvsp[-3].etree)); }
3918 1.10 christos #line 3919 "ldgram.c"
3919 1.3 matt break;
3920 1.3 matt
3921 1.10 christos case 260: /* exp: DATA_SEGMENT_END '(' exp ')' */
3922 1.10 christos #line 990 "ldgram.y"
3923 1.10 christos { (yyval.etree) = exp_unop (DATA_SEGMENT_END, (yyvsp[-1].etree)); }
3924 1.10 christos #line 3925 "ldgram.c"
3925 1.3 matt break;
3926 1.3 matt
3927 1.10 christos case 261: /* $@20: %empty */
3928 1.10 christos #line 991 "ldgram.y"
3929 1.10 christos { ldlex_script (); }
3930 1.10 christos #line 3931 "ldgram.c"
3931 1.10 christos break;
3932 1.10 christos
3933 1.10 christos case 262: /* $@21: %empty */
3934 1.10 christos #line 992 "ldgram.y"
3935 1.10 christos { ldlex_popstate (); }
3936 1.10 christos #line 3937 "ldgram.c"
3937 1.10 christos break;
3938 1.10 christos
3939 1.10 christos case 263: /* exp: SEGMENT_START $@20 '(' NAME $@21 ',' exp ')' */
3940 1.10 christos #line 993 "ldgram.y"
3941 1.10 christos { /* The operands to the expression node are
3942 1.7 christos placed in the opposite order from the way
3943 1.7 christos in which they appear in the script as
3944 1.7 christos that allows us to reuse more code in
3945 1.7 christos fold_binary. */
3946 1.7 christos (yyval.etree) = exp_binop (SEGMENT_START,
3947 1.7 christos (yyvsp[-1].etree),
3948 1.10 christos exp_nameop (NAME, (yyvsp[-4].name))); }
3949 1.10 christos #line 3950 "ldgram.c"
3950 1.3 matt break;
3951 1.3 matt
3952 1.10 christos case 264: /* exp: BLOCK '(' exp ')' */
3953 1.10 christos #line 1002 "ldgram.y"
3954 1.10 christos { (yyval.etree) = exp_unop (ALIGN_K,(yyvsp[-1].etree)); }
3955 1.10 christos #line 3956 "ldgram.c"
3956 1.3 matt break;
3957 1.3 matt
3958 1.10 christos case 265: /* exp: NAME */
3959 1.10 christos #line 1004 "ldgram.y"
3960 1.10 christos { (yyval.etree) = exp_nameop (NAME,(yyvsp[0].name)); }
3961 1.10 christos #line 3962 "ldgram.c"
3962 1.3 matt break;
3963 1.3 matt
3964 1.10 christos case 266: /* exp: MAX_K '(' exp ',' exp ')' */
3965 1.10 christos #line 1006 "ldgram.y"
3966 1.10 christos { (yyval.etree) = exp_binop (MAX_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); }
3967 1.10 christos #line 3968 "ldgram.c"
3968 1.3 matt break;
3969 1.1 skrll
3970 1.10 christos case 267: /* exp: MIN_K '(' exp ',' exp ')' */
3971 1.10 christos #line 1008 "ldgram.y"
3972 1.10 christos { (yyval.etree) = exp_binop (MIN_K, (yyvsp[-3].etree), (yyvsp[-1].etree) ); }
3973 1.10 christos #line 3974 "ldgram.c"
3974 1.3 matt break;
3975 1.3 matt
3976 1.10 christos case 268: /* exp: ASSERT_K '(' exp ',' NAME ')' */
3977 1.10 christos #line 1010 "ldgram.y"
3978 1.10 christos { (yyval.etree) = exp_assert ((yyvsp[-3].etree), (yyvsp[-1].name)); }
3979 1.10 christos #line 3980 "ldgram.c"
3980 1.3 matt break;
3981 1.3 matt
3982 1.10 christos case 269: /* exp: ORIGIN paren_script_name */
3983 1.10 christos #line 1012 "ldgram.y"
3984 1.10 christos { (yyval.etree) = exp_nameop (ORIGIN, (yyvsp[0].name)); }
3985 1.10 christos #line 3986 "ldgram.c"
3986 1.3 matt break;
3987 1.3 matt
3988 1.10 christos case 270: /* exp: LENGTH paren_script_name */
3989 1.10 christos #line 1014 "ldgram.y"
3990 1.10 christos { (yyval.etree) = exp_nameop (LENGTH, (yyvsp[0].name)); }
3991 1.10 christos #line 3992 "ldgram.c"
3992 1.3 matt break;
3993 1.3 matt
3994 1.10 christos case 271: /* exp: LOG2CEIL '(' exp ')' */
3995 1.10 christos #line 1016 "ldgram.y"
3996 1.10 christos { (yyval.etree) = exp_unop (LOG2CEIL, (yyvsp[-1].etree)); }
3997 1.10 christos #line 3998 "ldgram.c"
3998 1.5 christos break;
3999 1.5 christos
4000 1.10 christos case 272: /* memspec_at_opt: AT '>' NAME */
4001 1.10 christos #line 1021 "ldgram.y"
4002 1.10 christos { (yyval.name) = (yyvsp[0].name); }
4003 1.10 christos #line 4004 "ldgram.c"
4004 1.5 christos break;
4005 1.5 christos
4006 1.10 christos case 273: /* memspec_at_opt: %empty */
4007 1.10 christos #line 1022 "ldgram.y"
4008 1.10 christos { (yyval.name) = 0; }
4009 1.10 christos #line 4010 "ldgram.c"
4010 1.5 christos break;
4011 1.5 christos
4012 1.10 christos case 274: /* opt_at: AT '(' exp ')' */
4013 1.10 christos #line 1026 "ldgram.y"
4014 1.10 christos { (yyval.etree) = (yyvsp[-1].etree); }
4015 1.10 christos #line 4016 "ldgram.c"
4016 1.5 christos break;
4017 1.5 christos
4018 1.10 christos case 275: /* opt_at: %empty */
4019 1.10 christos #line 1027 "ldgram.y"
4020 1.10 christos { (yyval.etree) = 0; }
4021 1.10 christos #line 4022 "ldgram.c"
4022 1.5 christos break;
4023 1.5 christos
4024 1.10 christos case 276: /* opt_align: ALIGN_K '(' exp ')' */
4025 1.10 christos #line 1031 "ldgram.y"
4026 1.10 christos { (yyval.etree) = (yyvsp[-1].etree); }
4027 1.10 christos #line 4028 "ldgram.c"
4028 1.6 christos break;
4029 1.6 christos
4030 1.10 christos case 277: /* opt_align: %empty */
4031 1.10 christos #line 1032 "ldgram.y"
4032 1.10 christos { (yyval.etree) = 0; }
4033 1.10 christos #line 4034 "ldgram.c"
4034 1.3 matt break;
4035 1.3 matt
4036 1.10 christos case 278: /* opt_align_with_input: ALIGN_WITH_INPUT */
4037 1.10 christos #line 1036 "ldgram.y"
4038 1.10 christos { (yyval.token) = ALIGN_WITH_INPUT; }
4039 1.10 christos #line 4040 "ldgram.c"
4040 1.7 christos break;
4041 1.7 christos
4042 1.10 christos case 279: /* opt_align_with_input: %empty */
4043 1.10 christos #line 1037 "ldgram.y"
4044 1.10 christos { (yyval.token) = 0; }
4045 1.10 christos #line 4046 "ldgram.c"
4046 1.7 christos break;
4047 1.7 christos
4048 1.10 christos case 280: /* opt_subalign: SUBALIGN '(' exp ')' */
4049 1.10 christos #line 1041 "ldgram.y"
4050 1.10 christos { (yyval.etree) = (yyvsp[-1].etree); }
4051 1.10 christos #line 4052 "ldgram.c"
4052 1.7 christos break;
4053 1.7 christos
4054 1.10 christos case 281: /* opt_subalign: %empty */
4055 1.10 christos #line 1042 "ldgram.y"
4056 1.10 christos { (yyval.etree) = 0; }
4057 1.10 christos #line 4058 "ldgram.c"
4058 1.7 christos break;
4059 1.7 christos
4060 1.10 christos case 282: /* sect_constraint: ONLY_IF_RO */
4061 1.10 christos #line 1046 "ldgram.y"
4062 1.10 christos { (yyval.token) = ONLY_IF_RO; }
4063 1.10 christos #line 4064 "ldgram.c"
4064 1.3 matt break;
4065 1.3 matt
4066 1.10 christos case 283: /* sect_constraint: ONLY_IF_RW */
4067 1.10 christos #line 1047 "ldgram.y"
4068 1.10 christos { (yyval.token) = ONLY_IF_RW; }
4069 1.10 christos #line 4070 "ldgram.c"
4070 1.3 matt break;
4071 1.3 matt
4072 1.10 christos case 284: /* sect_constraint: SPECIAL */
4073 1.10 christos #line 1048 "ldgram.y"
4074 1.10 christos { (yyval.token) = SPECIAL; }
4075 1.10 christos #line 4076 "ldgram.c"
4076 1.3 matt break;
4077 1.3 matt
4078 1.10 christos case 285: /* sect_constraint: %empty */
4079 1.10 christos #line 1049 "ldgram.y"
4080 1.10 christos { (yyval.token) = 0; }
4081 1.10 christos #line 4082 "ldgram.c"
4082 1.3 matt break;
4083 1.3 matt
4084 1.10 christos case 286: /* $@22: %empty */
4085 1.10 christos #line 1053 "ldgram.y"
4086 1.10 christos { ldlex_expression(); }
4087 1.10 christos #line 4088 "ldgram.c"
4088 1.3 matt break;
4089 1.3 matt
4090 1.10 christos case 287: /* $@23: %empty */
4091 1.10 christos #line 1060 "ldgram.y"
4092 1.10 christos {
4093 1.10 christos ldlex_popstate ();
4094 1.10 christos ldlex_wild ();
4095 1.10 christos lang_enter_output_section_statement ((yyvsp[-7].name), (yyvsp[-5].etree), sectype,
4096 1.10 christos sectype_value, (yyvsp[-3].etree), (yyvsp[-1].etree), (yyvsp[-4].etree), (yyvsp[0].token), (yyvsp[-2].token));
4097 1.10 christos }
4098 1.10 christos #line 4099 "ldgram.c"
4099 1.3 matt break;
4100 1.3 matt
4101 1.10 christos case 288: /* $@24: %empty */
4102 1.10 christos #line 1069 "ldgram.y"
4103 1.10 christos { ldlex_popstate (); }
4104 1.10 christos #line 4105 "ldgram.c"
4105 1.10 christos break;
4106 1.10 christos
4107 1.10 christos case 289: /* $@25: %empty */
4108 1.10 christos #line 1071 "ldgram.y"
4109 1.10 christos {
4110 1.10 christos /* fill_opt may have switched the lexer into
4111 1.10 christos expression state, and back again, but in
4112 1.10 christos order to find the end of the fill
4113 1.10 christos expression the parser must look ahead one
4114 1.10 christos token. If it is a NAME, throw it away as
4115 1.10 christos it will have been lexed in the wrong
4116 1.10 christos state. */
4117 1.10 christos if (yychar == NAME)
4118 1.10 christos {
4119 1.10 christos yyclearin;
4120 1.10 christos ldlex_backup ();
4121 1.10 christos }
4122 1.10 christos lang_leave_output_section_statement ((yyvsp[0].fill), (yyvsp[-3].name),
4123 1.10 christos (yyvsp[-1].section_phdr), (yyvsp[-2].name));
4124 1.3 matt }
4125 1.10 christos #line 4126 "ldgram.c"
4126 1.3 matt break;
4127 1.3 matt
4128 1.10 christos case 291: /* $@26: %empty */
4129 1.10 christos #line 1089 "ldgram.y"
4130 1.10 christos { ldlex_expression (); }
4131 1.10 christos #line 4132 "ldgram.c"
4132 1.3 matt break;
4133 1.3 matt
4134 1.10 christos case 292: /* $@27: %empty */
4135 1.10 christos #line 1091 "ldgram.y"
4136 1.10 christos { ldlex_popstate (); }
4137 1.10 christos #line 4138 "ldgram.c"
4138 1.3 matt break;
4139 1.3 matt
4140 1.10 christos case 293: /* $@28: %empty */
4141 1.10 christos #line 1093 "ldgram.y"
4142 1.10 christos {
4143 1.10 christos lang_enter_overlay ((yyvsp[-5].etree), (yyvsp[-2].etree));
4144 1.10 christos }
4145 1.10 christos #line 4146 "ldgram.c"
4146 1.3 matt break;
4147 1.3 matt
4148 1.10 christos case 294: /* $@29: %empty */
4149 1.10 christos #line 1099 "ldgram.y"
4150 1.10 christos {
4151 1.10 christos if (yychar == NAME)
4152 1.10 christos {
4153 1.10 christos yyclearin;
4154 1.10 christos ldlex_backup ();
4155 1.10 christos }
4156 1.10 christos lang_leave_overlay ((yyvsp[-10].etree), (int) (yyvsp[-11].integer),
4157 1.10 christos (yyvsp[0].fill), (yyvsp[-3].name), (yyvsp[-1].section_phdr), (yyvsp[-2].name));
4158 1.3 matt }
4159 1.10 christos #line 4160 "ldgram.c"
4160 1.3 matt break;
4161 1.3 matt
4162 1.10 christos case 296: /* $@30: %empty */
4163 1.10 christos #line 1114 "ldgram.y"
4164 1.10 christos { ldlex_expression (); }
4165 1.10 christos #line 4166 "ldgram.c"
4166 1.3 matt break;
4167 1.3 matt
4168 1.10 christos case 297: /* $@31: %empty */
4169 1.10 christos #line 1116 "ldgram.y"
4170 1.10 christos {
4171 1.3 matt ldlex_popstate ();
4172 1.10 christos lang_add_assignment (exp_assign (".", (yyvsp[0].etree), false));
4173 1.3 matt }
4174 1.10 christos #line 4175 "ldgram.c"
4175 1.3 matt break;
4176 1.3 matt
4177 1.10 christos case 299: /* $@32: %empty */
4178 1.10 christos #line 1122 "ldgram.y"
4179 1.10 christos {
4180 1.10 christos ldfile_open_command_file ((yyvsp[0].name));
4181 1.10 christos }
4182 1.10 christos #line 4183 "ldgram.c"
4183 1.3 matt break;
4184 1.3 matt
4185 1.10 christos case 301: /* type: NOLOAD */
4186 1.10 christos #line 1129 "ldgram.y"
4187 1.10 christos { sectype = noload_section; }
4188 1.10 christos #line 4189 "ldgram.c"
4189 1.3 matt break;
4190 1.3 matt
4191 1.10 christos case 302: /* type: DSECT */
4192 1.10 christos #line 1130 "ldgram.y"
4193 1.10 christos { sectype = noalloc_section; }
4194 1.10 christos #line 4195 "ldgram.c"
4195 1.3 matt break;
4196 1.3 matt
4197 1.10 christos case 303: /* type: COPY */
4198 1.10 christos #line 1131 "ldgram.y"
4199 1.10 christos { sectype = noalloc_section; }
4200 1.10 christos #line 4201 "ldgram.c"
4201 1.3 matt break;
4202 1.3 matt
4203 1.10 christos case 304: /* type: INFO */
4204 1.10 christos #line 1132 "ldgram.y"
4205 1.10 christos { sectype = noalloc_section; }
4206 1.10 christos #line 4207 "ldgram.c"
4207 1.3 matt break;
4208 1.3 matt
4209 1.10 christos case 305: /* type: OVERLAY */
4210 1.10 christos #line 1133 "ldgram.y"
4211 1.10 christos { sectype = noalloc_section; }
4212 1.10 christos #line 4213 "ldgram.c"
4213 1.3 matt break;
4214 1.3 matt
4215 1.10 christos case 306: /* type: READONLY '(' TYPE '=' exp ')' */
4216 1.10 christos #line 1134 "ldgram.y"
4217 1.10 christos { sectype = typed_readonly_section; sectype_value = (yyvsp[-1].etree); }
4218 1.10 christos #line 4219 "ldgram.c"
4219 1.3 matt break;
4220 1.3 matt
4221 1.10 christos case 307: /* type: READONLY */
4222 1.10 christos #line 1135 "ldgram.y"
4223 1.10 christos { sectype = readonly_section; }
4224 1.10 christos #line 4225 "ldgram.c"
4225 1.3 matt break;
4226 1.3 matt
4227 1.10 christos case 308: /* type: TYPE '=' exp */
4228 1.10 christos #line 1136 "ldgram.y"
4229 1.10 christos { sectype = type_section; sectype_value = (yyvsp[0].etree); }
4230 1.10 christos #line 4231 "ldgram.c"
4231 1.3 matt break;
4232 1.3 matt
4233 1.10 christos case 310: /* atype: %empty */
4234 1.10 christos #line 1141 "ldgram.y"
4235 1.10 christos { sectype = normal_section; }
4236 1.10 christos #line 4237 "ldgram.c"
4237 1.3 matt break;
4238 1.3 matt
4239 1.10 christos case 311: /* atype: '(' ')' */
4240 1.10 christos #line 1142 "ldgram.y"
4241 1.10 christos { sectype = normal_section; }
4242 1.10 christos #line 4243 "ldgram.c"
4243 1.3 matt break;
4244 1.3 matt
4245 1.10 christos case 312: /* opt_exp_with_type: exp atype ':' */
4246 1.10 christos #line 1146 "ldgram.y"
4247 1.10 christos { (yyval.etree) = (yyvsp[-2].etree); }
4248 1.10 christos #line 4249 "ldgram.c"
4249 1.3 matt break;
4250 1.3 matt
4251 1.10 christos case 313: /* opt_exp_with_type: atype ':' */
4252 1.10 christos #line 1147 "ldgram.y"
4253 1.10 christos { (yyval.etree) = (etree_type *)NULL; }
4254 1.10 christos #line 4255 "ldgram.c"
4255 1.3 matt break;
4256 1.3 matt
4257 1.10 christos case 314: /* opt_exp_with_type: BIND '(' exp ')' atype ':' */
4258 1.10 christos #line 1152 "ldgram.y"
4259 1.10 christos { (yyval.etree) = (yyvsp[-3].etree); }
4260 1.10 christos #line 4261 "ldgram.c"
4261 1.3 matt break;
4262 1.3 matt
4263 1.10 christos case 315: /* opt_exp_with_type: BIND '(' exp ')' BLOCK '(' exp ')' atype ':' */
4264 1.10 christos #line 1154 "ldgram.y"
4265 1.10 christos { (yyval.etree) = (yyvsp[-7].etree); }
4266 1.10 christos #line 4267 "ldgram.c"
4267 1.3 matt break;
4268 1.3 matt
4269 1.10 christos case 316: /* opt_exp_without_type: exp ':' */
4270 1.10 christos #line 1158 "ldgram.y"
4271 1.10 christos { (yyval.etree) = (yyvsp[-1].etree); }
4272 1.10 christos #line 4273 "ldgram.c"
4273 1.3 matt break;
4274 1.3 matt
4275 1.10 christos case 317: /* opt_exp_without_type: ':' */
4276 1.10 christos #line 1159 "ldgram.y"
4277 1.10 christos { (yyval.etree) = (etree_type *) NULL; }
4278 1.10 christos #line 4279 "ldgram.c"
4279 1.3 matt break;
4280 1.3 matt
4281 1.10 christos case 318: /* opt_nocrossrefs: %empty */
4282 1.10 christos #line 1164 "ldgram.y"
4283 1.10 christos { (yyval.integer) = 0; }
4284 1.10 christos #line 4285 "ldgram.c"
4285 1.3 matt break;
4286 1.3 matt
4287 1.10 christos case 319: /* opt_nocrossrefs: NOCROSSREFS */
4288 1.10 christos #line 1166 "ldgram.y"
4289 1.10 christos { (yyval.integer) = 1; }
4290 1.10 christos #line 4291 "ldgram.c"
4291 1.3 matt break;
4292 1.3 matt
4293 1.10 christos case 320: /* memspec_opt: '>' NAME */
4294 1.10 christos #line 1171 "ldgram.y"
4295 1.10 christos { (yyval.name) = (yyvsp[0].name); }
4296 1.10 christos #line 4297 "ldgram.c"
4297 1.6 christos break;
4298 1.6 christos
4299 1.10 christos case 321: /* memspec_opt: %empty */
4300 1.10 christos #line 1172 "ldgram.y"
4301 1.10 christos { (yyval.name) = DEFAULT_MEMORY_REGION; }
4302 1.10 christos #line 4303 "ldgram.c"
4303 1.3 matt break;
4304 1.3 matt
4305 1.10 christos case 322: /* phdr_opt: %empty */
4306 1.10 christos #line 1177 "ldgram.y"
4307 1.10 christos {
4308 1.3 matt (yyval.section_phdr) = NULL;
4309 1.3 matt }
4310 1.10 christos #line 4311 "ldgram.c"
4311 1.3 matt break;
4312 1.3 matt
4313 1.10 christos case 323: /* phdr_opt: phdr_opt ':' NAME */
4314 1.10 christos #line 1181 "ldgram.y"
4315 1.10 christos {
4316 1.1 skrll struct lang_output_section_phdr_list *n;
4317 1.1 skrll
4318 1.1 skrll n = ((struct lang_output_section_phdr_list *)
4319 1.1 skrll xmalloc (sizeof *n));
4320 1.7 christos n->name = (yyvsp[0].name);
4321 1.10 christos n->used = false;
4322 1.7 christos n->next = (yyvsp[-2].section_phdr);
4323 1.3 matt (yyval.section_phdr) = n;
4324 1.1 skrll }
4325 1.10 christos #line 4326 "ldgram.c"
4326 1.3 matt break;
4327 1.3 matt
4328 1.10 christos case 325: /* $@33: %empty */
4329 1.10 christos #line 1197 "ldgram.y"
4330 1.10 christos {
4331 1.10 christos ldlex_wild ();
4332 1.7 christos lang_enter_overlay_section ((yyvsp[0].name));
4333 1.1 skrll }
4334 1.10 christos #line 4335 "ldgram.c"
4335 1.3 matt break;
4336 1.3 matt
4337 1.10 christos case 326: /* $@34: %empty */
4338 1.10 christos #line 1204 "ldgram.y"
4339 1.10 christos { ldlex_popstate (); }
4340 1.10 christos #line 4341 "ldgram.c"
4341 1.3 matt break;
4342 1.3 matt
4343 1.10 christos case 327: /* $@35: %empty */
4344 1.10 christos #line 1206 "ldgram.y"
4345 1.10 christos {
4346 1.10 christos if (yychar == NAME)
4347 1.10 christos {
4348 1.10 christos yyclearin;
4349 1.10 christos ldlex_backup ();
4350 1.10 christos }
4351 1.7 christos lang_leave_overlay_section ((yyvsp[0].fill), (yyvsp[-1].section_phdr));
4352 1.1 skrll }
4353 1.10 christos #line 4354 "ldgram.c"
4354 1.3 matt break;
4355 1.3 matt
4356 1.10 christos case 332: /* $@36: %empty */
4357 1.10 christos #line 1227 "ldgram.y"
4358 1.10 christos { ldlex_expression (); }
4359 1.10 christos #line 4360 "ldgram.c"
4360 1.3 matt break;
4361 1.3 matt
4362 1.10 christos case 333: /* $@37: %empty */
4363 1.10 christos #line 1228 "ldgram.y"
4364 1.10 christos { ldlex_popstate (); }
4365 1.10 christos #line 4366 "ldgram.c"
4366 1.3 matt break;
4367 1.3 matt
4368 1.10 christos case 334: /* phdr: NAME $@36 phdr_type phdr_qualifiers $@37 ';' */
4369 1.10 christos #line 1230 "ldgram.y"
4370 1.10 christos {
4371 1.7 christos lang_new_phdr ((yyvsp[-5].name), (yyvsp[-3].etree), (yyvsp[-2].phdr).filehdr, (yyvsp[-2].phdr).phdrs, (yyvsp[-2].phdr).at,
4372 1.7 christos (yyvsp[-2].phdr).flags);
4373 1.1 skrll }
4374 1.10 christos #line 4375 "ldgram.c"
4375 1.3 matt break;
4376 1.3 matt
4377 1.10 christos case 335: /* phdr_type: exp */
4378 1.10 christos #line 1238 "ldgram.y"
4379 1.10 christos {
4380 1.7 christos (yyval.etree) = (yyvsp[0].etree);
4381 1.1 skrll
4382 1.7 christos if ((yyvsp[0].etree)->type.node_class == etree_name
4383 1.7 christos && (yyvsp[0].etree)->type.node_code == NAME)
4384 1.1 skrll {
4385 1.1 skrll const char *s;
4386 1.1 skrll unsigned int i;
4387 1.1 skrll static const char * const phdr_types[] =
4388 1.1 skrll {
4389 1.1 skrll "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
4390 1.1 skrll "PT_INTERP", "PT_NOTE", "PT_SHLIB",
4391 1.1 skrll "PT_PHDR", "PT_TLS"
4392 1.1 skrll };
4393 1.1 skrll
4394 1.7 christos s = (yyvsp[0].etree)->name.name;
4395 1.1 skrll for (i = 0;
4396 1.1 skrll i < sizeof phdr_types / sizeof phdr_types[0];
4397 1.1 skrll i++)
4398 1.1 skrll if (strcmp (s, phdr_types[i]) == 0)
4399 1.1 skrll {
4400 1.3 matt (yyval.etree) = exp_intop (i);
4401 1.1 skrll break;
4402 1.1 skrll }
4403 1.1 skrll if (i == sizeof phdr_types / sizeof phdr_types[0])
4404 1.1 skrll {
4405 1.1 skrll if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
4406 1.3 matt (yyval.etree) = exp_intop (0x6474e550);
4407 1.1 skrll else if (strcmp (s, "PT_GNU_STACK") == 0)
4408 1.3 matt (yyval.etree) = exp_intop (0x6474e551);
4409 1.10 christos else if (strcmp (s, "PT_GNU_RELRO") == 0)
4410 1.10 christos (yyval.etree) = exp_intop (0x6474e552);
4411 1.10 christos else if (strcmp (s, "PT_GNU_PROPERTY") == 0)
4412 1.10 christos (yyval.etree) = exp_intop (0x6474e553);
4413 1.1 skrll else
4414 1.1 skrll {
4415 1.1 skrll einfo (_("\
4416 1.8 christos %X%P:%pS: unknown phdr type `%s' (try integer literal)\n"),
4417 1.4 matt NULL, s);
4418 1.3 matt (yyval.etree) = exp_intop (0);
4419 1.1 skrll }
4420 1.1 skrll }
4421 1.1 skrll }
4422 1.1 skrll }
4423 1.10 christos #line 4424 "ldgram.c"
4424 1.3 matt break;
4425 1.3 matt
4426 1.10 christos case 336: /* phdr_qualifiers: %empty */
4427 1.10 christos #line 1286 "ldgram.y"
4428 1.10 christos {
4429 1.3 matt memset (&(yyval.phdr), 0, sizeof (struct phdr_info));
4430 1.1 skrll }
4431 1.10 christos #line 4432 "ldgram.c"
4432 1.3 matt break;
4433 1.3 matt
4434 1.10 christos case 337: /* phdr_qualifiers: NAME phdr_val phdr_qualifiers */
4435 1.10 christos #line 1290 "ldgram.y"
4436 1.10 christos {
4437 1.7 christos (yyval.phdr) = (yyvsp[0].phdr);
4438 1.7 christos if (strcmp ((yyvsp[-2].name), "FILEHDR") == 0 && (yyvsp[-1].etree) == NULL)
4439 1.10 christos (yyval.phdr).filehdr = true;
4440 1.7 christos else if (strcmp ((yyvsp[-2].name), "PHDRS") == 0 && (yyvsp[-1].etree) == NULL)
4441 1.10 christos (yyval.phdr).phdrs = true;
4442 1.7 christos else if (strcmp ((yyvsp[-2].name), "FLAGS") == 0 && (yyvsp[-1].etree) != NULL)
4443 1.7 christos (yyval.phdr).flags = (yyvsp[-1].etree);
4444 1.1 skrll else
4445 1.8 christos einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"),
4446 1.7 christos NULL, (yyvsp[-2].name));
4447 1.1 skrll }
4448 1.10 christos #line 4449 "ldgram.c"
4449 1.3 matt break;
4450 1.3 matt
4451 1.10 christos case 338: /* phdr_qualifiers: AT '(' exp ')' phdr_qualifiers */
4452 1.10 christos #line 1303 "ldgram.y"
4453 1.10 christos {
4454 1.7 christos (yyval.phdr) = (yyvsp[0].phdr);
4455 1.7 christos (yyval.phdr).at = (yyvsp[-2].etree);
4456 1.1 skrll }
4457 1.10 christos #line 4458 "ldgram.c"
4458 1.3 matt break;
4459 1.3 matt
4460 1.10 christos case 339: /* phdr_val: %empty */
4461 1.10 christos #line 1311 "ldgram.y"
4462 1.10 christos {
4463 1.3 matt (yyval.etree) = NULL;
4464 1.1 skrll }
4465 1.10 christos #line 4466 "ldgram.c"
4466 1.3 matt break;
4467 1.3 matt
4468 1.10 christos case 340: /* phdr_val: '(' exp ')' */
4469 1.10 christos #line 1315 "ldgram.y"
4470 1.10 christos {
4471 1.7 christos (yyval.etree) = (yyvsp[-1].etree);
4472 1.1 skrll }
4473 1.10 christos #line 4474 "ldgram.c"
4474 1.3 matt break;
4475 1.3 matt
4476 1.10 christos case 341: /* $@38: %empty */
4477 1.10 christos #line 1321 "ldgram.y"
4478 1.10 christos {
4479 1.1 skrll ldlex_version_file ();
4480 1.1 skrll PUSH_ERROR (_("dynamic list"));
4481 1.1 skrll }
4482 1.10 christos #line 4483 "ldgram.c"
4483 1.3 matt break;
4484 1.3 matt
4485 1.10 christos case 342: /* dynamic_list_file: $@38 dynamic_list_nodes */
4486 1.10 christos #line 1326 "ldgram.y"
4487 1.10 christos {
4488 1.1 skrll ldlex_popstate ();
4489 1.1 skrll POP_ERROR ();
4490 1.1 skrll }
4491 1.10 christos #line 4492 "ldgram.c"
4492 1.3 matt break;
4493 1.3 matt
4494 1.10 christos case 346: /* dynamic_list_tag: vers_defns ';' */
4495 1.10 christos #line 1343 "ldgram.y"
4496 1.10 christos {
4497 1.10 christos lang_append_dynamic_list (current_dynamic_list_p, (yyvsp[-1].versyms));
4498 1.1 skrll }
4499 1.10 christos #line 4500 "ldgram.c"
4500 1.3 matt break;
4501 1.3 matt
4502 1.10 christos case 347: /* $@39: %empty */
4503 1.10 christos #line 1351 "ldgram.y"
4504 1.10 christos {
4505 1.1 skrll ldlex_version_file ();
4506 1.1 skrll PUSH_ERROR (_("VERSION script"));
4507 1.1 skrll }
4508 1.10 christos #line 4509 "ldgram.c"
4509 1.3 matt break;
4510 1.3 matt
4511 1.10 christos case 348: /* version_script_file: $@39 vers_nodes */
4512 1.10 christos #line 1356 "ldgram.y"
4513 1.10 christos {
4514 1.1 skrll ldlex_popstate ();
4515 1.1 skrll POP_ERROR ();
4516 1.1 skrll }
4517 1.10 christos #line 4518 "ldgram.c"
4518 1.3 matt break;
4519 1.3 matt
4520 1.10 christos case 349: /* $@40: %empty */
4521 1.10 christos #line 1365 "ldgram.y"
4522 1.10 christos {
4523 1.1 skrll ldlex_version_script ();
4524 1.1 skrll }
4525 1.10 christos #line 4526 "ldgram.c"
4526 1.3 matt break;
4527 1.3 matt
4528 1.10 christos case 350: /* version: $@40 VERSIONK '{' vers_nodes '}' */
4529 1.10 christos #line 1369 "ldgram.y"
4530 1.10 christos {
4531 1.1 skrll ldlex_popstate ();
4532 1.1 skrll }
4533 1.10 christos #line 4534 "ldgram.c"
4534 1.3 matt break;
4535 1.3 matt
4536 1.10 christos case 353: /* vers_node: '{' vers_tag '}' ';' */
4537 1.10 christos #line 1381 "ldgram.y"
4538 1.10 christos {
4539 1.7 christos lang_register_vers_node (NULL, (yyvsp[-2].versnode), NULL);
4540 1.1 skrll }
4541 1.10 christos #line 4542 "ldgram.c"
4542 1.3 matt break;
4543 1.3 matt
4544 1.10 christos case 354: /* vers_node: VERS_TAG '{' vers_tag '}' ';' */
4545 1.10 christos #line 1385 "ldgram.y"
4546 1.10 christos {
4547 1.7 christos lang_register_vers_node ((yyvsp[-4].name), (yyvsp[-2].versnode), NULL);
4548 1.1 skrll }
4549 1.10 christos #line 4550 "ldgram.c"
4550 1.3 matt break;
4551 1.3 matt
4552 1.10 christos case 355: /* vers_node: VERS_TAG '{' vers_tag '}' verdep ';' */
4553 1.10 christos #line 1389 "ldgram.y"
4554 1.10 christos {
4555 1.7 christos lang_register_vers_node ((yyvsp[-5].name), (yyvsp[-3].versnode), (yyvsp[-1].deflist));
4556 1.1 skrll }
4557 1.10 christos #line 4558 "ldgram.c"
4558 1.3 matt break;
4559 1.3 matt
4560 1.10 christos case 356: /* verdep: VERS_TAG */
4561 1.10 christos #line 1396 "ldgram.y"
4562 1.10 christos {
4563 1.7 christos (yyval.deflist) = lang_add_vers_depend (NULL, (yyvsp[0].name));
4564 1.1 skrll }
4565 1.10 christos #line 4566 "ldgram.c"
4566 1.3 matt break;
4567 1.3 matt
4568 1.10 christos case 357: /* verdep: verdep VERS_TAG */
4569 1.10 christos #line 1400 "ldgram.y"
4570 1.10 christos {
4571 1.7 christos (yyval.deflist) = lang_add_vers_depend ((yyvsp[-1].deflist), (yyvsp[0].name));
4572 1.1 skrll }
4573 1.10 christos #line 4574 "ldgram.c"
4574 1.3 matt break;
4575 1.3 matt
4576 1.10 christos case 358: /* vers_tag: %empty */
4577 1.10 christos #line 1407 "ldgram.y"
4578 1.10 christos {
4579 1.6 christos (yyval.versnode) = lang_new_vers_node (NULL, NULL);
4580 1.1 skrll }
4581 1.10 christos #line 4582 "ldgram.c"
4582 1.3 matt break;
4583 1.3 matt
4584 1.10 christos case 359: /* vers_tag: vers_defns ';' */
4585 1.10 christos #line 1411 "ldgram.y"
4586 1.10 christos {
4587 1.7 christos (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL);
4588 1.1 skrll }
4589 1.10 christos #line 4590 "ldgram.c"
4590 1.3 matt break;
4591 1.3 matt
4592 1.10 christos case 360: /* vers_tag: GLOBAL ':' vers_defns ';' */
4593 1.10 christos #line 1415 "ldgram.y"
4594 1.10 christos {
4595 1.7 christos (yyval.versnode) = lang_new_vers_node ((yyvsp[-1].versyms), NULL);
4596 1.1 skrll }
4597 1.10 christos #line 4598 "ldgram.c"
4598 1.3 matt break;
4599 1.3 matt
4600 1.10 christos case 361: /* vers_tag: LOCAL ':' vers_defns ';' */
4601 1.10 christos #line 1419 "ldgram.y"
4602 1.10 christos {
4603 1.7 christos (yyval.versnode) = lang_new_vers_node (NULL, (yyvsp[-1].versyms));
4604 1.1 skrll }
4605 1.10 christos #line 4606 "ldgram.c"
4606 1.3 matt break;
4607 1.3 matt
4608 1.10 christos case 362: /* vers_tag: GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';' */
4609 1.10 christos #line 1423 "ldgram.y"
4610 1.10 christos {
4611 1.7 christos (yyval.versnode) = lang_new_vers_node ((yyvsp[-5].versyms), (yyvsp[-1].versyms));
4612 1.1 skrll }
4613 1.10 christos #line 4614 "ldgram.c"
4614 1.3 matt break;
4615 1.3 matt
4616 1.10 christos case 363: /* vers_defns: VERS_IDENTIFIER */
4617 1.10 christos #line 1430 "ldgram.y"
4618 1.10 christos {
4619 1.10 christos (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, false);
4620 1.1 skrll }
4621 1.10 christos #line 4622 "ldgram.c"
4622 1.3 matt break;
4623 1.3 matt
4624 1.10 christos case 364: /* vers_defns: NAME */
4625 1.10 christos #line 1434 "ldgram.y"
4626 1.10 christos {
4627 1.10 christos (yyval.versyms) = lang_new_vers_pattern (NULL, (yyvsp[0].name), ldgram_vers_current_lang, true);
4628 1.1 skrll }
4629 1.10 christos #line 4630 "ldgram.c"
4630 1.3 matt break;
4631 1.3 matt
4632 1.10 christos case 365: /* vers_defns: vers_defns ';' VERS_IDENTIFIER */
4633 1.10 christos #line 1438 "ldgram.y"
4634 1.10 christos {
4635 1.10 christos (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, false);
4636 1.1 skrll }
4637 1.10 christos #line 4638 "ldgram.c"
4638 1.3 matt break;
4639 1.3 matt
4640 1.10 christos case 366: /* vers_defns: vers_defns ';' NAME */
4641 1.10 christos #line 1442 "ldgram.y"
4642 1.10 christos {
4643 1.10 christos (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), (yyvsp[0].name), ldgram_vers_current_lang, true);
4644 1.6 christos }
4645 1.10 christos #line 4646 "ldgram.c"
4646 1.3 matt break;
4647 1.3 matt
4648 1.10 christos case 367: /* @41: %empty */
4649 1.10 christos #line 1446 "ldgram.y"
4650 1.10 christos {
4651 1.6 christos (yyval.name) = ldgram_vers_current_lang;
4652 1.7 christos ldgram_vers_current_lang = (yyvsp[-1].name);
4653 1.3 matt }
4654 1.10 christos #line 4655 "ldgram.c"
4655 1.3 matt break;
4656 1.3 matt
4657 1.10 christos case 368: /* vers_defns: vers_defns ';' EXTERN NAME '{' @41 vers_defns opt_semicolon '}' */
4658 1.10 christos #line 1451 "ldgram.y"
4659 1.10 christos {
4660 1.6 christos struct bfd_elf_version_expr *pat;
4661 1.7 christos for (pat = (yyvsp[-2].versyms); pat->next != NULL; pat = pat->next);
4662 1.7 christos pat->next = (yyvsp[-8].versyms);
4663 1.7 christos (yyval.versyms) = (yyvsp[-2].versyms);
4664 1.7 christos ldgram_vers_current_lang = (yyvsp[-3].name);
4665 1.1 skrll }
4666 1.10 christos #line 4667 "ldgram.c"
4667 1.3 matt break;
4668 1.3 matt
4669 1.10 christos case 369: /* @42: %empty */
4670 1.10 christos #line 1459 "ldgram.y"
4671 1.10 christos {
4672 1.6 christos (yyval.name) = ldgram_vers_current_lang;
4673 1.7 christos ldgram_vers_current_lang = (yyvsp[-1].name);
4674 1.1 skrll }
4675 1.10 christos #line 4676 "ldgram.c"
4676 1.3 matt break;
4677 1.3 matt
4678 1.10 christos case 370: /* vers_defns: EXTERN NAME '{' @42 vers_defns opt_semicolon '}' */
4679 1.10 christos #line 1464 "ldgram.y"
4680 1.10 christos {
4681 1.7 christos (yyval.versyms) = (yyvsp[-2].versyms);
4682 1.7 christos ldgram_vers_current_lang = (yyvsp[-3].name);
4683 1.6 christos }
4684 1.10 christos #line 4685 "ldgram.c"
4685 1.3 matt break;
4686 1.3 matt
4687 1.10 christos case 371: /* vers_defns: GLOBAL */
4688 1.10 christos #line 1469 "ldgram.y"
4689 1.10 christos {
4690 1.10 christos (yyval.versyms) = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false);
4691 1.1 skrll }
4692 1.10 christos #line 4693 "ldgram.c"
4693 1.3 matt break;
4694 1.3 matt
4695 1.10 christos case 372: /* vers_defns: vers_defns ';' GLOBAL */
4696 1.10 christos #line 1473 "ldgram.y"
4697 1.10 christos {
4698 1.10 christos (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "global", ldgram_vers_current_lang, false);
4699 1.1 skrll }
4700 1.10 christos #line 4701 "ldgram.c"
4701 1.3 matt break;
4702 1.3 matt
4703 1.10 christos case 373: /* vers_defns: LOCAL */
4704 1.10 christos #line 1477 "ldgram.y"
4705 1.10 christos {
4706 1.10 christos (yyval.versyms) = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false);
4707 1.1 skrll }
4708 1.10 christos #line 4709 "ldgram.c"
4709 1.3 matt break;
4710 1.3 matt
4711 1.10 christos case 374: /* vers_defns: vers_defns ';' LOCAL */
4712 1.10 christos #line 1481 "ldgram.y"
4713 1.10 christos {
4714 1.10 christos (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "local", ldgram_vers_current_lang, false);
4715 1.6 christos }
4716 1.10 christos #line 4717 "ldgram.c"
4717 1.6 christos break;
4718 1.6 christos
4719 1.10 christos case 375: /* vers_defns: EXTERN */
4720 1.10 christos #line 1485 "ldgram.y"
4721 1.10 christos {
4722 1.10 christos (yyval.versyms) = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false);
4723 1.1 skrll }
4724 1.10 christos #line 4725 "ldgram.c"
4725 1.3 matt break;
4726 1.3 matt
4727 1.10 christos case 376: /* vers_defns: vers_defns ';' EXTERN */
4728 1.10 christos #line 1489 "ldgram.y"
4729 1.10 christos {
4730 1.10 christos (yyval.versyms) = lang_new_vers_pattern ((yyvsp[-2].versyms), "extern", ldgram_vers_current_lang, false);
4731 1.1 skrll }
4732 1.10 christos #line 4733 "ldgram.c"
4733 1.3 matt break;
4734 1.3 matt
4735 1.3 matt
4736 1.10 christos #line 4737 "ldgram.c"
4737 1.10 christos
4738 1.3 matt default: break;
4739 1.3 matt }
4740 1.7 christos /* User semantic actions sometimes alter yychar, and that requires
4741 1.7 christos that yytoken be updated with the new translation. We take the
4742 1.7 christos approach of translating immediately before every use of yytoken.
4743 1.7 christos One alternative is translating here after every semantic action,
4744 1.7 christos but that translation would be missed if the semantic action invokes
4745 1.7 christos YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
4746 1.7 christos if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
4747 1.7 christos incorrect destructor might then be invoked immediately. In the
4748 1.7 christos case of YYERROR or YYBACKUP, subsequent parser actions might lead
4749 1.7 christos to an incorrect destructor call or verbose syntax error message
4750 1.7 christos before the lookahead is translated. */
4751 1.10 christos YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
4752 1.3 matt
4753 1.4 matt YYPOPSTACK (yylen);
4754 1.4 matt yylen = 0;
4755 1.3 matt
4756 1.3 matt *++yyvsp = yyval;
4757 1.3 matt
4758 1.7 christos /* Now 'shift' the result of the reduction. Determine what state
4759 1.3 matt that goes to, based on the state we popped back to and the rule
4760 1.3 matt number reduced by. */
4761 1.10 christos {
4762 1.10 christos const int yylhs = yyr1[yyn] - YYNTOKENS;
4763 1.10 christos const int yyi = yypgoto[yylhs] + *yyssp;
4764 1.10 christos yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
4765 1.10 christos ? yytable[yyi]
4766 1.10 christos : yydefgoto[yylhs]);
4767 1.10 christos }
4768 1.3 matt
4769 1.3 matt goto yynewstate;
4770 1.3 matt
4771 1.3 matt
4772 1.7 christos /*--------------------------------------.
4773 1.7 christos | yyerrlab -- here on detecting error. |
4774 1.7 christos `--------------------------------------*/
4775 1.3 matt yyerrlab:
4776 1.7 christos /* Make sure we have latest lookahead translation. See comments at
4777 1.7 christos user semantic actions for why this is necessary. */
4778 1.10 christos yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
4779 1.3 matt /* If not already recovering from an error, report this error. */
4780 1.3 matt if (!yyerrstatus)
4781 1.3 matt {
4782 1.3 matt ++yynerrs;
4783 1.4 matt yyerror (YY_("syntax error"));
4784 1.1 skrll }
4785 1.3 matt
4786 1.3 matt if (yyerrstatus == 3)
4787 1.1 skrll {
4788 1.7 christos /* If just tried and failed to reuse lookahead token after an
4789 1.7 christos error, discard it. */
4790 1.3 matt
4791 1.3 matt if (yychar <= YYEOF)
4792 1.7 christos {
4793 1.7 christos /* Return failure if at end of input. */
4794 1.7 christos if (yychar == YYEOF)
4795 1.7 christos YYABORT;
4796 1.7 christos }
4797 1.3 matt else
4798 1.7 christos {
4799 1.7 christos yydestruct ("Error: discarding",
4800 1.7 christos yytoken, &yylval);
4801 1.7 christos yychar = YYEMPTY;
4802 1.7 christos }
4803 1.3 matt }
4804 1.3 matt
4805 1.7 christos /* Else will try to reuse lookahead token after shifting the error
4806 1.3 matt token. */
4807 1.3 matt goto yyerrlab1;
4808 1.3 matt
4809 1.3 matt
4810 1.3 matt /*---------------------------------------------------.
4811 1.3 matt | yyerrorlab -- error raised explicitly by YYERROR. |
4812 1.3 matt `---------------------------------------------------*/
4813 1.3 matt yyerrorlab:
4814 1.10 christos /* Pacify compilers when the user code never invokes YYERROR and the
4815 1.10 christos label yyerrorlab therefore never appears in user code. */
4816 1.10 christos if (0)
4817 1.10 christos YYERROR;
4818 1.10 christos ++yynerrs;
4819 1.3 matt
4820 1.7 christos /* Do not reclaim the symbols of the rule whose action triggered
4821 1.4 matt this YYERROR. */
4822 1.4 matt YYPOPSTACK (yylen);
4823 1.4 matt yylen = 0;
4824 1.4 matt YY_STACK_PRINT (yyss, yyssp);
4825 1.3 matt yystate = *yyssp;
4826 1.3 matt goto yyerrlab1;
4827 1.3 matt
4828 1.3 matt
4829 1.3 matt /*-------------------------------------------------------------.
4830 1.3 matt | yyerrlab1 -- common code for both syntax error and YYERROR. |
4831 1.3 matt `-------------------------------------------------------------*/
4832 1.3 matt yyerrlab1:
4833 1.7 christos yyerrstatus = 3; /* Each real token shifted decrements this. */
4834 1.3 matt
4835 1.10 christos /* Pop stack until we find a state that shifts the error token. */
4836 1.3 matt for (;;)
4837 1.3 matt {
4838 1.3 matt yyn = yypact[yystate];
4839 1.7 christos if (!yypact_value_is_default (yyn))
4840 1.7 christos {
4841 1.10 christos yyn += YYSYMBOL_YYerror;
4842 1.10 christos if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
4843 1.7 christos {
4844 1.7 christos yyn = yytable[yyn];
4845 1.7 christos if (0 < yyn)
4846 1.7 christos break;
4847 1.7 christos }
4848 1.7 christos }
4849 1.3 matt
4850 1.3 matt /* Pop the current state because it cannot handle the error token. */
4851 1.3 matt if (yyssp == yyss)
4852 1.7 christos YYABORT;
4853 1.3 matt
4854 1.3 matt
4855 1.4 matt yydestruct ("Error: popping",
4856 1.10 christos YY_ACCESSING_SYMBOL (yystate), yyvsp);
4857 1.4 matt YYPOPSTACK (1);
4858 1.3 matt yystate = *yyssp;
4859 1.3 matt YY_STACK_PRINT (yyss, yyssp);
4860 1.1 skrll }
4861 1.3 matt
4862 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4863 1.3 matt *++yyvsp = yylval;
4864 1.7 christos YY_IGNORE_MAYBE_UNINITIALIZED_END
4865 1.3 matt
4866 1.3 matt
4867 1.4 matt /* Shift the error token. */
4868 1.10 christos YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
4869 1.3 matt
4870 1.3 matt yystate = yyn;
4871 1.3 matt goto yynewstate;
4872 1.3 matt
4873 1.3 matt
4874 1.3 matt /*-------------------------------------.
4875 1.3 matt | yyacceptlab -- YYACCEPT comes here. |
4876 1.3 matt `-------------------------------------*/
4877 1.3 matt yyacceptlab:
4878 1.3 matt yyresult = 0;
4879 1.10 christos goto yyreturnlab;
4880 1.10 christos
4881 1.3 matt
4882 1.3 matt /*-----------------------------------.
4883 1.3 matt | yyabortlab -- YYABORT comes here. |
4884 1.3 matt `-----------------------------------*/
4885 1.3 matt yyabortlab:
4886 1.3 matt yyresult = 1;
4887 1.10 christos goto yyreturnlab;
4888 1.10 christos
4889 1.3 matt
4890 1.10 christos /*-----------------------------------------------------------.
4891 1.10 christos | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
4892 1.10 christos `-----------------------------------------------------------*/
4893 1.3 matt yyexhaustedlab:
4894 1.3 matt yyerror (YY_("memory exhausted"));
4895 1.3 matt yyresult = 2;
4896 1.10 christos goto yyreturnlab;
4897 1.10 christos
4898 1.3 matt
4899 1.10 christos /*----------------------------------------------------------.
4900 1.10 christos | yyreturnlab -- parsing is finished, clean up and return. |
4901 1.10 christos `----------------------------------------------------------*/
4902 1.10 christos yyreturnlab:
4903 1.7 christos if (yychar != YYEMPTY)
4904 1.7 christos {
4905 1.7 christos /* Make sure we have latest lookahead translation. See comments at
4906 1.7 christos user semantic actions for why this is necessary. */
4907 1.7 christos yytoken = YYTRANSLATE (yychar);
4908 1.7 christos yydestruct ("Cleanup: discarding lookahead",
4909 1.7 christos yytoken, &yylval);
4910 1.7 christos }
4911 1.7 christos /* Do not reclaim the symbols of the rule whose action triggered
4912 1.4 matt this YYABORT or YYACCEPT. */
4913 1.4 matt YYPOPSTACK (yylen);
4914 1.4 matt YY_STACK_PRINT (yyss, yyssp);
4915 1.3 matt while (yyssp != yyss)
4916 1.1 skrll {
4917 1.3 matt yydestruct ("Cleanup: popping",
4918 1.10 christos YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
4919 1.4 matt YYPOPSTACK (1);
4920 1.1 skrll }
4921 1.3 matt #ifndef yyoverflow
4922 1.3 matt if (yyss != yyssa)
4923 1.3 matt YYSTACK_FREE (yyss);
4924 1.3 matt #endif
4925 1.10 christos
4926 1.7 christos return yyresult;
4927 1.3 matt }
4928 1.10 christos
4929 1.10 christos #line 1499 "ldgram.y"
4930 1.3 matt
4931 1.3 matt void
4932 1.3 matt yyerror(arg)
4933 1.3 matt const char *arg;
4934 1.3 matt {
4935 1.3 matt if (ldfile_assumed_script)
4936 1.3 matt einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
4937 1.4 matt ldlex_filename ());
4938 1.3 matt if (error_index > 0 && error_index < ERROR_NAME_MAX)
4939 1.8 christos einfo ("%F%P:%pS: %s in %s\n", NULL, arg, error_names[error_index - 1]);
4940 1.3 matt else
4941 1.8 christos einfo ("%F%P:%pS: %s\n", NULL, arg);
4942 1.1 skrll }
4943