php-parser
Version:
Parse PHP code from JS and returns its AST
302 lines (298 loc) • 6.23 kB
JavaScript
/**
* Copyright (C) 2018 Glayzzle (BSD3 License)
* @authors https://github.com/glayzzle/php-parser/graphs/contributors
* @url http://glayzzle.com
*/
"use strict";
/**
* @memberOf module:php-parser
* @readonly
* @enum
*/
const TokenNames = {
T_HALT_COMPILER: 101,
T_USE: 102,
T_ENCAPSED_AND_WHITESPACE: 103,
T_OBJECT_OPERATOR: 104,
T_STRING: 105,
T_DOLLAR_OPEN_CURLY_BRACES: 106,
T_STRING_VARNAME: 107,
T_CURLY_OPEN: 108,
T_NUM_STRING: 109,
T_ISSET: 110,
T_EMPTY: 111,
T_INCLUDE: 112,
T_INCLUDE_ONCE: 113,
T_EVAL: 114,
T_REQUIRE: 115,
T_REQUIRE_ONCE: 116,
T_NAMESPACE: 117,
T_NS_SEPARATOR: 118,
T_AS: 119,
T_IF: 120,
T_ENDIF: 121,
T_WHILE: 122,
T_DO: 123,
T_FOR: 124,
T_SWITCH: 125,
T_BREAK: 126,
T_CONTINUE: 127,
T_RETURN: 128,
T_GLOBAL: 129,
T_STATIC: 130,
T_ECHO: 131,
T_INLINE_HTML: 132,
T_UNSET: 133,
T_FOREACH: 134,
T_DECLARE: 135,
T_TRY: 136,
T_THROW: 137,
T_GOTO: 138,
T_FINALLY: 139,
T_CATCH: 140,
T_ENDDECLARE: 141,
T_LIST: 142,
T_CLONE: 143,
T_PLUS_EQUAL: 144,
T_MINUS_EQUAL: 145,
T_MUL_EQUAL: 146,
T_DIV_EQUAL: 147,
T_CONCAT_EQUAL: 148,
T_MOD_EQUAL: 149,
T_AND_EQUAL: 150,
T_OR_EQUAL: 151,
T_XOR_EQUAL: 152,
T_SL_EQUAL: 153,
T_SR_EQUAL: 154,
T_INC: 155,
T_DEC: 156,
T_BOOLEAN_OR: 157,
T_BOOLEAN_AND: 158,
T_LOGICAL_OR: 159,
T_LOGICAL_AND: 160,
T_LOGICAL_XOR: 161,
T_SL: 162,
T_SR: 163,
T_IS_IDENTICAL: 164,
T_IS_NOT_IDENTICAL: 165,
T_IS_EQUAL: 166,
T_IS_NOT_EQUAL: 167,
T_IS_SMALLER_OR_EQUAL: 168,
T_IS_GREATER_OR_EQUAL: 169,
T_INSTANCEOF: 170,
T_INT_CAST: 171,
T_DOUBLE_CAST: 172,
T_STRING_CAST: 173,
T_ARRAY_CAST: 174,
T_OBJECT_CAST: 175,
T_BOOL_CAST: 176,
T_UNSET_CAST: 177,
T_EXIT: 178,
T_PRINT: 179,
T_YIELD: 180,
T_YIELD_FROM: 181,
T_FUNCTION: 182,
T_DOUBLE_ARROW: 183,
T_DOUBLE_COLON: 184,
T_ARRAY: 185,
T_CALLABLE: 186,
T_CLASS: 187,
T_ABSTRACT: 188,
T_TRAIT: 189,
T_FINAL: 190,
T_EXTENDS: 191,
T_INTERFACE: 192,
T_IMPLEMENTS: 193,
T_VAR: 194,
T_PUBLIC: 195,
T_PROTECTED: 196,
T_PRIVATE: 197,
T_CONST: 198,
T_NEW: 199,
T_INSTEADOF: 200,
T_ELSEIF: 201,
T_ELSE: 202,
T_ENDSWITCH: 203,
T_CASE: 204,
T_DEFAULT: 205,
T_ENDFOR: 206,
T_ENDFOREACH: 207,
T_ENDWHILE: 208,
T_CONSTANT_ENCAPSED_STRING: 209,
T_LNUMBER: 210,
T_DNUMBER: 211,
T_LINE: 212,
T_FILE: 213,
T_DIR: 214,
T_TRAIT_C: 215,
T_METHOD_C: 216,
T_FUNC_C: 217,
T_NS_C: 218,
T_START_HEREDOC: 219,
T_END_HEREDOC: 220,
T_CLASS_C: 221,
T_VARIABLE: 222,
T_OPEN_TAG: 223,
T_OPEN_TAG_WITH_ECHO: 224,
T_CLOSE_TAG: 225,
T_WHITESPACE: 226,
T_COMMENT: 227,
T_DOC_COMMENT: 228,
T_ELLIPSIS: 229,
T_COALESCE: 230,
T_POW: 231,
T_POW_EQUAL: 232,
T_SPACESHIP: 233,
T_COALESCE_EQUAL: 234,
T_FN: 235,
};
/**
* PHP AST Tokens
* @readonly
* @memberOf module:php-parser
*
* @type {object}
* @property {Object.<number, string>} values
* @property {TokenNames} names
*/
const tokens = {
values: {
101: "T_HALT_COMPILER",
102: "T_USE",
103: "T_ENCAPSED_AND_WHITESPACE",
104: "T_OBJECT_OPERATOR",
105: "T_STRING",
106: "T_DOLLAR_OPEN_CURLY_BRACES",
107: "T_STRING_VARNAME",
108: "T_CURLY_OPEN",
109: "T_NUM_STRING",
110: "T_ISSET",
111: "T_EMPTY",
112: "T_INCLUDE",
113: "T_INCLUDE_ONCE",
114: "T_EVAL",
115: "T_REQUIRE",
116: "T_REQUIRE_ONCE",
117: "T_NAMESPACE",
118: "T_NS_SEPARATOR",
119: "T_AS",
120: "T_IF",
121: "T_ENDIF",
122: "T_WHILE",
123: "T_DO",
124: "T_FOR",
125: "T_SWITCH",
126: "T_BREAK",
127: "T_CONTINUE",
128: "T_RETURN",
129: "T_GLOBAL",
130: "T_STATIC",
131: "T_ECHO",
132: "T_INLINE_HTML",
133: "T_UNSET",
134: "T_FOREACH",
135: "T_DECLARE",
136: "T_TRY",
137: "T_THROW",
138: "T_GOTO",
139: "T_FINALLY",
140: "T_CATCH",
141: "T_ENDDECLARE",
142: "T_LIST",
143: "T_CLONE",
144: "T_PLUS_EQUAL",
145: "T_MINUS_EQUAL",
146: "T_MUL_EQUAL",
147: "T_DIV_EQUAL",
148: "T_CONCAT_EQUAL",
149: "T_MOD_EQUAL",
150: "T_AND_EQUAL",
151: "T_OR_EQUAL",
152: "T_XOR_EQUAL",
153: "T_SL_EQUAL",
154: "T_SR_EQUAL",
155: "T_INC",
156: "T_DEC",
157: "T_BOOLEAN_OR",
158: "T_BOOLEAN_AND",
159: "T_LOGICAL_OR",
160: "T_LOGICAL_AND",
161: "T_LOGICAL_XOR",
162: "T_SL",
163: "T_SR",
164: "T_IS_IDENTICAL",
165: "T_IS_NOT_IDENTICAL",
166: "T_IS_EQUAL",
167: "T_IS_NOT_EQUAL",
168: "T_IS_SMALLER_OR_EQUAL",
169: "T_IS_GREATER_OR_EQUAL",
170: "T_INSTANCEOF",
171: "T_INT_CAST",
172: "T_DOUBLE_CAST",
173: "T_STRING_CAST",
174: "T_ARRAY_CAST",
175: "T_OBJECT_CAST",
176: "T_BOOL_CAST",
177: "T_UNSET_CAST",
178: "T_EXIT",
179: "T_PRINT",
180: "T_YIELD",
181: "T_YIELD_FROM",
182: "T_FUNCTION",
183: "T_DOUBLE_ARROW",
184: "T_DOUBLE_COLON",
185: "T_ARRAY",
186: "T_CALLABLE",
187: "T_CLASS",
188: "T_ABSTRACT",
189: "T_TRAIT",
190: "T_FINAL",
191: "T_EXTENDS",
192: "T_INTERFACE",
193: "T_IMPLEMENTS",
194: "T_VAR",
195: "T_PUBLIC",
196: "T_PROTECTED",
197: "T_PRIVATE",
198: "T_CONST",
199: "T_NEW",
200: "T_INSTEADOF",
201: "T_ELSEIF",
202: "T_ELSE",
203: "T_ENDSWITCH",
204: "T_CASE",
205: "T_DEFAULT",
206: "T_ENDFOR",
207: "T_ENDFOREACH",
208: "T_ENDWHILE",
209: "T_CONSTANT_ENCAPSED_STRING",
210: "T_LNUMBER",
211: "T_DNUMBER",
212: "T_LINE",
213: "T_FILE",
214: "T_DIR",
215: "T_TRAIT_C",
216: "T_METHOD_C",
217: "T_FUNC_C",
218: "T_NS_C",
219: "T_START_HEREDOC",
220: "T_END_HEREDOC",
221: "T_CLASS_C",
222: "T_VARIABLE",
223: "T_OPEN_TAG",
224: "T_OPEN_TAG_WITH_ECHO",
225: "T_CLOSE_TAG",
226: "T_WHITESPACE",
227: "T_COMMENT",
228: "T_DOC_COMMENT",
229: "T_ELLIPSIS",
230: "T_COALESCE",
231: "T_POW",
232: "T_POW_EQUAL",
233: "T_SPACESHIP",
234: "T_COALESCE_EQUAL",
235: "T_FN",
},
names: TokenNames,
};
module.exports = Object.freeze(tokens);