X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/636def1f97f1f4abce7e522c59c2e6baa547bec8..a3371546646b4c0f722f2659beac614649d6cfd5:/perly.h diff --git a/perly.h b/perly.h index bd8e6b7..eb14b42 100644 --- a/perly.h +++ b/perly.h @@ -1,15 +1,22 @@ +/* -*- buffer-read-only: t -*- + !!!!!!! DO NOT EDIT THIS FILE !!!!!!! + 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 @@ -17,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 @@ -34,191 +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, - GRAMFULLSTMT = 259, - WORD = 260, - METHOD = 261, - FUNCMETH = 262, - THING = 263, - PMFUNC = 264, - PRIVATEREF = 265, - FUNC0SUB = 266, - UNIOPSUB = 267, - LSTOPSUB = 268, - PLUGEXPR = 269, - PLUGSTMT = 270, - LABEL = 271, - FORMAT = 272, - SUB = 273, - ANONSUB = 274, - PACKAGE = 275, - USE = 276, - WHILE = 277, - UNTIL = 278, - IF = 279, - UNLESS = 280, - ELSE = 281, - ELSIF = 282, - CONTINUE = 283, - FOR = 284, - GIVEN = 285, - WHEN = 286, - DEFAULT = 287, - LOOPEX = 288, - DOTDOT = 289, - YADAYADA = 290, - FUNC0 = 291, - FUNC1 = 292, - FUNC = 293, - UNIOP = 294, - LSTOP = 295, - RELOP = 296, - EQOP = 297, - MULOP = 298, - ADDOP = 299, - DOLSHARP = 300, - DO = 301, - HASHBRACK = 302, - NOAMP = 303, - LOCAL = 304, - MY = 305, - MYSUB = 306, - REQUIRE = 307, - COLONATTR = 308, - PREC_LOW = 309, - DOROP = 310, - OROP = 311, - ANDOP = 312, - NOTOP = 313, - ASSIGNOP = 314, - DORDOR = 315, - OROR = 316, - ANDAND = 317, - BITOROP = 318, - BITANDOP = 319, - SHIFTOP = 320, - MATCHOP = 321, - REFGEN = 322, - UMINUS = 323, - POWOP = 324, - POSTDEC = 325, - POSTINC = 326, - PREDEC = 327, - PREINC = 328, - ARROW = 329, - PEG = 330 - }; + 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 GRAMFULLSTMT 259 -#define WORD 260 -#define METHOD 261 -#define FUNCMETH 262 -#define THING 263 -#define PMFUNC 264 -#define PRIVATEREF 265 -#define FUNC0SUB 266 -#define UNIOPSUB 267 -#define LSTOPSUB 268 -#define PLUGEXPR 269 -#define PLUGSTMT 270 -#define LABEL 271 -#define FORMAT 272 -#define SUB 273 -#define ANONSUB 274 -#define PACKAGE 275 -#define USE 276 -#define WHILE 277 -#define UNTIL 278 -#define IF 279 -#define UNLESS 280 -#define ELSE 281 -#define ELSIF 282 -#define CONTINUE 283 -#define FOR 284 -#define GIVEN 285 -#define WHEN 286 -#define DEFAULT 287 -#define LOOPEX 288 -#define DOTDOT 289 -#define YADAYADA 290 -#define FUNC0 291 -#define FUNC1 292 -#define FUNC 293 -#define UNIOP 294 -#define LSTOP 295 -#define RELOP 296 -#define EQOP 297 -#define MULOP 298 -#define ADDOP 299 -#define DOLSHARP 300 -#define DO 301 -#define HASHBRACK 302 -#define NOAMP 303 -#define LOCAL 304 -#define MY 305 -#define MYSUB 306 -#define REQUIRE 307 -#define COLONATTR 308 -#define PREC_LOW 309 -#define DOROP 310 -#define OROP 311 -#define ANDOP 312 -#define NOTOP 313 -#define ASSIGNOP 314 -#define DORDOR 315 -#define OROR 316 -#define ANDAND 317 -#define BITOROP 318 -#define BITANDOP 319 -#define SHIFTOP 320 -#define MATCHOP 321 -#define REFGEN 322 -#define UMINUS 323 -#define POWOP 324 -#define POSTDEC 325 -#define POSTINC 326 -#define PREDEC 327 -#define PREINC 328 -#define ARROW 329 -#define PEG 330 - - - +/* 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 1529 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: + * 4667736d3c31a5169bab73c89d70a27dbce5ea4fe7e3c332a236f8a210aafdc2 perly.y + * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl + * ex: set ro: */