1 /* -*- buffer-read-only: t -*- 2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!! 3 This file is built by regen_perly.pl from perly.y. 4 Any changes made here will be lost! 5 */ 6 7 #ifdef PERL_CORE 8 /* A Bison parser, made by GNU Bison 2.5. */ 9 10 /* Bison interface for Yacc-like parsers in C 11 12 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 13 14 This program is free software: you can redistribute it and/or modify 15 it under the terms of the GNU General Public License as published by 16 the Free Software Foundation, either version 3 of the License, or 17 (at your option) any later version. 18 19 This program is distributed in the hope that it will be useful, 20 but WITHOUT ANY WARRANTY; without even the implied warranty of 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 GNU General Public License for more details. 23 24 You should have received a copy of the GNU General Public License 25 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 26 27 /* As a special exception, you may create a larger work that contains 28 part or all of the Bison parser skeleton and distribute that work 29 under terms of your choice, so long as that work isn't itself a 30 parser generator using the skeleton or a modified version thereof 31 as a parser skeleton. Alternatively, if you modify or redistribute 32 the parser skeleton itself, you may (at your option) remove this 33 special exception, which will cause the skeleton and the resulting 34 Bison output files to be licensed under the GNU General Public 35 License without this special exception. 36 37 This special exception was added by the Free Software Foundation in 38 version 2.2 of Bison. */ 39 40 41 /* Tokens. */ 42 #ifndef YYTOKENTYPE 43 # define YYTOKENTYPE 44 /* Put the tokens into the symbol table, so that GDB and other debuggers 45 know about them. */ 46 enum yytokentype { 47 GRAMPROG = 258, 48 GRAMEXPR = 259, 49 GRAMBLOCK = 260, 50 GRAMBARESTMT = 261, 51 GRAMFULLSTMT = 262, 52 GRAMSTMTSEQ = 263, 53 WORD = 264, 54 METHOD = 265, 55 FUNCMETH = 266, 56 THING = 267, 57 PMFUNC = 268, 58 PRIVATEREF = 269, 59 QWLIST = 270, 60 FUNC0OP = 271, 61 FUNC0SUB = 272, 62 UNIOPSUB = 273, 63 LSTOPSUB = 274, 64 PLUGEXPR = 275, 65 PLUGSTMT = 276, 66 LABEL = 277, 67 FORMAT = 278, 68 SUB = 279, 69 ANONSUB = 280, 70 PACKAGE = 281, 71 USE = 282, 72 WHILE = 283, 73 UNTIL = 284, 74 IF = 285, 75 UNLESS = 286, 76 ELSE = 287, 77 ELSIF = 288, 78 CONTINUE = 289, 79 FOR = 290, 80 GIVEN = 291, 81 WHEN = 292, 82 DEFAULT = 293, 83 LOOPEX = 294, 84 DOTDOT = 295, 85 YADAYADA = 296, 86 FUNC0 = 297, 87 FUNC1 = 298, 88 FUNC = 299, 89 UNIOP = 300, 90 LSTOP = 301, 91 RELOP = 302, 92 EQOP = 303, 93 MULOP = 304, 94 ADDOP = 305, 95 DOLSHARP = 306, 96 DO = 307, 97 HASHBRACK = 308, 98 NOAMP = 309, 99 LOCAL = 310, 100 MY = 311, 101 REQUIRE = 312, 102 COLONATTR = 313, 103 FORMLBRACK = 314, 104 FORMRBRACK = 315, 105 PREC_LOW = 316, 106 DOROP = 317, 107 OROP = 318, 108 ANDOP = 319, 109 NOTOP = 320, 110 ASSIGNOP = 321, 111 DORDOR = 322, 112 OROR = 323, 113 ANDAND = 324, 114 BITOROP = 325, 115 BITANDOP = 326, 116 SHIFTOP = 327, 117 MATCHOP = 328, 118 REFGEN = 329, 119 UMINUS = 330, 120 POWOP = 331, 121 POSTJOIN = 332, 122 POSTDEC = 333, 123 POSTINC = 334, 124 PREDEC = 335, 125 PREINC = 336, 126 ARROW = 337, 127 PEG = 338 128 }; 129 #endif 130 131 /* Tokens. */ 132 #define GRAMPROG 258 133 #define GRAMEXPR 259 134 #define GRAMBLOCK 260 135 #define GRAMBARESTMT 261 136 #define GRAMFULLSTMT 262 137 #define GRAMSTMTSEQ 263 138 #define WORD 264 139 #define METHOD 265 140 #define FUNCMETH 266 141 #define THING 267 142 #define PMFUNC 268 143 #define PRIVATEREF 269 144 #define QWLIST 270 145 #define FUNC0OP 271 146 #define FUNC0SUB 272 147 #define UNIOPSUB 273 148 #define LSTOPSUB 274 149 #define PLUGEXPR 275 150 #define PLUGSTMT 276 151 #define LABEL 277 152 #define FORMAT 278 153 #define SUB 279 154 #define ANONSUB 280 155 #define PACKAGE 281 156 #define USE 282 157 #define WHILE 283 158 #define UNTIL 284 159 #define IF 285 160 #define UNLESS 286 161 #define ELSE 287 162 #define ELSIF 288 163 #define CONTINUE 289 164 #define FOR 290 165 #define GIVEN 291 166 #define WHEN 292 167 #define DEFAULT 293 168 #define LOOPEX 294 169 #define DOTDOT 295 170 #define YADAYADA 296 171 #define FUNC0 297 172 #define FUNC1 298 173 #define FUNC 299 174 #define UNIOP 300 175 #define LSTOP 301 176 #define RELOP 302 177 #define EQOP 303 178 #define MULOP 304 179 #define ADDOP 305 180 #define DOLSHARP 306 181 #define DO 307 182 #define HASHBRACK 308 183 #define NOAMP 309 184 #define LOCAL 310 185 #define MY 311 186 #define REQUIRE 312 187 #define COLONATTR 313 188 #define FORMLBRACK 314 189 #define FORMRBRACK 315 190 #define PREC_LOW 316 191 #define DOROP 317 192 #define OROP 318 193 #define ANDOP 319 194 #define NOTOP 320 195 #define ASSIGNOP 321 196 #define DORDOR 322 197 #define OROR 323 198 #define ANDAND 324 199 #define BITOROP 325 200 #define BITANDOP 326 201 #define SHIFTOP 327 202 #define MATCHOP 328 203 #define REFGEN 329 204 #define UMINUS 330 205 #define POWOP 331 206 #define POSTJOIN 332 207 #define POSTDEC 333 208 #define POSTINC 334 209 #define PREDEC 335 210 #define PREINC 336 211 #define ARROW 337 212 #define PEG 338 213 214 215 216 #ifdef PERL_IN_TOKE_C 217 static bool 218 S_is_opval_token(int type) { 219 switch (type) { 220 case FUNC0OP: 221 case FUNC0SUB: 222 case FUNCMETH: 223 case LSTOPSUB: 224 case METHOD: 225 case PLUGEXPR: 226 case PLUGSTMT: 227 case PMFUNC: 228 case PRIVATEREF: 229 case QWLIST: 230 case THING: 231 case UNIOPSUB: 232 case WORD: 233 return 1; 234 } 235 return 0; 236 } 237 #endif /* PERL_IN_TOKE_C */ 238 #endif /* PERL_CORE */ 239 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 240 typedef union YYSTYPE 241 { 242 243 /* Line 2068 of yacc.c */ 244 245 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; 246 must always be 1st union member) */ 247 char *pval; 248 OP *opval; 249 GV *gvval; 250 #ifdef PERL_IN_MADLY_C 251 TOKEN* p_tkval; 252 TOKEN* i_tkval; 253 #else 254 char *p_tkval; 255 I32 i_tkval; 256 #endif 257 #ifdef PERL_MAD 258 TOKEN* tkval; 259 #endif 260 261 262 263 /* Line 2068 of yacc.c */ 264 } YYSTYPE; 265 # define YYSTYPE_IS_TRIVIAL 1 266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 267 # define YYSTYPE_IS_DECLARED 1 268 #endif 269 270 271 272 273 274 /* Generated from: 275 * bb8245a1a537b2afb2445b3973f63b210f9ec346a1955071aef7d05ba97196ae perly.y 276 * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl 277 * ex: set ro: */ 278