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