• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* A Bison parser, made by GNU Bison 3.4.1.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
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
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
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 
34 /* Undocumented macros, especially those whose name start with YY_,
35    are private implementation details.  Do not rely on them.  */
36 
37 #ifndef YY_YY_Y_TAB_H_INCLUDED
38 # define YY_YY_Y_TAB_H_INCLUDED
39 /* Debug traces.  */
40 #ifndef YYDEBUG
41 # define YYDEBUG 0
42 #endif
43 #if YYDEBUG
44 extern int yydebug;
45 #endif
46 
47 /* Token type.  */
48 #ifndef YYTOKENTYPE
49 # define YYTOKENTYPE
50   enum yytokentype
51   {
52     FIRSTTOKEN = 258,
53     PROGRAM = 259,
54     PASTAT = 260,
55     PASTAT2 = 261,
56     XBEGIN = 262,
57     XEND = 263,
58     NL = 264,
59     ARRAY = 265,
60     MATCH = 266,
61     NOTMATCH = 267,
62     MATCHOP = 268,
63     FINAL = 269,
64     DOT = 270,
65     ALL = 271,
66     CCL = 272,
67     NCCL = 273,
68     CHAR = 274,
69     OR = 275,
70     STAR = 276,
71     QUEST = 277,
72     PLUS = 278,
73     EMPTYRE = 279,
74     ZERO = 280,
75     AND = 281,
76     BOR = 282,
77     APPEND = 283,
78     EQ = 284,
79     GE = 285,
80     GT = 286,
81     LE = 287,
82     LT = 288,
83     NE = 289,
84     IN = 290,
85     ARG = 291,
86     BLTIN = 292,
87     BREAK = 293,
88     CLOSE = 294,
89     CONTINUE = 295,
90     DELETE = 296,
91     DO = 297,
92     EXIT = 298,
93     FOR = 299,
94     FUNC = 300,
95     SUB = 301,
96     GSUB = 302,
97     IF = 303,
98     INDEX = 304,
99     LSUBSTR = 305,
100     MATCHFCN = 306,
101     NEXT = 307,
102     NEXTFILE = 308,
103     ADD = 309,
104     MINUS = 310,
105     MULT = 311,
106     DIVIDE = 312,
107     MOD = 313,
108     ASSIGN = 314,
109     ASGNOP = 315,
110     ADDEQ = 316,
111     SUBEQ = 317,
112     MULTEQ = 318,
113     DIVEQ = 319,
114     MODEQ = 320,
115     POWEQ = 321,
116     PRINT = 322,
117     PRINTF = 323,
118     SPRINTF = 324,
119     ELSE = 325,
120     INTEST = 326,
121     CONDEXPR = 327,
122     POSTINCR = 328,
123     PREINCR = 329,
124     POSTDECR = 330,
125     PREDECR = 331,
126     VAR = 332,
127     IVAR = 333,
128     VARNF = 334,
129     CALL = 335,
130     NUMBER = 336,
131     STRING = 337,
132     REGEXPR = 338,
133     GETLINE = 339,
134     RETURN = 340,
135     SPLIT = 341,
136     SUBSTR = 342,
137     WHILE = 343,
138     CAT = 344,
139     NOT = 345,
140     UMINUS = 346,
141     UPLUS = 347,
142     POWER = 348,
143     DECR = 349,
144     INCR = 350,
145     INDIRECT = 351,
146     LASTTOKEN = 352
147   };
148 #endif
149 /* Tokens.  */
150 #define FIRSTTOKEN 258
151 #define PROGRAM 259
152 #define PASTAT 260
153 #define PASTAT2 261
154 #define XBEGIN 262
155 #define XEND 263
156 #define NL 264
157 #define ARRAY 265
158 #define MATCH 266
159 #define NOTMATCH 267
160 #define MATCHOP 268
161 #define FINAL 269
162 #define DOT 270
163 #define ALL 271
164 #define CCL 272
165 #define NCCL 273
166 #define CHAR 274
167 #define OR 275
168 #define STAR 276
169 #define QUEST 277
170 #define PLUS 278
171 #define EMPTYRE 279
172 #define ZERO 280
173 #define AND 281
174 #define BOR 282
175 #define APPEND 283
176 #define EQ 284
177 #define GE 285
178 #define GT 286
179 #define LE 287
180 #define LT 288
181 #define NE 289
182 #define IN 290
183 #define ARG 291
184 #define BLTIN 292
185 #define BREAK 293
186 #define CLOSE 294
187 #define CONTINUE 295
188 #define DELETE 296
189 #define DO 297
190 #define EXIT 298
191 #define FOR 299
192 #define FUNC 300
193 #define SUB 301
194 #define GSUB 302
195 #define IF 303
196 #define INDEX 304
197 #define LSUBSTR 305
198 #define MATCHFCN 306
199 #define NEXT 307
200 #define NEXTFILE 308
201 #define ADD 309
202 #define MINUS 310
203 #define MULT 311
204 #define DIVIDE 312
205 #define MOD 313
206 #define ASSIGN 314
207 #define ASGNOP 315
208 #define ADDEQ 316
209 #define SUBEQ 317
210 #define MULTEQ 318
211 #define DIVEQ 319
212 #define MODEQ 320
213 #define POWEQ 321
214 #define PRINT 322
215 #define PRINTF 323
216 #define SPRINTF 324
217 #define ELSE 325
218 #define INTEST 326
219 #define CONDEXPR 327
220 #define POSTINCR 328
221 #define PREINCR 329
222 #define POSTDECR 330
223 #define PREDECR 331
224 #define VAR 332
225 #define IVAR 333
226 #define VARNF 334
227 #define CALL 335
228 #define NUMBER 336
229 #define STRING 337
230 #define REGEXPR 338
231 #define GETLINE 339
232 #define RETURN 340
233 #define SPLIT 341
234 #define SUBSTR 342
235 #define WHILE 343
236 #define CAT 344
237 #define NOT 345
238 #define UMINUS 346
239 #define UPLUS 347
240 #define POWER 348
241 #define DECR 349
242 #define INCR 350
243 #define INDIRECT 351
244 #define LASTTOKEN 352
245 
246 /* Value type.  */
247 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
248 union YYSTYPE
249 {
250 #line 41 "awkgram.y"
251 
252 	Node	*p;
253 	Cell	*cp;
254 	int	i;
255 	char	*s;
256 
257 #line 258 "y.tab.h"
258 
259 };
260 typedef union YYSTYPE YYSTYPE;
261 # define YYSTYPE_IS_TRIVIAL 1
262 # define YYSTYPE_IS_DECLARED 1
263 #endif
264 
265 
266 extern YYSTYPE yylval;
267 
268 int yyparse (void);
269 
270 #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
271