This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_AMPERSAND
[perl5.git] / perly.h
CommitLineData
e8fb9efb
NC
1/* -*- buffer-read-only: t -*-
2 !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3f5e9543 3 This file is built by regen_perly.pl from perly.y.
e8fb9efb
NC
4 Any changes made here will be lost!
5 */
6
53443c95 7#define PERL_BISON_VERSION 30005
f39ff1f3 8
d8118cad 9#ifdef PERL_CORE
53443c95 10/* A Bison parser, made by GNU Bison 3.5.1. */
4e4da3ac 11
a9f5ab8d 12/* Bison interface for Yacc-like parsers in C
38c8d7b1 13
53443c95 14 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
a3815e44 15 Inc.
38c8d7b1 16
a9f5ab8d 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
a9f5ab8d
LM
19 the Free Software Foundation, either version 3 of the License, or
20 (at your option) any later version.
38c8d7b1 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
a9f5ab8d 28 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0de566d7 29
f05e27e5
DM
30/* As a special exception, you may create a larger work that contains
31 part or all of the Bison parser skeleton and distribute that work
32 under terms of your choice, so long as that work isn't itself a
33 parser generator using the skeleton or a modified version thereof
34 as a parser skeleton. Alternatively, if you modify or redistribute
35 the parser skeleton itself, you may (at your option) remove this
36 special exception, which will cause the skeleton and the resulting
37 Bison output files to be licensed under the GNU General Public
38 License without this special exception.
38c8d7b1 39
f05e27e5
DM
40 This special exception was added by the Free Software Foundation in
41 version 2.2 of Bison. */
0de566d7 42
a3815e44
DIM
43/* Undocumented macros, especially those whose name start with YY_,
44 are private implementation details. Do not rely on them. */
45
a9f5ab8d
LM
46/* Debug traces. */
47#ifndef YYDEBUG
48# define YYDEBUG 0
49#endif
50#if YYDEBUG
51extern int yydebug;
52#endif
53
54/* Token type. */
0de566d7
DM
55#ifndef YYTOKENTYPE
56# define YYTOKENTYPE
a9f5ab8d
LM
57 enum yytokentype
58 {
59 GRAMPROG = 258,
60 GRAMEXPR = 259,
61 GRAMBLOCK = 260,
62 GRAMBARESTMT = 261,
63 GRAMFULLSTMT = 262,
64 GRAMSTMTSEQ = 263,
996b0cb8 65 GRAMSUBSIGNATURE = 264,
25a50500
BZ
66 PERLY_AMPERSAND = 265,
67 PERLY_BRACE_OPEN = 266,
68 PERLY_BRACE_CLOSE = 267,
69 PERLY_BRACKET_OPEN = 268,
70 PERLY_BRACKET_CLOSE = 269,
71 PERLY_DOT = 270,
72 PERLY_EQUAL_SIGN = 271,
73 PERLY_SEMICOLON = 272,
74 BAREWORD = 273,
75 METHOD = 274,
76 FUNCMETH = 275,
77 THING = 276,
78 PMFUNC = 277,
79 PRIVATEREF = 278,
80 QWLIST = 279,
81 FUNC0OP = 280,
82 FUNC0SUB = 281,
83 UNIOPSUB = 282,
84 LSTOPSUB = 283,
85 PLUGEXPR = 284,
86 PLUGSTMT = 285,
87 LABEL = 286,
88 FORMAT = 287,
89 SUB = 288,
90 SIGSUB = 289,
91 ANONSUB = 290,
92 ANON_SIGSUB = 291,
93 PACKAGE = 292,
94 USE = 293,
95 WHILE = 294,
96 UNTIL = 295,
97 IF = 296,
98 UNLESS = 297,
99 ELSE = 298,
100 ELSIF = 299,
101 CONTINUE = 300,
102 FOR = 301,
103 GIVEN = 302,
104 WHEN = 303,
105 DEFAULT = 304,
106 LOOPEX = 305,
107 DOTDOT = 306,
108 YADAYADA = 307,
109 FUNC0 = 308,
110 FUNC1 = 309,
111 FUNC = 310,
112 UNIOP = 311,
113 LSTOP = 312,
114 MULOP = 313,
115 ADDOP = 314,
116 DOLSHARP = 315,
117 DO = 316,
118 HASHBRACK = 317,
119 NOAMP = 318,
120 LOCAL = 319,
121 MY = 320,
122 REQUIRE = 321,
123 COLONATTR = 322,
124 FORMLBRACK = 323,
125 FORMRBRACK = 324,
126 SUBLEXSTART = 325,
127 SUBLEXEND = 326,
128 PREC_LOW = 327,
129 OROP = 328,
130 DOROP = 329,
131 ANDOP = 330,
132 NOTOP = 331,
133 ASSIGNOP = 332,
134 OROR = 333,
135 DORDOR = 334,
136 ANDAND = 335,
137 BITOROP = 336,
138 BITANDOP = 337,
139 CHEQOP = 338,
140 NCEQOP = 339,
141 CHRELOP = 340,
142 NCRELOP = 341,
143 SHIFTOP = 342,
144 MATCHOP = 343,
145 UMINUS = 344,
146 REFGEN = 345,
147 POWOP = 346,
148 PREINC = 347,
149 PREDEC = 348,
150 POSTINC = 349,
151 POSTDEC = 350,
152 POSTJOIN = 351,
153 ARROW = 352
a9f5ab8d 154 };
0de566d7 155#endif
38c8d7b1 156
a9f5ab8d 157/* Value type. */
6c7ae946
FC
158#ifdef PERL_IN_TOKE_C
159static bool
160S_is_opval_token(int type) {
161 switch (type) {
185c2e96 162 case BAREWORD:
6c7ae946
FC
163 case FUNC0OP:
164 case FUNC0SUB:
165 case FUNCMETH:
01719201 166 case LABEL:
6c7ae946
FC
167 case LSTOPSUB:
168 case METHOD:
169 case PLUGEXPR:
170 case PLUGSTMT:
171 case PMFUNC:
172 case PRIVATEREF:
173 case QWLIST:
174 case THING:
175 case UNIOPSUB:
6c7ae946
FC
176 return 1;
177 }
178 return 0;
179}
180#endif /* PERL_IN_TOKE_C */
0de566d7 181#endif /* PERL_CORE */
f05e27e5 182#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
a9f5ab8d 183union YYSTYPE
f05e27e5 184{
a9f5ab8d 185
d5c6462e
DM
186 I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
187 must always be 1st union member) */
79072805
LW
188 char *pval;
189 OP *opval;
190 GV *gvval;
a9f5ab8d 191
a3815e44 192
53443c95 193};
a3815e44 194typedef union YYSTYPE YYSTYPE;
bdc377e5 195# define YYSTYPE_IS_TRIVIAL 1
a9f5ab8d 196# define YYSTYPE_IS_DECLARED 1
0de566d7
DM
197#endif
198
199
200
a9f5ab8d
LM
201int yyparse (void);
202
e8fb9efb 203
c24c946d 204/* Generated from:
25a50500 205 * 2e61cf01f0e14707d220536eb9865fe226c153c967f8aa51eea0786f6a56feb9 perly.y
53443c95 206 * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
c24c946d 207 * ex: set ro: */