-#ifndef YYSTACK_USE_ALLOCA
-# ifdef alloca
-# define YYSTACK_USE_ALLOCA 1
-# else /* alloca not defined */
-# ifdef __GNUC__
-# 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 1
-# include <alloca.h>
-# else /* not sparc */
- /* We think this test detects Watcom and Microsoft C. */
- /* This used to test MSDOS, but that is a bad idea since that
- symbol is in the user namespace. */
-# if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-# if 0
- /* No need for malloc.h, which pollutes the namespace; instead,
- just don't use alloca. */
-# include <malloc.h>
-# endif
-# else /* not MSDOS, or __TURBOC__ */
-# if defined(_AIX)
- /* I don't know what this was needed for, but it pollutes the
- namespace. So I turned it off. rms, 2 May 1997. */
- /* #include <malloc.h> */
- #pragma 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 1
-# define alloca __builtin_alloca
-# endif /* __hpux */
-# endif
-# endif /* not _AIX */
-# endif /* not MSDOS, or __TURBOC__ */
-# endif /* not sparc */
-# endif /* not GNU C */
-# endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifndef YYSTACK_USE_ALLOCA
-# define YYSTACK_USE_ALLOCA 0
-#endif
-
-/* Realloc WHAT from SIZE to YYSTACKSIZE elements of TYPE.
- If WHAT was malloc'ed (not the original automatic ARRAY), free it. */
-#if YYSTACK_USE_ALLOCA
-# define YYSTACK_REALLOC(Type, What, Array) \
-do { \
- Type *old = What; \
- What = (Type *) alloca (yystacksize * sizeof (Type)); \
- __yy_memcpy ((char *) What, (char *) old, \
- (size) * (unsigned int) sizeof (Type)); \
-} while (0)
-#else
-# define YYSTACK_REALLOC(Type, What, Array) \
-do { \
- Type *old = What; \
- What = (Type *) malloc (yystacksize * sizeof (Type)); \
- __yy_memcpy ((char *) What, (char *) old, \
- (size) * (unsigned int) sizeof (Type)); \
- yyfree_stacks = 1; \
- if (old != Array) \
- free (old); \
-} while (0)
-#endif