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