1 /* A Bison parser, made by GNU Bison 3.3.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_SRC_PARSER_H_INCLUDED 38 # define YY_YY_SRC_PARSER_H_INCLUDED 39 /* Debug traces. */ 40 #ifndef YYDEBUG 41 # define YYDEBUG 0 42 #endif 43 #if YYDEBUG 44 extern int yydebug; 45 #endif 46 47 /* Token type. */ 48 #ifndef YYTOKENTYPE 49 # define YYTOKENTYPE 50 enum yytokentype 51 { 52 UNKNOWN = 258, 53 GETS = 259, 54 RESIZE = 260, 55 NEXT = 261, 56 GO_AHEAD = 262, 57 GO_BACK = 263, 58 FORGET = 264, 59 RESUME = 265, 60 STASH = 266, 61 RETRIEVE = 267, 62 IGNORE = 268, 63 REMEMBER = 269, 64 ABSTAIN = 270, 65 REINSTATE = 271, 66 DISABLE = 272, 67 ENABLE = 273, 68 MANYFROM = 274, 69 GIVE_UP = 275, 70 READ_OUT = 276, 71 WRITE_IN = 277, 72 PIN = 278, 73 COME_FROM = 279, 74 NEXTFROMLABEL = 280, 75 NEXTFROMEXPR = 281, 76 NEXTFROMGERUND = 282, 77 COMPUCOME = 283, 78 GERUCOME = 284, 79 PREPROC = 285, 80 WHILE = 286, 81 TRY_AGAIN = 287, 82 CREATE = 288, 83 COMPUCREATE = 289, 84 FROM = 290, 85 MAYBE = 291, 86 DO = 292, 87 PLEASE = 293, 88 NOT = 294, 89 ONCE = 295, 90 AGAIN = 296, 91 MESH = 297, 92 NOSPOT = 298, 93 ick_ONESPOT = 299, 94 ick_TWOSPOT = 300, 95 ick_TAIL = 301, 96 ick_HYBRID = 302, 97 MINGLE = 303, 98 SELECT = 304, 99 UNKNOWNOP = 305, 100 SUB = 306, 101 BY = 307, 102 SLAT = 308, 103 BACKSLAT = 309, 104 NUMBER = 310, 105 UNARY = 311, 106 OHOHSEVEN = 312, 107 GERUND = 313, 108 LABEL = 314, 109 BADCHAR = 315, 110 INTERSECTION = 316, 111 SPLATTERED = 317, 112 MESH32 = 318, 113 C_AND = 319, 114 C_OR = 320, 115 C_XOR = 321, 116 C_NOT = 322, 117 C_LOGICALNOT = 323, 118 C_LSHIFTBY = 324, 119 C_RSHIFTBY = 325, 120 C_NOTEQUAL = 326, 121 C_A = 327, 122 C_PLUS = 328, 123 C_MINUS = 329, 124 C_TIMES = 330, 125 C_DIVIDEBY = 331, 126 C_MODULUS = 332, 127 C_GREATER = 333, 128 C_LESS = 334, 129 C_ISEQUAL = 335, 130 C_LOGICALAND = 336, 131 C_LOGICALOR = 337, 132 AND = 338, 133 OR = 339, 134 XOR = 340, 135 FIN = 341, 136 WHIRL = 342, 137 WHIRL2 = 343, 138 WHIRL3 = 344, 139 WHIRL4 = 345, 140 WHIRL5 = 346, 141 REV_AND = 347, 142 REV_OR = 348, 143 REV_XOR = 349, 144 REV_FIN = 350, 145 REV_WHIRL = 351, 146 REV_WHIRL2 = 352, 147 REV_WHIRL3 = 353, 148 REV_WHIRL4 = 354, 149 REV_WHIRL5 = 355, 150 UNKNOWNID = 356, 151 US_ID = 357, 152 US_SCALAR = 358, 153 US_ARRVAR = 359, 154 US_ELEM = 360, 155 US_EXPR = 361, 156 OPENEARS = 362, 157 OPENSPARK = 363, 158 CLOSEEARS = 364, 159 CLOSESPARK = 365, 160 HIGHPREC = 366, 161 UNARYPREC = 367, 162 LOWPREC = 368 163 }; 164 #endif 165 /* Tokens. */ 166 #define UNKNOWN 258 167 #define GETS 259 168 #define RESIZE 260 169 #define NEXT 261 170 #define GO_AHEAD 262 171 #define GO_BACK 263 172 #define FORGET 264 173 #define RESUME 265 174 #define STASH 266 175 #define RETRIEVE 267 176 #define IGNORE 268 177 #define REMEMBER 269 178 #define ABSTAIN 270 179 #define REINSTATE 271 180 #define DISABLE 272 181 #define ENABLE 273 182 #define MANYFROM 274 183 #define GIVE_UP 275 184 #define READ_OUT 276 185 #define WRITE_IN 277 186 #define PIN 278 187 #define COME_FROM 279 188 #define NEXTFROMLABEL 280 189 #define NEXTFROMEXPR 281 190 #define NEXTFROMGERUND 282 191 #define COMPUCOME 283 192 #define GERUCOME 284 193 #define PREPROC 285 194 #define WHILE 286 195 #define TRY_AGAIN 287 196 #define CREATE 288 197 #define COMPUCREATE 289 198 #define FROM 290 199 #define MAYBE 291 200 #define DO 292 201 #define PLEASE 293 202 #define NOT 294 203 #define ONCE 295 204 #define AGAIN 296 205 #define MESH 297 206 #define NOSPOT 298 207 #define ick_ONESPOT 299 208 #define ick_TWOSPOT 300 209 #define ick_TAIL 301 210 #define ick_HYBRID 302 211 #define MINGLE 303 212 #define SELECT 304 213 #define UNKNOWNOP 305 214 #define SUB 306 215 #define BY 307 216 #define SLAT 308 217 #define BACKSLAT 309 218 #define NUMBER 310 219 #define UNARY 311 220 #define OHOHSEVEN 312 221 #define GERUND 313 222 #define LABEL 314 223 #define BADCHAR 315 224 #define INTERSECTION 316 225 #define SPLATTERED 317 226 #define MESH32 318 227 #define C_AND 319 228 #define C_OR 320 229 #define C_XOR 321 230 #define C_NOT 322 231 #define C_LOGICALNOT 323 232 #define C_LSHIFTBY 324 233 #define C_RSHIFTBY 325 234 #define C_NOTEQUAL 326 235 #define C_A 327 236 #define C_PLUS 328 237 #define C_MINUS 329 238 #define C_TIMES 330 239 #define C_DIVIDEBY 331 240 #define C_MODULUS 332 241 #define C_GREATER 333 242 #define C_LESS 334 243 #define C_ISEQUAL 335 244 #define C_LOGICALAND 336 245 #define C_LOGICALOR 337 246 #define AND 338 247 #define OR 339 248 #define XOR 340 249 #define FIN 341 250 #define WHIRL 342 251 #define WHIRL2 343 252 #define WHIRL3 344 253 #define WHIRL4 345 254 #define WHIRL5 346 255 #define REV_AND 347 256 #define REV_OR 348 257 #define REV_XOR 349 258 #define REV_FIN 350 259 #define REV_WHIRL 351 260 #define REV_WHIRL2 352 261 #define REV_WHIRL3 353 262 #define REV_WHIRL4 354 263 #define REV_WHIRL5 355 264 #define UNKNOWNID 356 265 #define US_ID 357 266 #define US_SCALAR 358 267 #define US_ARRVAR 359 268 #define US_ELEM 360 269 #define US_EXPR 361 270 #define OPENEARS 362 271 #define OPENSPARK 363 272 #define CLOSEEARS 364 273 #define CLOSESPARK 365 274 #define HIGHPREC 366 275 #define UNARYPREC 367 276 #define LOWPREC 368 277 278 /* Value type. */ 279 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 280 281 union YYSTYPE 282 { 283 #line 83 "parser.y" /* yacc.c:1921 */ 284 285 int numval; /* a numeric value */ 286 tuple *tuple; /* a code tuple */ 287 node *node; /* an expression-tree node */ 288 289 #line 290 "src/parser.h" /* yacc.c:1921 */ 290 }; 291 292 typedef union YYSTYPE YYSTYPE; 293 # define YYSTYPE_IS_TRIVIAL 1 294 # define YYSTYPE_IS_DECLARED 1 295 #endif 296 297 298 extern YYSTYPE yylval; 299 300 int yyparse (void); 301 302 #endif /* !YY_YY_SRC_PARSER_H_INCLUDED */ 303