This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #68560] calling closure prototype SEGVs
[perl5.git] / perly.h
diff --git a/perly.h b/perly.h
index 38bad2a..95db744 100644 (file)
--- a/perly.h
+++ b/perly.h
@@ -1,8 +1,10 @@
 #ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made by GNU Bison 2.3.  */
 
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   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
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   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.  */
 
 /* Tokens.  */
 #ifndef YYTOKENTYPE
    /* Put the tokens into the symbol table, so that GDB and other debuggers
       know about them.  */
    enum yytokentype {
-     WORD = 258,
-     METHOD = 259,
-     FUNCMETH = 260,
-     THING = 261,
-     PMFUNC = 262,
-     PRIVATEREF = 263,
-     FUNC0SUB = 264,
-     UNIOPSUB = 265,
-     LSTOPSUB = 266,
-     LABEL = 267,
-     FORMAT = 268,
-     SUB = 269,
-     ANONSUB = 270,
-     PACKAGE = 271,
-     USE = 272,
-     WHILE = 273,
-     UNTIL = 274,
-     IF = 275,
-     UNLESS = 276,
-     ELSE = 277,
-     ELSIF = 278,
-     CONTINUE = 279,
-     FOR = 280,
-     GIVEN = 281,
-     WHEN = 282,
-     DEFAULT = 283,
-     LOOPEX = 284,
-     DOTDOT = 285,
-     FUNC0 = 286,
-     FUNC1 = 287,
-     FUNC = 288,
-     UNIOP = 289,
-     LSTOP = 290,
-     RELOP = 291,
-     EQOP = 292,
-     MULOP = 293,
-     ADDOP = 294,
-     DOLSHARP = 295,
-     DO = 296,
-     HASHBRACK = 297,
-     NOAMP = 298,
-     LOCAL = 299,
-     MY = 300,
-     MYSUB = 301,
-     REQUIRE = 302,
-     COLONATTR = 303,
-     PREC_LOW = 304,
-     DOROP = 305,
-     OROP = 306,
-     ANDOP = 307,
-     NOTOP = 308,
-     ASSIGNOP = 309,
-     DORDOR = 310,
-     OROR = 311,
-     ANDAND = 312,
-     BITOROP = 313,
-     BITANDOP = 314,
-     SHIFTOP = 315,
-     MATCHOP = 316,
-     REFGEN = 317,
-     UMINUS = 318,
-     POWOP = 319,
-     POSTDEC = 320,
-     POSTINC = 321,
-     PREDEC = 322,
-     PREINC = 323,
-     ARROW = 324,
-     PEG = 325
+     GRAMPROG = 258,
+     GRAMBLOCK = 259,
+     GRAMBARESTMT = 260,
+     GRAMFULLSTMT = 261,
+     GRAMSTMTSEQ = 262,
+     WORD = 263,
+     METHOD = 264,
+     FUNCMETH = 265,
+     THING = 266,
+     PMFUNC = 267,
+     PRIVATEREF = 268,
+     QWLIST = 269,
+     FUNC0SUB = 270,
+     UNIOPSUB = 271,
+     LSTOPSUB = 272,
+     PLUGEXPR = 273,
+     PLUGSTMT = 274,
+     LABEL = 275,
+     FORMAT = 276,
+     SUB = 277,
+     ANONSUB = 278,
+     PACKAGE = 279,
+     USE = 280,
+     WHILE = 281,
+     UNTIL = 282,
+     IF = 283,
+     UNLESS = 284,
+     ELSE = 285,
+     ELSIF = 286,
+     CONTINUE = 287,
+     FOR = 288,
+     GIVEN = 289,
+     WHEN = 290,
+     DEFAULT = 291,
+     LOOPEX = 292,
+     DOTDOT = 293,
+     YADAYADA = 294,
+     FUNC0 = 295,
+     FUNC1 = 296,
+     FUNC = 297,
+     UNIOP = 298,
+     LSTOP = 299,
+     RELOP = 300,
+     EQOP = 301,
+     MULOP = 302,
+     ADDOP = 303,
+     DOLSHARP = 304,
+     DO = 305,
+     HASHBRACK = 306,
+     NOAMP = 307,
+     LOCAL = 308,
+     MY = 309,
+     MYSUB = 310,
+     REQUIRE = 311,
+     COLONATTR = 312,
+     PREC_LOW = 313,
+     DOROP = 314,
+     OROP = 315,
+     ANDOP = 316,
+     NOTOP = 317,
+     ASSIGNOP = 318,
+     DORDOR = 319,
+     OROR = 320,
+     ANDAND = 321,
+     BITOROP = 322,
+     BITANDOP = 323,
+     SHIFTOP = 324,
+     MATCHOP = 325,
+     REFGEN = 326,
+     UMINUS = 327,
+     POWOP = 328,
+     POSTDEC = 329,
+     POSTINC = 330,
+     PREDEC = 331,
+     PREINC = 332,
+     ARROW = 333,
+     PEG = 334
    };
 #endif
 /* Tokens.  */
-#define WORD 258
-#define METHOD 259
-#define FUNCMETH 260
-#define THING 261
-#define PMFUNC 262
-#define PRIVATEREF 263
-#define FUNC0SUB 264
-#define UNIOPSUB 265
-#define LSTOPSUB 266
-#define LABEL 267
-#define FORMAT 268
-#define SUB 269
-#define ANONSUB 270
-#define PACKAGE 271
-#define USE 272
-#define WHILE 273
-#define UNTIL 274
-#define IF 275
-#define UNLESS 276
-#define ELSE 277
-#define ELSIF 278
-#define CONTINUE 279
-#define FOR 280
-#define GIVEN 281
-#define WHEN 282
-#define DEFAULT 283
-#define LOOPEX 284
-#define DOTDOT 285
-#define FUNC0 286
-#define FUNC1 287
-#define FUNC 288
-#define UNIOP 289
-#define LSTOP 290
-#define RELOP 291
-#define EQOP 292
-#define MULOP 293
-#define ADDOP 294
-#define DOLSHARP 295
-#define DO 296
-#define HASHBRACK 297
-#define NOAMP 298
-#define LOCAL 299
-#define MY 300
-#define MYSUB 301
-#define REQUIRE 302
-#define COLONATTR 303
-#define PREC_LOW 304
-#define DOROP 305
-#define OROP 306
-#define ANDOP 307
-#define NOTOP 308
-#define ASSIGNOP 309
-#define DORDOR 310
-#define OROR 311
-#define ANDAND 312
-#define BITOROP 313
-#define BITANDOP 314
-#define SHIFTOP 315
-#define MATCHOP 316
-#define REFGEN 317
-#define UMINUS 318
-#define POWOP 319
-#define POSTDEC 320
-#define POSTINC 321
-#define PREDEC 322
-#define PREINC 323
-#define ARROW 324
-#define PEG 325
+#define GRAMPROG 258
+#define GRAMBLOCK 259
+#define GRAMBARESTMT 260
+#define GRAMFULLSTMT 261
+#define GRAMSTMTSEQ 262
+#define WORD 263
+#define METHOD 264
+#define FUNCMETH 265
+#define THING 266
+#define PMFUNC 267
+#define PRIVATEREF 268
+#define QWLIST 269
+#define FUNC0SUB 270
+#define UNIOPSUB 271
+#define LSTOPSUB 272
+#define PLUGEXPR 273
+#define PLUGSTMT 274
+#define LABEL 275
+#define FORMAT 276
+#define SUB 277
+#define ANONSUB 278
+#define PACKAGE 279
+#define USE 280
+#define WHILE 281
+#define UNTIL 282
+#define IF 283
+#define UNLESS 284
+#define ELSE 285
+#define ELSIF 286
+#define CONTINUE 287
+#define FOR 288
+#define GIVEN 289
+#define WHEN 290
+#define DEFAULT 291
+#define LOOPEX 292
+#define DOTDOT 293
+#define YADAYADA 294
+#define FUNC0 295
+#define FUNC1 296
+#define FUNC 297
+#define UNIOP 298
+#define LSTOP 299
+#define RELOP 300
+#define EQOP 301
+#define MULOP 302
+#define ADDOP 303
+#define DOLSHARP 304
+#define DO 305
+#define HASHBRACK 306
+#define NOAMP 307
+#define LOCAL 308
+#define MY 309
+#define MYSUB 310
+#define REQUIRE 311
+#define COLONATTR 312
+#define PREC_LOW 313
+#define DOROP 314
+#define OROP 315
+#define ANDOP 316
+#define NOTOP 317
+#define ASSIGNOP 318
+#define DORDOR 319
+#define OROR 320
+#define ANDAND 321
+#define BITOROP 322
+#define BITANDOP 323
+#define SHIFTOP 324
+#define MATCHOP 325
+#define REFGEN 326
+#define UMINUS 327
+#define POWOP 328
+#define POSTDEC 329
+#define POSTINC 330
+#define PREDEC 331
+#define PREINC 332
+#define ARROW 333
+#define PEG 334
 
 
 
 
 #endif /* PERL_CORE */
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-typedef union YYSTYPE {
-    I32        ival;
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef 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
-    OP *opval;
-    GV *gvval;
-} YYSTYPE;
-/* Line 1447 of yacc.c.  */
+}
+/* Line 1489 of yacc.c.  */
+       YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -192,5 +230,3 @@ typedef union YYSTYPE {
 
 
 
-
-