In buildtoc, refactor all the duplicated checking logic into a subroutine.
[perl.git] / perly.h
1 #ifdef PERL_CORE
2
3 /* A Bison parser, made by GNU Bison 2.4.1.  */
4
5 /* Skeleton interface for Bison's Yacc-like parsers in C
6    
7       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
8    Free Software Foundation, Inc.
9    
10    This program is free software: you can redistribute it and/or modify
11    it under the terms of the GNU General Public License as published by
12    the Free Software Foundation, either version 3 of the License, or
13    (at your option) any later version.
14    
15    This program is distributed in the hope that it will be useful,
16    but WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18    GNU General Public License for more details.
19    
20    You should have received a copy of the GNU General Public License
21    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
22
23 /* As a special exception, you may create a larger work that contains
24    part or all of the Bison parser skeleton and distribute that work
25    under terms of your choice, so long as that work isn't itself a
26    parser generator using the skeleton or a modified version thereof
27    as a parser skeleton.  Alternatively, if you modify or redistribute
28    the parser skeleton itself, you may (at your option) remove this
29    special exception, which will cause the skeleton and the resulting
30    Bison output files to be licensed under the GNU General Public
31    License without this special exception.
32    
33    This special exception was added by the Free Software Foundation in
34    version 2.2 of Bison.  */
35
36
37 /* Tokens.  */
38 #ifndef YYTOKENTYPE
39 # define YYTOKENTYPE
40    /* Put the tokens into the symbol table, so that GDB and other debuggers
41       know about them.  */
42    enum yytokentype {
43      WORD = 258,
44      METHOD = 259,
45      FUNCMETH = 260,
46      THING = 261,
47      PMFUNC = 262,
48      PRIVATEREF = 263,
49      FUNC0SUB = 264,
50      UNIOPSUB = 265,
51      LSTOPSUB = 266,
52      LABEL = 267,
53      FORMAT = 268,
54      SUB = 269,
55      ANONSUB = 270,
56      PACKAGE = 271,
57      USE = 272,
58      WHILE = 273,
59      UNTIL = 274,
60      IF = 275,
61      UNLESS = 276,
62      ELSE = 277,
63      ELSIF = 278,
64      CONTINUE = 279,
65      FOR = 280,
66      GIVEN = 281,
67      WHEN = 282,
68      DEFAULT = 283,
69      LOOPEX = 284,
70      DOTDOT = 285,
71      YADAYADA = 286,
72      FUNC0 = 287,
73      FUNC1 = 288,
74      FUNC = 289,
75      UNIOP = 290,
76      LSTOP = 291,
77      RELOP = 292,
78      EQOP = 293,
79      MULOP = 294,
80      ADDOP = 295,
81      DOLSHARP = 296,
82      DO = 297,
83      HASHBRACK = 298,
84      NOAMP = 299,
85      LOCAL = 300,
86      MY = 301,
87      MYSUB = 302,
88      REQUIRE = 303,
89      COLONATTR = 304,
90      PREC_LOW = 305,
91      DOROP = 306,
92      OROP = 307,
93      ANDOP = 308,
94      NOTOP = 309,
95      ASSIGNOP = 310,
96      DORDOR = 311,
97      OROR = 312,
98      ANDAND = 313,
99      BITOROP = 314,
100      BITANDOP = 315,
101      SHIFTOP = 316,
102      MATCHOP = 317,
103      REFGEN = 318,
104      UMINUS = 319,
105      POWOP = 320,
106      POSTDEC = 321,
107      POSTINC = 322,
108      PREDEC = 323,
109      PREINC = 324,
110      ARROW = 325,
111      PEG = 326
112    };
113 #endif
114
115 /* Tokens.  */
116 #define WORD 258
117 #define METHOD 259
118 #define FUNCMETH 260
119 #define THING 261
120 #define PMFUNC 262
121 #define PRIVATEREF 263
122 #define FUNC0SUB 264
123 #define UNIOPSUB 265
124 #define LSTOPSUB 266
125 #define LABEL 267
126 #define FORMAT 268
127 #define SUB 269
128 #define ANONSUB 270
129 #define PACKAGE 271
130 #define USE 272
131 #define WHILE 273
132 #define UNTIL 274
133 #define IF 275
134 #define UNLESS 276
135 #define ELSE 277
136 #define ELSIF 278
137 #define CONTINUE 279
138 #define FOR 280
139 #define GIVEN 281
140 #define WHEN 282
141 #define DEFAULT 283
142 #define LOOPEX 284
143 #define DOTDOT 285
144 #define YADAYADA 286
145 #define FUNC0 287
146 #define FUNC1 288
147 #define FUNC 289
148 #define UNIOP 290
149 #define LSTOP 291
150 #define RELOP 292
151 #define EQOP 293
152 #define MULOP 294
153 #define ADDOP 295
154 #define DOLSHARP 296
155 #define DO 297
156 #define HASHBRACK 298
157 #define NOAMP 299
158 #define LOCAL 300
159 #define MY 301
160 #define MYSUB 302
161 #define REQUIRE 303
162 #define COLONATTR 304
163 #define PREC_LOW 305
164 #define DOROP 306
165 #define OROP 307
166 #define ANDOP 308
167 #define NOTOP 309
168 #define ASSIGNOP 310
169 #define DORDOR 311
170 #define OROR 312
171 #define ANDAND 313
172 #define BITOROP 314
173 #define BITANDOP 315
174 #define SHIFTOP 316
175 #define MATCHOP 317
176 #define REFGEN 318
177 #define UMINUS 319
178 #define POWOP 320
179 #define POSTDEC 321
180 #define POSTINC 322
181 #define PREDEC 323
182 #define PREINC 324
183 #define ARROW 325
184 #define PEG 326
185
186
187
188 #endif /* PERL_CORE */
189 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
190 typedef union YYSTYPE
191 {
192
193 /* Line 1676 of yacc.c  */
194
195     I32 ival; /* __DEFAULT__ (marker for regen_perly.pl;
196                                 must always be 1st union member) */
197     char *pval;
198     OP *opval;
199     GV *gvval;
200 #ifdef PERL_IN_MADLY_C
201     TOKEN* p_tkval;
202     TOKEN* i_tkval;
203 #else
204     char *p_tkval;
205     I32 i_tkval;
206 #endif
207 #ifdef PERL_MAD
208     TOKEN* tkval;
209 #endif
210
211
212
213 /* Line 1676 of yacc.c  */
214 } YYSTYPE;
215 # define YYSTYPE_IS_TRIVIAL 1
216 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
217 # define YYSTYPE_IS_DECLARED 1
218 #endif
219
220
221
222