1 /* A Bison parser, made by GNU Bison 3.0.4. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015 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 3 of the License, or 10 (at your option) 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, see <http://www.gnu.org/licenses/>. */ 19 20 /* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33 #ifndef YY_PHP_PHP_PARSER_H_INCLUDED 34 # define YY_PHP_PHP_PARSER_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 1 38 #endif 39 #if YYDEBUG 40 extern int phpdebug; 41 #endif 42 43 /* Token type. */ 44 #ifndef YYTOKENTYPE 45 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 FNUMBER = 258, 49 DNUMBER = 259, 50 STRING = 260, 51 IDENT = 261, 52 VARIABLE = 262, 53 T_ECHO = 263, 54 EXIT = 264, 55 IF = 265, 56 DO = 266, 57 WHILE = 267, 58 ENDWHILE = 268, 59 FOR = 269, 60 ENDFOR = 270, 61 FOREACH = 271, 62 ENDFOREACH = 272, 63 DECLARE = 273, 64 ENDDECLARE = 274, 65 AS = 275, 66 CONST = 276, 67 GLOBAL = 277, 68 UNSET = 278, 69 ISSET = 279, 70 EMPTY = 280, 71 SWITCH = 281, 72 ENDSWITCH = 282, 73 CASE = 283, 74 DEFAULT = 284, 75 BREAK = 285, 76 CONTINUE = 286, 77 FUNCTION = 287, 78 RETURN = 288, 79 CLASS = 289, 80 INTERFACE = 290, 81 EXTENDS = 291, 82 IMPLEMENTS = 292, 83 OBJECT_OPERATOR = 293, 84 HASH_ASSIGN = 294, 85 LIST = 295, 86 ARRAY = 296, 87 CLASS_SCOPE = 297, 88 PRINT = 298, 89 PLUS_EQ = 299, 90 MINUS_EQ = 300, 91 MUL_EQ = 301, 92 DIV_EQ = 302, 93 CONCAT_EQ = 303, 94 MOD_EQ = 304, 95 AND_EQ = 305, 96 OR_EQ = 306, 97 XOR_EQ = 307, 98 SL_EQ = 308, 99 SR_EQ = 309, 100 LOG_OR = 310, 101 LOG_XOR = 311, 102 LOG_AND = 312, 103 BOOLEAN_OR = 313, 104 BOOLEAN_AND = 314, 105 IS_EQ = 315, 106 IS_NOEQUAL = 316, 107 IS_IDENTICAL = 317, 108 IS_NOIDENTICAL = 318, 109 IS_SMALLER_OR_EQ = 319, 110 IS_GREATER_OR_EQ = 320, 111 SL = 321, 112 SR = 322, 113 INSTANCEOF = 323, 114 INC = 324, 115 DEC = 325, 116 INT_CAST = 326, 117 DOUBLE_CAST = 327, 118 STRING_CAST = 328, 119 ARRAY_CAST = 329, 120 OBJECT_CAST = 330, 121 BOOL_CAST = 331, 122 UNSET_CAST = 332, 123 NEW = 333, 124 CLONE = 334, 125 ELSEIF = 335, 126 ELSE = 336, 127 ENDIF = 337, 128 STATIC = 338, 129 ABSTRACT = 339, 130 FINAL = 340, 131 PRIVATE = 341, 132 PROTECTED = 342, 133 PUBLIC = 343, 134 START_SCRIPT = 344, 135 END_SCRIPT = 345 136 }; 137 #endif 138 139 /* Value type. */ 140 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 141 142 union YYSTYPE 143 { 144 #line 67 "php_parser.y" /* yacc.c:1909 */ 145 146 PHP_SYN_NODE *syn_node; 147 PHP_EXP_NODE *exp_node; 148 149 char str_val[256]; 150 151 #line 152 "php_parser.h" /* yacc.c:1909 */ 152 }; 153 154 typedef union YYSTYPE YYSTYPE; 155 # define YYSTYPE_IS_TRIVIAL 1 156 # define YYSTYPE_IS_DECLARED 1 157 #endif 158 159 160 extern YYSTYPE phplval; 161 162 int phpparse (void); 163 164 #endif /* !YY_PHP_PHP_PARSER_H_INCLUDED */ 165