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