This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add RXf_UNBOUNDED_QUANTIFIER and regexp->maxlen
[perl5.git] / perly.h
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
7 #ifdef PERL_CORE
8 /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
9
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
15    it under the terms of the GNU General Public License as published by
16    the Free Software Foundation, either version 3 of the License, or
17    (at your option) any later version.
18    
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.
23    
24    You should have received a copy of the GNU General Public License
25    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
26
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.
36    
37    This special exception was added by the Free Software Foundation in
38    version 2.2 of Bison.  */
39
40 /* Enabling traces.  */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int yydebug;
46 #endif
47
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 {
54      GRAMPROG = 258,
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,
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,
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      POSTJOIN = 332,
129      POSTDEC = 333,
130      POSTINC = 334,
131      PREDEC = 335,
132      PREINC = 336,
133      ARROW = 337,
134      PEG = 338
135    };
136 #endif
137
138 /* Tokens.  */
139 #define GRAMPROG 258
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
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
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
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
220
221
222 #ifdef PERL_IN_TOKE_C
223 static bool
224 S_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 */
244 #endif /* PERL_CORE */
245 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
246 typedef union YYSTYPE
247 {
248 /* Line 2053 of yacc.c  */
249
250     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
251                                 must always be 1st union member) */
252     char *pval;
253     OP *opval;
254     GV *gvval;
255 #ifdef PERL_IN_MADLY_C
256     TOKEN* p_tkval;
257     TOKEN* i_tkval;
258 #else
259     char *p_tkval;
260     I32 i_tkval;
261 #endif
262 #ifdef PERL_MAD
263     TOKEN* tkval;
264 #endif
265
266
267 /* Line 2053 of yacc.c  */
268 } YYSTYPE;
269 # define YYSTYPE_IS_TRIVIAL 1
270 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
271 # define YYSTYPE_IS_DECLARED 1
272 #endif
273
274
275 #ifdef YYPARSE_PARAM
276 #if defined __STDC__ || defined __cplusplus
277 int yyparse (void *YYPARSE_PARAM);
278 #else
279 int yyparse ();
280 #endif
281 #else /* ! YYPARSE_PARAM */
282 #if defined __STDC__ || defined __cplusplus
283 int yyparse (void);
284 #else
285 int yyparse ();
286 #endif
287 #endif /* ! YYPARSE_PARAM */
288
289
290 /* Generated from:
291  * 911fbbcab275e0f9645397ee5b80a7c2384e6b24f793c15e6d6e918ebfd4e384 perly.y
292  * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
293  * ex: set ro: */