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