This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add note to 'encoding' pod that it's removed
[perl5.git] / perly.h
CommitLineData
e8fb9efb
NC
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
d8118cad 7#ifdef PERL_CORE
30d9c59b 8/* A Bison parser, made by GNU Bison 2.5. */
4e4da3ac 9
8c74b414
DIM
10/* Bison interface for Yacc-like parsers in C
11
30d9c59b 12 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
8c74b414
DIM
13
14 This program is free software: you can redistribute it and/or modify
0de566d7 15 it under the terms of the GNU General Public License as published by
8c74b414
DIM
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
0de566d7
DM
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.
8c74b414 23
0de566d7 24 You should have received a copy of the GNU General Public License
8c74b414 25 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0de566d7 26
f05e27e5
DM
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.
8c74b414 36
f05e27e5
DM
37 This special exception was added by the Free Software Foundation in
38 version 2.2 of Bison. */
0de566d7 39
8c74b414 40
0de566d7
DM
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 {
636def1f 47 GRAMPROG = 258,
78cdf107
Z
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,
7eb971ee
FC
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,
8d2a5fb4
FC
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,
cc624add
FC
121 POSTJOIN = 332,
122 POSTDEC = 333,
123 POSTINC = 334,
124 PREDEC = 335,
125 PREINC = 336,
126 ARROW = 337,
127 PEG = 338
0de566d7
DM
128 };
129#endif
8c74b414 130
20515881 131/* Tokens. */
636def1f 132#define GRAMPROG 258
78cdf107
Z
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
7eb971ee
FC
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
8d2a5fb4
FC
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
cc624add
FC
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
0de566d7 213
d8118cad 214
30d9c59b 215
6c7ae946
FC
216#ifdef PERL_IN_TOKE_C
217static bool
218S_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 */
0de566d7 238#endif /* PERL_CORE */
f05e27e5
DM
239#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
240typedef union YYSTYPE
241{
30d9c59b
Z
242
243/* Line 2068 of yacc.c */
8c74b414 244
d5c6462e
DM
245 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
246 must always be 1st union member) */
79072805
LW
247 char *pval;
248 OP *opval;
249 GV *gvval;
f05e27e5
DM
250#ifdef PERL_IN_MADLY_C
251 TOKEN* p_tkval;
123d08c9 252 TOKEN* i_tkval;
f05e27e5
DM
253#else
254 char *p_tkval;
123d08c9
DM
255 I32 i_tkval;
256#endif
257#ifdef PERL_MAD
258 TOKEN* tkval;
f05e27e5 259#endif
8c74b414
DIM
260
261
30d9c59b
Z
262
263/* Line 2068 of yacc.c */
8c74b414
DIM
264} YYSTYPE;
265# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
266# define yystype YYSTYPE /* obsolescent; will be withdrawn */
267# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
268#endif
269
270
30d9c59b 271
0de566d7 272
e8fb9efb 273
c24c946d 274/* Generated from:
30d9c59b 275 * bb8245a1a537b2afb2445b3973f63b210f9ec346a1955071aef7d05ba97196ae perly.y
9c221ee4 276 * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
c24c946d 277 * ex: set ro: */