X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/bef74c256c389edeb1dfa9c30dc71e00d17476eb..HEAD:/perly.h diff --git a/perly.h b/perly.h index acbdaae..751b13b 100644 --- a/perly.h +++ b/perly.h @@ -1,28 +1,29 @@ -/* -*- buffer-read-only: t -*- +/* -*- mode: 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! */ -#define PERL_BISON_VERSION 20007 +#define PERL_BISON_VERSION 30003 #ifdef PERL_CORE -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 3.3. */ /* Bison interface for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 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 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, see . */ @@ -35,11 +36,14 @@ 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. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif @@ -47,187 +51,154 @@ extern int yydebug; #endif -/* Tokens. */ +/* 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, - 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, - POSTJOIN = 332, - POSTDEC = 333, - POSTINC = 334, - PREDEC = 335, - PREINC = 336, - ARROW = 337 - }; + enum yytokentype + { + GRAMPROG = 258, + GRAMEXPR = 259, + GRAMBLOCK = 260, + GRAMBARESTMT = 261, + GRAMFULLSTMT = 262, + GRAMSTMTSEQ = 263, + GRAMSUBSIGNATURE = 264, + PERLY_AMPERSAND = 265, + PERLY_BRACE_OPEN = 266, + PERLY_BRACE_CLOSE = 267, + PERLY_BRACKET_OPEN = 268, + PERLY_BRACKET_CLOSE = 269, + PERLY_COMMA = 270, + PERLY_DOLLAR = 271, + PERLY_DOT = 272, + PERLY_EQUAL_SIGN = 273, + PERLY_MINUS = 274, + PERLY_PERCENT_SIGN = 275, + PERLY_PLUS = 276, + PERLY_SEMICOLON = 277, + PERLY_SLASH = 278, + PERLY_SNAIL = 279, + PERLY_STAR = 280, + KW_FORMAT = 281, + KW_PACKAGE = 282, + KW_CLASS = 283, + KW_LOCAL = 284, + KW_MY = 285, + KW_FIELD = 286, + KW_IF = 287, + KW_ELSE = 288, + KW_ELSIF = 289, + KW_UNLESS = 290, + KW_FOR = 291, + KW_UNTIL = 292, + KW_WHILE = 293, + KW_CONTINUE = 294, + KW_GIVEN = 295, + KW_WHEN = 296, + KW_DEFAULT = 297, + KW_TRY = 298, + KW_CATCH = 299, + KW_FINALLY = 300, + KW_DEFER = 301, + KW_REQUIRE = 302, + KW_DO = 303, + KW_USE_or_NO = 304, + KW_SUB_named = 305, + KW_SUB_named_sig = 306, + KW_SUB_anon = 307, + KW_SUB_anon_sig = 308, + KW_METHOD_named = 309, + KW_METHOD_anon = 310, + BAREWORD = 311, + METHCALL0 = 312, + METHCALL = 313, + THING = 314, + PMFUNC = 315, + PRIVATEREF = 316, + QWLIST = 317, + FUNC0OP = 318, + FUNC0SUB = 319, + UNIOPSUB = 320, + LSTOPSUB = 321, + PLUGEXPR = 322, + PLUGSTMT = 323, + LABEL = 324, + LOOPEX = 325, + DOTDOT = 326, + YADAYADA = 327, + FUNC0 = 328, + FUNC1 = 329, + FUNC = 330, + UNIOP = 331, + LSTOP = 332, + POWOP = 333, + MULOP = 334, + ADDOP = 335, + DOLSHARP = 336, + HASHBRACK = 337, + NOAMP = 338, + COLONATTR = 339, + FORMLBRACK = 340, + FORMRBRACK = 341, + SUBLEXSTART = 342, + SUBLEXEND = 343, + PHASER = 344, + PREC_LOW = 345, + PLUGIN_LOW_OP = 346, + OROP = 347, + PLUGIN_LOGICAL_OR_LOW_OP = 348, + ANDOP = 349, + PLUGIN_LOGICAL_AND_LOW_OP = 350, + NOTOP = 351, + ASSIGNOP = 352, + PLUGIN_ASSIGN_OP = 353, + PERLY_QUESTION_MARK = 354, + PERLY_COLON = 355, + OROR = 356, + DORDOR = 357, + PLUGIN_LOGICAL_OR_OP = 358, + ANDAND = 359, + PLUGIN_LOGICAL_AND_OP = 360, + BITOROP = 361, + BITANDOP = 362, + CHEQOP = 363, + NCEQOP = 364, + CHRELOP = 365, + NCRELOP = 366, + PLUGIN_REL_OP = 367, + SHIFTOP = 368, + PLUGIN_ADD_OP = 369, + PLUGIN_MUL_OP = 370, + MATCHOP = 371, + PERLY_EXCLAMATION_MARK = 372, + PERLY_TILDE = 373, + UMINUS = 374, + REFGEN = 375, + PLUGIN_POW_OP = 376, + PREINC = 377, + PREDEC = 378, + POSTINC = 379, + POSTDEC = 380, + POSTJOIN = 381, + PLUGIN_HIGH_OP = 382, + ARROW = 383, + PERLY_PAREN_CLOSE = 384, + PERLY_PAREN_OPEN = 385 + }; #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 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 POSTJOIN 332 -#define POSTDEC 333 -#define POSTINC 334 -#define PREDEC 335 -#define PREINC 336 -#define ARROW 337 - - +/* 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 LABEL: case LSTOPSUB: - case METHOD: + case METHCALL: + case METHCALL0: case PLUGEXPR: case PLUGSTMT: case PMFUNC: @@ -235,7 +206,6 @@ S_is_opval_token(int type) { case QWLIST: case THING: case UNIOPSUB: - case WORD: return 1; } return 0; @@ -243,41 +213,29 @@ S_is_opval_token(int type) { #endif /* PERL_IN_TOKE_C */ #endif /* PERL_CORE */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 2058 of yacc.c */ I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; must always be 1st union member) */ - char *pval; + void *pval; OP *opval; GV *gvval; +}; -/* Line 2058 of yacc.c */ -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 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: - * 703ebd267cf8ca45f9dee9bc0f4b21511117a0c1dca1c8bc9438ce91950217ae perly.y - * a4923588f219644801577c514014847e1e5240f49413fa3b89d3306fa4874d07 regen_perly.pl - * ex: set ro: */ + * ae786f28e8bc303471bcc03fc82e93a348d603252cc8c164a96cc0c26af78217 perly.y + * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl + * ex: set ro ft=c: */