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