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