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