This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen pod issues
[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      PEG = 338
130    };
131 #endif
132 /* Tokens.  */
133 #define GRAMPROG 258
134 #define GRAMEXPR 259
135 #define GRAMBLOCK 260
136 #define GRAMBARESTMT 261
137 #define GRAMFULLSTMT 262
138 #define GRAMSTMTSEQ 263
139 #define WORD 264
140 #define METHOD 265
141 #define FUNCMETH 266
142 #define THING 267
143 #define PMFUNC 268
144 #define PRIVATEREF 269
145 #define QWLIST 270
146 #define FUNC0OP 271
147 #define FUNC0SUB 272
148 #define UNIOPSUB 273
149 #define LSTOPSUB 274
150 #define PLUGEXPR 275
151 #define PLUGSTMT 276
152 #define LABEL 277
153 #define FORMAT 278
154 #define SUB 279
155 #define ANONSUB 280
156 #define PACKAGE 281
157 #define USE 282
158 #define WHILE 283
159 #define UNTIL 284
160 #define IF 285
161 #define UNLESS 286
162 #define ELSE 287
163 #define ELSIF 288
164 #define CONTINUE 289
165 #define FOR 290
166 #define GIVEN 291
167 #define WHEN 292
168 #define DEFAULT 293
169 #define LOOPEX 294
170 #define DOTDOT 295
171 #define YADAYADA 296
172 #define FUNC0 297
173 #define FUNC1 298
174 #define FUNC 299
175 #define UNIOP 300
176 #define LSTOP 301
177 #define RELOP 302
178 #define EQOP 303
179 #define MULOP 304
180 #define ADDOP 305
181 #define DOLSHARP 306
182 #define DO 307
183 #define HASHBRACK 308
184 #define NOAMP 309
185 #define LOCAL 310
186 #define MY 311
187 #define REQUIRE 312
188 #define COLONATTR 313
189 #define FORMLBRACK 314
190 #define FORMRBRACK 315
191 #define PREC_LOW 316
192 #define DOROP 317
193 #define OROP 318
194 #define ANDOP 319
195 #define NOTOP 320
196 #define ASSIGNOP 321
197 #define DORDOR 322
198 #define OROR 323
199 #define ANDAND 324
200 #define BITOROP 325
201 #define BITANDOP 326
202 #define SHIFTOP 327
203 #define MATCHOP 328
204 #define REFGEN 329
205 #define UMINUS 330
206 #define POWOP 331
207 #define POSTJOIN 332
208 #define POSTDEC 333
209 #define POSTINC 334
210 #define PREDEC 335
211 #define PREINC 336
212 #define ARROW 337
213 #define PEG 338
214
215
216
217
218 #ifdef PERL_IN_TOKE_C
219 static bool
220 S_is_opval_token(int type) {
221     switch (type) {
222     case FUNC0OP:
223     case FUNC0SUB:
224     case FUNCMETH:
225     case LSTOPSUB:
226     case METHOD:
227     case PLUGEXPR:
228     case PLUGSTMT:
229     case PMFUNC:
230     case PRIVATEREF:
231     case QWLIST:
232     case THING:
233     case UNIOPSUB:
234     case WORD:
235         return 1;
236     }
237     return 0;
238 }
239 #endif /* PERL_IN_TOKE_C */
240 #endif /* PERL_CORE */
241 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
242 typedef union YYSTYPE
243 {
244     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
245                                 must always be 1st union member) */
246     char *pval;
247     OP *opval;
248     GV *gvval;
249 #ifdef PERL_IN_MADLY_C
250     TOKEN* p_tkval;
251     TOKEN* i_tkval;
252 #else
253     char *p_tkval;
254     I32 i_tkval;
255 #endif
256 #ifdef PERL_MAD
257     TOKEN* tkval;
258 #endif
259 }
260 /* Line 1529 of yacc.c.  */
261         YYSTYPE;
262 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
263 # define YYSTYPE_IS_DECLARED 1
264 # define YYSTYPE_IS_TRIVIAL 1
265 #endif
266
267
268
269
270 /* Generated from:
271  * 570608a8d9575266e34e16588de5993f72c5756a88dcb273ffba0705beed3d8b perly.y
272  * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
273  * ex: set ro: */