This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Provide file and subroutine-level documentation in POD format.
[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
7b1f040f 8/* A Bison parser, made by GNU Bison 2.6.1. */
4e4da3ac 9
7b1f040f
DM
10/* Bison interface for Yacc-like parsers in C
11
12 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
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
7b1f040f
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.
7b1f040f 23
0de566d7 24 You should have received a copy of the GNU General Public License
7b1f040f 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.
7b1f040f 36
f05e27e5
DM
37 This special exception was added by the Free Software Foundation in
38 version 2.2 of Bison. */
0de566d7 39
7b1f040f
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,
128 POSTDEC = 332,
129 POSTINC = 333,
130 PREDEC = 334,
131 PREINC = 335,
132 ARROW = 336,
133 PEG = 337
0de566d7
DM
134 };
135#endif
7b1f040f 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
212#define POSTDEC 332
213#define POSTINC 333
214#define PREDEC 334
215#define PREINC 335
216#define ARROW 336
217#define PEG 337
0de566d7 218
d8118cad 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{
7b1f040f
DM
246/* Line 2049 of yacc.c */
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;
f05e27e5
DM
253#ifdef PERL_IN_MADLY_C
254 TOKEN* p_tkval;
123d08c9 255 TOKEN* i_tkval;
f05e27e5
DM
256#else
257 char *p_tkval;
123d08c9
DM
258 I32 i_tkval;
259#endif
260#ifdef PERL_MAD
261 TOKEN* tkval;
f05e27e5 262#endif
7b1f040f
DM
263
264
265/* Line 2049 of yacc.c */
266} YYSTYPE;
267# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
268# define yystype YYSTYPE /* obsolescent; will be withdrawn */
269# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
270#endif
271
272
7b1f040f
DM
273#ifdef YYPARSE_PARAM
274#if defined __STDC__ || defined __cplusplus
275int yyparse (void *YYPARSE_PARAM);
276#else
277int yyparse ();
278#endif
279#else /* ! YYPARSE_PARAM */
280#if defined __STDC__ || defined __cplusplus
281int yyparse (void);
282#else
283int yyparse ();
284#endif
285#endif /* ! YYPARSE_PARAM */
0de566d7 286
e8fb9efb 287
c24c946d 288/* Generated from:
5504e6cf 289 * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
7b1f040f 290 * 112a738a076e5c6a33dc63b7b99e09240ef32ab644bd350d4b78f83bc3f96f1d regen_perly.pl
c24c946d 291 * ex: set ro: */