/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line
-/* This file comes from bison-@bison_version@. */
-
/* Skeleton output parser for bison,
- Copyright 1984, 1989, 1990, 2000 Free Software Foundation, Inc.
+ Copyright 1984, 1989, 1990, 2000, 2001 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef YYSTACK_USE_ALLOCA
# ifdef alloca
-# define YYSTACK_USE_ALLOCA
+# define YYSTACK_USE_ALLOCA 1
# else /* alloca not defined */
# ifdef __GNUC__
-# define YYSTACK_USE_ALLOCA
+# define YYSTACK_USE_ALLOCA 1
# define alloca __builtin_alloca
# else /* not GNU C. */
# if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-# define YYSTACK_USE_ALLOCA
+# define YYSTACK_USE_ALLOCA 1
# include <alloca.h>
# else /* not sparc */
/* We think this test detects Watcom and Microsoft C. */
namespace. So I turned it off. rms, 2 May 1997. */
/* #include <malloc.h> */
#pragma alloca
-# define YYSTACK_USE_ALLOCA
+# define YYSTACK_USE_ALLOCA 1
# else /* not MSDOS, or __TURBOC__, or _AIX */
# if 0
/* haible@ilog.fr says this works for HPUX 9.05 and up, and on
HPUX 10. Eventually we can turn this on. */
# ifdef __hpux
-# define YYSTACK_USE_ALLOCA
+# define YYSTACK_USE_ALLOCA 1
# define alloca __builtin_alloca
# endif /* __hpux */
# endif
# endif /* alloca not defined */
#endif /* YYSTACK_USE_ALLOCA not defined */
-#ifdef YYSTACK_USE_ALLOCA
+#if YYSTACK_USE_ALLOCA
# define YYSTACK_ALLOC alloca
#else
# define YYSTACK_ALLOC malloc
#endif
-/* Note: there must be only one dollar sign in this file.
- It is replaced by the list of actions, each action
- as one case of the switch. */
-
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
Once GCC version 2 has supplanted version 1, this can go. */
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \
+#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ \
its range to the last symbol. */
#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Last) \
- Current.last_line = Last.last_line; \
- Current.last_column = Last.last_column;
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ Current.last_line = Rhs[N].last_line; \
+ Current.last_column = Rhs[N].last_column;
#endif
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
# define __yy_memcpy(To, From, Count) __builtin_memcpy (To, From, Count)
#else /* not GNU C or C++ */
-# ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
+# ifndef __cplusplus
__yy_memcpy (to, from, count)
char *to;
- char *from;
+ const char *from;
unsigned int count;
-{
- register char *f = from;
- register char *t = to;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
-}
-
# else /* __cplusplus */
-
-/* This is the most reliable way to avoid incompatibilities
- in available built-in functions on various systems. */
-static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+__yy_memcpy (char *to, const char *from, unsigned int count)
+# endif
{
+ register const char *f = from;
register char *t = to;
- register char *f = from;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
-# endif
#endif
\f
#line
int size = yyssp - yyss + 1;
#ifdef yyoverflow
- /* Each stack pointer address is followed by the size of
- the data in use in that stack, in bytes. */
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. */
# if YYLSP_NEEDED
/* This used to be a conditional around just the two extra args,
but that might be undefined if yyoverflow is a macro. */
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `{dollar}{dollar} = {dollar}1'.
+ `$$ = $1'.
Otherwise, the following line sets YYVAL to the semantic value of
the lookahead token. This behavior is undocumented and Bison
/* Similarly for the default location. Let the user run additional
commands if for instance locations are ranges. */
yyloc = yylsp[1-yylen];
- YYLLOC_DEFAULT (yyloc, yylsp[0]);
+ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
#endif
#if YYDEBUG
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
-$ /* The action file replaces this line marked with this dollarsign. */
+%% actions /* The action file replaces this line. */
#line
\f
yyvsp -= yylen;
count = 0;
/* Start X at -yyn if nec to avoid negative indexes in yycheck. */
for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof (yytname) / sizeof (char *)); x++)
+ x < (int) (sizeof (yytname) / sizeof (char *)); x++)
if (yycheck[x + yyn] == x)
size += strlen (yytname[x]) + 15, count++;
size += strlen ("parse error, unexpected `") + 1;
{
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof (yytname) / sizeof (char *)); x++)
+ x < (int) (sizeof (yytname) / sizeof (char *)); x++)
if (yycheck[x + yyn] == x)
{
strcat (msg, count == 0 ? ", expecting `" : " or `");