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