X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/e53d8f768a2bcb331fe11ed5282d228a938ce161..e8e591c9e54c36d7ebf5510f581c0061e7853f90:/perly.h diff --git a/perly.h b/perly.h index b3a5595..6f1d6b9 100644 --- a/perly.h +++ b/perly.h @@ -1,25 +1,28 @@ -#ifdef PERL_CORE -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C +/* -*- 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! + */ - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. +#ifdef PERL_CORE +/* A Bison parser, made by GNU Bison 2.6.1. */ - This program is free software; you can redistribute it and/or modify +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. + + 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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 @@ -30,10 +33,18 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif + /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -41,168 +52,199 @@ know about them. */ enum yytokentype { GRAMPROG = 258, - GRAMBLOCK = 259, - GRAMFULLSTMT = 260, - GRAMSTMTSEQ = 261, - WORD = 262, - METHOD = 263, - FUNCMETH = 264, - THING = 265, - PMFUNC = 266, - PRIVATEREF = 267, - QWLIST = 268, - FUNC0SUB = 269, - UNIOPSUB = 270, - LSTOPSUB = 271, - PLUGEXPR = 272, - PLUGSTMT = 273, - LABEL = 274, - FORMAT = 275, - SUB = 276, - ANONSUB = 277, - PACKAGE = 278, - USE = 279, - WHILE = 280, - UNTIL = 281, - IF = 282, - UNLESS = 283, - ELSE = 284, - ELSIF = 285, - CONTINUE = 286, - FOR = 287, - GIVEN = 288, - WHEN = 289, - DEFAULT = 290, - LOOPEX = 291, - DOTDOT = 292, - YADAYADA = 293, - FUNC0 = 294, - FUNC1 = 295, - FUNC = 296, - UNIOP = 297, - LSTOP = 298, - RELOP = 299, - EQOP = 300, - MULOP = 301, - ADDOP = 302, - DOLSHARP = 303, - DO = 304, - HASHBRACK = 305, - NOAMP = 306, - LOCAL = 307, - MY = 308, - MYSUB = 309, - REQUIRE = 310, - COLONATTR = 311, - PREC_LOW = 312, - DOROP = 313, - OROP = 314, - ANDOP = 315, - NOTOP = 316, - ASSIGNOP = 317, - DORDOR = 318, - OROR = 319, - ANDAND = 320, - BITOROP = 321, - BITANDOP = 322, - SHIFTOP = 323, - MATCHOP = 324, - REFGEN = 325, - UMINUS = 326, - POWOP = 327, - POSTDEC = 328, - POSTINC = 329, - PREDEC = 330, - PREINC = 331, - ARROW = 332, - PEG = 333 + GRAMEXPR = 259, + GRAMBLOCK = 260, + GRAMBARESTMT = 261, + GRAMFULLSTMT = 262, + GRAMSTMTSEQ = 263, + WORD = 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, + DOROP = 317, + OROP = 318, + ANDOP = 319, + NOTOP = 320, + ASSIGNOP = 321, + DORDOR = 322, + OROR = 323, + ANDAND = 324, + BITOROP = 325, + BITANDOP = 326, + SHIFTOP = 327, + MATCHOP = 328, + REFGEN = 329, + UMINUS = 330, + POWOP = 331, + POSTDEC = 332, + POSTINC = 333, + PREDEC = 334, + PREINC = 335, + ARROW = 336, + PEG = 337 }; #endif + /* Tokens. */ #define GRAMPROG 258 -#define GRAMBLOCK 259 -#define GRAMFULLSTMT 260 -#define GRAMSTMTSEQ 261 -#define WORD 262 -#define METHOD 263 -#define FUNCMETH 264 -#define THING 265 -#define PMFUNC 266 -#define PRIVATEREF 267 -#define QWLIST 268 -#define FUNC0SUB 269 -#define UNIOPSUB 270 -#define LSTOPSUB 271 -#define PLUGEXPR 272 -#define PLUGSTMT 273 -#define LABEL 274 -#define FORMAT 275 -#define SUB 276 -#define ANONSUB 277 -#define PACKAGE 278 -#define USE 279 -#define WHILE 280 -#define UNTIL 281 -#define IF 282 -#define UNLESS 283 -#define ELSE 284 -#define ELSIF 285 -#define CONTINUE 286 -#define FOR 287 -#define GIVEN 288 -#define WHEN 289 -#define DEFAULT 290 -#define LOOPEX 291 -#define DOTDOT 292 -#define YADAYADA 293 -#define FUNC0 294 -#define FUNC1 295 -#define FUNC 296 -#define UNIOP 297 -#define LSTOP 298 -#define RELOP 299 -#define EQOP 300 -#define MULOP 301 -#define ADDOP 302 -#define DOLSHARP 303 -#define DO 304 -#define HASHBRACK 305 -#define NOAMP 306 -#define LOCAL 307 -#define MY 308 -#define MYSUB 309 -#define REQUIRE 310 -#define COLONATTR 311 -#define PREC_LOW 312 -#define DOROP 313 -#define OROP 314 -#define ANDOP 315 -#define NOTOP 316 -#define ASSIGNOP 317 -#define DORDOR 318 -#define OROR 319 -#define ANDAND 320 -#define BITOROP 321 -#define BITANDOP 322 -#define SHIFTOP 323 -#define MATCHOP 324 -#define REFGEN 325 -#define UMINUS 326 -#define POWOP 327 -#define POSTDEC 328 -#define POSTINC 329 -#define PREDEC 330 -#define PREINC 331 -#define ARROW 332 -#define PEG 333 - - +#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 FUNC0OP 271 +#define FUNC0SUB 272 +#define UNIOPSUB 273 +#define LSTOPSUB 274 +#define PLUGEXPR 275 +#define PLUGSTMT 276 +#define LABEL 277 +#define FORMAT 278 +#define SUB 279 +#define ANONSUB 280 +#define PACKAGE 281 +#define USE 282 +#define WHILE 283 +#define UNTIL 284 +#define IF 285 +#define UNLESS 286 +#define ELSE 287 +#define ELSIF 288 +#define CONTINUE 289 +#define FOR 290 +#define GIVEN 291 +#define WHEN 292 +#define DEFAULT 293 +#define LOOPEX 294 +#define DOTDOT 295 +#define YADAYADA 296 +#define FUNC0 297 +#define FUNC1 298 +#define FUNC 299 +#define UNIOP 300 +#define LSTOP 301 +#define RELOP 302 +#define EQOP 303 +#define MULOP 304 +#define ADDOP 305 +#define DOLSHARP 306 +#define DO 307 +#define HASHBRACK 308 +#define NOAMP 309 +#define LOCAL 310 +#define MY 311 +#define REQUIRE 312 +#define COLONATTR 313 +#define FORMLBRACK 314 +#define FORMRBRACK 315 +#define PREC_LOW 316 +#define DOROP 317 +#define OROP 318 +#define ANDOP 319 +#define NOTOP 320 +#define ASSIGNOP 321 +#define DORDOR 322 +#define OROR 323 +#define ANDAND 324 +#define BITOROP 325 +#define BITANDOP 326 +#define SHIFTOP 327 +#define MATCHOP 328 +#define REFGEN 329 +#define UMINUS 330 +#define POWOP 331 +#define POSTDEC 332 +#define POSTINC 333 +#define PREDEC 334 +#define PREINC 335 +#define ARROW 336 +#define PEG 337 +#ifdef PERL_IN_TOKE_C +static bool +S_is_opval_token(int type) { + switch (type) { + case FUNC0OP: + case FUNC0SUB: + case FUNCMETH: + case LSTOPSUB: + case METHOD: + case PLUGEXPR: + case PLUGSTMT: + case PMFUNC: + case PRIVATEREF: + case QWLIST: + case THING: + case UNIOPSUB: + case WORD: + return 1; + } + return 0; +} +#endif /* PERL_IN_TOKE_C */ #endif /* PERL_CORE */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { +/* Line 2049 of yacc.c */ + I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; must always be 1st union member) */ char *pval; @@ -218,13 +260,32 @@ typedef union YYSTYPE #ifdef PERL_MAD TOKEN* tkval; #endif -} -/* Line 1529 of yacc.c. */ - YYSTYPE; + + +/* Line 2049 of yacc.c */ +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif +#ifdef YYPARSE_PARAM +#if defined __STDC__ || defined __cplusplus +int yyparse (void *YYPARSE_PARAM); +#else +int yyparse (); +#endif +#else /* ! YYPARSE_PARAM */ +#if defined __STDC__ || defined __cplusplus +int yyparse (void); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ + +/* Generated from: + * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y + * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl + * ex: set ro: */