This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
embed.fnc: Add more extensive comments
[perl5.git]
/
perly.h
diff --git
a/perly.h
b/perly.h
index
eccc250
..
8e9d4c3
100644
(file)
--- a/
perly.h
+++ b/
perly.h
@@
-4,18
+4,19
@@
Any changes made here will be lost!
*/
Any changes made here will be lost!
*/
+#define PERL_BISON_VERSION 30000
+
#ifdef PERL_CORE
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison
2.3
. */
+/* A Bison parser, made by GNU Bison
3.0.5
. */
-/*
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 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
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
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-23,9
+24,7
@@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
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
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@
-40,188
+39,114
@@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-/* Tokens. */
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
#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
,
+
BAREWORD = 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
,
+
SIGSUB = 280
,
+
ANONSUB = 281
,
+
ANON_SIGSUB = 282
,
+
PACKAGE = 283
,
+
USE = 284
,
+
WHILE = 285
,
+
UNTIL = 286
,
+
IF = 287
,
+
UNLESS = 288
,
+
ELSE = 289
,
+
ELSIF = 290
,
+
CONTINUE = 291
,
+
FOR = 292
,
+
GIVEN = 293
,
+
WHEN = 294
,
+
DEFAULT = 295
,
+
LOOPEX = 296
,
+
DOTDOT = 297
,
+
YADAYADA = 298
,
+
FUNC0 = 299
,
+
FUNC1 = 300
,
+
FUNC = 301
,
+
UNIOP = 302
,
+
LSTOP = 303
,
+
RELOP = 304
,
+
EQOP = 305
,
+
MULOP = 306
,
+
ADDOP = 307
,
+
DOLSHARP = 308
,
+
DO = 309
,
+
HASHBRACK = 310
,
+
NOAMP = 311
,
+
LOCAL = 312
,
+
MY = 313
,
+
REQUIRE = 314
,
+
COLONATTR = 315
,
+
FORMLBRACK = 316
,
+
FORMRBRACK = 317
,
+
PREC_LOW = 318
,
+
OROP = 319
,
+
DOROP = 320
,
+
ANDOP = 321
,
+
NOTOP = 322
,
+
ASSIGNOP = 323
,
+
OROR = 324
,
+
DORDOR = 325
,
+
ANDAND = 326
,
+
BITOROP = 327
,
+
BITANDOP = 328
,
+
SHIFTOP = 329
,
+
MATCHOP = 330
,
+
UMINUS = 331
,
+
REFGEN = 332
,
+
POWOP = 333
,
+
PREINC = 334
,
+
PREDEC = 335
,
+
POSTINC = 336
,
+
POSTDEC = 337
,
+
POSTJOIN = 338
,
+ ARROW = 339
+ };
#endif
#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) {
#ifdef PERL_IN_TOKE_C
static bool
S_is_opval_token(int type) {
switch (type) {
+ case BAREWORD:
case FUNC0OP:
case FUNC0SUB:
case FUNCMETH:
case FUNC0OP:
case FUNC0SUB:
case FUNCMETH:
+ case LABEL:
case LSTOPSUB:
case METHOD:
case PLUGEXPR:
case LSTOPSUB:
case METHOD:
case PLUGEXPR:
@@
-231,7
+156,6
@@
S_is_opval_token(int type) {
case QWLIST:
case THING:
case UNIOPSUB:
case QWLIST:
case THING:
case UNIOPSUB:
- case WORD:
return 1;
}
return 0;
return 1;
}
return 0;
@@
-239,35
+163,29
@@
S_is_opval_token(int type) {
#endif /* PERL_IN_TOKE_C */
#endif /* PERL_CORE */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
#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;
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_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
#endif
#endif
+int yyparse (void);
+
/* Generated from:
/* Generated from:
- *
3e01d5213d0f6a4dd26b90cfb22baf8eaf3c89d8ae0025fdc9e06ec1f871e826
perly.y
- *
4a3ced51fe6585f6ec59e65e1ffd74bc976c498b0e6992eaab337219fee72e51
regen_perly.pl
+ *
7aa97cfabf5b87a95ed263373e76c7af6d7e075e83d12e84ccdca9690c15a68d
perly.y
+ *
b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306
regen_perly.pl
* ex: set ro: */
* ex: set ro: */