xref: /openbsd/gnu/usr.bin/perl/perly.h (revision e0680481)
1 /* -*- mode: C; 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  30003
8 
9 #ifdef PERL_CORE
10 /* A Bison parser, made by GNU Bison 3.3.  */
11 
12 /* Bison interface for Yacc-like parsers in C
13 
14    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 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_DOLLAR = 271,
73     PERLY_DOT = 272,
74     PERLY_EQUAL_SIGN = 273,
75     PERLY_MINUS = 274,
76     PERLY_PERCENT_SIGN = 275,
77     PERLY_PLUS = 276,
78     PERLY_SEMICOLON = 277,
79     PERLY_SLASH = 278,
80     PERLY_SNAIL = 279,
81     PERLY_STAR = 280,
82     KW_FORMAT = 281,
83     KW_PACKAGE = 282,
84     KW_CLASS = 283,
85     KW_LOCAL = 284,
86     KW_MY = 285,
87     KW_FIELD = 286,
88     KW_IF = 287,
89     KW_ELSE = 288,
90     KW_ELSIF = 289,
91     KW_UNLESS = 290,
92     KW_FOR = 291,
93     KW_UNTIL = 292,
94     KW_WHILE = 293,
95     KW_CONTINUE = 294,
96     KW_GIVEN = 295,
97     KW_WHEN = 296,
98     KW_DEFAULT = 297,
99     KW_TRY = 298,
100     KW_CATCH = 299,
101     KW_FINALLY = 300,
102     KW_DEFER = 301,
103     KW_REQUIRE = 302,
104     KW_DO = 303,
105     KW_USE_or_NO = 304,
106     KW_SUB_named = 305,
107     KW_SUB_named_sig = 306,
108     KW_SUB_anon = 307,
109     KW_SUB_anon_sig = 308,
110     KW_METHOD_named = 309,
111     KW_METHOD_anon = 310,
112     BAREWORD = 311,
113     METHCALL0 = 312,
114     METHCALL = 313,
115     THING = 314,
116     PMFUNC = 315,
117     PRIVATEREF = 316,
118     QWLIST = 317,
119     FUNC0OP = 318,
120     FUNC0SUB = 319,
121     UNIOPSUB = 320,
122     LSTOPSUB = 321,
123     PLUGEXPR = 322,
124     PLUGSTMT = 323,
125     LABEL = 324,
126     LOOPEX = 325,
127     DOTDOT = 326,
128     YADAYADA = 327,
129     FUNC0 = 328,
130     FUNC1 = 329,
131     FUNC = 330,
132     UNIOP = 331,
133     LSTOP = 332,
134     POWOP = 333,
135     MULOP = 334,
136     ADDOP = 335,
137     DOLSHARP = 336,
138     HASHBRACK = 337,
139     NOAMP = 338,
140     COLONATTR = 339,
141     FORMLBRACK = 340,
142     FORMRBRACK = 341,
143     SUBLEXSTART = 342,
144     SUBLEXEND = 343,
145     PHASER = 344,
146     PREC_LOW = 345,
147     PLUGIN_LOW_OP = 346,
148     OROP = 347,
149     PLUGIN_LOGICAL_OR_LOW_OP = 348,
150     ANDOP = 349,
151     PLUGIN_LOGICAL_AND_LOW_OP = 350,
152     NOTOP = 351,
153     ASSIGNOP = 352,
154     PLUGIN_ASSIGN_OP = 353,
155     PERLY_QUESTION_MARK = 354,
156     PERLY_COLON = 355,
157     OROR = 356,
158     DORDOR = 357,
159     PLUGIN_LOGICAL_OR_OP = 358,
160     ANDAND = 359,
161     PLUGIN_LOGICAL_AND_OP = 360,
162     BITOROP = 361,
163     BITANDOP = 362,
164     CHEQOP = 363,
165     NCEQOP = 364,
166     CHRELOP = 365,
167     NCRELOP = 366,
168     PLUGIN_REL_OP = 367,
169     SHIFTOP = 368,
170     PLUGIN_ADD_OP = 369,
171     PLUGIN_MUL_OP = 370,
172     MATCHOP = 371,
173     PERLY_EXCLAMATION_MARK = 372,
174     PERLY_TILDE = 373,
175     UMINUS = 374,
176     REFGEN = 375,
177     PLUGIN_POW_OP = 376,
178     PREINC = 377,
179     PREDEC = 378,
180     POSTINC = 379,
181     POSTDEC = 380,
182     POSTJOIN = 381,
183     PLUGIN_HIGH_OP = 382,
184     ARROW = 383,
185     PERLY_PAREN_CLOSE = 384,
186     PERLY_PAREN_OPEN = 385
187   };
188 #endif
189 
190 /* Value type.  */
191 #ifdef PERL_IN_TOKE_C
192 static bool
S_is_opval_token(int type)193 S_is_opval_token(int type) {
194     switch (type) {
195     case BAREWORD:
196     case FUNC0OP:
197     case FUNC0SUB:
198     case LABEL:
199     case LSTOPSUB:
200     case METHCALL:
201     case METHCALL0:
202     case PLUGEXPR:
203     case PLUGSTMT:
204     case PMFUNC:
205     case PRIVATEREF:
206     case QWLIST:
207     case THING:
208     case UNIOPSUB:
209 	return 1;
210     }
211     return 0;
212 }
213 #endif /* PERL_IN_TOKE_C */
214 #endif /* PERL_CORE */
215 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
216 
217 union YYSTYPE
218 {
219 
220     I32	ival; /* __DEFAULT__ (marker for regen_perly.pl;
221 				must always be 1st union member) */
222     void *pval;
223     OP *opval;
224     GV *gvval;
225 
226 };
227 
228 typedef union YYSTYPE YYSTYPE;
229 # define YYSTYPE_IS_TRIVIAL 1
230 # define YYSTYPE_IS_DECLARED 1
231 #endif
232 
233 
234 
235 int yyparse (void);
236 
237 
238 /* Generated from:
239  * 0a5fcd15cf0b7afb57ade6ceaf68037a38dd194acd9d60d3e4ad99c15233af75 perly.y
240  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
241  * ex: set ro ft=c: */
242