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