This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_STAR
[perl5.git] / perly.h
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
7 #define PERL_BISON_VERSION  30005
8
9 #ifdef PERL_CORE
10 /* A Bison parser, made by GNU Bison 3.5.1.  */
11
12 /* Bison interface for Yacc-like parsers in C
13
14    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
15    Inc.
16
17    This program is free software: you can redistribute it and/or modify
18    it under the terms of the GNU General Public License as published by
19    the Free Software Foundation, either version 3 of the License, or
20    (at your option) any later version.
21
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.
26
27    You should have received a copy of the GNU General Public License
28    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
29
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.
39
40    This special exception was added by the Free Software Foundation in
41    version 2.2 of Bison.  */
42
43 /* Undocumented macros, especially those whose name start with YY_,
44    are private implementation details.  Do not rely on them.  */
45
46 /* Debug traces.  */
47 #ifndef YYDEBUG
48 # define YYDEBUG 0
49 #endif
50 #if YYDEBUG
51 extern int yydebug;
52 #endif
53
54 /* Token type.  */
55 #ifndef YYTOKENTYPE
56 # define YYTOKENTYPE
57   enum yytokentype
58   {
59     GRAMPROG = 258,
60     GRAMEXPR = 259,
61     GRAMBLOCK = 260,
62     GRAMBARESTMT = 261,
63     GRAMFULLSTMT = 262,
64     GRAMSTMTSEQ = 263,
65     GRAMSUBSIGNATURE = 264,
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_COMMA = 270,
72     PERLY_DOT = 271,
73     PERLY_EQUAL_SIGN = 272,
74     PERLY_MINUS = 273,
75     PERLY_PERCENT_SIGN = 274,
76     PERLY_PLUS = 275,
77     PERLY_SEMICOLON = 276,
78     PERLY_SNAIL = 277,
79     PERLY_STAR = 278,
80     BAREWORD = 279,
81     METHOD = 280,
82     FUNCMETH = 281,
83     THING = 282,
84     PMFUNC = 283,
85     PRIVATEREF = 284,
86     QWLIST = 285,
87     FUNC0OP = 286,
88     FUNC0SUB = 287,
89     UNIOPSUB = 288,
90     LSTOPSUB = 289,
91     PLUGEXPR = 290,
92     PLUGSTMT = 291,
93     LABEL = 292,
94     FORMAT = 293,
95     SUB = 294,
96     SIGSUB = 295,
97     ANONSUB = 296,
98     ANON_SIGSUB = 297,
99     PACKAGE = 298,
100     USE = 299,
101     WHILE = 300,
102     UNTIL = 301,
103     IF = 302,
104     UNLESS = 303,
105     ELSE = 304,
106     ELSIF = 305,
107     CONTINUE = 306,
108     FOR = 307,
109     GIVEN = 308,
110     WHEN = 309,
111     DEFAULT = 310,
112     LOOPEX = 311,
113     DOTDOT = 312,
114     YADAYADA = 313,
115     FUNC0 = 314,
116     FUNC1 = 315,
117     FUNC = 316,
118     UNIOP = 317,
119     LSTOP = 318,
120     MULOP = 319,
121     ADDOP = 320,
122     DOLSHARP = 321,
123     DO = 322,
124     HASHBRACK = 323,
125     NOAMP = 324,
126     LOCAL = 325,
127     MY = 326,
128     REQUIRE = 327,
129     COLONATTR = 328,
130     FORMLBRACK = 329,
131     FORMRBRACK = 330,
132     SUBLEXSTART = 331,
133     SUBLEXEND = 332,
134     PREC_LOW = 333,
135     OROP = 334,
136     DOROP = 335,
137     ANDOP = 336,
138     NOTOP = 337,
139     ASSIGNOP = 338,
140     PERLY_QUESTION_MARK = 339,
141     PERLY_COLON = 340,
142     OROR = 341,
143     DORDOR = 342,
144     ANDAND = 343,
145     BITOROP = 344,
146     BITANDOP = 345,
147     CHEQOP = 346,
148     NCEQOP = 347,
149     CHRELOP = 348,
150     NCRELOP = 349,
151     SHIFTOP = 350,
152     MATCHOP = 351,
153     PERLY_EXCLAMATION_MARK = 352,
154     PERLY_TILDE = 353,
155     UMINUS = 354,
156     REFGEN = 355,
157     POWOP = 356,
158     PREINC = 357,
159     PREDEC = 358,
160     POSTINC = 359,
161     POSTDEC = 360,
162     POSTJOIN = 361,
163     ARROW = 362,
164     PERLY_PAREN_CLOSE = 363,
165     PERLY_PAREN_OPEN = 364
166   };
167 #endif
168
169 /* Value type.  */
170 #ifdef PERL_IN_TOKE_C
171 static bool
172 S_is_opval_token(int type) {
173     switch (type) {
174     case BAREWORD:
175     case FUNC0OP:
176     case FUNC0SUB:
177     case FUNCMETH:
178     case LABEL:
179     case LSTOPSUB:
180     case METHOD:
181     case PLUGEXPR:
182     case PLUGSTMT:
183     case PMFUNC:
184     case PRIVATEREF:
185     case QWLIST:
186     case THING:
187     case UNIOPSUB:
188         return 1;
189     }
190     return 0;
191 }
192 #endif /* PERL_IN_TOKE_C */
193 #endif /* PERL_CORE */
194 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
195 union YYSTYPE
196 {
197
198     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
199                                 must always be 1st union member) */
200     char *pval;
201     OP *opval;
202     GV *gvval;
203
204
205 };
206 typedef union YYSTYPE YYSTYPE;
207 # define YYSTYPE_IS_TRIVIAL 1
208 # define YYSTYPE_IS_DECLARED 1
209 #endif
210
211
212
213 int yyparse (void);
214
215
216 /* Generated from:
217  * d555d290bc7bf474791b8fd853e445933bb75ff8ff453aca9f7ff3b05b614566 perly.y
218  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
219  * ex: set ro: */