-#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.0. */
+/* -*- 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!
+ */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+#ifdef PERL_CORE
+/* A Bison parser, made by GNU Bison 2.7. */
- 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., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* 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. */
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
/* 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,
- LOOPEX = 281,
- DOTDOT = 282,
- FUNC0 = 283,
- FUNC1 = 284,
- FUNC = 285,
- UNIOP = 286,
- LSTOP = 287,
- RELOP = 288,
- EQOP = 289,
- MULOP = 290,
- ADDOP = 291,
- DOLSHARP = 292,
- DO = 293,
- HASHBRACK = 294,
- NOAMP = 295,
- LOCAL = 296,
- MY = 297,
- MYSUB = 298,
- COLONATTR = 299,
- PREC_LOW = 300,
- DOROP = 301,
- OROP = 302,
- ANDOP = 303,
- NOTOP = 304,
- ASSIGNOP = 305,
- DORDOR = 306,
- OROR = 307,
- ANDAND = 308,
- BITOROP = 309,
- BITANDOP = 310,
- SHIFTOP = 311,
- MATCHOP = 312,
- REFGEN = 313,
- UMINUS = 314,
- POWOP = 315,
- POSTDEC = 316,
- POSTINC = 317,
- PREDEC = 318,
- PREINC = 319,
- ARROW = 320
+ 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
};
#endif
-#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 LOOPEX 281
-#define DOTDOT 282
-#define FUNC0 283
-#define FUNC1 284
-#define FUNC 285
-#define UNIOP 286
-#define LSTOP 287
-#define RELOP 288
-#define EQOP 289
-#define MULOP 290
-#define ADDOP 291
-#define DOLSHARP 292
-#define DO 293
-#define HASHBRACK 294
-#define NOAMP 295
-#define LOCAL 296
-#define MY 297
-#define MYSUB 298
-#define COLONATTR 299
-#define PREC_LOW 300
-#define DOROP 301
-#define OROP 302
-#define ANDOP 303
-#define NOTOP 304
-#define ASSIGNOP 305
-#define DORDOR 306
-#define OROR 307
-#define ANDAND 308
-#define BITOROP 309
-#define BITANDOP 310
-#define SHIFTOP 311
-#define MATCHOP 312
-#define REFGEN 313
-#define UMINUS 314
-#define POWOP 315
-#define POSTDEC 316
-#define POSTINC 317
-#define PREDEC 318
-#define PREINC 319
-#define ARROW 320
-
+/* 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
+#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)
-#line 30 "perly.y"
-typedef union YYSTYPE {
- I32 ival;
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+/* Line 2058 of yacc.c */
+
+ I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
+ must always be 1st union member) */
char *pval;
OP *opval;
GV *gvval;
+
+
+/* Line 2058 of yacc.c */
} YYSTYPE;
-/* Line 1318 of yacc.c. */
-#line 174 "perly.h"
+# 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:
+ * a0bc910627eeeffe8245b9a63dd97238e2e6b27b544be36b37d078cf6aba699b perly.y
+ * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
+ * ex: set ro: */