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