This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
chained comparisons
[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.2.  */
11
12 /* Bison interface for Yacc-like parsers in C
13
14    Copyright (C) 1984, 1989-1990, 2000-2013 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     MULOP = 305,
103     ADDOP = 306,
104     DOLSHARP = 307,
105     DO = 308,
106     HASHBRACK = 309,
107     NOAMP = 310,
108     LOCAL = 311,
109     MY = 312,
110     REQUIRE = 313,
111     COLONATTR = 314,
112     FORMLBRACK = 315,
113     FORMRBRACK = 316,
114     SUBLEXSTART = 317,
115     SUBLEXEND = 318,
116     PREC_LOW = 319,
117     OROP = 320,
118     DOROP = 321,
119     ANDOP = 322,
120     NOTOP = 323,
121     ASSIGNOP = 324,
122     OROR = 325,
123     DORDOR = 326,
124     ANDAND = 327,
125     BITOROP = 328,
126     BITANDOP = 329,
127     CHEQOP = 330,
128     NCEQOP = 331,
129     CHRELOP = 332,
130     NCRELOP = 333,
131     SHIFTOP = 334,
132     MATCHOP = 335,
133     UMINUS = 336,
134     REFGEN = 337,
135     POWOP = 338,
136     PREINC = 339,
137     PREDEC = 340,
138     POSTINC = 341,
139     POSTDEC = 342,
140     POSTJOIN = 343,
141     ARROW = 344
142   };
143 #endif
144
145 /* Value type.  */
146 #ifdef PERL_IN_TOKE_C
147 static bool
148 S_is_opval_token(int type) {
149     switch (type) {
150     case BAREWORD:
151     case FUNC0OP:
152     case FUNC0SUB:
153     case FUNCMETH:
154     case LABEL:
155     case LSTOPSUB:
156     case METHOD:
157     case PLUGEXPR:
158     case PLUGSTMT:
159     case PMFUNC:
160     case PRIVATEREF:
161     case QWLIST:
162     case THING:
163     case UNIOPSUB:
164         return 1;
165     }
166     return 0;
167 }
168 #endif /* PERL_IN_TOKE_C */
169 #endif /* PERL_CORE */
170 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
171 typedef union YYSTYPE YYSTYPE;
172 union YYSTYPE
173 {
174
175     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
176                                 must always be 1st union member) */
177     char *pval;
178     OP *opval;
179     GV *gvval;
180
181 };
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  * e762043bfa8c11d38e46b8759b544243dd0b1dee698344186c06df7dd91ec5ed perly.y
193  * 0947213b55d0ed11693554bea04987e886cf285f5c14cf9075fa1e7acc3f4061 regen_perly.pl
194  * ex: set ro: */