-typedef union {
+/* A Bison parser, made by GNU Bison 2.3. */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ 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
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ IF = 258,
+ THEN = 259,
+ ELSE = 260,
+ ELIF = 261,
+ FI = 262,
+ CASE = 263,
+ ESAC = 264,
+ FOR = 265,
+ SELECT = 266,
+ WHILE = 267,
+ UNTIL = 268,
+ DO = 269,
+ DONE = 270,
+ FUNCTION = 271,
+ COPROC = 272,
+ COND_START = 273,
+ COND_END = 274,
+ COND_ERROR = 275,
+ IN = 276,
+ BANG = 277,
+ TIME = 278,
+ TIMEOPT = 279,
+ TIMEIGN = 280,
+ WORD = 281,
+ ASSIGNMENT_WORD = 282,
+ REDIR_WORD = 283,
+ NUMBER = 284,
+ ARITH_CMD = 285,
+ ARITH_FOR_EXPRS = 286,
+ COND_CMD = 287,
+ AND_AND = 288,
+ OR_OR = 289,
+ GREATER_GREATER = 290,
+ LESS_LESS = 291,
+ LESS_AND = 292,
+ LESS_LESS_LESS = 293,
+ GREATER_AND = 294,
+ SEMI_SEMI = 295,
+ SEMI_AND = 296,
+ SEMI_SEMI_AND = 297,
+ LESS_LESS_MINUS = 298,
+ AND_GREATER = 299,
+ AND_GREATER_GREATER = 300,
+ LESS_GREATER = 301,
+ GREATER_BAR = 302,
+ BAR_AND = 303,
+ yacc_EOF = 304
+ };
+#endif
+/* Tokens. */
+#define IF 258
+#define THEN 259
+#define ELSE 260
+#define ELIF 261
+#define FI 262
+#define CASE 263
+#define ESAC 264
+#define FOR 265
+#define SELECT 266
+#define WHILE 267
+#define UNTIL 268
+#define DO 269
+#define DONE 270
+#define FUNCTION 271
+#define COPROC 272
+#define COND_START 273
+#define COND_END 274
+#define COND_ERROR 275
+#define IN 276
+#define BANG 277
+#define TIME 278
+#define TIMEOPT 279
+#define TIMEIGN 280
+#define WORD 281
+#define ASSIGNMENT_WORD 282
+#define REDIR_WORD 283
+#define NUMBER 284
+#define ARITH_CMD 285
+#define ARITH_FOR_EXPRS 286
+#define COND_CMD 287
+#define AND_AND 288
+#define OR_OR 289
+#define GREATER_GREATER 290
+#define LESS_LESS 291
+#define LESS_AND 292
+#define LESS_LESS_LESS 293
+#define GREATER_AND 294
+#define SEMI_SEMI 295
+#define SEMI_AND 296
+#define SEMI_SEMI_AND 297
+#define LESS_LESS_MINUS 298
+#define AND_GREATER 299
+#define AND_GREATER_GREATER 300
+#define LESS_GREATER 301
+#define GREATER_BAR 302
+#define BAR_AND 303
+#define yacc_EOF 304
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 323 "/Users/chet/src/bash/src/parse.y"
+{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
WORD_LIST *word_list;
REDIRECT *redirect;
ELEMENT element;
PATTERN_LIST *pattern;
-} YYSTYPE;
-#define IF 258
-#define THEN 259
-#define ELSE 260
-#define ELIF 261
-#define FI 262
-#define CASE 263
-#define ESAC 264
-#define FOR 265
-#define SELECT 266
-#define WHILE 267
-#define UNTIL 268
-#define DO 269
-#define DONE 270
-#define FUNCTION 271
-#define COND_START 272
-#define COND_END 273
-#define COND_ERROR 274
-#define IN 275
-#define BANG 276
-#define TIME 277
-#define TIMEOPT 278
-#define WORD 279
-#define ASSIGNMENT_WORD 280
-#define NUMBER 281
-#define ARITH_CMD 282
-#define ARITH_FOR_EXPRS 283
-#define COND_CMD 284
-#define AND_AND 285
-#define OR_OR 286
-#define GREATER_GREATER 287
-#define LESS_LESS 288
-#define LESS_AND 289
-#define GREATER_AND 290
-#define SEMI_SEMI 291
-#define LESS_LESS_MINUS 292
-#define AND_GREATER 293
-#define LESS_GREATER 294
-#define GREATER_BAR 295
-#define yacc_EOF 296
-
+}
+/* Line 1489 of yacc.c. */
+#line 157 "y.tab.h"
+ YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
extern YYSTYPE yylval;
+