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