65
149
static Object_t *current_object;
68
#line 44 "imap_ncsa.y"
153
/* Enabling traces. */
158
/* Enabling verbose error messages. */
159
#ifdef YYERROR_VERBOSE
160
# undef YYERROR_VERBOSE
161
# define YYERROR_VERBOSE 1
163
# define YYERROR_VERBOSE 0
166
/* Enabling the token table. */
167
#ifndef YYTOKEN_TABLE
168
# define YYTOKEN_TABLE 0
171
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
172
typedef union YYSTYPE
173
#line 46 "imap_ncsa.y"
75
# define YYSTYPE yystype
179
/* Line 187 of yacc.c. */
182
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
183
# define YYSTYPE_IS_DECLARED 1
76
184
# define YYSTYPE_IS_TRIVIAL 1
88
/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
89
#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 31)
91
/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
92
static const char yytranslate[] =
94
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
95
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
96
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
97
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
98
2, 2, 2, 2, 14, 2, 2, 2, 2, 2,
99
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
100
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
101
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
102
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
103
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
104
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
105
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
106
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
107
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
108
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
109
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
110
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
111
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
112
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
113
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
114
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
115
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
116
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
117
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
118
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
119
2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
120
6, 7, 8, 9, 10, 11, 12, 13
124
static const short yyprhs[] =
126
0, 0, 3, 4, 7, 9, 11, 13, 15, 18,
127
21, 24, 27, 28, 31, 33, 35, 37, 39, 41,
128
44, 53, 62, 63, 68, 69, 72
130
static const short yyrhs[] =
132
16, 22, 0, 0, 16, 17, 0, 19, 0, 20,
133
0, 21, 0, 18, 0, 10, 13, 0, 7, 13,
134
0, 8, 13, 0, 9, 13, 0, 0, 22, 23,
135
0, 24, 0, 25, 0, 26, 0, 27, 0, 18,
136
0, 6, 12, 0, 3, 12, 11, 14, 11, 11,
137
14, 11, 0, 5, 12, 11, 14, 11, 11, 14,
138
11, 0, 0, 4, 12, 28, 29, 0, 0, 29,
145
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
146
static const short yyrline[] =
148
0, 57, 60, 61, 64, 65, 66, 67, 70, 75,
149
82, 89, 100, 101, 104, 105, 106, 107, 108, 111,
150
119, 131, 142, 142, 149, 150, 155
155
#if (YYDEBUG) || defined YYERROR_VERBOSE
157
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
158
static const char *const yytname[] =
160
"$", "error", "$undefined.", "RECTANGLE", "POLYGON", "CIRCLE", "DEFAULT",
161
"AUTHOR", "TITLE", "DESCRIPTION", "BEGIN_COMMENT", "FLOAT", "LINK",
162
"COMMENT", "','", "ncsa_file", "comment_lines", "comment_line",
163
"real_comment", "author_line", "title_line", "description_line",
164
"area_list", "area", "default", "rectangle", "circle", "polygon", "@1",
165
"coord_list", "coord", 0
169
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
170
static const short yyr1[] =
172
0, 15, 16, 16, 17, 17, 17, 17, 18, 19,
173
20, 21, 22, 22, 23, 23, 23, 23, 23, 24,
174
25, 26, 28, 27, 29, 29, 30
177
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
178
static const short yyr2[] =
180
0, 2, 0, 2, 1, 1, 1, 1, 2, 2,
181
2, 2, 0, 2, 1, 1, 1, 1, 1, 2,
185
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
186
doesn't specify something else to do. Zero means the default is an
188
static const short yydefact[] =
190
2, 12, 0, 0, 0, 0, 3, 7, 4, 5,
191
6, 1, 9, 10, 11, 8, 0, 0, 0, 0,
192
18, 13, 14, 15, 16, 17, 0, 22, 0, 19,
193
0, 24, 0, 0, 23, 0, 0, 0, 25, 0,
194
0, 0, 0, 0, 26, 0, 20, 21, 0, 0,
198
static const short yydefgoto[] =
200
48, 1, 6, 7, 8, 9, 10, 11, 21, 22,
201
23, 24, 25, 31, 34, 38
204
static const short yypact[] =
206
-32768, 1, -9, -8, -7, -1,-32768,-32768,-32768,-32768,
207
-32768, -3,-32768,-32768,-32768,-32768, 2, 3, 4, 5,
208
-32768,-32768,-32768,-32768,-32768,-32768, 7,-32768, 8,-32768,
209
6,-32768, 9, 10, 11, 13, 14, 12,-32768, 16,
210
15, 17, 18, 19,-32768, 20,-32768,-32768, 33, 34,
214
static const short yypgoto[] =
216
-32768,-32768,-32768, 24,-32768,-32768,-32768,-32768,-32768,-32768,
217
-32768,-32768,-32768,-32768,-32768,-32768
224
static const short yytable[] =
226
16, 17, 18, 19, 12, 13, 14, 5, 2, 3,
227
4, 5, 15, 0, 26, 27, 28, 29, 30, 32,
228
33, 36, 37, 35, 39, 40, 41, 42, 44, 43,
229
46, 47, 45, 49, 50, 20
232
static const short yycheck[] =
234
3, 4, 5, 6, 13, 13, 13, 10, 7, 8,
235
9, 10, 13, -1, 12, 12, 12, 12, 11, 11,
236
14, 11, 11, 14, 11, 11, 14, 11, 11, 14,
239
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
240
#line 3 "/usr/share/bison/bison.simple"
242
/* Skeleton output parser for bison,
244
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
247
This program is free software; you can redistribute it and/or modify
248
it under the terms of the GNU General Public License as published by
249
the Free Software Foundation; either version 2, or (at your option)
252
This program is distributed in the hope that it will be useful,
253
but WITHOUT ANY WARRANTY; without even the implied warranty of
254
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
255
GNU General Public License for more details.
257
You should have received a copy of the GNU General Public License
258
along with this program; if not, write to the Free Software
259
Foundation, Inc., 59 Temple Place - Suite 330,
260
Boston, MA 02111-1307, USA. */
262
/* As a special exception, when this file is copied by Bison into a
263
Bison output file, you may use that output file without restriction.
264
This special exception was added by the Free Software Foundation
265
in version 1.24 of Bison. */
267
/* This is the parser code that is written into each bison parser when
268
the %semantic_parser declaration is not specified in the grammar.
269
It was written by Richard Stallman by simplifying the hairy parser
270
used when %semantic_parser is specified. */
272
/* All symbols defined below should begin with yy or YY, to avoid
273
infringing on user name space. This should be done even for local
274
variables, as they might otherwise be expanded by user macros.
275
There are some unavoidable exceptions within include files to
276
define necessary library symbols; they are noted "INFRINGES ON
277
USER NAME SPACE" below. */
279
#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
189
/* Copy the second part of user declarations. */
192
/* Line 216 of yacc.c. */
200
typedef YYTYPE_UINT8 yytype_uint8;
202
typedef unsigned char yytype_uint8;
206
typedef YYTYPE_INT8 yytype_int8;
207
#elif (defined __STDC__ || defined __C99__FUNC__ \
208
|| defined __cplusplus || defined _MSC_VER)
209
typedef signed char yytype_int8;
211
typedef short int yytype_int8;
215
typedef YYTYPE_UINT16 yytype_uint16;
217
typedef unsigned short int yytype_uint16;
221
typedef YYTYPE_INT16 yytype_int16;
223
typedef short int yytype_int16;
227
# ifdef __SIZE_TYPE__
228
# define YYSIZE_T __SIZE_TYPE__
229
# elif defined size_t
230
# define YYSIZE_T size_t
231
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
232
|| defined __cplusplus || defined _MSC_VER)
233
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
234
# define YYSIZE_T size_t
236
# define YYSIZE_T unsigned int
240
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
245
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
246
# define YY_(msgid) dgettext ("bison-runtime", msgid)
250
# define YY_(msgid) msgid
254
/* Suppress unused-variable warnings by "using" E. */
255
#if ! defined lint || defined __GNUC__
256
# define YYUSE(e) ((void) (e))
258
# define YYUSE(e) /* empty */
261
/* Identity function, used to suppress warnings about constant conditions. */
265
#if (defined __STDC__ || defined __C99__FUNC__ \
266
|| defined __cplusplus || defined _MSC_VER)
279
#if ! defined yyoverflow || YYERROR_VERBOSE
281
281
/* The parser invokes alloca or malloc; define the necessary symbols. */
283
# if YYSTACK_USE_ALLOCA
284
# define YYSTACK_ALLOC alloca
286
# ifndef YYSTACK_USE_ALLOCA
287
# if defined (alloca) || defined (_ALLOCA_H)
283
# ifdef YYSTACK_USE_ALLOCA
284
# if YYSTACK_USE_ALLOCA
286
# define YYSTACK_ALLOC __builtin_alloca
287
# elif defined __BUILTIN_VA_ARG_INCR
288
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
290
# define YYSTACK_ALLOC __alloca
291
# elif defined _MSC_VER
292
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
293
# define alloca _alloca
288
295
# define YYSTACK_ALLOC alloca
291
# define YYSTACK_ALLOC __builtin_alloca
296
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
297
|| defined __cplusplus || defined _MSC_VER)
298
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
297
307
# ifdef YYSTACK_ALLOC
298
/* Pacify GCC's `empty if-body' warning. */
299
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
308
/* Pacify GCC's `empty if-body' warning. */
309
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
310
# ifndef YYSTACK_ALLOC_MAXIMUM
311
/* The OS might guarantee only one guard page at the bottom of the stack,
312
and a page size can be as small as 4096 bytes. So we cannot safely
313
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
314
to allow for a few compiler-allocated temporary stack slots. */
315
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
301
# if defined (__STDC__) || defined (__cplusplus)
318
# define YYSTACK_ALLOC YYMALLOC
319
# define YYSTACK_FREE YYFREE
320
# ifndef YYSTACK_ALLOC_MAXIMUM
321
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
323
# if (defined __cplusplus && ! defined _STDLIB_H \
324
&& ! ((defined YYMALLOC || defined malloc) \
325
&& (defined YYFREE || defined free)))
302
326
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
303
# define YYSIZE_T size_t
305
# define YYSTACK_ALLOC malloc
306
# define YYSTACK_FREE free
332
# define YYMALLOC malloc
333
# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
334
|| defined __cplusplus || defined _MSC_VER)
335
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
340
# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
341
|| defined __cplusplus || defined _MSC_VER)
342
void free (void *); /* INFRINGES ON USER NAME SPACE */
308
#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
311
#if (! defined (yyoverflow) \
312
&& (! defined (__cplusplus) \
313
|| (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
346
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
349
#if (! defined yyoverflow \
350
&& (! defined __cplusplus \
351
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
315
353
/* A type that is properly aligned for any stack member. */
325
360
/* The size of the maximum gap between one aligned stack and the next. */
326
# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
361
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
328
363
/* The size of an array large to enough to hold all stacks, each with
331
# define YYSTACK_BYTES(N) \
332
((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
333
+ 2 * YYSTACK_GAP_MAX)
335
# define YYSTACK_BYTES(N) \
336
((N) * (sizeof (short) + sizeof (YYSTYPE)) \
365
# define YYSTACK_BYTES(N) \
366
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
367
+ YYSTACK_GAP_MAXIMUM)
340
369
/* Copy COUNT objects from FROM to TO. The source and destination do
372
# if defined __GNUC__ && 1 < __GNUC__
344
373
# define YYCOPY(To, From, Count) \
345
374
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
347
376
# define YYCOPY(To, From, Count) \
350
register YYSIZE_T yyi; \
351
380
for (yyi = 0; yyi < (Count); yyi++) \
352
381
(To)[yyi] = (From)[yyi]; \
366
395
YYSIZE_T yynewbytes; \
367
396
YYCOPY (&yyptr->Stack, Stack, yysize); \
368
397
Stack = &yyptr->Stack; \
369
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
398
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
370
399
yyptr += yynewbytes / sizeof (*yyptr); \
377
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
378
# define YYSIZE_T __SIZE_TYPE__
380
#if ! defined (YYSIZE_T) && defined (size_t)
381
# define YYSIZE_T size_t
383
#if ! defined (YYSIZE_T)
384
# if defined (__STDC__) || defined (__cplusplus)
385
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
386
# define YYSIZE_T size_t
405
/* YYFINAL -- State number of the termination state. */
407
/* YYLAST -- Last index in YYTABLE. */
410
/* YYNTOKENS -- Number of terminals. */
412
/* YYNNTS -- Number of nonterminals. */
414
/* YYNRULES -- Number of rules. */
416
/* YYNRULES -- Number of states. */
419
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
421
#define YYMAXUTOK 268
423
#define YYTRANSLATE(YYX) \
424
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
426
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
427
static const yytype_uint8 yytranslate[] =
429
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
430
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433
2, 2, 2, 2, 14, 2, 2, 2, 2, 2,
434
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
435
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
436
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
437
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
438
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
439
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
440
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
441
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
442
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
443
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
444
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
445
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
446
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
447
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
448
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
449
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
450
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
451
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
452
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
453
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
454
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
455
5, 6, 7, 8, 9, 10, 11, 12, 13
459
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
461
static const yytype_uint8 yyprhs[] =
463
0, 0, 3, 6, 7, 10, 12, 14, 16, 18,
464
21, 24, 27, 30, 31, 34, 36, 38, 40, 42,
465
44, 47, 56, 65, 66, 71, 72, 75
468
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
469
static const yytype_int8 yyrhs[] =
471
16, 0, -1, 17, 23, -1, -1, 17, 18, -1,
472
20, -1, 21, -1, 22, -1, 19, -1, 10, 13,
473
-1, 7, 13, -1, 8, 13, -1, 9, 13, -1,
474
-1, 23, 24, -1, 25, -1, 26, -1, 27, -1,
475
28, -1, 19, -1, 6, 12, -1, 3, 12, 11,
476
14, 11, 11, 14, 11, -1, 5, 12, 11, 14,
477
11, 11, 14, 11, -1, -1, 4, 12, 29, 30,
478
-1, -1, 30, 31, -1, 11, 14, 11, -1
481
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
482
static const yytype_uint8 yyrline[] =
484
0, 59, 59, 62, 63, 66, 67, 68, 69, 72,
485
77, 84, 91, 102, 103, 106, 107, 108, 109, 110,
486
113, 121, 133, 144, 144, 151, 152, 157
490
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
491
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
492
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
493
static const char *const yytname[] =
495
"$end", "error", "$undefined", "RECTANGLE", "POLYGON", "CIRCLE",
496
"DEFAULT", "AUTHOR", "TITLE", "DESCRIPTION", "BEGIN_COMMENT", "FLOAT",
497
"LINK", "COMMENT", "','", "$accept", "ncsa_file", "comment_lines",
498
"comment_line", "real_comment", "author_line", "title_line",
499
"description_line", "area_list", "area", "default", "rectangle",
500
"circle", "polygon", "@1", "coord_list", "coord", 0
505
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
507
static const yytype_uint16 yytoknum[] =
509
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
510
265, 266, 267, 268, 44
389
#if ! defined (YYSIZE_T)
390
# define YYSIZE_T unsigned int
514
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
515
static const yytype_uint8 yyr1[] =
517
0, 15, 16, 17, 17, 18, 18, 18, 18, 19,
518
20, 21, 22, 23, 23, 24, 24, 24, 24, 24,
519
25, 26, 27, 29, 28, 30, 30, 31
522
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
523
static const yytype_uint8 yyr2[] =
525
0, 2, 2, 0, 2, 1, 1, 1, 1, 2,
526
2, 2, 2, 0, 2, 1, 1, 1, 1, 1,
527
2, 8, 8, 0, 4, 0, 2, 3
530
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
531
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
532
means the default is an error. */
533
static const yytype_uint8 yydefact[] =
535
3, 0, 13, 1, 0, 0, 0, 0, 4, 8,
536
5, 6, 7, 2, 10, 11, 12, 9, 0, 0,
537
0, 0, 19, 14, 15, 16, 17, 18, 0, 23,
538
0, 20, 0, 25, 0, 0, 24, 0, 0, 0,
539
26, 0, 0, 0, 0, 0, 27, 0, 21, 22
542
/* YYDEFGOTO[NTERM-NUM]. */
543
static const yytype_int8 yydefgoto[] =
545
-1, 1, 2, 8, 9, 10, 11, 12, 13, 23,
546
24, 25, 26, 27, 33, 36, 40
549
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
551
#define YYPACT_NINF -9
552
static const yytype_int8 yypact[] =
554
-9, 4, 1, -9, -8, -7, -1, 0, -9, -9,
555
-9, -9, -9, -3, -9, -9, -9, -9, 2, 3,
556
5, 6, -9, -9, -9, -9, -9, -9, 8, -9,
557
9, -9, 7, -9, 10, 11, 12, 14, 15, 13,
558
-9, 17, 16, 18, 19, 20, -9, 21, -9, -9
561
/* YYPGOTO[NTERM-NUM]. */
562
static const yytype_int8 yypgoto[] =
564
-9, -9, -9, -9, 22, -9, -9, -9, -9, -9,
565
-9, -9, -9, -9, -9, -9, -9
568
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
569
positive, shift that token. If negative, reduce the rule which
570
number is the opposite. If zero, do what YYDEFACT says.
571
If YYTABLE_NINF, syntax error. */
572
#define YYTABLE_NINF -1
573
static const yytype_uint8 yytable[] =
575
18, 19, 20, 21, 3, 14, 15, 7, 4, 5,
576
6, 7, 16, 17, 28, 29, 0, 30, 31, 32,
577
34, 35, 38, 39, 37, 41, 42, 43, 44, 46,
578
45, 48, 49, 47, 0, 22
581
static const yytype_int8 yycheck[] =
583
3, 4, 5, 6, 0, 13, 13, 10, 7, 8,
584
9, 10, 13, 13, 12, 12, -1, 12, 12, 11,
585
11, 14, 11, 11, 14, 11, 11, 14, 11, 11,
586
14, 11, 11, 14, -1, 13
589
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
590
symbol of state STATE-NUM. */
591
static const yytype_uint8 yystos[] =
593
0, 16, 17, 0, 7, 8, 9, 10, 18, 19,
594
20, 21, 22, 23, 13, 13, 13, 13, 3, 4,
595
5, 6, 19, 24, 25, 26, 27, 28, 12, 12,
596
12, 12, 11, 29, 11, 14, 30, 14, 11, 11,
597
31, 11, 11, 14, 11, 14, 11, 14, 11, 11
393
600
#define yyerrok (yyerrstatus = 0)
394
601
#define yyclearin (yychar = YYEMPTY)
397
605
#define YYACCEPT goto yyacceptlab
398
#define YYABORT goto yyabortlab
399
#define YYERROR goto yyerrlab1
606
#define YYABORT goto yyabortlab
607
#define YYERROR goto yyerrorlab
400
610
/* Like YYERROR except do call yyerror. This remains here temporarily
401
611
to ease the transition to the new meaning of YYERROR, for GCC.
402
612
Once GCC version 2 has supplanted version 1, this can go. */
403
614
#define YYFAIL goto yyerrlab
404
616
#define YYRECOVERING() (!!yyerrstatus)
405
618
#define YYBACKUP(Token, Value) \
407
620
if (yychar == YYEMPTY && yylen == 1) \
409
622
yychar = (Token); \
410
623
yylval = (Value); \
411
yychar1 = YYTRANSLATE (yychar); \
624
yytoken = YYTRANSLATE (yychar); \
417
yyerror ("syntax error: cannot back up"); \
630
yyerror (YY_("syntax error: cannot back up")); \
422
636
#define YYTERROR 1
423
637
#define YYERRCODE 256
426
/* YYLLOC_DEFAULT -- Compute the default location (before the actions
429
When YYLLOC_DEFAULT is run, CURRENT is set the location of the
430
first token. By default, to implement support for ranges, extend
431
its range to the last symbol. */
640
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
641
If N is 0, then set CURRENT to the empty location which ends
642
the previous symbol: RHS[0] (always defined). */
644
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
433
645
#ifndef YYLLOC_DEFAULT
434
# define YYLLOC_DEFAULT(Current, Rhs, N) \
435
Current.last_line = Rhs[N].last_line; \
436
Current.last_column = Rhs[N].last_column;
646
# define YYLLOC_DEFAULT(Current, Rhs, N) \
650
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
651
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
652
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
653
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
657
(Current).first_line = (Current).last_line = \
658
YYRHSLOC (Rhs, 0).last_line; \
659
(Current).first_column = (Current).last_column = \
660
YYRHSLOC (Rhs, 0).last_column; \
666
/* YY_LOCATION_PRINT -- Print the location on the stream.
667
This macro was not mandated originally: define only if we know
668
we won't break user code: when these are the locations we know. */
670
#ifndef YY_LOCATION_PRINT
671
# if YYLTYPE_IS_TRIVIAL
672
# define YY_LOCATION_PRINT(File, Loc) \
673
fprintf (File, "%d.%d-%d.%d", \
674
(Loc).first_line, (Loc).first_column, \
675
(Loc).last_line, (Loc).last_column)
677
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
440
682
/* YYLEX -- calling `yylex' with the right arguments. */
445
# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
447
# define YYLEX yylex (&yylval, &yylloc)
449
# else /* !YYLSP_NEEDED */
451
# define YYLEX yylex (&yylval, YYLEX_PARAM)
453
# define YYLEX yylex (&yylval)
455
# endif /* !YYLSP_NEEDED */
457
# define YYLEX yylex ()
685
# define YYLEX yylex (YYLEX_PARAM)
687
# define YYLEX yylex ()
461
690
/* Enable debugging if requested. */
923
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
924
quotes and backslashes, so that it's suitable for yyerror. The
925
heuristic is that double-quoting is unnecessary unless the string
926
contains an apostrophe, a comma, or backslash (other than
927
backslash-backslash). YYSTR is taken from yytname. If YYRES is
928
null, do not copy; instead, return the length of what the result
931
yytnamerr (char *yyres, const char *yystr)
936
char const *yyp = yystr;
943
goto do_not_strip_quotes;
947
goto do_not_strip_quotes;
960
do_not_strip_quotes: ;
964
return yystrlen (yystr);
966
return yystpcpy (yyres, yystr) - yyres;
970
/* Copy into YYRESULT an error message about the unexpected token
971
YYCHAR while in state YYSTATE. Return the number of bytes copied,
972
including the terminating null byte. If YYRESULT is null, do not
973
copy anything; just return the number of bytes that would be
974
copied. As a special case, return 0 if an ordinary "syntax error"
975
message will do. Return YYSIZE_MAXIMUM if overflow occurs during
978
yysyntax_error (char *yyresult, int yystate, int yychar)
980
int yyn = yypact[yystate];
982
if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
986
int yytype = YYTRANSLATE (yychar);
987
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
988
YYSIZE_T yysize = yysize0;
990
int yysize_overflow = 0;
991
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
992
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
996
/* This is so xgettext sees the translatable formats that are
997
constructed on the fly. */
998
YY_("syntax error, unexpected %s");
999
YY_("syntax error, unexpected %s, expecting %s");
1000
YY_("syntax error, unexpected %s, expecting %s or %s");
1001
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1002
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1006
static char const yyunexpected[] = "syntax error, unexpected %s";
1007
static char const yyexpecting[] = ", expecting %s";
1008
static char const yyor[] = " or %s";
1009
char yyformat[sizeof yyunexpected
1010
+ sizeof yyexpecting - 1
1011
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1012
* (sizeof yyor - 1))];
1013
char const *yyprefix = yyexpecting;
1015
/* Start YYX at -YYN if negative to avoid negative indexes in
1017
int yyxbegin = yyn < 0 ? -yyn : 0;
1019
/* Stay within bounds of both yycheck and yytname. */
1020
int yychecklim = YYLAST - yyn + 1;
1021
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1024
yyarg[0] = yytname[yytype];
1025
yyfmt = yystpcpy (yyformat, yyunexpected);
1027
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1028
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1030
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1034
yyformat[sizeof yyunexpected - 1] = '\0';
1037
yyarg[yycount++] = yytname[yyx];
1038
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1039
yysize_overflow |= (yysize1 < yysize);
1041
yyfmt = yystpcpy (yyfmt, yyprefix);
1045
yyf = YY_(yyformat);
1046
yysize1 = yysize + yystrlen (yyf);
1047
yysize_overflow |= (yysize1 < yysize);
1050
if (yysize_overflow)
1051
return YYSIZE_MAXIMUM;
1055
/* Avoid sprintf, as that infringes on the user's name space.
1056
Don't have undefined behavior even if the translation
1057
produced a string with the wrong number of "%s"s. */
1058
char *yyp = yyresult;
1060
while ((*yyp = *yyf) != '\0')
1062
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1064
yyp += yytnamerr (yyp, yyarg[yyi++]);
1077
#endif /* YYERROR_VERBOSE */
1080
/*-----------------------------------------------.
1081
| Release the memory associated to this symbol. |
1082
`-----------------------------------------------*/
1085
#if (defined __STDC__ || defined __C99__FUNC__ \
1086
|| defined __cplusplus || defined _MSC_VER)
1088
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1091
yydestruct (yymsg, yytype, yyvaluep)
1101
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
553
#line 315 "/usr/share/bison/bison.simple"
556
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
557
into yyparse. The argument should have type void *.
558
It should actually point to an object.
559
Grammar actions can access the variable by casting it
560
to the proper pointer type. */
1112
/* Prevent warnings from -Wmissing-prototypes. */
562
1114
#ifdef YYPARSE_PARAM
563
# if defined (__STDC__) || defined (__cplusplus)
564
# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
565
# define YYPARSE_PARAM_DECL
567
# define YYPARSE_PARAM_ARG YYPARSE_PARAM
568
# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
570
#else /* !YYPARSE_PARAM */
571
# define YYPARSE_PARAM_ARG
572
# define YYPARSE_PARAM_DECL
573
#endif /* !YYPARSE_PARAM */
575
/* Prevent warning if -Wstrict-prototypes. */
577
# ifdef YYPARSE_PARAM
578
int yyparse (void *);
1115
#if defined __STDC__ || defined __cplusplus
1116
int yyparse (void *YYPARSE_PARAM);
1120
#else /* ! YYPARSE_PARAM */
1121
#if defined __STDC__ || defined __cplusplus
580
1122
int yyparse (void);
584
/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
585
variables are global, or local to YYPARSE. */
587
#define YY_DECL_NON_LSP_VARIABLES \
588
/* The lookahead symbol. */ \
591
/* The semantic value of the lookahead symbol. */ \
594
/* Number of parse errors so far. */ \
1126
#endif /* ! YYPARSE_PARAM */
1130
/* The look-ahead symbol. */
1133
/* The semantic value of the look-ahead symbol. */
1136
/* Number of syntax errors so far. */
598
# define YY_DECL_VARIABLES \
599
YY_DECL_NON_LSP_VARIABLES \
601
/* Location data for the lookahead symbol. */ \
604
# define YY_DECL_VARIABLES \
605
YY_DECL_NON_LSP_VARIABLES
609
/* If nonreentrant, generate the variables here. */
616
yyparse (YYPARSE_PARAM_ARG)
1145
#ifdef YYPARSE_PARAM
1146
#if (defined __STDC__ || defined __C99__FUNC__ \
1147
|| defined __cplusplus || defined _MSC_VER)
1149
yyparse (void *YYPARSE_PARAM)
1152
yyparse (YYPARSE_PARAM)
1153
void *YYPARSE_PARAM;
1155
#else /* ! YYPARSE_PARAM */
1156
#if (defined __STDC__ || defined __C99__FUNC__ \
1157
|| defined __cplusplus || defined _MSC_VER)
619
/* If reentrant, generate the variables here. */
624
register int yystate;
627
1171
/* Number of tokens to shift before error messages enabled. */
628
1172
int yyerrstatus;
629
/* Lookahead token as an internal (translated) token number. */
1173
/* Look-ahead token as an internal (translated) token number. */
1176
/* Buffer for error messages, and its allocated size. */
1178
char *yymsg = yymsgbuf;
1179
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
632
1182
/* Three stacks and their tools:
633
1183
`yyss': related to states,