This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add the Time-HiRes Changes file from CPAN.
[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
f39ff1f3
DM
7#define PERL_BISON_VERSION 20007
8
d8118cad 9#ifdef PERL_CORE
f39ff1f3 10/* A Bison parser, made by GNU Bison 2.7. */
4e4da3ac 11
5d051ee0
DM
12/* Bison interface for Yacc-like parsers in C
13
f39ff1f3 14 Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
5d051ee0
DM
15
16 This program is free software: you can redistribute it and/or modify
0de566d7 17 it under the terms of the GNU General Public License as published by
5d051ee0
DM
18 the Free Software Foundation, either version 3 of the License, or
19 (at your option) any later version.
20
0de566d7
DM
21 This program is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 GNU General Public License for more details.
5d051ee0 25
0de566d7 26 You should have received a copy of the GNU General Public License
5d051ee0 27 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0de566d7 28
f05e27e5
DM
29/* As a special exception, you may create a larger work that contains
30 part or all of the Bison parser skeleton and distribute that work
31 under terms of your choice, so long as that work isn't itself a
32 parser generator using the skeleton or a modified version thereof
33 as a parser skeleton. Alternatively, if you modify or redistribute
34 the parser skeleton itself, you may (at your option) remove this
35 special exception, which will cause the skeleton and the resulting
36 Bison output files to be licensed under the GNU General Public
37 License without this special exception.
5d051ee0 38
f05e27e5
DM
39 This special exception was added by the Free Software Foundation in
40 version 2.2 of Bison. */
0de566d7 41
5d051ee0
DM
42/* Enabling traces. */
43#ifndef YYDEBUG
44# define YYDEBUG 0
45#endif
46#if YYDEBUG
47extern int yydebug;
48#endif
49
0de566d7
DM
50/* Tokens. */
51#ifndef YYTOKENTYPE
52# define YYTOKENTYPE
53 /* Put the tokens into the symbol table, so that GDB and other debuggers
54 know about them. */
55 enum yytokentype {
636def1f 56 GRAMPROG = 258,
78cdf107
Z
57 GRAMEXPR = 259,
58 GRAMBLOCK = 260,
59 GRAMBARESTMT = 261,
60 GRAMFULLSTMT = 262,
61 GRAMSTMTSEQ = 263,
62 WORD = 264,
63 METHOD = 265,
64 FUNCMETH = 266,
65 THING = 267,
66 PMFUNC = 268,
67 PRIVATEREF = 269,
68 QWLIST = 270,
7eb971ee
FC
69 FUNC0OP = 271,
70 FUNC0SUB = 272,
71 UNIOPSUB = 273,
72 LSTOPSUB = 274,
73 PLUGEXPR = 275,
74 PLUGSTMT = 276,
75 LABEL = 277,
76 FORMAT = 278,
77 SUB = 279,
78 ANONSUB = 280,
79 PACKAGE = 281,
80 USE = 282,
81 WHILE = 283,
82 UNTIL = 284,
83 IF = 285,
84 UNLESS = 286,
85 ELSE = 287,
86 ELSIF = 288,
87 CONTINUE = 289,
88 FOR = 290,
89 GIVEN = 291,
90 WHEN = 292,
91 DEFAULT = 293,
92 LOOPEX = 294,
93 DOTDOT = 295,
94 YADAYADA = 296,
95 FUNC0 = 297,
96 FUNC1 = 298,
97 FUNC = 299,
98 UNIOP = 300,
99 LSTOP = 301,
100 RELOP = 302,
101 EQOP = 303,
102 MULOP = 304,
103 ADDOP = 305,
104 DOLSHARP = 306,
105 DO = 307,
106 HASHBRACK = 308,
107 NOAMP = 309,
108 LOCAL = 310,
109 MY = 311,
8d2a5fb4
FC
110 REQUIRE = 312,
111 COLONATTR = 313,
112 FORMLBRACK = 314,
113 FORMRBRACK = 315,
114 PREC_LOW = 316,
115 DOROP = 317,
116 OROP = 318,
117 ANDOP = 319,
118 NOTOP = 320,
119 ASSIGNOP = 321,
120 DORDOR = 322,
121 OROR = 323,
122 ANDAND = 324,
123 BITOROP = 325,
124 BITANDOP = 326,
125 SHIFTOP = 327,
126 MATCHOP = 328,
127 REFGEN = 329,
128 UMINUS = 330,
129 POWOP = 331,
cc624add
FC
130 POSTJOIN = 332,
131 POSTDEC = 333,
132 POSTINC = 334,
133 PREDEC = 335,
134 PREINC = 336,
b5bbe64a 135 ARROW = 337
0de566d7
DM
136 };
137#endif
5d051ee0 138
20515881 139/* Tokens. */
636def1f 140#define GRAMPROG 258
78cdf107
Z
141#define GRAMEXPR 259
142#define GRAMBLOCK 260
143#define GRAMBARESTMT 261
144#define GRAMFULLSTMT 262
145#define GRAMSTMTSEQ 263
146#define WORD 264
147#define METHOD 265
148#define FUNCMETH 266
149#define THING 267
150#define PMFUNC 268
151#define PRIVATEREF 269
152#define QWLIST 270
7eb971ee
FC
153#define FUNC0OP 271
154#define FUNC0SUB 272
155#define UNIOPSUB 273
156#define LSTOPSUB 274
157#define PLUGEXPR 275
158#define PLUGSTMT 276
159#define LABEL 277
160#define FORMAT 278
161#define SUB 279
162#define ANONSUB 280
163#define PACKAGE 281
164#define USE 282
165#define WHILE 283
166#define UNTIL 284
167#define IF 285
168#define UNLESS 286
169#define ELSE 287
170#define ELSIF 288
171#define CONTINUE 289
172#define FOR 290
173#define GIVEN 291
174#define WHEN 292
175#define DEFAULT 293
176#define LOOPEX 294
177#define DOTDOT 295
178#define YADAYADA 296
179#define FUNC0 297
180#define FUNC1 298
181#define FUNC 299
182#define UNIOP 300
183#define LSTOP 301
184#define RELOP 302
185#define EQOP 303
186#define MULOP 304
187#define ADDOP 305
188#define DOLSHARP 306
189#define DO 307
190#define HASHBRACK 308
191#define NOAMP 309
192#define LOCAL 310
193#define MY 311
8d2a5fb4
FC
194#define REQUIRE 312
195#define COLONATTR 313
196#define FORMLBRACK 314
197#define FORMRBRACK 315
198#define PREC_LOW 316
199#define DOROP 317
200#define OROP 318
201#define ANDOP 319
202#define NOTOP 320
203#define ASSIGNOP 321
204#define DORDOR 322
205#define OROR 323
206#define ANDAND 324
207#define BITOROP 325
208#define BITANDOP 326
209#define SHIFTOP 327
210#define MATCHOP 328
211#define REFGEN 329
212#define UMINUS 330
213#define POWOP 331
cc624add
FC
214#define POSTJOIN 332
215#define POSTDEC 333
216#define POSTINC 334
217#define PREDEC 335
218#define PREINC 336
219#define ARROW 337
d8118cad 220
30d9c59b 221
6c7ae946
FC
222#ifdef PERL_IN_TOKE_C
223static bool
224S_is_opval_token(int type) {
225 switch (type) {
226 case FUNC0OP:
227 case FUNC0SUB:
228 case FUNCMETH:
229 case LSTOPSUB:
230 case METHOD:
231 case PLUGEXPR:
232 case PLUGSTMT:
233 case PMFUNC:
234 case PRIVATEREF:
235 case QWLIST:
236 case THING:
237 case UNIOPSUB:
238 case WORD:
239 return 1;
240 }
241 return 0;
242}
243#endif /* PERL_IN_TOKE_C */
0de566d7 244#endif /* PERL_CORE */
f05e27e5
DM
245#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
246typedef union YYSTYPE
247{
f39ff1f3 248/* Line 2058 of yacc.c */
5d051ee0 249
d5c6462e
DM
250 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
251 must always be 1st union member) */
79072805
LW
252 char *pval;
253 OP *opval;
254 GV *gvval;
5d051ee0
DM
255
256
f39ff1f3 257/* Line 2058 of yacc.c */
5d051ee0
DM
258} YYSTYPE;
259# define YYSTYPE_IS_TRIVIAL 1
0de566d7
DM
260# define yystype YYSTYPE /* obsolescent; will be withdrawn */
261# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
262#endif
263
264
5d051ee0
DM
265#ifdef YYPARSE_PARAM
266#if defined __STDC__ || defined __cplusplus
267int yyparse (void *YYPARSE_PARAM);
268#else
269int yyparse ();
270#endif
271#else /* ! YYPARSE_PARAM */
272#if defined __STDC__ || defined __cplusplus
273int yyparse (void);
274#else
275int yyparse ();
276#endif
277#endif /* ! YYPARSE_PARAM */
0de566d7 278
e8fb9efb 279
c24c946d 280/* Generated from:
f39ff1f3 281 * 703ebd267cf8ca45f9dee9bc0f4b21511117a0c1dca1c8bc9438ce91950217ae perly.y
bef74c25 282 * a4923588f219644801577c514014847e1e5240f49413fa3b89d3306fa4874d07 regen_perly.pl
c24c946d 283 * ex: set ro: */