2 /* A Bison parser, made by GNU Bison 3.1. */
4 /* Bison interface for Yacc-like parsers in C
6 Copyright (C) 1984, 1989-1990, 2000-2015, 2018 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. */
48 #define YYTOKEN_MAP enum yytokentype
49 #define YYTOKEN(num, name) name = num,
53 YYTOKEN(258, T_INCLUDE
)
54 YYTOKEN(259, T_INCLUDE_ONCE
)
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
)
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
)
77 YYTOKEN(282, T_YIELD_FROM
)
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
)
91 YYTOKEN(296, T_INSTANCEOF
)
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
)
103 YYTOKEN(308, T_CLONE
)
106 YYTOKEN(311, T_ELSEIF
)
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_INOUT
)
119 YYTOKEN(324, T_HASHBANG
)
120 YYTOKEN(325, T_CHARACTER
)
121 YYTOKEN(326, T_BAD_CHARACTER
)
122 YYTOKEN(327, T_ENCAPSED_AND_WHITESPACE
)
123 YYTOKEN(328, T_CONSTANT_ENCAPSED_STRING
)
126 YYTOKEN(331, T_WHILE
)
127 YYTOKEN(332, T_ENDWHILE
)
129 YYTOKEN(334, T_ENDFOR
)
130 YYTOKEN(335, T_FOREACH
)
131 YYTOKEN(336, T_ENDFOREACH
)
132 YYTOKEN(337, T_DECLARE
)
133 YYTOKEN(338, T_ENDDECLARE
)
135 YYTOKEN(340, T_SUPER
)
136 YYTOKEN(341, T_SWITCH
)
137 YYTOKEN(342, T_ENDSWITCH
)
139 YYTOKEN(344, T_DEFAULT
)
140 YYTOKEN(345, T_BREAK
)
142 YYTOKEN(347, T_CONTINUE
)
143 YYTOKEN(348, T_FUNCTION
)
144 YYTOKEN(349, T_CONST
)
145 YYTOKEN(350, T_RETURN
)
147 YYTOKEN(352, T_CATCH
)
148 YYTOKEN(353, T_THROW
)
149 YYTOKEN(354, T_USING
)
151 YYTOKEN(356, T_GLOBAL
)
152 YYTOKEN(357, T_STATIC
)
153 YYTOKEN(358, T_ABSTRACT
)
154 YYTOKEN(359, T_FINAL
)
155 YYTOKEN(360, T_PRIVATE
)
156 YYTOKEN(361, T_PROTECTED
)
157 YYTOKEN(362, T_PUBLIC
)
159 YYTOKEN(364, T_UNSET
)
160 YYTOKEN(365, T_ISSET
)
161 YYTOKEN(366, T_EMPTY
)
162 YYTOKEN(367, T_HALT_COMPILER
)
163 YYTOKEN(368, T_CLASS
)
164 YYTOKEN(369, T_INTERFACE
)
165 YYTOKEN(370, T_EXTENDS
)
166 YYTOKEN(371, T_IMPLEMENTS
)
167 YYTOKEN(372, T_OBJECT_OPERATOR
)
168 YYTOKEN(373, T_NULLSAFE_OBJECT_OPERATOR
)
169 YYTOKEN(374, T_DOUBLE_ARROW
)
171 YYTOKEN(376, T_ARRAY
)
174 YYTOKEN(379, T_VARRAY
)
175 YYTOKEN(380, T_DARRAY
)
176 YYTOKEN(381, T_KEYSET
)
177 YYTOKEN(382, T_CALLABLE
)
178 YYTOKEN(383, T_CLASS_C
)
179 YYTOKEN(384, T_METHOD_C
)
180 YYTOKEN(385, T_FUNC_C
)
183 YYTOKEN(388, T_COMMENT
)
184 YYTOKEN(389, T_DOC_COMMENT
)
185 YYTOKEN(390, T_OPEN_TAG
)
186 YYTOKEN(391, T_OPEN_TAG_WITH_ECHO
)
187 YYTOKEN(392, T_CLOSE_TAG
)
188 YYTOKEN(393, T_WHITESPACE
)
189 YYTOKEN(394, T_START_HEREDOC
)
190 YYTOKEN(395, T_END_HEREDOC
)
191 YYTOKEN(396, T_DOLLAR_OPEN_CURLY_BRACES
)
192 YYTOKEN(397, T_CURLY_OPEN
)
193 YYTOKEN(398, T_DOUBLE_COLON
)
194 YYTOKEN(399, T_NAMESPACE
)
197 YYTOKEN(402, T_NS_SEPARATOR
)
198 YYTOKEN(403, T_XHP_LABEL
)
199 YYTOKEN(404, T_XHP_TEXT
)
200 YYTOKEN(405, T_XHP_ATTRIBUTE
)
201 YYTOKEN(406, T_XHP_CATEGORY
)
202 YYTOKEN(407, T_XHP_CATEGORY_LABEL
)
203 YYTOKEN(408, T_XHP_CHILDREN
)
205 YYTOKEN(410, T_XHP_REQUIRED
)
206 YYTOKEN(411, T_TRAIT
)
207 YYTOKEN(412, T_ELLIPSIS
)
208 YYTOKEN(413, T_INSTEADOF
)
209 YYTOKEN(414, T_TRAIT_C
)
210 YYTOKEN(415, T_HH_ERROR
)
211 YYTOKEN(416, T_FINALLY
)
212 YYTOKEN(417, T_XHP_TAG_LT
)
213 YYTOKEN(418, T_XHP_TAG_GT
)
214 YYTOKEN(419, T_TYPELIST_LT
)
215 YYTOKEN(420, T_TYPELIST_GT
)
216 YYTOKEN(421, T_UNRESOLVED_LT
)
217 YYTOKEN(422, T_COLLECTION
)
218 YYTOKEN(423, T_SHAPE
)
219 YYTOKEN(424, T_TUPLE
)
221 YYTOKEN(426, T_UNRESOLVED_TYPE
)
222 YYTOKEN(427, T_NEWTYPE
)
223 YYTOKEN(428, T_UNRESOLVED_NEWTYPE
)
224 YYTOKEN(429, T_COMPILER_HALT_OFFSET
)
225 YYTOKEN(430, T_ASYNC
)
226 YYTOKEN(431, T_LAMBDA_OP
)
227 YYTOKEN(432, T_LAMBDA_CP
)
228 YYTOKEN(433, T_UNRESOLVED_OP
)
229 YYTOKEN(434, T_WHERE
)
230 YYTOKEN(435, T_FUNC_CRED_C
)
235 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
237 # define YYSTYPE_IS_TRIVIAL 1
238 # define YYSTYPE_IS_DECLARED 1
242 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
243 typedef struct YYLTYPE YYLTYPE
;
251 # define YYLTYPE_IS_DECLARED 1
252 # define YYLTYPE_IS_TRIVIAL 1
260 #define YYTOKEN_MIN 258
264 #define YYTOKEN_MAX 435