]>
Commit | Line | Data |
---|---|---|
74091dd4 | 1 | /* A Bison parser, made by GNU Bison 3.8.2. */ |
3185942a | 2 | |
a0c0a00f | 3 | /* Bison interface for Yacc-like parsers in C |
3185942a | 4 | |
74091dd4 | 5 | Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, |
8868edaf | 6 | Inc. |
3185942a | 7 | |
a0c0a00f | 8 | This program is free software: you can redistribute it and/or modify |
3185942a | 9 | it under the terms of the GNU General Public License as published by |
a0c0a00f CR |
10 | the Free Software Foundation, either version 3 of the License, or |
11 | (at your option) any later version. | |
3185942a JA |
12 | |
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 | |
74091dd4 | 19 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
3185942a JA |
20 | |
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 | ||
8868edaf CR |
34 | /* 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 | ||
a0c0a00f CR |
38 | #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 | |
45 | extern int yydebug; | |
46 | #endif | |
47 | ||
8868edaf | 48 | /* Token kinds. */ |
3185942a JA |
49 | #ifndef YYTOKENTYPE |
50 | # define YYTOKENTYPE | |
a0c0a00f CR |
51 | enum yytokentype |
52 | { | |
8868edaf CR |
53 | 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 */ | |
74091dd4 CR |
103 | DOLPAREN = 304, /* DOLPAREN */ |
104 | yacc_EOF = 305 /* yacc_EOF */ | |
a0c0a00f | 105 | }; |
8868edaf | 106 | typedef enum yytokentype yytoken_kind_t; |
3185942a | 107 | #endif |
8868edaf | 108 | /* Token kinds. */ |
74091dd4 | 109 | #define YYEMPTY -2 |
8868edaf CR |
110 | #define YYEOF 0 |
111 | #define YYerror 256 | |
112 | #define YYUNDEF 257 | |
3185942a JA |
113 | #define IF 258 |
114 | #define THEN 259 | |
115 | #define ELSE 260 | |
116 | #define ELIF 261 | |
117 | #define FI 262 | |
118 | #define CASE 263 | |
119 | #define ESAC 264 | |
120 | #define FOR 265 | |
121 | #define SELECT 266 | |
122 | #define WHILE 267 | |
123 | #define UNTIL 268 | |
124 | #define DO 269 | |
125 | #define DONE 270 | |
126 | #define FUNCTION 271 | |
127 | #define COPROC 272 | |
128 | #define COND_START 273 | |
129 | #define COND_END 274 | |
130 | #define COND_ERROR 275 | |
131 | #define IN 276 | |
132 | #define BANG 277 | |
133 | #define TIME 278 | |
134 | #define TIMEOPT 279 | |
495aee44 CR |
135 | #define TIMEIGN 280 |
136 | #define WORD 281 | |
137 | #define ASSIGNMENT_WORD 282 | |
138 | #define REDIR_WORD 283 | |
139 | #define NUMBER 284 | |
140 | #define ARITH_CMD 285 | |
141 | #define ARITH_FOR_EXPRS 286 | |
142 | #define COND_CMD 287 | |
143 | #define AND_AND 288 | |
144 | #define OR_OR 289 | |
145 | #define GREATER_GREATER 290 | |
146 | #define LESS_LESS 291 | |
147 | #define LESS_AND 292 | |
148 | #define LESS_LESS_LESS 293 | |
149 | #define GREATER_AND 294 | |
150 | #define SEMI_SEMI 295 | |
151 | #define SEMI_AND 296 | |
152 | #define SEMI_SEMI_AND 297 | |
153 | #define LESS_LESS_MINUS 298 | |
154 | #define AND_GREATER 299 | |
155 | #define AND_GREATER_GREATER 300 | |
156 | #define LESS_GREATER 301 | |
157 | #define GREATER_BAR 302 | |
158 | #define BAR_AND 303 | |
74091dd4 CR |
159 | #define DOLPAREN 304 |
160 | #define yacc_EOF 305 | |
3185942a | 161 | |
a0c0a00f | 162 | /* Value type. */ |
3185942a | 163 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
a0c0a00f | 164 | union YYSTYPE |
3185942a | 165 | { |
74091dd4 | 166 | #line 338 "/usr/local/src/chet/src/bash/src/parse.y" |
a0c0a00f | 167 | |
726f6388 JA |
168 | WORD_DESC *word; /* the word that we read. */ |
169 | int number; /* the number that we read. */ | |
170 | WORD_LIST *word_list; | |
171 | COMMAND *command; | |
172 | REDIRECT *redirect; | |
173 | ELEMENT element; | |
174 | PATTERN_LIST *pattern; | |
a0c0a00f | 175 | |
74091dd4 | 176 | #line 177 "y.tab.h" |
a0c0a00f | 177 | |
8868edaf | 178 | }; |
a0c0a00f | 179 | typedef union YYSTYPE YYSTYPE; |
3185942a | 180 | # define YYSTYPE_IS_TRIVIAL 1 |
a0c0a00f | 181 | # define YYSTYPE_IS_DECLARED 1 |
3185942a | 182 | #endif |
f73dda09 | 183 | |
a0c0a00f | 184 | |
726f6388 | 185 | extern YYSTYPE yylval; |
3185942a | 186 | |
74091dd4 | 187 | |
a0c0a00f CR |
188 | int yyparse (void); |
189 | ||
74091dd4 | 190 | |
a0c0a00f | 191 | #endif /* !YY_YY_Y_TAB_H_INCLUDED */ |