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