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