adding tests to the semdiff test suite
[hiphop-php.git] / hphp / parser / hphp.tab.hpp
blob20d598034e00ae687cb2b90fe7eef1976190b3f5
1 // @generated
2 /* A Bison parser, made by GNU Bison 3.0.4. */
4 /* Bison interface for Yacc-like parsers in C
6 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
8 This program is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21 /* As a special exception, you may create a larger work that contains
22 part or all of the Bison parser skeleton and distribute that work
23 under terms of your choice, so long as that work isn't itself a
24 parser generator using the skeleton or a modified version thereof
25 as a parser skeleton. Alternatively, if you modify or redistribute
26 the parser skeleton itself, you may (at your option) remove this
27 special exception, which will cause the skeleton and the resulting
28 Bison output files to be licensed under the GNU General Public
29 License without this special exception.
31 This special exception was added by the Free Software Foundation in
32 version 2.2 of Bison. */
36 /* Debug traces. */
37 #ifndef YYDEBUG
38 # define YYDEBUG 0
39 #endif
40 #if YYDEBUG
42 #endif
44 /* Token type. */
45 #ifndef YYTOKENTYPE
46 # define YYTOKENTYPE
47 #ifndef YYTOKEN_MAP
48 #define YYTOKEN_MAP enum yytokentype
49 #define YYTOKEN(num, name) name = num,
50 #endif
51 YYTOKEN_MAP
53 YYTOKEN(258, T_INCLUDE)
54 YYTOKEN(259, T_INCLUDE_ONCE)
55 YYTOKEN(260, T_EVAL)
56 YYTOKEN(261, T_REQUIRE)
57 YYTOKEN(262, T_REQUIRE_ONCE)
58 YYTOKEN(263, T_LAMBDA_ARROW)
59 YYTOKEN(264, T_LOGICAL_OR)
60 YYTOKEN(265, T_LOGICAL_XOR)
61 YYTOKEN(266, T_LOGICAL_AND)
62 YYTOKEN(267, T_PRINT)
63 YYTOKEN(268, T_PLUS_EQUAL)
64 YYTOKEN(269, T_MINUS_EQUAL)
65 YYTOKEN(270, T_MUL_EQUAL)
66 YYTOKEN(271, T_DIV_EQUAL)
67 YYTOKEN(272, T_CONCAT_EQUAL)
68 YYTOKEN(273, T_MOD_EQUAL)
69 YYTOKEN(274, T_AND_EQUAL)
70 YYTOKEN(275, T_OR_EQUAL)
71 YYTOKEN(276, T_XOR_EQUAL)
72 YYTOKEN(277, T_SL_EQUAL)
73 YYTOKEN(278, T_SR_EQUAL)
74 YYTOKEN(279, T_POW_EQUAL)
75 YYTOKEN(280, T_AWAIT)
76 YYTOKEN(281, T_YIELD)
77 YYTOKEN(282, T_YIELD_FROM)
78 YYTOKEN(283, T_PIPE)
79 YYTOKEN(284, T_COALESCE)
80 YYTOKEN(285, T_BOOLEAN_OR)
81 YYTOKEN(286, T_BOOLEAN_AND)
82 YYTOKEN(287, T_IS_EQUAL)
83 YYTOKEN(288, T_IS_NOT_EQUAL)
84 YYTOKEN(289, T_IS_IDENTICAL)
85 YYTOKEN(290, T_IS_NOT_IDENTICAL)
86 YYTOKEN(291, T_IS_SMALLER_OR_EQUAL)
87 YYTOKEN(292, T_IS_GREATER_OR_EQUAL)
88 YYTOKEN(293, T_SPACESHIP)
89 YYTOKEN(294, T_SL)
90 YYTOKEN(295, T_SR)
91 YYTOKEN(296, T_INSTANCEOF)
92 YYTOKEN(297, T_INC)
93 YYTOKEN(298, T_DEC)
94 YYTOKEN(299, T_INT_CAST)
95 YYTOKEN(300, T_DOUBLE_CAST)
96 YYTOKEN(301, T_STRING_CAST)
97 YYTOKEN(302, T_ARRAY_CAST)
98 YYTOKEN(303, T_OBJECT_CAST)
99 YYTOKEN(304, T_BOOL_CAST)
100 YYTOKEN(305, T_UNSET_CAST)
101 YYTOKEN(306, T_POW)
102 YYTOKEN(307, T_NEW)
103 YYTOKEN(308, T_CLONE)
104 YYTOKEN(309, T_EXIT)
105 YYTOKEN(310, T_IF)
106 YYTOKEN(311, T_ELSEIF)
107 YYTOKEN(312, T_ELSE)
108 YYTOKEN(313, T_ENDIF)
109 YYTOKEN(314, T_LNUMBER)
110 YYTOKEN(315, T_DNUMBER)
111 YYTOKEN(316, T_ONUMBER)
112 YYTOKEN(317, T_STRING)
113 YYTOKEN(318, T_STRING_VARNAME)
114 YYTOKEN(319, T_VARIABLE)
115 YYTOKEN(320, T_PIPE_VAR)
116 YYTOKEN(321, T_NUM_STRING)
117 YYTOKEN(322, T_INLINE_HTML)
118 YYTOKEN(323, T_HASHBANG)
119 YYTOKEN(324, T_CHARACTER)
120 YYTOKEN(325, T_BAD_CHARACTER)
121 YYTOKEN(326, T_ENCAPSED_AND_WHITESPACE)
122 YYTOKEN(327, T_CONSTANT_ENCAPSED_STRING)
123 YYTOKEN(328, T_ECHO)
124 YYTOKEN(329, T_DO)
125 YYTOKEN(330, T_WHILE)
126 YYTOKEN(331, T_ENDWHILE)
127 YYTOKEN(332, T_FOR)
128 YYTOKEN(333, T_ENDFOR)
129 YYTOKEN(334, T_FOREACH)
130 YYTOKEN(335, T_ENDFOREACH)
131 YYTOKEN(336, T_DECLARE)
132 YYTOKEN(337, T_ENDDECLARE)
133 YYTOKEN(338, T_AS)
134 YYTOKEN(339, T_SUPER)
135 YYTOKEN(340, T_SWITCH)
136 YYTOKEN(341, T_ENDSWITCH)
137 YYTOKEN(342, T_CASE)
138 YYTOKEN(343, T_DEFAULT)
139 YYTOKEN(344, T_BREAK)
140 YYTOKEN(345, T_GOTO)
141 YYTOKEN(346, T_CONTINUE)
142 YYTOKEN(347, T_FUNCTION)
143 YYTOKEN(348, T_CONST)
144 YYTOKEN(349, T_RETURN)
145 YYTOKEN(350, T_TRY)
146 YYTOKEN(351, T_CATCH)
147 YYTOKEN(352, T_THROW)
148 YYTOKEN(353, T_USE)
149 YYTOKEN(354, T_GLOBAL)
150 YYTOKEN(355, T_STATIC)
151 YYTOKEN(356, T_ABSTRACT)
152 YYTOKEN(357, T_FINAL)
153 YYTOKEN(358, T_PRIVATE)
154 YYTOKEN(359, T_PROTECTED)
155 YYTOKEN(360, T_PUBLIC)
156 YYTOKEN(361, T_VAR)
157 YYTOKEN(362, T_UNSET)
158 YYTOKEN(363, T_ISSET)
159 YYTOKEN(364, T_EMPTY)
160 YYTOKEN(365, T_HALT_COMPILER)
161 YYTOKEN(366, T_CLASS)
162 YYTOKEN(367, T_INTERFACE)
163 YYTOKEN(368, T_EXTENDS)
164 YYTOKEN(369, T_IMPLEMENTS)
165 YYTOKEN(370, T_OBJECT_OPERATOR)
166 YYTOKEN(371, T_NULLSAFE_OBJECT_OPERATOR)
167 YYTOKEN(372, T_DOUBLE_ARROW)
168 YYTOKEN(373, T_LIST)
169 YYTOKEN(374, T_ARRAY)
170 YYTOKEN(375, T_DICT)
171 YYTOKEN(376, T_VEC)
172 YYTOKEN(377, T_VARRAY)
173 YYTOKEN(378, T_DARRAY)
174 YYTOKEN(379, T_KEYSET)
175 YYTOKEN(380, T_CALLABLE)
176 YYTOKEN(381, T_CLASS_C)
177 YYTOKEN(382, T_METHOD_C)
178 YYTOKEN(383, T_FUNC_C)
179 YYTOKEN(384, T_LINE)
180 YYTOKEN(385, T_FILE)
181 YYTOKEN(386, T_COMMENT)
182 YYTOKEN(387, T_DOC_COMMENT)
183 YYTOKEN(388, T_OPEN_TAG)
184 YYTOKEN(389, T_OPEN_TAG_WITH_ECHO)
185 YYTOKEN(390, T_CLOSE_TAG)
186 YYTOKEN(391, T_WHITESPACE)
187 YYTOKEN(392, T_START_HEREDOC)
188 YYTOKEN(393, T_END_HEREDOC)
189 YYTOKEN(394, T_DOLLAR_OPEN_CURLY_BRACES)
190 YYTOKEN(395, T_CURLY_OPEN)
191 YYTOKEN(396, T_DOUBLE_COLON)
192 YYTOKEN(397, T_NAMESPACE)
193 YYTOKEN(398, T_NS_C)
194 YYTOKEN(399, T_DIR)
195 YYTOKEN(400, T_NS_SEPARATOR)
196 YYTOKEN(401, T_XHP_LABEL)
197 YYTOKEN(402, T_XHP_TEXT)
198 YYTOKEN(403, T_XHP_ATTRIBUTE)
199 YYTOKEN(404, T_XHP_CATEGORY)
200 YYTOKEN(405, T_XHP_CATEGORY_LABEL)
201 YYTOKEN(406, T_XHP_CHILDREN)
202 YYTOKEN(407, T_ENUM)
203 YYTOKEN(408, T_XHP_REQUIRED)
204 YYTOKEN(409, T_TRAIT)
205 YYTOKEN(410, T_ELLIPSIS)
206 YYTOKEN(411, T_INSTEADOF)
207 YYTOKEN(412, T_TRAIT_C)
208 YYTOKEN(413, T_HH_ERROR)
209 YYTOKEN(414, T_FINALLY)
210 YYTOKEN(415, T_XHP_TAG_LT)
211 YYTOKEN(416, T_XHP_TAG_GT)
212 YYTOKEN(417, T_TYPELIST_LT)
213 YYTOKEN(418, T_TYPELIST_GT)
214 YYTOKEN(419, T_UNRESOLVED_LT)
215 YYTOKEN(420, T_COLLECTION)
216 YYTOKEN(421, T_SHAPE)
217 YYTOKEN(422, T_TYPE)
218 YYTOKEN(423, T_UNRESOLVED_TYPE)
219 YYTOKEN(424, T_NEWTYPE)
220 YYTOKEN(425, T_UNRESOLVED_NEWTYPE)
221 YYTOKEN(426, T_COMPILER_HALT_OFFSET)
222 YYTOKEN(427, T_ASYNC)
223 YYTOKEN(428, T_LAMBDA_OP)
224 YYTOKEN(429, T_LAMBDA_CP)
225 YYTOKEN(430, T_UNRESOLVED_OP)
226 YYTOKEN(431, T_WHERE)
228 #endif
230 /* Value type. */
231 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
232 typedef int YYSTYPE;
233 # define YYSTYPE_IS_TRIVIAL 1
234 # define YYSTYPE_IS_DECLARED 1
235 #endif
237 /* Location type. */
238 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
239 typedef struct YYLTYPE YYLTYPE;
240 struct YYLTYPE
242 int first_line;
243 int first_column;
244 int last_line;
245 int last_column;
247 # define YYLTYPE_IS_DECLARED 1
248 # define YYLTYPE_IS_TRIVIAL 1
249 #endif
255 #ifndef YYTOKEN_MIN
256 #define YYTOKEN_MIN 258
257 #endif
259 #ifndef YYTOKEN_MAX
260 #define YYTOKEN_MAX 431
261 #endif