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