1 /* ex: set ro ft=c: -*- buffer-read-only:t -*- 2 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! 3 * 4 * This file is generated automatically from 'compilers/imcc/imcc.y' 5 * by tools/build/fixup_gen_file.pl. 6 * 7 * Any changes made here will be lost! 8 * 9 */ 10 /* HEADERIZER HFILE: none */ 11 /* HEADERIZER STOP */ 12 /* A Bison parser, made by GNU Bison 3.0.2. */ 13 14 /* Bison interface for Yacc-like parsers in C 15 16 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 17 18 This program is free software: you can redistribute it and/or modify 19 it under the terms of the GNU General Public License as published by 20 the Free Software Foundation, either version 3 of the License, or 21 (at your option) any later version. 22 23 This program is distributed in the hope that it will be useful, 24 but WITHOUT ANY WARRANTY; without even the implied warranty of 25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 26 GNU General Public License for more details. 27 28 You should have received a copy of the GNU General Public License 29 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 30 31 /* As a special exception, you may create a larger work that contains 32 part or all of the Bison parser skeleton and distribute that work 33 under terms of your choice, so long as that work isn't itself a 34 parser generator using the skeleton or a modified version thereof 35 as a parser skeleton. Alternatively, if you modify or redistribute 36 the parser skeleton itself, you may (at your option) remove this 37 special exception, which will cause the skeleton and the resulting 38 Bison output files to be licensed under the GNU General Public 39 License without this special exception. 40 41 This special exception was added by the Free Software Foundation in 42 version 2.2 of Bison. */ 43 44 #ifndef YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED 45 # define YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED 46 /* Debug traces. */ 47 #ifndef YYDEBUG 48 # define YYDEBUG 0 49 #endif 50 #if YYDEBUG 51 extern int yydebug; 52 #endif 53 54 /* Token type. */ 55 #ifndef YYTOKENTYPE 56 # define YYTOKENTYPE 57 enum yytokentype 58 { 59 LOW_PREC = 258, 60 PARAM = 259, 61 SOL = 260, 62 HLL = 261, 63 GOTO = 262, 64 ARG = 263, 65 IF = 264, 66 UNLESS = 265, 67 PNULL = 266, 68 SET_RETURN = 267, 69 SET_YIELD = 268, 70 ADV_FLAT = 269, 71 ADV_SLURPY = 270, 72 ADV_OPTIONAL = 271, 73 ADV_OPT_FLAG = 272, 74 ADV_NAMED = 273, 75 ADV_ARROW = 274, 76 ADV_INVOCANT = 275, 77 ADV_CALL_SIG = 276, 78 NAMESPACE = 277, 79 DOT_METHOD = 278, 80 SUB = 279, 81 SYM = 280, 82 LOCAL = 281, 83 LEXICAL = 282, 84 CONST = 283, 85 ANNOTATE = 284, 86 GLOBAL_CONST = 285, 87 PLUS_ASSIGN = 286, 88 MINUS_ASSIGN = 287, 89 MUL_ASSIGN = 288, 90 DIV_ASSIGN = 289, 91 CONCAT_ASSIGN = 290, 92 BAND_ASSIGN = 291, 93 BOR_ASSIGN = 292, 94 BXOR_ASSIGN = 293, 95 FDIV = 294, 96 FDIV_ASSIGN = 295, 97 MOD_ASSIGN = 296, 98 SHR_ASSIGN = 297, 99 SHL_ASSIGN = 298, 100 SHR_U_ASSIGN = 299, 101 SHIFT_LEFT = 300, 102 SHIFT_RIGHT = 301, 103 INTV = 302, 104 FLOATV = 303, 105 STRINGV = 304, 106 PMCV = 305, 107 LOG_XOR = 306, 108 RELOP_EQ = 307, 109 RELOP_NE = 308, 110 RELOP_GT = 309, 111 RELOP_GTE = 310, 112 RELOP_LT = 311, 113 RELOP_LTE = 312, 114 RESULT = 313, 115 RETURN = 314, 116 TAILCALL = 315, 117 YIELDT = 316, 118 GET_RESULTS = 317, 119 POW = 318, 120 SHIFT_RIGHT_U = 319, 121 LOG_AND = 320, 122 LOG_OR = 321, 123 COMMA = 322, 124 ESUB = 323, 125 DOTDOT = 324, 126 PCC_BEGIN = 325, 127 PCC_END = 326, 128 PCC_CALL = 327, 129 PCC_SUB = 328, 130 PCC_BEGIN_RETURN = 329, 131 PCC_END_RETURN = 330, 132 PCC_BEGIN_YIELD = 331, 133 PCC_END_YIELD = 332, 134 INVOCANT = 333, 135 MAIN = 334, 136 LOAD = 335, 137 INIT = 336, 138 IMMEDIATE = 337, 139 POSTCOMP = 338, 140 METHOD = 339, 141 ANON = 340, 142 OUTER = 341, 143 NEED_LEX = 342, 144 MULTI = 343, 145 SUBTAG = 344, 146 VTABLE_METHOD = 345, 147 LOADLIB = 346, 148 SUB_INSTANCE_OF = 347, 149 SUBID = 348, 150 NS_ENTRY = 349, 151 LABEL = 350, 152 EMIT = 351, 153 EOM = 352, 154 IREG = 353, 155 NREG = 354, 156 SREG = 355, 157 PREG = 356, 158 IDENTIFIER = 357, 159 REG = 358, 160 MACRO = 359, 161 ENDM = 360, 162 STRINGC = 361, 163 INTC = 362, 164 FLOATC = 363, 165 USTRINGC = 364, 166 PARROT_OP = 365, 167 VAR = 366, 168 LINECOMMENT = 367, 169 FILECOMMENT = 368, 170 CONCAT = 369, 171 DOT = 370 172 }; 173 #endif 174 /* Tokens. */ 175 #define LOW_PREC 258 176 #define PARAM 259 177 #define SOL 260 178 #define HLL 261 179 #define GOTO 262 180 #define ARG 263 181 #define IF 264 182 #define UNLESS 265 183 #define PNULL 266 184 #define SET_RETURN 267 185 #define SET_YIELD 268 186 #define ADV_FLAT 269 187 #define ADV_SLURPY 270 188 #define ADV_OPTIONAL 271 189 #define ADV_OPT_FLAG 272 190 #define ADV_NAMED 273 191 #define ADV_ARROW 274 192 #define ADV_INVOCANT 275 193 #define ADV_CALL_SIG 276 194 #define NAMESPACE 277 195 #define DOT_METHOD 278 196 #define SUB 279 197 #define SYM 280 198 #define LOCAL 281 199 #define LEXICAL 282 200 #define CONST 283 201 #define ANNOTATE 284 202 #define GLOBAL_CONST 285 203 #define PLUS_ASSIGN 286 204 #define MINUS_ASSIGN 287 205 #define MUL_ASSIGN 288 206 #define DIV_ASSIGN 289 207 #define CONCAT_ASSIGN 290 208 #define BAND_ASSIGN 291 209 #define BOR_ASSIGN 292 210 #define BXOR_ASSIGN 293 211 #define FDIV 294 212 #define FDIV_ASSIGN 295 213 #define MOD_ASSIGN 296 214 #define SHR_ASSIGN 297 215 #define SHL_ASSIGN 298 216 #define SHR_U_ASSIGN 299 217 #define SHIFT_LEFT 300 218 #define SHIFT_RIGHT 301 219 #define INTV 302 220 #define FLOATV 303 221 #define STRINGV 304 222 #define PMCV 305 223 #define LOG_XOR 306 224 #define RELOP_EQ 307 225 #define RELOP_NE 308 226 #define RELOP_GT 309 227 #define RELOP_GTE 310 228 #define RELOP_LT 311 229 #define RELOP_LTE 312 230 #define RESULT 313 231 #define RETURN 314 232 #define TAILCALL 315 233 #define YIELDT 316 234 #define GET_RESULTS 317 235 #define POW 318 236 #define SHIFT_RIGHT_U 319 237 #define LOG_AND 320 238 #define LOG_OR 321 239 #define COMMA 322 240 #define ESUB 323 241 #define DOTDOT 324 242 #define PCC_BEGIN 325 243 #define PCC_END 326 244 #define PCC_CALL 327 245 #define PCC_SUB 328 246 #define PCC_BEGIN_RETURN 329 247 #define PCC_END_RETURN 330 248 #define PCC_BEGIN_YIELD 331 249 #define PCC_END_YIELD 332 250 #define INVOCANT 333 251 #define MAIN 334 252 #define LOAD 335 253 #define INIT 336 254 #define IMMEDIATE 337 255 #define POSTCOMP 338 256 #define METHOD 339 257 #define ANON 340 258 #define OUTER 341 259 #define NEED_LEX 342 260 #define MULTI 343 261 #define SUBTAG 344 262 #define VTABLE_METHOD 345 263 #define LOADLIB 346 264 #define SUB_INSTANCE_OF 347 265 #define SUBID 348 266 #define NS_ENTRY 349 267 #define LABEL 350 268 #define EMIT 351 269 #define EOM 352 270 #define IREG 353 271 #define NREG 354 272 #define SREG 355 273 #define PREG 356 274 #define IDENTIFIER 357 275 #define REG 358 276 #define MACRO 359 277 #define ENDM 360 278 #define STRINGC 361 279 #define INTC 362 280 #define FLOATC 363 281 #define USTRINGC 364 282 #define PARROT_OP 365 283 #define VAR 366 284 #define LINECOMMENT 367 285 #define FILECOMMENT 368 286 #define CONCAT 369 287 #define DOT 370 288 289 /* Value type. */ 290 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 291 typedef union YYSTYPE YYSTYPE; 292 union YYSTYPE 293 { 294 #line 1049 "compilers/imcc/imcc.y" /* yacc.c:1909 */ 295 296 IdList * idlist; 297 int t; 298 char * s; 299 SymReg * sr; 300 Instruction *i; 301 302 #line 292 "compilers/imcc/imcparser.h" /* yacc.c:1909 */ 303 }; 304 # define YYSTYPE_IS_TRIVIAL 1 305 # define YYSTYPE_IS_DECLARED 1 306 #endif 307 308 309 310 int yyparse (void *yyscanner, imc_info_t *imcc); 311 312 #endif /* !YY_YY_COMPILERS_IMCC_IMCPARSER_H_INCLUDED */ 313