This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
subroutine signatures
[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.5.  */
9
10 /* Bison interface for Yacc-like parsers in C
11    
12       Copyright (C) 1984, 1989-1990, 2000-2011 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
41 /* Tokens.  */
42 #ifndef YYTOKENTYPE
43 # define YYTOKENTYPE
44    /* Put the tokens into the symbol table, so that GDB and other debuggers
45       know about them.  */
46    enum yytokentype {
47      GRAMPROG = 258,
48      GRAMEXPR = 259,
49      GRAMBLOCK = 260,
50      GRAMBARESTMT = 261,
51      GRAMFULLSTMT = 262,
52      GRAMSTMTSEQ = 263,
53      WORD = 264,
54      METHOD = 265,
55      FUNCMETH = 266,
56      THING = 267,
57      PMFUNC = 268,
58      PRIVATEREF = 269,
59      QWLIST = 270,
60      FUNC0OP = 271,
61      FUNC0SUB = 272,
62      UNIOPSUB = 273,
63      LSTOPSUB = 274,
64      PLUGEXPR = 275,
65      PLUGSTMT = 276,
66      LABEL = 277,
67      FORMAT = 278,
68      SUB = 279,
69      ANONSUB = 280,
70      PACKAGE = 281,
71      USE = 282,
72      WHILE = 283,
73      UNTIL = 284,
74      IF = 285,
75      UNLESS = 286,
76      ELSE = 287,
77      ELSIF = 288,
78      CONTINUE = 289,
79      FOR = 290,
80      GIVEN = 291,
81      WHEN = 292,
82      DEFAULT = 293,
83      LOOPEX = 294,
84      DOTDOT = 295,
85      YADAYADA = 296,
86      FUNC0 = 297,
87      FUNC1 = 298,
88      FUNC = 299,
89      UNIOP = 300,
90      LSTOP = 301,
91      RELOP = 302,
92      EQOP = 303,
93      MULOP = 304,
94      ADDOP = 305,
95      DOLSHARP = 306,
96      DO = 307,
97      HASHBRACK = 308,
98      NOAMP = 309,
99      LOCAL = 310,
100      MY = 311,
101      REQUIRE = 312,
102      COLONATTR = 313,
103      FORMLBRACK = 314,
104      FORMRBRACK = 315,
105      PREC_LOW = 316,
106      DOROP = 317,
107      OROP = 318,
108      ANDOP = 319,
109      NOTOP = 320,
110      ASSIGNOP = 321,
111      DORDOR = 322,
112      OROR = 323,
113      ANDAND = 324,
114      BITOROP = 325,
115      BITANDOP = 326,
116      SHIFTOP = 327,
117      MATCHOP = 328,
118      REFGEN = 329,
119      UMINUS = 330,
120      POWOP = 331,
121      POSTJOIN = 332,
122      POSTDEC = 333,
123      POSTINC = 334,
124      PREDEC = 335,
125      PREINC = 336,
126      ARROW = 337,
127      PEG = 338
128    };
129 #endif
130
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 #define PEG 338
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
243 /* Line 2068 of yacc.c  */
244
245     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
246                                 must always be 1st union member) */
247     char *pval;
248     OP *opval;
249     GV *gvval;
250 #ifdef PERL_IN_MADLY_C
251     TOKEN* p_tkval;
252     TOKEN* i_tkval;
253 #else
254     char *p_tkval;
255     I32 i_tkval;
256 #endif
257 #ifdef PERL_MAD
258     TOKEN* tkval;
259 #endif
260
261
262
263 /* Line 2068 of yacc.c  */
264 } YYSTYPE;
265 # define YYSTYPE_IS_TRIVIAL 1
266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
267 # define YYSTYPE_IS_DECLARED 1
268 #endif
269
270
271
272
273
274 /* Generated from:
275  * bb8245a1a537b2afb2445b3973f63b210f9ec346a1955071aef7d05ba97196ae perly.y
276  * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
277  * ex: set ro: */