blob: c6e296f6e04875524b7ceb6515ce5f5bd224d906 [file] [log] [blame]
Haibo Huang69b38a72020-02-07 20:33:46 -08001/* A Bison parser, made by GNU Bison 3.4.1. */
Elliott Hughes52487fa2019-03-15 03:28:55 +00002
3/* Bison interface for Yacc-like parsers in C
4
Haibo Huang69b38a72020-02-07 20:33:46 -08005 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6 Inc.
Elliott Hughes52487fa2019-03-15 03:28:55 +00007
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
Haibo Huang0687bec2019-09-06 17:32:25 -070034/* Undocumented macros, especially those whose name start with YY_,
35 are private implementation details. Do not rely on them. */
36
Haibo Huang69b38a72020-02-07 20:33:46 -080037#ifndef YY_YY_Y_TAB_H_INCLUDED
38# define YY_YY_Y_TAB_H_INCLUDED
Elliott Hughes52487fa2019-03-15 03:28:55 +000039/* Debug traces. */
40#ifndef YYDEBUG
41# define YYDEBUG 0
42#endif
43#if YYDEBUG
44extern 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,
Haibo Huang69b38a72020-02-07 20:33:46 -080074 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
Elliott Hughes52487fa2019-03-15 03:28:55 +0000147 };
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
Haibo Huang69b38a72020-02-07 20:33:46 -0800172#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
Elliott Hughes52487fa2019-03-15 03:28:55 +0000245
246/* Value type. */
247#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
Elliott Hughes52487fa2019-03-15 03:28:55 +0000248union YYSTYPE
249{
Haibo Huang69b38a72020-02-07 20:33:46 -0800250#line 41 "awkgram.y"
Elliott Hughes52487fa2019-03-15 03:28:55 +0000251
252 Node *p;
253 Cell *cp;
254 int i;
255 char *s;
256
Haibo Huang69b38a72020-02-07 20:33:46 -0800257#line 258 "y.tab.h"
Elliott Hughes52487fa2019-03-15 03:28:55 +0000258
Haibo Huang69b38a72020-02-07 20:33:46 -0800259};
Elliott Hughes52487fa2019-03-15 03:28:55 +0000260typedef union YYSTYPE YYSTYPE;
261# define YYSTYPE_IS_TRIVIAL 1
262# define YYSTYPE_IS_DECLARED 1
263#endif
264
265
266extern YYSTYPE yylval;
267
268int yyparse (void);
269
Haibo Huang69b38a72020-02-07 20:33:46 -0800270#endif /* !YY_YY_Y_TAB_H_INCLUDED */