1/* A Bison parser, made by GNU Bison 3.4.2. */ 2 3/* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, 6 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 3 of the License, or 11 (at your option) 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, see <http://www.gnu.org/licenses/>. */ 20 21/* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34/* Undocumented macros, especially those whose name start with YY_, 35 are private implementation details. Do not rely on them. */ 36 37#ifndef YY_YY_AWKGRAM_TAB_H_INCLUDED 38# define YY_YY_AWKGRAM_TAB_H_INCLUDED 39/* Debug traces. */ 40#ifndef YYDEBUG 41# define YYDEBUG 0 42#endif 43#if YYDEBUG 44extern int yydebug; 45#endif 46 47/* Token type. */ 48#ifndef YYTOKENTYPE 49# define YYTOKENTYPE 50 enum yytokentype 51 { 52 FIRSTTOKEN = 258, 53 PROGRAM = 259, 54 PASTAT = 260, 55 PASTAT2 = 261, 56 XBEGIN = 262, 57 XEND = 263, 58 NL = 264, 59 ARRAY = 265, 60 MATCH = 266, 61 NOTMATCH = 267, 62 MATCHOP = 268, 63 FINAL = 269, 64 DOT = 270, 65 ALL = 271, 66 CCL = 272, 67 NCCL = 273, 68 CHAR = 274, 69 OR = 275, 70 STAR = 276, 71 QUEST = 277, 72 PLUS = 278, 73 EMPTYRE = 279, 74 ZERO = 280, 75 AND = 281, 76 BOR = 282, 77 APPEND = 283, 78 EQ = 284, 79 GE = 285, 80 GT = 286, 81 LE = 287, 82 LT = 288, 83 NE = 289, 84 IN = 290, 85 ARG = 291, 86 BLTIN = 292, 87 BREAK = 293, 88 CLOSE = 294, 89 CONTINUE = 295, 90 DELETE = 296, 91 DO = 297, 92 EXIT = 298, 93 FOR = 299, 94 FUNC = 300, 95 GENSUB = 301, 96 SUB = 302, 97 GSUB = 303, 98 IF = 304, 99 INDEX = 305, 100 LSUBSTR = 306, 101 MATCHFCN = 307, 102 NEXT = 308, 103 NEXTFILE = 309, 104 ADD = 310, 105 MINUS = 311, 106 MULT = 312, 107 DIVIDE = 313, 108 MOD = 314, 109 ASSIGN = 315, 110 ASGNOP = 316, 111 ADDEQ = 317, 112 SUBEQ = 318, 113 MULTEQ = 319, 114 DIVEQ = 320, 115 MODEQ = 321, 116 POWEQ = 322, 117 PRINT = 323, 118 PRINTF = 324, 119 SPRINTF = 325, 120 ELSE = 326, 121 INTEST = 327, 122 CONDEXPR = 328, 123 POSTINCR = 329, 124 PREINCR = 330, 125 POSTDECR = 331, 126 PREDECR = 332, 127 VAR = 333, 128 IVAR = 334, 129 VARNF = 335, 130 CALL = 336, 131 NUMBER = 337, 132 STRING = 338, 133 REGEXPR = 339, 134 GETLINE = 340, 135 RETURN = 341, 136 SPLIT = 342, 137 SUBSTR = 343, 138 WHILE = 344, 139 CAT = 345, 140 NOT = 346, 141 UMINUS = 347, 142 UPLUS = 348, 143 POWER = 349, 144 DECR = 350, 145 INCR = 351, 146 INDIRECT = 352, 147 LASTTOKEN = 353 148 }; 149#endif 150 151/* Value type. */ 152#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 153union YYSTYPE 154{ 155#line 45 "awkgram.y" 156 157 Node *p; 158 Cell *cp; 159 int i; 160 char *s; 161 162#line 163 "awkgram.tab.h" 163 164}; 165typedef union YYSTYPE YYSTYPE; 166# define YYSTYPE_IS_TRIVIAL 1 167# define YYSTYPE_IS_DECLARED 1 168#endif 169 170 171extern YYSTYPE yylval; 172 173int yyparse (void); 174 175#endif /* !YY_YY_AWKGRAM_TAB_H_INCLUDED */ 176