1/* A Bison parser, made by GNU Bison 2.3.  */
2
3/* Skeleton interface for Bison's Yacc-like parsers in C
4
5   Copyright (c) 1984-2008 Free Software Foundation, Inc.
6
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 2, or (at your option)
10   any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 51 Franklin Street, Fifth Floor,
20   Boston, MA 02110-1301, USA.  */
21
22/* As a special exception, you may create a larger work that contains
23   part or all of the Bison parser skeleton and distribute that work
24   under terms of your choice, so long as that work isn't itself a
25   parser generator using the skeleton or a modified version thereof
26   as a parser skeleton.  Alternatively, if you modify or redistribute
27   the parser skeleton itself, you may (at your option) remove this
28   special exception, which will cause the skeleton and the resulting
29   Bison output files to be licensed under the GNU General Public
30   License without this special exception.
31
32   This special exception was added by the Free Software Foundation in
33   version 2.2 of Bison.  */
34
35/* Tokens.  */
36#ifndef YYTOKENTYPE
37# define YYTOKENTYPE
38   /* Put the tokens into the symbol table, so that GDB and other debuggers
39      know about them.  */
40   enum yytokentype {
41     FNUMBER = 258,
42     DNUMBER = 259,
43     STRING = 260,
44     IDENT = 261,
45     VARIABLE = 262,
46     T_ECHO = 263,
47     EXIT = 264,
48     IF = 265,
49     DO = 266,
50     WHILE = 267,
51     ENDWHILE = 268,
52     FOR = 269,
53     ENDFOR = 270,
54     FOREACH = 271,
55     ENDFOREACH = 272,
56     DECLARE = 273,
57     ENDDECLARE = 274,
58     AS = 275,
59     CONST = 276,
60     GLOBAL = 277,
61     UNSET = 278,
62     ISSET = 279,
63     EMPTY = 280,
64     SWITCH = 281,
65     ENDSWITCH = 282,
66     CASE = 283,
67     DEFAULT = 284,
68     BREAK = 285,
69     CONTINUE = 286,
70     FUNCTION = 287,
71     RETURN = 288,
72     CLASS = 289,
73     INTERFACE = 290,
74     EXTENDS = 291,
75     IMPLEMENTS = 292,
76     OBJECT_OPERATOR = 293,
77     HASH_ASSIGN = 294,
78     LIST = 295,
79     ARRAY = 296,
80     CLASS_SCOPE = 297,
81     PRINT = 298,
82     SR_EQ = 299,
83     SL_EQ = 300,
84     XOR_EQ = 301,
85     OR_EQ = 302,
86     AND_EQ = 303,
87     MOD_EQ = 304,
88     CONCAT_EQ = 305,
89     DIV_EQ = 306,
90     MUL_EQ = 307,
91     MINUS_EQ = 308,
92     PLUS_EQ = 309,
93     LOG_OR = 310,
94     LOG_XOR = 311,
95     LOG_AND = 312,
96     BOOLEAN_OR = 313,
97     BOOLEAN_AND = 314,
98     IS_NOIDENTICAL = 315,
99     IS_IDENTICAL = 316,
100     IS_NOEQUAL = 317,
101     IS_EQ = 318,
102     IS_GREATER_OR_EQ = 319,
103     IS_SMALLER_OR_EQ = 320,
104     SR = 321,
105     SL = 322,
106     INSTANCEOF = 323,
107     UNSET_CAST = 324,
108     BOOL_CAST = 325,
109     OBJECT_CAST = 326,
110     ARRAY_CAST = 327,
111     STRING_CAST = 328,
112     DOUBLE_CAST = 329,
113     INT_CAST = 330,
114     DEC = 331,
115     INC = 332,
116     CLONE = 333,
117     NEW = 334,
118     ELSEIF = 335,
119     ELSE = 336,
120     ENDIF = 337,
121     PUBLIC = 338,
122     PROTECTED = 339,
123     PRIVATE = 340,
124     FINAL = 341,
125     ABSTRACT = 342,
126     STATIC = 343,
127     START_SCRIPT = 344,
128     END_SCRIPT = 345
129   };
130#endif
131/* Tokens.  */
132#define FNUMBER 258
133#define DNUMBER 259
134#define STRING 260
135#define IDENT 261
136#define VARIABLE 262
137#define T_ECHO 263
138#define EXIT 264
139#define IF 265
140#define DO 266
141#define WHILE 267
142#define ENDWHILE 268
143#define FOR 269
144#define ENDFOR 270
145#define FOREACH 271
146#define ENDFOREACH 272
147#define DECLARE 273
148#define ENDDECLARE 274
149#define AS 275
150#define CONST 276
151#define GLOBAL 277
152#define UNSET 278
153#define ISSET 279
154#define EMPTY 280
155#define SWITCH 281
156#define ENDSWITCH 282
157#define CASE 283
158#define DEFAULT 284
159#define BREAK 285
160#define CONTINUE 286
161#define FUNCTION 287
162#define RETURN 288
163#define CLASS 289
164#define INTERFACE 290
165#define EXTENDS 291
166#define IMPLEMENTS 292
167#define OBJECT_OPERATOR 293
168#define HASH_ASSIGN 294
169#define LIST 295
170#define ARRAY 296
171#define CLASS_SCOPE 297
172#define PRINT 298
173#define SR_EQ 299
174#define SL_EQ 300
175#define XOR_EQ 301
176#define OR_EQ 302
177#define AND_EQ 303
178#define MOD_EQ 304
179#define CONCAT_EQ 305
180#define DIV_EQ 306
181#define MUL_EQ 307
182#define MINUS_EQ 308
183#define PLUS_EQ 309
184#define LOG_OR 310
185#define LOG_XOR 311
186#define LOG_AND 312
187#define BOOLEAN_OR 313
188#define BOOLEAN_AND 314
189#define IS_NOIDENTICAL 315
190#define IS_IDENTICAL 316
191#define IS_NOEQUAL 317
192#define IS_EQ 318
193#define IS_GREATER_OR_EQ 319
194#define IS_SMALLER_OR_EQ 320
195#define SR 321
196#define SL 322
197#define INSTANCEOF 323
198#define UNSET_CAST 324
199#define BOOL_CAST 325
200#define OBJECT_CAST 326
201#define ARRAY_CAST 327
202#define STRING_CAST 328
203#define DOUBLE_CAST 329
204#define INT_CAST 330
205#define DEC 331
206#define INC 332
207#define CLONE 333
208#define NEW 334
209#define ELSEIF 335
210#define ELSE 336
211#define ENDIF 337
212#define PUBLIC 338
213#define PROTECTED 339
214#define PRIVATE 340
215#define FINAL 341
216#define ABSTRACT 342
217#define STATIC 343
218#define START_SCRIPT 344
219#define END_SCRIPT 345
220
221
222
223
224#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
225typedef union YYSTYPE
226#line 67 "php_parser.y"
227{
228	PHP_SYN_NODE *syn_node;
229	PHP_EXP_NODE *exp_node;
230
231	char str_val[256];
232}
233/* Line 1529 of yacc.c.  */
234#line 236 "php_parser.h"
235	YYSTYPE;
236# define yystype YYSTYPE /* obsolescent; will be withdrawn */
237# define YYSTYPE_IS_DECLARED 1
238# define YYSTYPE_IS_TRIVIAL 1
239#endif
240
241extern YYSTYPE phplval;
242
243