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