This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new perldelta
[perl5.git] / perly.h
diff --git a/perly.h b/perly.h
index cd0e1fb..751b13b 100644 (file)
--- a/perly.h
+++ b/perly.h
@@ -1,23 +1,23 @@
-/* -*- 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  20003
+#define PERL_BISON_VERSION  30003
 
 #ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 3.3.  */
 
-/* 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, 2018-2019 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
@@ -25,9 +25,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 <http://www.gnu.org/licenses/>.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
-/* Tokens.  */
+/* 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
+#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,
-     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:
@@ -231,7 +206,6 @@ S_is_opval_token(int type) {
     case QWLIST:
     case THING:
     case UNIOPSUB:
-    case WORD:
        return 1;
     }
     return 0;
@@ -239,25 +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
 {
+
     I32        ival; /* __DEFAULT__ (marker for regen_perly.pl;
                                must always be 1st union member) */
-    char *pval;
+    void *pval;
     OP *opval;
     GV *gvval;
-}
-/* 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:
- * 0e541d3dbc868833736c1ead2e604316bea18db0d8a011efbabaa89bc12eee70 perly.y
- * 3e1dff60f26df8933d7aed0c0e87177a0f022c14800c0707eb62a7db4196ac98 regen_perly.pl
- * ex: set ro: */
+ * ae786f28e8bc303471bcc03fc82e93a348d603252cc8c164a96cc0c26af78217 perly.y
+ * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
+ * ex: set ro ft=c: */