This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update release_schedule.pod to note completed releases.
[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.3.  */
9
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
16    it under the terms of the GNU General Public License as published by
17    the Free Software Foundation; either version 2, or (at your option)
18    any later version.
19
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.
24
25    You should have received a copy of the GNU General Public License
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.  */
29
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.
39
40    This special exception was added by the Free Software Foundation in
41    version 2.2 of Bison.  */
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 {
49      GRAMPROG = 258,
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,
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,
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      POSTJOIN = 332,
124      POSTDEC = 333,
125      POSTINC = 334,
126      PREDEC = 335,
127      PREINC = 336,
128      ARROW = 337
129    };
130 #endif
131 /* Tokens.  */
132 #define GRAMPROG 258
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
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
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 POSTJOIN 332
207 #define POSTDEC 333
208 #define POSTINC 334
209 #define PREDEC 335
210 #define PREINC 336
211 #define ARROW 337
212
213
214
215
216 #ifdef PERL_IN_TOKE_C
217 static bool
218 S_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 */
238 #endif /* PERL_CORE */
239 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
240 typedef union YYSTYPE
241 {
242     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
243                                 must always be 1st union member) */
244     char *pval;
245     OP *opval;
246     GV *gvval;
247 }
248 /* Line 1529 of yacc.c.  */
249         YYSTYPE;
250 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
251 # define YYSTYPE_IS_DECLARED 1
252 # define YYSTYPE_IS_TRIVIAL 1
253 #endif
254
255
256
257
258 /* Generated from:
259  * e2ef3626c25dd92c66987e4c2f707e7f194c2bd5df74da27c51df206d9809412 perly.y
260  * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
261  * ex: set ro: */