244 lines
4.9 KiB
C
244 lines
4.9 KiB
C
|
/* A Bison parser, made by GNU Bison 2.1. */
|
||
|
|
||
|
/* Skeleton parser for Yacc-like parsing with Bison,
|
||
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||
|
|
||
|
This program is free software; you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation; either version 2, or (at your option)
|
||
|
any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||
|
Boston, MA 02110-1301, USA. */
|
||
|
|
||
|
/* As a special exception, when this file is copied by Bison into a
|
||
|
Bison output file, you may use that output file without restriction.
|
||
|
This special exception was added by the Free Software Foundation
|
||
|
in version 1.24 of Bison. */
|
||
|
|
||
|
/* Tokens. */
|
||
|
#ifndef YYTOKENTYPE
|
||
|
# define YYTOKENTYPE
|
||
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||
|
know about them. */
|
||
|
enum yytokentype {
|
||
|
FIRSTTOKEN = 258,
|
||
|
PROGRAM = 259,
|
||
|
PASTAT = 260,
|
||
|
PASTAT2 = 261,
|
||
|
XBEGIN = 262,
|
||
|
XEND = 263,
|
||
|
NL = 264,
|
||
|
ARRAY = 265,
|
||
|
MATCH = 266,
|
||
|
NOTMATCH = 267,
|
||
|
MATCHOP = 268,
|
||
|
FINAL = 269,
|
||
|
DOT = 270,
|
||
|
ALL = 271,
|
||
|
CCL = 272,
|
||
|
NCCL = 273,
|
||
|
CHAR = 274,
|
||
|
OR = 275,
|
||
|
STAR = 276,
|
||
|
QUEST = 277,
|
||
|
PLUS = 278,
|
||
|
EMPTYRE = 279,
|
||
|
AND = 280,
|
||
|
BOR = 281,
|
||
|
APPEND = 282,
|
||
|
EQ = 283,
|
||
|
GE = 284,
|
||
|
GT = 285,
|
||
|
LE = 286,
|
||
|
LT = 287,
|
||
|
NE = 288,
|
||
|
IN = 289,
|
||
|
ARG = 290,
|
||
|
BLTIN = 291,
|
||
|
BREAK = 292,
|
||
|
CLOSE = 293,
|
||
|
CONTINUE = 294,
|
||
|
DELETE = 295,
|
||
|
DO = 296,
|
||
|
EXIT = 297,
|
||
|
FOR = 298,
|
||
|
FUNC = 299,
|
||
|
SUB = 300,
|
||
|
GSUB = 301,
|
||
|
IF = 302,
|
||
|
INDEX = 303,
|
||
|
LSUBSTR = 304,
|
||
|
MATCHFCN = 305,
|
||
|
NEXT = 306,
|
||
|
NEXTFILE = 307,
|
||
|
ADD = 308,
|
||
|
MINUS = 309,
|
||
|
MULT = 310,
|
||
|
DIVIDE = 311,
|
||
|
MOD = 312,
|
||
|
ASSIGN = 313,
|
||
|
ASGNOP = 314,
|
||
|
ADDEQ = 315,
|
||
|
SUBEQ = 316,
|
||
|
MULTEQ = 317,
|
||
|
DIVEQ = 318,
|
||
|
MODEQ = 319,
|
||
|
POWEQ = 320,
|
||
|
PRINT = 321,
|
||
|
PRINTF = 322,
|
||
|
SPRINTF = 323,
|
||
|
ELSE = 324,
|
||
|
INTEST = 325,
|
||
|
CONDEXPR = 326,
|
||
|
POSTINCR = 327,
|
||
|
PREINCR = 328,
|
||
|
POSTDECR = 329,
|
||
|
PREDECR = 330,
|
||
|
VAR = 331,
|
||
|
IVAR = 332,
|
||
|
VARNF = 333,
|
||
|
CALL = 334,
|
||
|
NUMBER = 335,
|
||
|
STRING = 336,
|
||
|
REGEXPR = 337,
|
||
|
GETLINE = 338,
|
||
|
SUBSTR = 339,
|
||
|
SPLIT = 340,
|
||
|
RETURN = 341,
|
||
|
WHILE = 342,
|
||
|
CAT = 343,
|
||
|
UMINUS = 344,
|
||
|
NOT = 345,
|
||
|
POWER = 346,
|
||
|
INCR = 347,
|
||
|
DECR = 348,
|
||
|
INDIRECT = 349,
|
||
|
LASTTOKEN = 350
|
||
|
};
|
||
|
#endif
|
||
|
/* Tokens. */
|
||
|
#define FIRSTTOKEN 258
|
||
|
#define PROGRAM 259
|
||
|
#define PASTAT 260
|
||
|
#define PASTAT2 261
|
||
|
#define XBEGIN 262
|
||
|
#define XEND 263
|
||
|
#define NL 264
|
||
|
#define ARRAY 265
|
||
|
#define MATCH 266
|
||
|
#define NOTMATCH 267
|
||
|
#define MATCHOP 268
|
||
|
#define FINAL 269
|
||
|
#define DOT 270
|
||
|
#define ALL 271
|
||
|
#define CCL 272
|
||
|
#define NCCL 273
|
||
|
#define CHAR 274
|
||
|
#define OR 275
|
||
|
#define STAR 276
|
||
|
#define QUEST 277
|
||
|
#define PLUS 278
|
||
|
#define EMPTYRE 279
|
||
|
#define AND 280
|
||
|
#define BOR 281
|
||
|
#define APPEND 282
|
||
|
#define EQ 283
|
||
|
#define GE 284
|
||
|
#define GT 285
|
||
|
#define LE 286
|
||
|
#define LT 287
|
||
|
#define NE 288
|
||
|
#define IN 289
|
||
|
#define ARG 290
|
||
|
#define BLTIN 291
|
||
|
#define BREAK 292
|
||
|
#define CLOSE 293
|
||
|
#define CONTINUE 294
|
||
|
#define DELETE 295
|
||
|
#define DO 296
|
||
|
#define EXIT 297
|
||
|
#define FOR 298
|
||
|
#define FUNC 299
|
||
|
#define SUB 300
|
||
|
#define GSUB 301
|
||
|
#define IF 302
|
||
|
#define INDEX 303
|
||
|
#define LSUBSTR 304
|
||
|
#define MATCHFCN 305
|
||
|
#define NEXT 306
|
||
|
#define NEXTFILE 307
|
||
|
#define ADD 308
|
||
|
#define MINUS 309
|
||
|
#define MULT 310
|
||
|
#define DIVIDE 311
|
||
|
#define MOD 312
|
||
|
#define ASSIGN 313
|
||
|
#define ASGNOP 314
|
||
|
#define ADDEQ 315
|
||
|
#define SUBEQ 316
|
||
|
#define MULTEQ 317
|
||
|
#define DIVEQ 318
|
||
|
#define MODEQ 319
|
||
|
#define POWEQ 320
|
||
|
#define PRINT 321
|
||
|
#define PRINTF 322
|
||
|
#define SPRINTF 323
|
||
|
#define ELSE 324
|
||
|
#define INTEST 325
|
||
|
#define CONDEXPR 326
|
||
|
#define POSTINCR 327
|
||
|
#define PREINCR 328
|
||
|
#define POSTDECR 329
|
||
|
#define PREDECR 330
|
||
|
#define VAR 331
|
||
|
#define IVAR 332
|
||
|
#define VARNF 333
|
||
|
#define CALL 334
|
||
|
#define NUMBER 335
|
||
|
#define STRING 336
|
||
|
#define REGEXPR 337
|
||
|
#define GETLINE 338
|
||
|
#define SUBSTR 339
|
||
|
#define SPLIT 340
|
||
|
#define RETURN 341
|
||
|
#define WHILE 342
|
||
|
#define CAT 343
|
||
|
#define UMINUS 344
|
||
|
#define NOT 345
|
||
|
#define POWER 346
|
||
|
#define INCR 347
|
||
|
#define DECR 348
|
||
|
#define INDIRECT 349
|
||
|
#define LASTTOKEN 350
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||
|
#line 41 "awkgram.y"
|
||
|
typedef union YYSTYPE {
|
||
|
Node *p;
|
||
|
Cell *cp;
|
||
|
int i;
|
||
|
char *s;
|
||
|
} YYSTYPE;
|
||
|
/* Line 1403 of yacc.c. */
|
||
|
#line 235 "y.tab.h"
|
||
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||
|
# define YYSTYPE_IS_DECLARED 1
|
||
|
# define YYSTYPE_IS_TRIVIAL 1
|
||
|
#endif
|
||
|
|
||
|
extern YYSTYPE yylval;
|
||
|
|
||
|
|
||
|
|