blob: 41bdea08ec7af4e45a161da01014dcd872e92a64 [file] [log] [blame]
Chet Ramey8868eda2020-12-06 15:51:17 -05001/* A Bison parser, made by GNU Bison 3.6.4. */
Jari Aalto31859422009-01-12 13:36:28 +00002
Chet Rameya0c0a002016-09-15 16:59:08 -04003/* Bison interface for Yacc-like parsers in C
Jari Aalto31859422009-01-12 13:36:28 +00004
Chet Ramey8868eda2020-12-06 15:51:17 -05005 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6 Inc.
Jari Aalto31859422009-01-12 13:36:28 +00007
Chet Rameya0c0a002016-09-15 16:59:08 -04008 This program is free software: you can redistribute it and/or modify
Jari Aalto31859422009-01-12 13:36:28 +00009 it under the terms of the GNU General Public License as published by
Chet Rameya0c0a002016-09-15 16:59:08 -040010 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
Jari Aalto31859422009-01-12 13:36:28 +000012
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
Chet Rameya0c0a002016-09-15 16:59:08 -040019 along with this program. If not, see <http://www.gnu.org/licenses/>. */
Jari Aalto31859422009-01-12 13:36:28 +000020
21/* As a special exception, you may create a larger work that contains
22 part or all of the Bison parser skeleton and distribute that work
23 under terms of your choice, so long as that work isn't itself a
24 parser generator using the skeleton or a modified version thereof
25 as a parser skeleton. Alternatively, if you modify or redistribute
26 the parser skeleton itself, you may (at your option) remove this
27 special exception, which will cause the skeleton and the resulting
28 Bison output files to be licensed under the GNU General Public
29 License without this special exception.
30
31 This special exception was added by the Free Software Foundation in
32 version 2.2 of Bison. */
33
Chet Ramey8868eda2020-12-06 15:51:17 -050034/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35 especially those whose name start with YY_ or yy_. They are
36 private implementation details that can be changed or removed. */
37
Chet Rameya0c0a002016-09-15 16:59:08 -040038#ifndef YY_YY_Y_TAB_H_INCLUDED
39# define YY_YY_Y_TAB_H_INCLUDED
40/* Debug traces. */
41#ifndef YYDEBUG
42# define YYDEBUG 0
43#endif
44#if YYDEBUG
45extern int yydebug;
46#endif
47
Chet Ramey8868eda2020-12-06 15:51:17 -050048/* Token kinds. */
Jari Aalto31859422009-01-12 13:36:28 +000049#ifndef YYTOKENTYPE
50# define YYTOKENTYPE
Chet Rameya0c0a002016-09-15 16:59:08 -040051 enum yytokentype
52 {
Chet Ramey8868eda2020-12-06 15:51:17 -050053 YYEMPTY = -2,
54 YYEOF = 0, /* "end of file" */
55 YYerror = 256, /* error */
56 YYUNDEF = 257, /* "invalid token" */
57 IF = 258, /* IF */
58 THEN = 259, /* THEN */
59 ELSE = 260, /* ELSE */
60 ELIF = 261, /* ELIF */
61 FI = 262, /* FI */
62 CASE = 263, /* CASE */
63 ESAC = 264, /* ESAC */
64 FOR = 265, /* FOR */
65 SELECT = 266, /* SELECT */
66 WHILE = 267, /* WHILE */
67 UNTIL = 268, /* UNTIL */
68 DO = 269, /* DO */
69 DONE = 270, /* DONE */
70 FUNCTION = 271, /* FUNCTION */
71 COPROC = 272, /* COPROC */
72 COND_START = 273, /* COND_START */
73 COND_END = 274, /* COND_END */
74 COND_ERROR = 275, /* COND_ERROR */
75 IN = 276, /* IN */
76 BANG = 277, /* BANG */
77 TIME = 278, /* TIME */
78 TIMEOPT = 279, /* TIMEOPT */
79 TIMEIGN = 280, /* TIMEIGN */
80 WORD = 281, /* WORD */
81 ASSIGNMENT_WORD = 282, /* ASSIGNMENT_WORD */
82 REDIR_WORD = 283, /* REDIR_WORD */
83 NUMBER = 284, /* NUMBER */
84 ARITH_CMD = 285, /* ARITH_CMD */
85 ARITH_FOR_EXPRS = 286, /* ARITH_FOR_EXPRS */
86 COND_CMD = 287, /* COND_CMD */
87 AND_AND = 288, /* AND_AND */
88 OR_OR = 289, /* OR_OR */
89 GREATER_GREATER = 290, /* GREATER_GREATER */
90 LESS_LESS = 291, /* LESS_LESS */
91 LESS_AND = 292, /* LESS_AND */
92 LESS_LESS_LESS = 293, /* LESS_LESS_LESS */
93 GREATER_AND = 294, /* GREATER_AND */
94 SEMI_SEMI = 295, /* SEMI_SEMI */
95 SEMI_AND = 296, /* SEMI_AND */
96 SEMI_SEMI_AND = 297, /* SEMI_SEMI_AND */
97 LESS_LESS_MINUS = 298, /* LESS_LESS_MINUS */
98 AND_GREATER = 299, /* AND_GREATER */
99 AND_GREATER_GREATER = 300, /* AND_GREATER_GREATER */
100 LESS_GREATER = 301, /* LESS_GREATER */
101 GREATER_BAR = 302, /* GREATER_BAR */
102 BAR_AND = 303, /* BAR_AND */
103 yacc_EOF = 304 /* yacc_EOF */
Chet Rameya0c0a002016-09-15 16:59:08 -0400104 };
Chet Ramey8868eda2020-12-06 15:51:17 -0500105 typedef enum yytokentype yytoken_kind_t;
Jari Aalto31859422009-01-12 13:36:28 +0000106#endif
Chet Ramey8868eda2020-12-06 15:51:17 -0500107/* Token kinds. */
108#define YYEOF 0
109#define YYerror 256
110#define YYUNDEF 257
Jari Aalto31859422009-01-12 13:36:28 +0000111#define IF 258
112#define THEN 259
113#define ELSE 260
114#define ELIF 261
115#define FI 262
116#define CASE 263
117#define ESAC 264
118#define FOR 265
119#define SELECT 266
120#define WHILE 267
121#define UNTIL 268
122#define DO 269
123#define DONE 270
124#define FUNCTION 271
125#define COPROC 272
126#define COND_START 273
127#define COND_END 274
128#define COND_ERROR 275
129#define IN 276
130#define BANG 277
131#define TIME 278
132#define TIMEOPT 279
Chet Ramey495aee42011-11-22 19:11:26 -0500133#define TIMEIGN 280
134#define WORD 281
135#define ASSIGNMENT_WORD 282
136#define REDIR_WORD 283
137#define NUMBER 284
138#define ARITH_CMD 285
139#define ARITH_FOR_EXPRS 286
140#define COND_CMD 287
141#define AND_AND 288
142#define OR_OR 289
143#define GREATER_GREATER 290
144#define LESS_LESS 291
145#define LESS_AND 292
146#define LESS_LESS_LESS 293
147#define GREATER_AND 294
148#define SEMI_SEMI 295
149#define SEMI_AND 296
150#define SEMI_SEMI_AND 297
151#define LESS_LESS_MINUS 298
152#define AND_GREATER 299
153#define AND_GREATER_GREATER 300
154#define LESS_GREATER 301
155#define GREATER_BAR 302
156#define BAR_AND 303
157#define yacc_EOF 304
Jari Aalto31859422009-01-12 13:36:28 +0000158
Chet Rameya0c0a002016-09-15 16:59:08 -0400159/* Value type. */
Jari Aalto31859422009-01-12 13:36:28 +0000160#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
Chet Rameya0c0a002016-09-15 16:59:08 -0400161union YYSTYPE
Jari Aalto31859422009-01-12 13:36:28 +0000162{
Chet Ramey8868eda2020-12-06 15:51:17 -0500163#line 328 "/Users/chet/src/bash/src/parse.y"
Chet Rameya0c0a002016-09-15 16:59:08 -0400164
Jari Aalto31859422009-01-12 13:36:28 +0000165 WORD_DESC *word; /* the word that we read. */
166 int number; /* the number that we read. */
167 WORD_LIST *word_list;
168 COMMAND *command;
169 REDIRECT *redirect;
170 ELEMENT element;
171 PATTERN_LIST *pattern;
Chet Rameya0c0a002016-09-15 16:59:08 -0400172
Chet Ramey8868eda2020-12-06 15:51:17 -0500173#line 174 "y.tab.h"
Chet Rameya0c0a002016-09-15 16:59:08 -0400174
Chet Ramey8868eda2020-12-06 15:51:17 -0500175};
Chet Rameya0c0a002016-09-15 16:59:08 -0400176typedef union YYSTYPE YYSTYPE;
Jari Aalto31859422009-01-12 13:36:28 +0000177# define YYSTYPE_IS_TRIVIAL 1
Chet Rameya0c0a002016-09-15 16:59:08 -0400178# define YYSTYPE_IS_DECLARED 1
Jari Aalto31859422009-01-12 13:36:28 +0000179#endif
180
Chet Rameya0c0a002016-09-15 16:59:08 -0400181
Jari Aalto31859422009-01-12 13:36:28 +0000182extern YYSTYPE yylval;
183
Chet Rameya0c0a002016-09-15 16:59:08 -0400184int yyparse (void);
185
186#endif /* !YY_YY_Y_TAB_H_INCLUDED */