This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_BRACE_CLOSE
[perl5.git] / perly.h
diff --git a/perly.h b/perly.h
index c531e48..b91de73 100644 (file)
--- a/perly.h
+++ b/perly.h
@@ -4,18 +4,20 @@
    Any changes made here will be lost!
  */
 
+#define PERL_BISON_VERSION  30005
+
 #ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 3.5.1.  */
 
-/* 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-2020 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 +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,
-     MYSUB = 312,
-     REQUIRE = 313,
-     COLONATTR = 314,
-     FORMLBRACK = 315,
-     FORMRBRACK = 316,
-     PREC_LOW = 317,
-     DOROP = 318,
-     OROP = 319,
-     ANDOP = 320,
-     NOTOP = 321,
-     ASSIGNOP = 322,
-     DORDOR = 323,
-     OROR = 324,
-     ANDAND = 325,
-     BITOROP = 326,
-     BITANDOP = 327,
-     SHIFTOP = 328,
-     MATCHOP = 329,
-     REFGEN = 330,
-     UMINUS = 331,
-     POWOP = 332,
-     POSTDEC = 333,
-     POSTINC = 334,
-     PREDEC = 335,
-     PREINC = 336,
-     ARROW = 337,
-     PEG = 338
-   };
+  enum yytokentype
+  {
+    GRAMPROG = 258,
+    GRAMEXPR = 259,
+    GRAMBLOCK = 260,
+    GRAMBARESTMT = 261,
+    GRAMFULLSTMT = 262,
+    GRAMSTMTSEQ = 263,
+    GRAMSUBSIGNATURE = 264,
+    PERLY_BRACE_OPEN = 265,
+    PERLY_BRACE_CLOSE = 266,
+    BAREWORD = 267,
+    METHOD = 268,
+    FUNCMETH = 269,
+    THING = 270,
+    PMFUNC = 271,
+    PRIVATEREF = 272,
+    QWLIST = 273,
+    FUNC0OP = 274,
+    FUNC0SUB = 275,
+    UNIOPSUB = 276,
+    LSTOPSUB = 277,
+    PLUGEXPR = 278,
+    PLUGSTMT = 279,
+    LABEL = 280,
+    FORMAT = 281,
+    SUB = 282,
+    SIGSUB = 283,
+    ANONSUB = 284,
+    ANON_SIGSUB = 285,
+    PACKAGE = 286,
+    USE = 287,
+    WHILE = 288,
+    UNTIL = 289,
+    IF = 290,
+    UNLESS = 291,
+    ELSE = 292,
+    ELSIF = 293,
+    CONTINUE = 294,
+    FOR = 295,
+    GIVEN = 296,
+    WHEN = 297,
+    DEFAULT = 298,
+    LOOPEX = 299,
+    DOTDOT = 300,
+    YADAYADA = 301,
+    FUNC0 = 302,
+    FUNC1 = 303,
+    FUNC = 304,
+    UNIOP = 305,
+    LSTOP = 306,
+    MULOP = 307,
+    ADDOP = 308,
+    DOLSHARP = 309,
+    DO = 310,
+    HASHBRACK = 311,
+    NOAMP = 312,
+    LOCAL = 313,
+    MY = 314,
+    REQUIRE = 315,
+    COLONATTR = 316,
+    FORMLBRACK = 317,
+    FORMRBRACK = 318,
+    SUBLEXSTART = 319,
+    SUBLEXEND = 320,
+    PREC_LOW = 321,
+    OROP = 322,
+    DOROP = 323,
+    ANDOP = 324,
+    NOTOP = 325,
+    ASSIGNOP = 326,
+    OROR = 327,
+    DORDOR = 328,
+    ANDAND = 329,
+    BITOROP = 330,
+    BITANDOP = 331,
+    CHEQOP = 332,
+    NCEQOP = 333,
+    CHRELOP = 334,
+    NCRELOP = 335,
+    SHIFTOP = 336,
+    MATCHOP = 337,
+    UMINUS = 338,
+    REFGEN = 339,
+    POWOP = 340,
+    PREINC = 341,
+    PREDEC = 342,
+    POSTINC = 343,
+    POSTDEC = 344,
+    POSTJOIN = 345,
+    ARROW = 346
+  };
 #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 MYSUB 312
-#define REQUIRE 313
-#define COLONATTR 314
-#define FORMLBRACK 315
-#define FORMRBRACK 316
-#define PREC_LOW 317
-#define DOROP 318
-#define OROP 319
-#define ANDOP 320
-#define NOTOP 321
-#define ASSIGNOP 322
-#define DORDOR 323
-#define OROR 324
-#define ANDAND 325
-#define BITOROP 326
-#define BITANDOP 327
-#define SHIFTOP 328
-#define MATCHOP 329
-#define REFGEN 330
-#define UMINUS 331
-#define POWOP 332
-#define POSTDEC 333
-#define POSTINC 334
-#define PREDEC 335
-#define PREINC 336
-#define ARROW 337
-#define PEG 338
-
-
-
 
+/* 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 PLUGEXPR:
@@ -231,7 +167,6 @@ S_is_opval_token(int type) {
     case QWLIST:
     case THING:
     case UNIOPSUB:
-    case WORD:
        return 1;
     }
     return 0;
@@ -239,35 +174,28 @@ 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;
     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:
- * d37e00fcfb1737df464a95af8f4a92c2518ee5b69cd05ffc577f253313aa81c3 perly.y
- * 4a3ced51fe6585f6ec59e65e1ffd74bc976c498b0e6992eaab337219fee72e51 regen_perly.pl
+ * 6c3ea5db928a29814d45a0242b73172509984d1db7abce64794b630c401219d7 perly.y
+ * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
  * ex: set ro: */