This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge the sfio removal to blead.
[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
8c74b414 8/* A Bison parser, made by GNU Bison 2.7.12-4996. */
4e4da3ac 9
8c74b414
DIM
10/* Bison interface for Yacc-like parsers in C
11
12 Copyright (C) 1984, 1989-1990, 2000-2013 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
8c74b414
DIM
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.
8c74b414 23
0de566d7 24 You should have received a copy of the GNU General Public License
8c74b414 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.
8c74b414 36
f05e27e5
DM
37 This special exception was added by the Free Software Foundation in
38 version 2.2 of Bison. */
0de566d7 39
8c74b414
DIM
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,
133 ARROW = 337,
134 PEG = 338
0de566d7
DM
135 };
136#endif
8c74b414 137
20515881 138/* Tokens. */
636def1f 139#define GRAMPROG 258
78cdf107
Z
140#define GRAMEXPR 259
141#define GRAMBLOCK 260
142#define GRAMBARESTMT 261
143#define GRAMFULLSTMT 262
144#define GRAMSTMTSEQ 263
145#define WORD 264
146#define METHOD 265
147#define FUNCMETH 266
148#define THING 267
149#define PMFUNC 268
150#define PRIVATEREF 269
151#define QWLIST 270
7eb971ee
FC
152#define FUNC0OP 271
153#define FUNC0SUB 272
154#define UNIOPSUB 273
155#define LSTOPSUB 274
156#define PLUGEXPR 275
157#define PLUGSTMT 276
158#define LABEL 277
159#define FORMAT 278
160#define SUB 279
161#define ANONSUB 280
162#define PACKAGE 281
163#define USE 282
164#define WHILE 283
165#define UNTIL 284
166#define IF 285
167#define UNLESS 286
168#define ELSE 287
169#define ELSIF 288
170#define CONTINUE 289
171#define FOR 290
172#define GIVEN 291
173#define WHEN 292
174#define DEFAULT 293
175#define LOOPEX 294
176#define DOTDOT 295
177#define YADAYADA 296
178#define FUNC0 297
179#define FUNC1 298
180#define FUNC 299
181#define UNIOP 300
182#define LSTOP 301
183#define RELOP 302
184#define EQOP 303
185#define MULOP 304
186#define ADDOP 305
187#define DOLSHARP 306
188#define DO 307
189#define HASHBRACK 308
190#define NOAMP 309
191#define LOCAL 310
192#define MY 311
8d2a5fb4
FC
193#define REQUIRE 312
194#define COLONATTR 313
195#define FORMLBRACK 314
196#define FORMRBRACK 315
197#define PREC_LOW 316
198#define DOROP 317
199#define OROP 318
200#define ANDOP 319
201#define NOTOP 320
202#define ASSIGNOP 321
203#define DORDOR 322
204#define OROR 323
205#define ANDAND 324
206#define BITOROP 325
207#define BITANDOP 326
208#define SHIFTOP 327
209#define MATCHOP 328
210#define REFGEN 329
211#define UMINUS 330
212#define POWOP 331
cc624add
FC
213#define POSTJOIN 332
214#define POSTDEC 333
215#define POSTINC 334
216#define PREDEC 335
217#define PREINC 336
218#define ARROW 337
219#define PEG 338
0de566d7 220
d8118cad 221
6c7ae946
FC
222#ifdef PERL_IN_TOKE_C
223static bool
224S_is_opval_token(int type) {
225 switch (type) {
226 case FUNC0OP:
227 case FUNC0SUB:
228 case FUNCMETH:
229 case LSTOPSUB:
230 case METHOD:
231 case PLUGEXPR:
232 case PLUGSTMT:
233 case PMFUNC:
234 case PRIVATEREF:
235 case QWLIST:
236 case THING:
237 case UNIOPSUB:
238 case WORD:
239 return 1;
240 }
241 return 0;
242}
243#endif /* PERL_IN_TOKE_C */
0de566d7 244#endif /* PERL_CORE */
f05e27e5
DM
245#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
246typedef union YYSTYPE
247{
8c74b414
DIM
248/* Line 2053 of yacc.c */
249
d5c6462e
DM
250 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
251 must always be 1st union member) */
79072805
LW
252 char *pval;
253 OP *opval;
254 GV *gvval;
f05e27e5
DM
255#ifdef PERL_IN_MADLY_C
256 TOKEN* p_tkval;
123d08c9 257 TOKEN* i_tkval;
f05e27e5
DM
258#else
259 char *p_tkval;
123d08c9
DM
260 I32 i_tkval;
261#endif
262#ifdef PERL_MAD
263 TOKEN* tkval;
f05e27e5 264#endif
8c74b414
DIM
265
266
267/* Line 2053 of yacc.c */
268} YYSTYPE;
269# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
270# define yystype YYSTYPE /* obsolescent; will be withdrawn */
271# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
272#endif
273
274
8c74b414
DIM
275#ifdef YYPARSE_PARAM
276#if defined __STDC__ || defined __cplusplus
277int yyparse (void *YYPARSE_PARAM);
278#else
279int yyparse ();
280#endif
281#else /* ! YYPARSE_PARAM */
282#if defined __STDC__ || defined __cplusplus
283int yyparse (void);
284#else
285int yyparse ();
286#endif
287#endif /* ! YYPARSE_PARAM */
0de566d7 288
e8fb9efb 289
c24c946d 290/* Generated from:
8c74b414 291 * 911fbbcab275e0f9645397ee5b80a7c2384e6b24f793c15e6d6e918ebfd4e384 perly.y
9c221ee4 292 * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
c24c946d 293 * ex: set ro: */