This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
put signature ops in their own subtree.
[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  30000
8
9 #ifdef PERL_CORE
10 /* A Bison parser, made by GNU Bison 3.0.5.  */
11
12 /* Bison interface for Yacc-like parsers in C
13
14    Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
15
16    This program is free software: you can redistribute it and/or modify
17    it under the terms of the GNU General Public License as published by
18    the Free Software Foundation, either version 3 of the License, or
19    (at your option) any later version.
20
21    This program is distributed in the hope that it will be useful,
22    but WITHOUT ANY WARRANTY; without even the implied warranty of
23    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24    GNU General Public License for more details.
25
26    You should have received a copy of the GNU General Public License
27    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
28
29 /* As a special exception, you may create a larger work that contains
30    part or all of the Bison parser skeleton and distribute that work
31    under terms of your choice, so long as that work isn't itself a
32    parser generator using the skeleton or a modified version thereof
33    as a parser skeleton.  Alternatively, if you modify or redistribute
34    the parser skeleton itself, you may (at your option) remove this
35    special exception, which will cause the skeleton and the resulting
36    Bison output files to be licensed under the GNU General Public
37    License without this special exception.
38
39    This special exception was added by the Free Software Foundation in
40    version 2.2 of Bison.  */
41
42 /* Debug traces.  */
43 #ifndef YYDEBUG
44 # define YYDEBUG 0
45 #endif
46 #if YYDEBUG
47 extern int yydebug;
48 #endif
49
50 /* Token type.  */
51 #ifndef YYTOKENTYPE
52 # define YYTOKENTYPE
53   enum yytokentype
54   {
55     GRAMPROG = 258,
56     GRAMEXPR = 259,
57     GRAMBLOCK = 260,
58     GRAMBARESTMT = 261,
59     GRAMFULLSTMT = 262,
60     GRAMSTMTSEQ = 263,
61     GRAMSUBSIGNATURE = 264,
62     BAREWORD = 265,
63     METHOD = 266,
64     FUNCMETH = 267,
65     THING = 268,
66     PMFUNC = 269,
67     PRIVATEREF = 270,
68     QWLIST = 271,
69     FUNC0OP = 272,
70     FUNC0SUB = 273,
71     UNIOPSUB = 274,
72     LSTOPSUB = 275,
73     PLUGEXPR = 276,
74     PLUGSTMT = 277,
75     LABEL = 278,
76     FORMAT = 279,
77     SUB = 280,
78     SIGSUB = 281,
79     ANONSUB = 282,
80     ANON_SIGSUB = 283,
81     PACKAGE = 284,
82     USE = 285,
83     WHILE = 286,
84     UNTIL = 287,
85     IF = 288,
86     UNLESS = 289,
87     ELSE = 290,
88     ELSIF = 291,
89     CONTINUE = 292,
90     FOR = 293,
91     GIVEN = 294,
92     WHEN = 295,
93     DEFAULT = 296,
94     LOOPEX = 297,
95     DOTDOT = 298,
96     YADAYADA = 299,
97     FUNC0 = 300,
98     FUNC1 = 301,
99     FUNC = 302,
100     UNIOP = 303,
101     LSTOP = 304,
102     RELOP = 305,
103     EQOP = 306,
104     MULOP = 307,
105     ADDOP = 308,
106     DOLSHARP = 309,
107     DO = 310,
108     HASHBRACK = 311,
109     NOAMP = 312,
110     LOCAL = 313,
111     MY = 314,
112     REQUIRE = 315,
113     COLONATTR = 316,
114     FORMLBRACK = 317,
115     FORMRBRACK = 318,
116     SUBLEXSTART = 319,
117     SUBLEXEND = 320,
118     PREC_LOW = 321,
119     OROP = 322,
120     DOROP = 323,
121     ANDOP = 324,
122     NOTOP = 325,
123     ASSIGNOP = 326,
124     OROR = 327,
125     DORDOR = 328,
126     ANDAND = 329,
127     BITOROP = 330,
128     BITANDOP = 331,
129     SHIFTOP = 332,
130     MATCHOP = 333,
131     UMINUS = 334,
132     REFGEN = 335,
133     POWOP = 336,
134     PREINC = 337,
135     PREDEC = 338,
136     POSTINC = 339,
137     POSTDEC = 340,
138     POSTJOIN = 341,
139     ARROW = 342
140   };
141 #endif
142
143 /* Value type.  */
144 #ifdef PERL_IN_TOKE_C
145 static bool
146 S_is_opval_token(int type) {
147     switch (type) {
148     case BAREWORD:
149     case FUNC0OP:
150     case FUNC0SUB:
151     case FUNCMETH:
152     case LABEL:
153     case LSTOPSUB:
154     case METHOD:
155     case PLUGEXPR:
156     case PLUGSTMT:
157     case PMFUNC:
158     case PRIVATEREF:
159     case QWLIST:
160     case THING:
161     case UNIOPSUB:
162         return 1;
163     }
164     return 0;
165 }
166 #endif /* PERL_IN_TOKE_C */
167 #endif /* PERL_CORE */
168 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
169
170 union YYSTYPE
171 {
172
173     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
174                                 must always be 1st union member) */
175     char *pval;
176     OP *opval;
177     GV *gvval;
178
179 };
180
181 typedef union YYSTYPE YYSTYPE;
182 # define YYSTYPE_IS_TRIVIAL 1
183 # define YYSTYPE_IS_DECLARED 1
184 #endif
185
186
187
188 int yyparse (void);
189
190
191 /* Generated from:
192  * c522864236e07231c0a218cecf8cdcd82b74ce082b72f10199de4deeff580100 perly.y
193  * 0947213b55d0ed11693554bea04987e886cf285f5c14cf9075fa1e7acc3f4061 regen_perly.pl
194  * ex: set ro: */