This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
function interface to parse Perl statement
[perl5.git] / perly.h
CommitLineData
d8118cad 1#ifdef PERL_CORE
4e4da3ac 2/* A Bison parser, made by GNU Bison 2.3. */
e6289726 3
14a86d0c 4/* Skeleton interface for Bison's Yacc-like parsers in C
4e4da3ac
Z
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
f05e27e5 7 Free Software Foundation, Inc.
4e4da3ac
Z
8
9 This program is free software; you can redistribute it and/or modify
0de566d7 10 it under the terms of the GNU General Public License as published by
4e4da3ac
Z
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
0de566d7
DM
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
4e4da3ac 18
0de566d7 19 You should have received a copy of the GNU General Public License
4e4da3ac
Z
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA. */
0de566d7 23
f05e27e5
DM
24/* As a special exception, you may create a larger work that contains
25 part or all of the Bison parser skeleton and distribute that work
26 under terms of your choice, so long as that work isn't itself a
27 parser generator using the skeleton or a modified version thereof
28 as a parser skeleton. Alternatively, if you modify or redistribute
29 the parser skeleton itself, you may (at your option) remove this
30 special exception, which will cause the skeleton and the resulting
31 Bison output files to be licensed under the GNU General Public
32 License without this special exception.
4e4da3ac 33
f05e27e5
DM
34 This special exception was added by the Free Software Foundation in
35 version 2.2 of Bison. */
0de566d7
DM
36
37/* Tokens. */
38#ifndef YYTOKENTYPE
39# define YYTOKENTYPE
40 /* Put the tokens into the symbol table, so that GDB and other debuggers
41 know about them. */
42 enum yytokentype {
43 WORD = 258,
44 METHOD = 259,
45 FUNCMETH = 260,
46 THING = 261,
47 PMFUNC = 262,
48 PRIVATEREF = 263,
49 FUNC0SUB = 264,
50 UNIOPSUB = 265,
51 LSTOPSUB = 266,
4098b6bb
JV
52 PLUGEXPR = 267,
53 PLUGSTMT = 268,
54 LABEL = 269,
55 FORMAT = 270,
56 SUB = 271,
57 ANONSUB = 272,
58 PACKAGE = 273,
59 USE = 274,
60 WHILE = 275,
61 UNTIL = 276,
62 IF = 277,
63 UNLESS = 278,
64 ELSE = 279,
65 ELSIF = 280,
66 CONTINUE = 281,
67 FOR = 282,
68 GIVEN = 283,
69 WHEN = 284,
70 DEFAULT = 285,
71 LOOPEX = 286,
72 DOTDOT = 287,
73 YADAYADA = 288,
74 FUNC0 = 289,
75 FUNC1 = 290,
76 FUNC = 291,
77 UNIOP = 292,
78 LSTOP = 293,
79 RELOP = 294,
80 EQOP = 295,
81 MULOP = 296,
82 ADDOP = 297,
83 DOLSHARP = 298,
84 DO = 299,
85 HASHBRACK = 300,
86 NOAMP = 301,
87 LOCAL = 302,
88 MY = 303,
89 MYSUB = 304,
90 REQUIRE = 305,
91 COLONATTR = 306,
92 PREC_LOW = 307,
93 DOROP = 308,
94 OROP = 309,
95 ANDOP = 310,
96 NOTOP = 311,
97 ASSIGNOP = 312,
98 DORDOR = 313,
99 OROR = 314,
100 ANDAND = 315,
101 BITOROP = 316,
102 BITANDOP = 317,
103 SHIFTOP = 318,
104 MATCHOP = 319,
105 REFGEN = 320,
106 UMINUS = 321,
107 POWOP = 322,
108 POSTDEC = 323,
109 POSTINC = 324,
110 PREDEC = 325,
111 PREINC = 326,
112 ARROW = 327,
113 PEG = 328
0de566d7
DM
114 };
115#endif
20515881 116/* Tokens. */
0de566d7
DM
117#define WORD 258
118#define METHOD 259
119#define FUNCMETH 260
120#define THING 261
121#define PMFUNC 262
122#define PRIVATEREF 263
123#define FUNC0SUB 264
124#define UNIOPSUB 265
125#define LSTOPSUB 266
4098b6bb
JV
126#define PLUGEXPR 267
127#define PLUGSTMT 268
128#define LABEL 269
129#define FORMAT 270
130#define SUB 271
131#define ANONSUB 272
132#define PACKAGE 273
133#define USE 274
134#define WHILE 275
135#define UNTIL 276
136#define IF 277
137#define UNLESS 278
138#define ELSE 279
139#define ELSIF 280
140#define CONTINUE 281
141#define FOR 282
142#define GIVEN 283
143#define WHEN 284
144#define DEFAULT 285
145#define LOOPEX 286
146#define DOTDOT 287
147#define YADAYADA 288
148#define FUNC0 289
149#define FUNC1 290
150#define FUNC 291
151#define UNIOP 292
152#define LSTOP 293
153#define RELOP 294
154#define EQOP 295
155#define MULOP 296
156#define ADDOP 297
157#define DOLSHARP 298
158#define DO 299
159#define HASHBRACK 300
160#define NOAMP 301
161#define LOCAL 302
162#define MY 303
163#define MYSUB 304
164#define REQUIRE 305
165#define COLONATTR 306
166#define PREC_LOW 307
167#define DOROP 308
168#define OROP 309
169#define ANDOP 310
170#define NOTOP 311
171#define ASSIGNOP 312
172#define DORDOR 313
173#define OROR 314
174#define ANDAND 315
175#define BITOROP 316
176#define BITANDOP 317
177#define SHIFTOP 318
178#define MATCHOP 319
179#define REFGEN 320
180#define UMINUS 321
181#define POWOP 322
182#define POSTDEC 323
183#define POSTINC 324
184#define PREDEC 325
185#define PREINC 326
186#define ARROW 327
187#define PEG 328
0de566d7 188
d8118cad 189
0de566d7 190
4e4da3ac 191
0de566d7 192#endif /* PERL_CORE */
f05e27e5
DM
193#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
194typedef union YYSTYPE
195{
d5c6462e
DM
196 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
197 must always be 1st union member) */
79072805
LW
198 char *pval;
199 OP *opval;
200 GV *gvval;
f05e27e5
DM
201#ifdef PERL_IN_MADLY_C
202 TOKEN* p_tkval;
123d08c9 203 TOKEN* i_tkval;
f05e27e5
DM
204#else
205 char *p_tkval;
123d08c9
DM
206 I32 i_tkval;
207#endif
208#ifdef PERL_MAD
209 TOKEN* tkval;
f05e27e5 210#endif
4e4da3ac
Z
211}
212/* Line 1489 of yacc.c. */
213 YYSTYPE;
0de566d7
DM
214# define yystype YYSTYPE /* obsolescent; will be withdrawn */
215# define YYSTYPE_IS_DECLARED 1
4e4da3ac 216# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
217#endif
218
219
220