This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
lexer API
[perl5.git] / perly.h
CommitLineData
d8118cad 1#ifdef PERL_CORE
950f2ea2 2
368f9a84 3/* A Bison parser, made by GNU Bison 2.4.1. */
6fa4d285 4
368f9a84
JV
5/* Skeleton interface for Bison's Yacc-like parsers in C
6
7 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
f05e27e5 8 Free Software Foundation, Inc.
368f9a84
JV
9
10 This program is free software: you can redistribute it and/or modify
0de566d7 11 it under the terms of the GNU General Public License as published by
368f9a84
JV
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
14
0de566d7
DM
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
368f9a84 19
0de566d7 20 You should have received a copy of the GNU General Public License
368f9a84 21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0de566d7 22
f05e27e5
DM
23/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
368f9a84 32
f05e27e5
DM
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
0de566d7 35
368f9a84 36
0de566d7
DM
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
368f9a84 116
20515881 117/* Tokens. */
0de566d7
DM
118#define WORD 258
119#define METHOD 259
120#define FUNCMETH 260
121#define THING 261
122#define PMFUNC 262
123#define PRIVATEREF 263
124#define FUNC0SUB 264
125#define UNIOPSUB 265
126#define LSTOPSUB 266
4098b6bb
JV
127#define PLUGEXPR 267
128#define PLUGSTMT 268
129#define LABEL 269
130#define FORMAT 270
131#define SUB 271
132#define ANONSUB 272
133#define PACKAGE 273
134#define USE 274
135#define WHILE 275
136#define UNTIL 276
137#define IF 277
138#define UNLESS 278
139#define ELSE 279
140#define ELSIF 280
141#define CONTINUE 281
142#define FOR 282
143#define GIVEN 283
144#define WHEN 284
145#define DEFAULT 285
146#define LOOPEX 286
147#define DOTDOT 287
148#define YADAYADA 288
149#define FUNC0 289
150#define FUNC1 290
151#define FUNC 291
152#define UNIOP 292
153#define LSTOP 293
154#define RELOP 294
155#define EQOP 295
156#define MULOP 296
157#define ADDOP 297
158#define DOLSHARP 298
159#define DO 299
160#define HASHBRACK 300
161#define NOAMP 301
162#define LOCAL 302
163#define MY 303
164#define MYSUB 304
165#define REQUIRE 305
166#define COLONATTR 306
167#define PREC_LOW 307
168#define DOROP 308
169#define OROP 309
170#define ANDOP 310
171#define NOTOP 311
172#define ASSIGNOP 312
173#define DORDOR 313
174#define OROR 314
175#define ANDAND 315
176#define BITOROP 316
177#define BITANDOP 317
178#define SHIFTOP 318
179#define MATCHOP 319
180#define REFGEN 320
181#define UMINUS 321
182#define POWOP 322
183#define POSTDEC 323
184#define POSTINC 324
185#define PREDEC 325
186#define PREINC 326
187#define ARROW 327
188#define PEG 328
0de566d7 189
d8118cad 190
0de566d7 191
0de566d7 192#endif /* PERL_CORE */
f05e27e5
DM
193#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
194typedef union YYSTYPE
195{
368f9a84
JV
196
197/* Line 1676 of yacc.c */
198
d5c6462e
DM
199 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
200 must always be 1st union member) */
79072805
LW
201 char *pval;
202 OP *opval;
203 GV *gvval;
f05e27e5
DM
204#ifdef PERL_IN_MADLY_C
205 TOKEN* p_tkval;
123d08c9 206 TOKEN* i_tkval;
f05e27e5
DM
207#else
208 char *p_tkval;
123d08c9
DM
209 I32 i_tkval;
210#endif
211#ifdef PERL_MAD
212 TOKEN* tkval;
f05e27e5 213#endif
368f9a84
JV
214
215
216
217/* Line 1676 of yacc.c */
218} YYSTYPE;
219# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
220# define yystype YYSTYPE /* obsolescent; will be withdrawn */
221# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
222#endif
223
224
225
368f9a84 226