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