X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/29c22b52682692a630218342d1997c803a3b487b..a3371546646b4c0f722f2659beac614649d6cfd5:/perly.h diff --git a/perly.h b/perly.h index 08d488f..eb14b42 100644 --- a/perly.h +++ b/perly.h @@ -1,21 +1,22 @@ /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! - This file is built by regen_perly.pl from perly.y. + This file is built by ./regen_perly.pl from perly.y. Any changes made here will be lost! */ +#define PERL_BISON_VERSION 30000 + #ifdef PERL_CORE -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ -/* Skeleton interface for Bison's Yacc-like parsers in C +/* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -23,9 +24,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -40,206 +39,150 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -/* Tokens. */ +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - GRAMPROG = 258, - GRAMEXPR = 259, - GRAMBLOCK = 260, - GRAMBARESTMT = 261, - GRAMFULLSTMT = 262, - GRAMSTMTSEQ = 263, - WORD = 264, - METHOD = 265, - FUNCMETH = 266, - THING = 267, - PMFUNC = 268, - PRIVATEREF = 269, - QWLIST = 270, - FUNC0SUB = 271, - UNIOPSUB = 272, - LSTOPSUB = 273, - PLUGEXPR = 274, - PLUGSTMT = 275, - LABEL = 276, - FORMAT = 277, - SUB = 278, - ANONSUB = 279, - PACKAGE = 280, - USE = 281, - WHILE = 282, - UNTIL = 283, - IF = 284, - UNLESS = 285, - ELSE = 286, - ELSIF = 287, - CONTINUE = 288, - FOR = 289, - GIVEN = 290, - WHEN = 291, - DEFAULT = 292, - LOOPEX = 293, - DOTDOT = 294, - YADAYADA = 295, - FUNC0 = 296, - FUNC1 = 297, - FUNC = 298, - UNIOP = 299, - LSTOP = 300, - RELOP = 301, - EQOP = 302, - MULOP = 303, - ADDOP = 304, - DOLSHARP = 305, - DO = 306, - HASHBRACK = 307, - NOAMP = 308, - LOCAL = 309, - MY = 310, - MYSUB = 311, - REQUIRE = 312, - COLONATTR = 313, - PREC_LOW = 314, - DOROP = 315, - OROP = 316, - ANDOP = 317, - NOTOP = 318, - ASSIGNOP = 319, - DORDOR = 320, - OROR = 321, - ANDAND = 322, - BITOROP = 323, - BITANDOP = 324, - SHIFTOP = 325, - MATCHOP = 326, - REFGEN = 327, - UMINUS = 328, - POWOP = 329, - POSTDEC = 330, - POSTINC = 331, - PREDEC = 332, - PREINC = 333, - ARROW = 334, - PEG = 335 - }; + enum yytokentype + { + GRAMPROG = 258, + GRAMEXPR = 259, + GRAMBLOCK = 260, + GRAMBARESTMT = 261, + GRAMFULLSTMT = 262, + GRAMSTMTSEQ = 263, + BAREWORD = 264, + METHOD = 265, + FUNCMETH = 266, + THING = 267, + PMFUNC = 268, + PRIVATEREF = 269, + QWLIST = 270, + FUNC0OP = 271, + FUNC0SUB = 272, + UNIOPSUB = 273, + LSTOPSUB = 274, + PLUGEXPR = 275, + PLUGSTMT = 276, + LABEL = 277, + FORMAT = 278, + SUB = 279, + ANONSUB = 280, + PACKAGE = 281, + USE = 282, + WHILE = 283, + UNTIL = 284, + IF = 285, + UNLESS = 286, + ELSE = 287, + ELSIF = 288, + CONTINUE = 289, + FOR = 290, + GIVEN = 291, + WHEN = 292, + DEFAULT = 293, + LOOPEX = 294, + DOTDOT = 295, + YADAYADA = 296, + FUNC0 = 297, + FUNC1 = 298, + FUNC = 299, + UNIOP = 300, + LSTOP = 301, + RELOP = 302, + EQOP = 303, + MULOP = 304, + ADDOP = 305, + DOLSHARP = 306, + DO = 307, + HASHBRACK = 308, + NOAMP = 309, + LOCAL = 310, + MY = 311, + REQUIRE = 312, + COLONATTR = 313, + FORMLBRACK = 314, + FORMRBRACK = 315, + PREC_LOW = 316, + OROP = 317, + DOROP = 318, + ANDOP = 319, + NOTOP = 320, + ASSIGNOP = 321, + OROR = 322, + DORDOR = 323, + ANDAND = 324, + BITOROP = 325, + BITANDOP = 326, + SHIFTOP = 327, + MATCHOP = 328, + UMINUS = 329, + REFGEN = 330, + POWOP = 331, + PREINC = 332, + PREDEC = 333, + POSTINC = 334, + POSTDEC = 335, + POSTJOIN = 336, + ARROW = 337 + }; #endif -/* Tokens. */ -#define GRAMPROG 258 -#define GRAMEXPR 259 -#define GRAMBLOCK 260 -#define GRAMBARESTMT 261 -#define GRAMFULLSTMT 262 -#define GRAMSTMTSEQ 263 -#define WORD 264 -#define METHOD 265 -#define FUNCMETH 266 -#define THING 267 -#define PMFUNC 268 -#define PRIVATEREF 269 -#define QWLIST 270 -#define FUNC0SUB 271 -#define UNIOPSUB 272 -#define LSTOPSUB 273 -#define PLUGEXPR 274 -#define PLUGSTMT 275 -#define LABEL 276 -#define FORMAT 277 -#define SUB 278 -#define ANONSUB 279 -#define PACKAGE 280 -#define USE 281 -#define WHILE 282 -#define UNTIL 283 -#define IF 284 -#define UNLESS 285 -#define ELSE 286 -#define ELSIF 287 -#define CONTINUE 288 -#define FOR 289 -#define GIVEN 290 -#define WHEN 291 -#define DEFAULT 292 -#define LOOPEX 293 -#define DOTDOT 294 -#define YADAYADA 295 -#define FUNC0 296 -#define FUNC1 297 -#define FUNC 298 -#define UNIOP 299 -#define LSTOP 300 -#define RELOP 301 -#define EQOP 302 -#define MULOP 303 -#define ADDOP 304 -#define DOLSHARP 305 -#define DO 306 -#define HASHBRACK 307 -#define NOAMP 308 -#define LOCAL 309 -#define MY 310 -#define MYSUB 311 -#define REQUIRE 312 -#define COLONATTR 313 -#define PREC_LOW 314 -#define DOROP 315 -#define OROP 316 -#define ANDOP 317 -#define NOTOP 318 -#define ASSIGNOP 319 -#define DORDOR 320 -#define OROR 321 -#define ANDAND 322 -#define BITOROP 323 -#define BITANDOP 324 -#define SHIFTOP 325 -#define MATCHOP 326 -#define REFGEN 327 -#define UMINUS 328 -#define POWOP 329 -#define POSTDEC 330 -#define POSTINC 331 -#define PREDEC 332 -#define PREINC 333 -#define ARROW 334 -#define PEG 335 - - - +/* Value type. */ +#ifdef PERL_IN_TOKE_C +static bool +S_is_opval_token(int type) { + switch (type) { + case BAREWORD: + case FUNC0OP: + case FUNC0SUB: + case FUNCMETH: + case LSTOPSUB: + case METHOD: + case PLUGEXPR: + case PLUGSTMT: + case PMFUNC: + case PRIVATEREF: + case QWLIST: + case THING: + case UNIOPSUB: + return 1; + } + return 0; +} +#endif /* PERL_IN_TOKE_C */ #endif /* PERL_CORE */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { + I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; must always be 1st union member) */ char *pval; OP *opval; GV *gvval; -#ifdef PERL_IN_MADLY_C - TOKEN* p_tkval; - TOKEN* i_tkval; -#else - char *p_tkval; - I32 i_tkval; -#endif -#ifdef PERL_MAD - TOKEN* tkval; -#endif -} -/* Line 1489 of yacc.c. */ - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 + +}; + +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 #endif +int yyparse (void); + /* Generated from: - * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y - * 7fdc8be39a1ba22bcb9eb32a5e4e483f3b6abc1a1c95fea864ae5b7d46aa744b regen_perly.pl + * 4667736d3c31a5169bab73c89d70a27dbce5ea4fe7e3c332a236f8a210aafdc2 perly.y + * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl * ex: set ro: */