This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_EQUAL_SIGN
[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_BRACE_OPEN = 265,
67     PERLY_BRACE_CLOSE = 266,
68     PERLY_BRACKET_OPEN = 267,
69     PERLY_BRACKET_CLOSE = 268,
70     PERLY_DOT = 269,
71     PERLY_EQUAL_SIGN = 270,
72     PERLY_SEMICOLON = 271,
73     BAREWORD = 272,
74     METHOD = 273,
75     FUNCMETH = 274,
76     THING = 275,
77     PMFUNC = 276,
78     PRIVATEREF = 277,
79     QWLIST = 278,
80     FUNC0OP = 279,
81     FUNC0SUB = 280,
82     UNIOPSUB = 281,
83     LSTOPSUB = 282,
84     PLUGEXPR = 283,
85     PLUGSTMT = 284,
86     LABEL = 285,
87     FORMAT = 286,
88     SUB = 287,
89     SIGSUB = 288,
90     ANONSUB = 289,
91     ANON_SIGSUB = 290,
92     PACKAGE = 291,
93     USE = 292,
94     WHILE = 293,
95     UNTIL = 294,
96     IF = 295,
97     UNLESS = 296,
98     ELSE = 297,
99     ELSIF = 298,
100     CONTINUE = 299,
101     FOR = 300,
102     GIVEN = 301,
103     WHEN = 302,
104     DEFAULT = 303,
105     LOOPEX = 304,
106     DOTDOT = 305,
107     YADAYADA = 306,
108     FUNC0 = 307,
109     FUNC1 = 308,
110     FUNC = 309,
111     UNIOP = 310,
112     LSTOP = 311,
113     MULOP = 312,
114     ADDOP = 313,
115     DOLSHARP = 314,
116     DO = 315,
117     HASHBRACK = 316,
118     NOAMP = 317,
119     LOCAL = 318,
120     MY = 319,
121     REQUIRE = 320,
122     COLONATTR = 321,
123     FORMLBRACK = 322,
124     FORMRBRACK = 323,
125     SUBLEXSTART = 324,
126     SUBLEXEND = 325,
127     PREC_LOW = 326,
128     OROP = 327,
129     DOROP = 328,
130     ANDOP = 329,
131     NOTOP = 330,
132     ASSIGNOP = 331,
133     OROR = 332,
134     DORDOR = 333,
135     ANDAND = 334,
136     BITOROP = 335,
137     BITANDOP = 336,
138     CHEQOP = 337,
139     NCEQOP = 338,
140     CHRELOP = 339,
141     NCRELOP = 340,
142     SHIFTOP = 341,
143     MATCHOP = 342,
144     UMINUS = 343,
145     REFGEN = 344,
146     POWOP = 345,
147     PREINC = 346,
148     PREDEC = 347,
149     POSTINC = 348,
150     POSTDEC = 349,
151     POSTJOIN = 350,
152     ARROW = 351
153   };
154 #endif
155
156 /* Value type.  */
157 #ifdef PERL_IN_TOKE_C
158 static bool
159 S_is_opval_token(int type) {
160     switch (type) {
161     case BAREWORD:
162     case FUNC0OP:
163     case FUNC0SUB:
164     case FUNCMETH:
165     case LABEL:
166     case LSTOPSUB:
167     case METHOD:
168     case PLUGEXPR:
169     case PLUGSTMT:
170     case PMFUNC:
171     case PRIVATEREF:
172     case QWLIST:
173     case THING:
174     case UNIOPSUB:
175         return 1;
176     }
177     return 0;
178 }
179 #endif /* PERL_IN_TOKE_C */
180 #endif /* PERL_CORE */
181 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
182 union YYSTYPE
183 {
184
185     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
186                                 must always be 1st union member) */
187     char *pval;
188     OP *opval;
189     GV *gvval;
190
191
192 };
193 typedef union YYSTYPE YYSTYPE;
194 # define YYSTYPE_IS_TRIVIAL 1
195 # define YYSTYPE_IS_DECLARED 1
196 #endif
197
198
199
200 int yyparse (void);
201
202
203 /* Generated from:
204  * 73ee434ba96b92f48b5072443bb2c4bcd9bdf40ef9685a6c1ec4a8ea8a0ebe8b perly.y
205  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
206  * ex: set ro: */