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