This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PUSH_MULTICALL: use SAVEOP()
[perl5.git] / perly.h
CommitLineData
e8fb9efb
NC
1/* -*- buffer-read-only: t -*-
2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3 This file is built by regen_perly.pl from perly.y.
4 Any changes made here will be lost!
5 */
6
d8118cad 7#ifdef PERL_CORE
08b3e84f 8/* A Bison parser, made by GNU Bison 2.7.12-4996. */
4e4da3ac 9
5d051ee0
DM
10/* Bison interface for Yacc-like parsers in C
11
08b3e84f 12 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
5d051ee0
DM
13
14 This program is free software: you can redistribute it and/or modify
0de566d7 15 it under the terms of the GNU General Public License as published by
5d051ee0
DM
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
0de566d7
DM
19 This program is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License for more details.
5d051ee0 23
0de566d7 24 You should have received a copy of the GNU General Public License
5d051ee0 25 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0de566d7 26
f05e27e5
DM
27/* As a special exception, you may create a larger work that contains
28 part or all of the Bison parser skeleton and distribute that work
29 under terms of your choice, so long as that work isn't itself a
30 parser generator using the skeleton or a modified version thereof
31 as a parser skeleton. Alternatively, if you modify or redistribute
32 the parser skeleton itself, you may (at your option) remove this
33 special exception, which will cause the skeleton and the resulting
34 Bison output files to be licensed under the GNU General Public
35 License without this special exception.
5d051ee0 36
f05e27e5
DM
37 This special exception was added by the Free Software Foundation in
38 version 2.2 of Bison. */
0de566d7 39
5d051ee0
DM
40/* Enabling traces. */
41#ifndef YYDEBUG
42# define YYDEBUG 0
43#endif
44#if YYDEBUG
45extern int yydebug;
46#endif
47
0de566d7
DM
48/* Tokens. */
49#ifndef YYTOKENTYPE
50# define YYTOKENTYPE
51 /* Put the tokens into the symbol table, so that GDB and other debuggers
52 know about them. */
53 enum yytokentype {
636def1f 54 GRAMPROG = 258,
78cdf107
Z
55 GRAMEXPR = 259,
56 GRAMBLOCK = 260,
57 GRAMBARESTMT = 261,
58 GRAMFULLSTMT = 262,
59 GRAMSTMTSEQ = 263,
60 WORD = 264,
61 METHOD = 265,
62 FUNCMETH = 266,
63 THING = 267,
64 PMFUNC = 268,
65 PRIVATEREF = 269,
66 QWLIST = 270,
7eb971ee
FC
67 FUNC0OP = 271,
68 FUNC0SUB = 272,
69 UNIOPSUB = 273,
70 LSTOPSUB = 274,
71 PLUGEXPR = 275,
72 PLUGSTMT = 276,
73 LABEL = 277,
74 FORMAT = 278,
75 SUB = 279,
76 ANONSUB = 280,
77 PACKAGE = 281,
78 USE = 282,
79 WHILE = 283,
80 UNTIL = 284,
81 IF = 285,
82 UNLESS = 286,
83 ELSE = 287,
84 ELSIF = 288,
85 CONTINUE = 289,
86 FOR = 290,
87 GIVEN = 291,
88 WHEN = 292,
89 DEFAULT = 293,
90 LOOPEX = 294,
91 DOTDOT = 295,
92 YADAYADA = 296,
93 FUNC0 = 297,
94 FUNC1 = 298,
95 FUNC = 299,
96 UNIOP = 300,
97 LSTOP = 301,
98 RELOP = 302,
99 EQOP = 303,
100 MULOP = 304,
101 ADDOP = 305,
102 DOLSHARP = 306,
103 DO = 307,
104 HASHBRACK = 308,
105 NOAMP = 309,
106 LOCAL = 310,
107 MY = 311,
8d2a5fb4
FC
108 REQUIRE = 312,
109 COLONATTR = 313,
110 FORMLBRACK = 314,
111 FORMRBRACK = 315,
112 PREC_LOW = 316,
113 DOROP = 317,
114 OROP = 318,
115 ANDOP = 319,
116 NOTOP = 320,
117 ASSIGNOP = 321,
118 DORDOR = 322,
119 OROR = 323,
120 ANDAND = 324,
121 BITOROP = 325,
122 BITANDOP = 326,
123 SHIFTOP = 327,
124 MATCHOP = 328,
125 REFGEN = 329,
126 UMINUS = 330,
127 POWOP = 331,
cc624add
FC
128 POSTJOIN = 332,
129 POSTDEC = 333,
130 POSTINC = 334,
131 PREDEC = 335,
132 PREINC = 336,
b5bbe64a 133 ARROW = 337
0de566d7
DM
134 };
135#endif
5d051ee0 136
20515881 137/* Tokens. */
636def1f 138#define GRAMPROG 258
78cdf107
Z
139#define GRAMEXPR 259
140#define GRAMBLOCK 260
141#define GRAMBARESTMT 261
142#define GRAMFULLSTMT 262
143#define GRAMSTMTSEQ 263
144#define WORD 264
145#define METHOD 265
146#define FUNCMETH 266
147#define THING 267
148#define PMFUNC 268
149#define PRIVATEREF 269
150#define QWLIST 270
7eb971ee
FC
151#define FUNC0OP 271
152#define FUNC0SUB 272
153#define UNIOPSUB 273
154#define LSTOPSUB 274
155#define PLUGEXPR 275
156#define PLUGSTMT 276
157#define LABEL 277
158#define FORMAT 278
159#define SUB 279
160#define ANONSUB 280
161#define PACKAGE 281
162#define USE 282
163#define WHILE 283
164#define UNTIL 284
165#define IF 285
166#define UNLESS 286
167#define ELSE 287
168#define ELSIF 288
169#define CONTINUE 289
170#define FOR 290
171#define GIVEN 291
172#define WHEN 292
173#define DEFAULT 293
174#define LOOPEX 294
175#define DOTDOT 295
176#define YADAYADA 296
177#define FUNC0 297
178#define FUNC1 298
179#define FUNC 299
180#define UNIOP 300
181#define LSTOP 301
182#define RELOP 302
183#define EQOP 303
184#define MULOP 304
185#define ADDOP 305
186#define DOLSHARP 306
187#define DO 307
188#define HASHBRACK 308
189#define NOAMP 309
190#define LOCAL 310
191#define MY 311
8d2a5fb4
FC
192#define REQUIRE 312
193#define COLONATTR 313
194#define FORMLBRACK 314
195#define FORMRBRACK 315
196#define PREC_LOW 316
197#define DOROP 317
198#define OROP 318
199#define ANDOP 319
200#define NOTOP 320
201#define ASSIGNOP 321
202#define DORDOR 322
203#define OROR 323
204#define ANDAND 324
205#define BITOROP 325
206#define BITANDOP 326
207#define SHIFTOP 327
208#define MATCHOP 328
209#define REFGEN 329
210#define UMINUS 330
211#define POWOP 331
cc624add
FC
212#define POSTJOIN 332
213#define POSTDEC 333
214#define POSTINC 334
215#define PREDEC 335
216#define PREINC 336
217#define ARROW 337
d8118cad 218
30d9c59b 219
6c7ae946
FC
220#ifdef PERL_IN_TOKE_C
221static bool
222S_is_opval_token(int type) {
223 switch (type) {
224 case FUNC0OP:
225 case FUNC0SUB:
226 case FUNCMETH:
227 case LSTOPSUB:
228 case METHOD:
229 case PLUGEXPR:
230 case PLUGSTMT:
231 case PMFUNC:
232 case PRIVATEREF:
233 case QWLIST:
234 case THING:
235 case UNIOPSUB:
236 case WORD:
237 return 1;
238 }
239 return 0;
240}
241#endif /* PERL_IN_TOKE_C */
0de566d7 242#endif /* PERL_CORE */
f05e27e5
DM
243#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
244typedef union YYSTYPE
245{
08b3e84f 246/* Line 2053 of yacc.c */
5d051ee0 247
d5c6462e
DM
248 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
249 must always be 1st union member) */
79072805
LW
250 char *pval;
251 OP *opval;
252 GV *gvval;
5d051ee0
DM
253
254
08b3e84f 255/* Line 2053 of yacc.c */
5d051ee0
DM
256} YYSTYPE;
257# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
258# define yystype YYSTYPE /* obsolescent; will be withdrawn */
259# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
260#endif
261
262
5d051ee0
DM
263#ifdef YYPARSE_PARAM
264#if defined __STDC__ || defined __cplusplus
265int yyparse (void *YYPARSE_PARAM);
266#else
267int yyparse ();
268#endif
269#else /* ! YYPARSE_PARAM */
270#if defined __STDC__ || defined __cplusplus
271int yyparse (void);
272#else
273int yyparse ();
274#endif
275#endif /* ! YYPARSE_PARAM */
0de566d7 276
e8fb9efb 277
c24c946d 278/* Generated from:
08b3e84f 279 * f6b41138394461b75dff7cc97a55c3e6682571cf7e66b977351d30f1534831b2 perly.y
b5bbe64a 280 * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
c24c946d 281 * ex: set ro: */