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