Coverage Report

Created: 2026-06-13 07:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_language_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Marcus Boerger <helly@php.net>                              |
17
   |          Nuno Lopes <nlopess@php.net>                                |
18
   |          Scott MacVicar <scottmac@php.net>                           |
19
   | Flex version authors:                                                |
20
   |          Andi Gutmans <andi@php.net>                                 |
21
   |          Zeev Suraski <zeev@php.net>                                 |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#if 0
26
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
27
#else
28
# define YYDEBUG(s, c)
29
#endif
30
31
#include "zend_language_scanner_defs.h"
32
33
#include <errno.h>
34
#include <stdint.h>
35
#include "zend.h"
36
#ifdef ZEND_WIN32
37
# include <Winuser.h>
38
#endif
39
#include "zend_alloc.h"
40
#include <zend_language_parser.h>
41
#include "zend_compile.h"
42
#include "zend_language_scanner.h"
43
#include "zend_highlight.h"
44
#include "zend_constants.h"
45
#include "zend_variables.h"
46
#include "zend_operators.h"
47
#include "zend_API.h"
48
#include "zend_strtod.h"
49
#include "zend_exceptions.h"
50
#include "zend_virtual_cwd.h"
51
52
46.2M
#define YYCTYPE   unsigned char
53
117M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
54
738M
#define YYCURSOR  SCNG(yy_cursor)
55
233M
#define YYLIMIT   SCNG(yy_limit)
56
43.9M
#define YYMARKER  SCNG(yy_marker)
57
58
152M
#define YYGETCONDITION()  SCNG(yy_state)
59
17.4M
#define YYSETCONDITION(s) SCNG(yy_state) = s
60
61
#define STATE(name)  yyc##name
62
63
/* emulate flex constructs */
64
4.24M
#define BEGIN(state) YYSETCONDITION(STATE(state))
65
287k
#define YYSTATE      YYGETCONDITION()
66
18.2M
#define yytext       ((char*)SCNG(yy_text))
67
61.9M
#define yyleng       SCNG(yy_leng)
68
4.02M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
69
4.02M
                          yyleng   = (unsigned int)x; } while(0)
70
#define yymore()     goto yymore_restart
71
72
/* perform sanity check. If this message is triggered you should
73
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
74
#define YYMAXFILL 16
75
76
#if ZEND_MMAP_AHEAD < YYMAXFILL
77
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
78
#endif
79
80
#include <stdarg.h>
81
82
#ifdef HAVE_UNISTD_H
83
# include <unistd.h>
84
#endif
85
86
/* Globals Macros */
87
1.46G
#define SCNG  LANG_SCNG
88
#ifdef ZTS
89
ZEND_API ts_rsrc_id language_scanner_globals_id;
90
ZEND_API size_t language_scanner_globals_offset;
91
#else
92
ZEND_API zend_php_scanner_globals language_scanner_globals;
93
#endif
94
95
7.09M
#define HANDLE_NEWLINES(s, l)                         \
96
7.09M
do {                                     \
97
7.09M
  char *p = (s), *boundary = p+(l);                     \
98
7.09M
                                        \
99
61.4M
  while (p<boundary) {                           \
100
54.3M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
101
5.71M
      CG(zend_lineno)++;                          \
102
5.71M
    }                                    \
103
54.3M
    p++;                                  \
104
54.3M
  }                                      \
105
7.09M
} while (0)
106
107
268k
#define HANDLE_NEWLINE(c) \
108
268k
{ \
109
268k
  if (c == '\n' || c == '\r') { \
110
100k
    CG(zend_lineno)++; \
111
100k
  } \
112
268k
}
113
114
/* To save initial string length after scanning to first variable */
115
178k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
116
368k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
117
118
6.49M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
119
40.6k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
120
121
177k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
122
32.9k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
123
124
125
static void strip_underscores(char *str, size_t *len)
126
7.41k
{
127
7.41k
  char *src = str, *dest = str;
128
150k
  while (*src != '\0') {
129
142k
    if (*src != '_') {
130
133k
      *dest = *src;
131
133k
      dest++;
132
133k
    } else {
133
9.75k
      --(*len);
134
9.75k
    }
135
142k
    src++;
136
142k
  }
137
7.41k
  *dest = '\0';
138
7.41k
}
139
140
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
141
0
{
142
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
143
0
  ZEND_ASSERT(internal_encoding);
144
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
145
0
}
146
147
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
148
0
{
149
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
150
0
}
151
152
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
153
0
{
154
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
155
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
156
0
}
157
158
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
159
0
{
160
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
161
0
  ZEND_ASSERT(internal_encoding);
162
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
163
0
internal_encoding, zend_multibyte_encoding_utf8);
164
0
}
165
166
167
static void _yy_push_state(int new_state)
168
8.63M
{
169
8.63M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
170
8.63M
  YYSETCONDITION(new_state);
171
8.63M
}
172
173
8.63M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
174
175
static void yy_pop_state(void)
176
4.26M
{
177
4.26M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
178
4.26M
  YYSETCONDITION(*stack_state);
179
4.26M
  zend_stack_del_top(&SCNG(state_stack));
180
4.26M
}
181
182
static void yy_scan_buffer(char *str, size_t len)
183
138k
{
184
138k
  YYCURSOR       = (YYCTYPE*)str;
185
138k
  YYLIMIT        = YYCURSOR + len;
186
138k
  if (!SCNG(yy_start)) {
187
30.2k
    SCNG(yy_start) = YYCURSOR;
188
30.2k
  }
189
138k
}
190
191
void startup_scanner(void)
192
229k
{
193
229k
  CG(parse_error) = 0;
194
229k
  CG(doc_comment) = NULL;
195
229k
  CG(extra_fn_flags) = 0;
196
229k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
197
229k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
198
229k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
199
229k
  SCNG(heredoc_scan_ahead) = 0;
200
229k
}
201
202
5.90M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
203
5.90M
    efree(heredoc_label->label);
204
5.90M
}
205
206
void shutdown_scanner(void)
207
229k
{
208
229k
  CG(parse_error) = 0;
209
229k
  RESET_DOC_COMMENT();
210
229k
  zend_stack_destroy(&SCNG(state_stack));
211
229k
  zend_stack_destroy(&SCNG(nest_location_stack));
212
229k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
213
229k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
214
229k
  SCNG(heredoc_scan_ahead) = 0;
215
229k
  SCNG(on_event) = NULL;
216
229k
  SCNG(on_event_context) = NULL;
217
229k
}
218
219
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
220
287k
{
221
287k
  lex_state->yy_leng   = SCNG(yy_leng);
222
287k
  lex_state->yy_start  = SCNG(yy_start);
223
287k
  lex_state->yy_text   = SCNG(yy_text);
224
287k
  lex_state->yy_cursor = SCNG(yy_cursor);
225
287k
  lex_state->yy_marker = SCNG(yy_marker);
226
287k
  lex_state->yy_limit  = SCNG(yy_limit);
227
228
287k
  lex_state->state_stack = SCNG(state_stack);
229
287k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
230
231
287k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
232
287k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
233
234
287k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
235
287k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
236
237
287k
  lex_state->in = SCNG(yy_in);
238
287k
  lex_state->yy_state = YYSTATE;
239
287k
  lex_state->filename = CG(compiled_filename);
240
287k
  lex_state->lineno = CG(zend_lineno);
241
287k
  CG(compiled_filename) = NULL;
242
243
287k
  lex_state->script_org = SCNG(script_org);
244
287k
  lex_state->script_org_size = SCNG(script_org_size);
245
287k
  lex_state->script_filtered = SCNG(script_filtered);
246
287k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
247
287k
  lex_state->input_filter = SCNG(input_filter);
248
287k
  lex_state->output_filter = SCNG(output_filter);
249
287k
  lex_state->script_encoding = SCNG(script_encoding);
250
251
287k
  lex_state->on_event = SCNG(on_event);
252
287k
  lex_state->on_event_context = SCNG(on_event_context);
253
254
287k
  lex_state->ast = CG(ast);
255
287k
  lex_state->ast_arena = CG(ast_arena);
256
287k
}
257
258
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
259
281k
{
260
281k
  SCNG(yy_leng)   = lex_state->yy_leng;
261
281k
  SCNG(yy_start)  = lex_state->yy_start;
262
281k
  SCNG(yy_text)   = lex_state->yy_text;
263
281k
  SCNG(yy_cursor) = lex_state->yy_cursor;
264
281k
  SCNG(yy_marker) = lex_state->yy_marker;
265
281k
  SCNG(yy_limit)  = lex_state->yy_limit;
266
267
281k
  zend_stack_destroy(&SCNG(state_stack));
268
281k
  SCNG(state_stack) = lex_state->state_stack;
269
270
281k
  zend_stack_destroy(&SCNG(nest_location_stack));
271
281k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
272
273
281k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
274
281k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
275
281k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
276
277
281k
  SCNG(yy_in) = lex_state->in;
278
281k
  YYSETCONDITION(lex_state->yy_state);
279
281k
  CG(zend_lineno) = lex_state->lineno;
280
281k
  zend_restore_compiled_filename(lex_state->filename);
281
282
281k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
283
0
    efree(SCNG(script_filtered));
284
0
    SCNG(script_filtered) = NULL;
285
0
  }
286
281k
  SCNG(script_org) = lex_state->script_org;
287
281k
  SCNG(script_org_size) = lex_state->script_org_size;
288
281k
  SCNG(script_filtered) = lex_state->script_filtered;
289
281k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
290
281k
  SCNG(input_filter) = lex_state->input_filter;
291
281k
  SCNG(output_filter) = lex_state->output_filter;
292
281k
  SCNG(script_encoding) = lex_state->script_encoding;
293
294
281k
  SCNG(on_event) = lex_state->on_event;
295
281k
  SCNG(on_event_context) = lex_state->on_event_context;
296
297
281k
  CG(ast) = lex_state->ast;
298
281k
  CG(ast_arena) = lex_state->ast_arena;
299
300
281k
  RESET_DOC_COMMENT();
301
281k
}
302
303
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
304
14.3k
{
305
14.3k
  unsigned char *end = ident;
306
88.6k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
307
74.2k
    end++;
308
74.2k
  }
309
310
14.3k
  size_t length = end - ident;
311
14.3k
  if (length == 0) {
312
9
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
313
9
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
314
9
    return FAILURE;
315
9
  }
316
317
14.3k
  if (SCNG(on_event)) {
318
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
319
0
  }
320
321
14.3k
  ZVAL_STRINGL(zv, (char *) ident, length);
322
14.3k
  return SUCCESS;
323
14.3k
}
324
325
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
326
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
327
0
#define BOM_UTF16_BE  "\xfe\xff"
328
0
#define BOM_UTF16_LE  "\xff\xfe"
329
0
#define BOM_UTF8    "\xef\xbb\xbf"
330
331
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
332
0
{
333
0
  const unsigned char *p;
334
0
  int wchar_size = 2;
335
0
  int le = 0;
336
337
  /* utf-16 or utf-32? */
338
0
  p = script;
339
0
  assert(p >= script);
340
0
  while ((size_t)(p-script) < script_size) {
341
0
    p = memchr(p, 0, script_size-(p-script)-2);
342
0
    if (!p) {
343
0
      break;
344
0
    }
345
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
346
0
      wchar_size = 4;
347
0
      break;
348
0
    }
349
350
    /* searching for UTF-32 specific byte orders, so this will do */
351
0
    p += 4;
352
0
  }
353
354
  /* BE or LE? */
355
0
  p = script;
356
0
  assert(p >= script);
357
0
  while ((size_t)(p-script) < script_size) {
358
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
359
      /* BE */
360
0
      le = 0;
361
0
      break;
362
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
363
      /* LE* */
364
0
      le = 1;
365
0
      break;
366
0
    }
367
0
    p += wchar_size;
368
0
  }
369
370
0
  if (wchar_size == 2) {
371
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
372
0
  } else {
373
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
374
0
  }
375
376
0
  return NULL;
377
0
}
378
379
static const zend_encoding* zend_multibyte_detect_unicode(void)
380
0
{
381
0
  const zend_encoding *script_encoding = NULL;
382
0
  int bom_size;
383
0
  unsigned char *pos1, *pos2;
384
385
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
386
0
    return NULL;
387
0
  }
388
389
  /* check out BOM */
390
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
391
0
    script_encoding = zend_multibyte_encoding_utf32be;
392
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
393
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
394
0
    script_encoding = zend_multibyte_encoding_utf32le;
395
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
396
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
397
0
    script_encoding = zend_multibyte_encoding_utf16be;
398
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
399
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
400
0
    script_encoding = zend_multibyte_encoding_utf16le;
401
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
402
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
403
0
    script_encoding = zend_multibyte_encoding_utf8;
404
0
    bom_size = sizeof(BOM_UTF8)-1;
405
0
  }
406
407
0
  if (script_encoding) {
408
    /* remove BOM */
409
0
    LANG_SCNG(script_org) += bom_size;
410
0
    LANG_SCNG(script_org_size) -= bom_size;
411
412
0
    return script_encoding;
413
0
  }
414
415
  /* script contains NULL bytes -> auto-detection */
416
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
417
    /* check if the NULL byte is after the __HALT_COMPILER(); */
418
0
    pos2 = LANG_SCNG(script_org);
419
420
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
421
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
422
0
      if (!pos2) break;
423
0
      pos2++;
424
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
425
0
        pos2 += sizeof("_HALT_COMPILER")-1;
426
0
        while (*pos2 == ' '  ||
427
0
             *pos2 == '\t' ||
428
0
             *pos2 == '\r' ||
429
0
             *pos2 == '\n') {
430
0
          pos2++;
431
0
        }
432
0
        if (*pos2 == '(') {
433
0
          pos2++;
434
0
          while (*pos2 == ' '  ||
435
0
               *pos2 == '\t' ||
436
0
               *pos2 == '\r' ||
437
0
               *pos2 == '\n') {
438
0
            pos2++;
439
0
          }
440
0
          if (*pos2 == ')') {
441
0
            pos2++;
442
0
            while (*pos2 == ' '  ||
443
0
                 *pos2 == '\t' ||
444
0
                 *pos2 == '\r' ||
445
0
                 *pos2 == '\n') {
446
0
              pos2++;
447
0
            }
448
0
            if (*pos2 == ';') {
449
0
              return NULL;
450
0
            }
451
0
          }
452
0
        }
453
0
      }
454
0
    }
455
    /* make best effort if BOM is missing */
456
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
457
0
  }
458
459
0
  return NULL;
460
0
}
461
462
static const zend_encoding* zend_multibyte_find_script_encoding(void)
463
0
{
464
0
  const zend_encoding *script_encoding;
465
466
0
  if (CG(detect_unicode)) {
467
    /* check out bom(byte order mark) and see if containing wchars */
468
0
    script_encoding = zend_multibyte_detect_unicode();
469
0
    if (script_encoding != NULL) {
470
      /* bom or wchar detection is prior to 'script_encoding' option */
471
0
      return script_encoding;
472
0
    }
473
0
  }
474
475
  /* if no script_encoding specified, just leave alone */
476
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
477
0
    return NULL;
478
0
  }
479
480
  /* if multiple encodings specified, detect automagically */
481
0
  if (CG(script_encoding_list_size) > 1) {
482
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
483
0
  }
484
485
0
  return CG(script_encoding_list)[0];
486
0
}
487
488
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
489
0
{
490
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
491
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
492
493
0
  if (!script_encoding) {
494
0
    return FAILURE;
495
0
  }
496
497
  /* judge input/output filter */
498
0
  LANG_SCNG(script_encoding) = script_encoding;
499
0
  LANG_SCNG(input_filter) = NULL;
500
0
  LANG_SCNG(output_filter) = NULL;
501
502
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
503
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
504
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
505
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
506
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
507
0
    } else {
508
0
      LANG_SCNG(input_filter) = NULL;
509
0
      LANG_SCNG(output_filter) = NULL;
510
0
    }
511
0
    return SUCCESS;
512
0
  }
513
514
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
515
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
516
0
    LANG_SCNG(output_filter) = NULL;
517
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
518
0
    LANG_SCNG(input_filter) = NULL;
519
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
520
0
  } else {
521
    /* both script and internal encodings are incompatible w/ flex */
522
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
523
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
524
0
  }
525
526
0
  return SUCCESS;
527
0
}
528
529
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
530
109k
{
531
109k
  char *buf;
532
109k
  size_t size;
533
109k
  zend_string *compiled_filename;
534
535
109k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
536
    /* Still add it to open_files to make destroy_file_handle work */
537
778
    zend_llist_add_element(&CG(open_files), file_handle);
538
778
    file_handle->in_list = 1;
539
778
    return FAILURE;
540
778
  }
541
542
109k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
543
109k
  zend_llist_add_element(&CG(open_files), file_handle);
544
108k
  file_handle->in_list = 1;
545
546
  /* Reset the scanner for scanning the new file */
547
108k
  SCNG(yy_in) = file_handle;
548
108k
  SCNG(yy_start) = NULL;
549
550
108k
  if (size != (size_t)-1) {
551
108k
    if (CG(multibyte)) {
552
0
      SCNG(script_org) = (unsigned char*)buf;
553
0
      SCNG(script_org_size) = size;
554
0
      SCNG(script_filtered) = NULL;
555
556
0
      zend_multibyte_set_filter(NULL);
557
558
0
      if (SCNG(input_filter)) {
559
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
560
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
561
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
562
0
        }
563
0
        buf = (char*)SCNG(script_filtered);
564
0
        size = SCNG(script_filtered_size);
565
0
      }
566
0
    }
567
108k
    SCNG(yy_start) = (unsigned char *)buf;
568
108k
    yy_scan_buffer(buf, size);
569
108k
  } else {
570
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
571
0
  }
572
573
108k
  if (CG(skip_shebang)) {
574
0
    BEGIN(SHEBANG);
575
108k
  } else {
576
108k
    BEGIN(INITIAL);
577
108k
  }
578
579
108k
  if (file_handle->opened_path) {
580
54
    compiled_filename = zend_string_copy(file_handle->opened_path);
581
108k
  } else {
582
108k
    compiled_filename = zend_string_copy(file_handle->filename);
583
108k
  }
584
585
108k
  zend_set_compiled_filename(compiled_filename);
586
108k
  zend_string_release_ex(compiled_filename, 0);
587
588
108k
  SCNG(on_event) = NULL;
589
108k
  SCNG(on_event_context) = NULL;
590
108k
  RESET_DOC_COMMENT();
591
108k
  CG(zend_lineno) = 1;
592
108k
  CG(increment_lineno) = 0;
593
108k
  return SUCCESS;
594
108k
}
595
596
static zend_op_array *zend_compile(zend_function_type type)
597
113k
{
598
113k
  zend_op_array *op_array = NULL;
599
113k
  bool original_in_compilation = CG(in_compilation);
600
601
113k
  CG(in_compilation) = 1;
602
113k
  CG(ast) = NULL;
603
113k
  CG(ast_arena) = zend_arena_create(1024 * 32);
604
605
113k
  if (!zendparse()) {
606
82.6k
    uint32_t last_lineno = CG(zend_lineno);
607
82.6k
    zend_file_context original_file_context;
608
82.6k
    zend_oparray_context original_oparray_context;
609
82.6k
    zend_op_array *original_active_op_array = CG(active_op_array);
610
611
82.6k
    op_array = emalloc(sizeof(zend_op_array));
612
82.6k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
613
82.6k
    CG(active_op_array) = op_array;
614
615
    /* Use heap to not waste arena memory */
616
82.6k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
617
618
82.6k
    if (zend_ast_process) {
619
0
      zend_ast_process(CG(ast));
620
0
    }
621
622
82.6k
    zend_file_context_begin(&original_file_context);
623
82.6k
    zend_oparray_context_begin(&original_oparray_context, op_array);
624
82.6k
    zend_compile_top_stmt(CG(ast));
625
82.6k
    CG(zend_lineno) = last_lineno;
626
82.6k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
627
82.6k
    op_array->line_start = 1;
628
82.6k
    op_array->line_end = last_lineno;
629
82.6k
    pass_two(op_array);
630
82.6k
    zend_oparray_context_end(&original_oparray_context);
631
82.6k
    zend_file_context_end(&original_file_context);
632
633
82.6k
    CG(active_op_array) = original_active_op_array;
634
82.6k
  }
635
636
113k
  zend_ast_destroy(CG(ast));
637
113k
  zend_arena_destroy(CG(ast_arena));
638
639
113k
  CG(in_compilation) = original_in_compilation;
640
641
113k
  return op_array;
642
113k
}
643
644
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
645
109k
{
646
109k
  zend_lex_state original_lex_state;
647
109k
  zend_op_array *op_array = NULL;
648
109k
  zend_save_lexical_state(&original_lex_state);
649
650
109k
  if (open_file_for_scanning(file_handle)==FAILURE) {
651
778
    if (!EG(exception)) {
652
710
      if (type==ZEND_REQUIRE) {
653
683
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
654
683
      } else {
655
27
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
656
27
      }
657
710
    }
658
109k
  } else {
659
109k
    bool orig_record_errors = EG(record_errors);
660
109k
    if (!orig_record_errors) {
661
62
      zend_begin_record_errors();
662
62
    }
663
664
109k
    op_array = zend_compile(ZEND_USER_FUNCTION);
665
666
109k
    if (!orig_record_errors) {
667
62
      zend_emit_recorded_errors();
668
62
      zend_free_recorded_errors();
669
62
    }
670
109k
  }
671
672
109k
  zend_restore_lexical_state(&original_lex_state);
673
109k
  return op_array;
674
109k
}
675
676
ZEND_API zend_ast *zend_compile_string_to_ast(
677
19
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
678
19
  zval code_zv;
679
19
  bool original_in_compilation;
680
19
  zend_lex_state original_lex_state;
681
19
  zend_ast *ast;
682
683
19
  ZVAL_STR_COPY(&code_zv, code);
684
685
19
  original_in_compilation = CG(in_compilation);
686
19
  CG(in_compilation) = 1;
687
688
19
  zend_save_lexical_state(&original_lex_state);
689
19
  zend_prepare_string_for_scanning(&code_zv, filename);
690
19
  CG(ast) = NULL;
691
19
  CG(ast_arena) = zend_arena_create(1024 * 32);
692
19
  LANG_SCNG(yy_state) = yycINITIAL;
693
694
19
  if (zendparse() != 0) {
695
0
    zend_ast_destroy(CG(ast));
696
0
    zend_arena_destroy(CG(ast_arena));
697
0
    CG(ast) = NULL;
698
0
  }
699
700
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
701
19
  ast = CG(ast);
702
19
  *ast_arena = CG(ast_arena);
703
704
19
  zend_restore_lexical_state(&original_lex_state);
705
19
  CG(in_compilation) = original_in_compilation;
706
707
19
  zval_ptr_dtor_str(&code_zv);
708
709
19
  return ast;
710
19
}
711
712
zend_op_array *compile_filename(int type, zend_string *filename)
713
96.7k
{
714
96.7k
  zend_file_handle file_handle;
715
96.7k
  zend_op_array *retval;
716
96.7k
  zend_string *opened_path = NULL;
717
718
96.7k
  zend_stream_init_filename_ex(&file_handle, filename);
719
720
96.7k
  retval = zend_compile_file(&file_handle, type);
721
96.7k
  if (retval && file_handle.handle.stream.handle) {
722
64
    if (!file_handle.opened_path) {
723
11
      file_handle.opened_path = opened_path = zend_string_copy(filename);
724
11
    }
725
726
64
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
727
728
64
    if (opened_path) {
729
11
      zend_string_release_ex(opened_path, 0);
730
11
    }
731
64
  }
732
96.7k
  zend_destroy_file_handle(&file_handle);
733
734
96.7k
  return retval;
735
96.7k
}
736
737
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
738
30.2k
{
739
30.2k
  char *buf;
740
30.2k
  size_t size, old_len;
741
742
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
743
30.2k
  old_len = Z_STRLEN_P(str);
744
30.2k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
745
30.2k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
746
30.2k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
747
748
30.2k
  SCNG(yy_in) = NULL;
749
30.2k
  SCNG(yy_start) = NULL;
750
751
30.2k
  buf = Z_STRVAL_P(str);
752
30.2k
  size = old_len;
753
754
30.2k
  if (CG(multibyte)) {
755
0
    SCNG(script_org) = (unsigned char*)buf;
756
0
    SCNG(script_org_size) = size;
757
0
    SCNG(script_filtered) = NULL;
758
759
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
760
761
0
    if (SCNG(input_filter)) {
762
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
763
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
764
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
765
0
      }
766
0
      buf = (char*)SCNG(script_filtered);
767
0
      size = SCNG(script_filtered_size);
768
0
    }
769
0
  }
770
771
30.2k
  yy_scan_buffer(buf, size);
772
30.2k
  zend_set_compiled_filename(filename);
773
30.2k
  CG(zend_lineno) = 1;
774
30.2k
  CG(increment_lineno) = 0;
775
30.2k
  SCNG(on_event) = NULL;
776
30.2k
  SCNG(on_event_context) = NULL;
777
30.2k
  RESET_DOC_COMMENT();
778
30.2k
}
779
780
781
ZEND_API size_t zend_get_scanned_file_offset(void)
782
85
{
783
85
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
784
85
  if (SCNG(input_filter)) {
785
0
    size_t original_offset = offset, length = 0;
786
0
    do {
787
0
      unsigned char *p = NULL;
788
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
789
0
        return (size_t)-1;
790
0
      }
791
0
      efree(p);
792
0
      if (length > original_offset) {
793
0
        offset--;
794
0
      } else if (length < original_offset) {
795
0
        offset++;
796
0
      }
797
0
    } while (original_offset != length);
798
0
  }
799
85
  return offset;
800
85
}
801
802
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
803
4.79k
{
804
4.79k
  zend_lex_state original_lex_state;
805
4.79k
  zend_op_array *op_array = NULL;
806
4.79k
  zval tmp;
807
4.79k
  zend_string *filename_str;
808
809
4.79k
  if (ZSTR_LEN(source_string) == 0) {
810
45
    return NULL;
811
45
  }
812
813
4.75k
  ZVAL_STR_COPY(&tmp, source_string);
814
815
4.75k
  zend_save_lexical_state(&original_lex_state);
816
4.75k
  filename_str = zend_string_init(filename, strlen(filename), 0);
817
4.75k
  zend_prepare_string_for_scanning(&tmp, filename_str);
818
4.75k
  zend_string_release(filename_str);
819
820
4.75k
  switch (position) {
821
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
822
0
      BEGIN(SHEBANG);
823
0
      break;
824
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
825
0
      BEGIN(INITIAL);
826
0
      break;
827
4.75k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
828
4.75k
      BEGIN(ST_IN_SCRIPTING);
829
4.75k
      break;
830
4.75k
  }
831
832
4.75k
  op_array = zend_compile(ZEND_EVAL_CODE);
833
834
4.75k
  zend_restore_lexical_state(&original_lex_state);
835
4.75k
  zval_ptr_dtor(&tmp);
836
837
4.75k
  return op_array;
838
4.75k
}
839
840
841
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
842
0
{
843
0
  zend_lex_state original_lex_state;
844
0
  zend_file_handle file_handle;
845
846
0
  zend_stream_init_filename(&file_handle, filename);
847
0
  zend_save_lexical_state(&original_lex_state);
848
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
849
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
850
0
    zend_destroy_file_handle(&file_handle);
851
0
    zend_restore_lexical_state(&original_lex_state);
852
0
    return FAILURE;
853
0
  }
854
0
  zend_highlight(syntax_highlighter_ini);
855
0
  if (SCNG(script_filtered)) {
856
0
    efree(SCNG(script_filtered));
857
0
    SCNG(script_filtered) = NULL;
858
0
  }
859
0
  zend_destroy_file_handle(&file_handle);
860
0
  zend_restore_lexical_state(&original_lex_state);
861
0
  return SUCCESS;
862
0
}
863
864
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
865
25.4k
{
866
25.4k
  zend_lex_state original_lex_state;
867
25.4k
  zval str_zv;
868
25.4k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
869
25.4k
  ZVAL_STR_COPY(&str_zv, str);
870
25.4k
  zend_save_lexical_state(&original_lex_state);
871
25.4k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
872
25.4k
  zend_string_release(filename_str);
873
25.4k
  BEGIN(INITIAL);
874
25.4k
  zend_highlight(syntax_highlighter_ini);
875
25.4k
  if (SCNG(script_filtered)) {
876
0
    efree(SCNG(script_filtered));
877
0
    SCNG(script_filtered) = NULL;
878
0
  }
879
25.4k
  zend_restore_lexical_state(&original_lex_state);
880
25.4k
  zval_ptr_dtor(&str_zv);
881
25.4k
}
882
883
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
884
0
{
885
0
  size_t length;
886
0
  unsigned char *new_yy_start;
887
888
  /* convert and set */
889
0
  if (!SCNG(input_filter)) {
890
0
    if (SCNG(script_filtered)) {
891
0
      efree(SCNG(script_filtered));
892
0
      SCNG(script_filtered) = NULL;
893
0
    }
894
0
    SCNG(script_filtered_size) = 0;
895
0
    length = SCNG(script_org_size);
896
0
    new_yy_start = SCNG(script_org);
897
0
  } else {
898
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
899
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
900
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
901
0
    }
902
0
    if (SCNG(script_filtered)) {
903
0
      efree(SCNG(script_filtered));
904
0
    }
905
0
    SCNG(script_filtered) = new_yy_start;
906
0
    SCNG(script_filtered_size) = length;
907
0
  }
908
909
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
910
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
911
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
912
0
  SCNG(yy_limit) = new_yy_start + length;
913
914
0
  SCNG(yy_start) = new_yy_start;
915
0
}
916
917
918
// TODO: avoid reallocation ???
919
# define zend_copy_value(zendlval, yytext, yyleng) \
920
6.19M
  if (SCNG(output_filter)) { \
921
0
    size_t sz = 0; \
922
0
    char *s = NULL; \
923
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
924
0
    ZVAL_STRINGL(zendlval, s, sz); \
925
0
    efree(s); \
926
6.19M
  } else if (yyleng == 1) { \
927
2.10M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
928
4.08M
  } else { \
929
4.08M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
930
4.08M
  }
931
932
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
933
704k
{
934
704k
  char *s, *t;
935
704k
  char *end;
936
937
704k
  if (len <= 1) {
938
156k
    if (len < 1) {
939
21.0k
      ZVAL_EMPTY_STRING(zendlval);
940
135k
    } else {
941
135k
      zend_uchar c = (zend_uchar)*str;
942
135k
      HANDLE_NEWLINE(c);
943
135k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
944
135k
    }
945
156k
    goto skip_escape_conversion;
946
156k
  }
947
948
548k
  ZVAL_STRINGL(zendlval, str, len);
949
950
  /* convert escape sequences */
951
548k
  s = Z_STRVAL_P(zendlval);
952
548k
  end = s+Z_STRLEN_P(zendlval);
953
15.7M
  while (1) {
954
15.7M
    if (UNEXPECTED(*s=='\\')) {
955
127k
      break;
956
127k
    }
957
15.6M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
958
470k
      CG(zend_lineno)++;
959
470k
    }
960
15.6M
    s++;
961
15.6M
    if (s == end) {
962
420k
      goto skip_escape_conversion;
963
420k
    }
964
15.6M
  }
965
966
127k
  t = s;
967
4.61M
  while (s<end) {
968
4.48M
    if (*s=='\\') {
969
309k
      s++;
970
309k
      if (s >= end) {
971
1.49k
        *t++ = '\\';
972
1.49k
        break;
973
1.49k
      }
974
975
307k
      switch(*s) {
976
53.2k
        case 'n':
977
53.2k
          *t++ = '\n';
978
53.2k
          break;
979
2.00k
        case 'r':
980
2.00k
          *t++ = '\r';
981
2.00k
          break;
982
1.38k
        case 't':
983
1.38k
          *t++ = '\t';
984
1.38k
          break;
985
2.13k
        case 'f':
986
2.13k
          *t++ = '\f';
987
2.13k
          break;
988
3.02k
        case 'v':
989
3.02k
          *t++ = '\v';
990
3.02k
          break;
991
596
        case 'e':
992
#ifdef ZEND_WIN32
993
          *t++ = VK_ESCAPE;
994
#else
995
596
          *t++ = '\e';
996
596
#endif
997
596
          break;
998
1.34k
        case '"':
999
3.11k
        case '`':
1000
3.11k
          if (*s != quote_type) {
1001
917
            *t++ = '\\';
1002
917
            *t++ = *s;
1003
917
            break;
1004
917
          }
1005
2.19k
          ZEND_FALLTHROUGH;
1006
83.2k
        case '\\':
1007
85.3k
        case '$':
1008
85.3k
          *t++ = *s;
1009
85.3k
          break;
1010
11.2k
        case 'x':
1011
15.1k
        case 'X':
1012
15.1k
          if (ZEND_IS_HEX(*(s+1))) {
1013
10.9k
            char hex_buf[3] = { 0, 0, 0 };
1014
1015
10.9k
            hex_buf[0] = *(++s);
1016
10.9k
            if (ZEND_IS_HEX(*(s+1))) {
1017
7.78k
              hex_buf[1] = *(++s);
1018
7.78k
            }
1019
10.9k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1020
10.9k
          } else {
1021
4.19k
            *t++ = '\\';
1022
4.19k
            *t++ = *s;
1023
4.19k
          }
1024
15.1k
          break;
1025
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1026
2.85k
        case 'u':
1027
2.85k
          {
1028
            /* cache where we started so we can parse after validating */
1029
2.85k
            char *start = s + 1;
1030
2.85k
            size_t len = 0;
1031
2.85k
            bool valid = 1;
1032
2.85k
            unsigned long codepoint;
1033
1034
2.85k
            if (*start != '{') {
1035
              /* we silently let this pass to avoid breaking code
1036
               * with JSON in string literals (e.g. "\"\u202e\""
1037
               */
1038
917
              *t++ = '\\';
1039
917
              *t++ = 'u';
1040
917
              break;
1041
1.94k
            } else {
1042
              /* on the other hand, invalid \u{blah} errors */
1043
1.94k
              s++;
1044
1.94k
              len++;
1045
1.94k
              s++;
1046
8.24k
              while (*s != '}') {
1047
6.81k
                if (!ZEND_IS_HEX(*s)) {
1048
502
                  valid = 0;
1049
502
                  break;
1050
6.30k
                } else {
1051
6.30k
                  len++;
1052
6.30k
                }
1053
6.30k
                s++;
1054
6.30k
              }
1055
1.94k
              if (*s == '}') {
1056
1.43k
                valid = 1;
1057
1.43k
                len++;
1058
1.43k
              }
1059
1.94k
            }
1060
1061
            /* \u{} is invalid */
1062
1.94k
            if (len <= 2) {
1063
600
              valid = 0;
1064
600
            }
1065
1066
1.94k
            if (!valid) {
1067
719
              zend_throw_exception(zend_ce_parse_error,
1068
719
                "Invalid UTF-8 codepoint escape sequence", 0);
1069
719
              zval_ptr_dtor(zendlval);
1070
719
              ZVAL_UNDEF(zendlval);
1071
719
              return FAILURE;
1072
719
            }
1073
1074
1.94k
            errno = 0;
1075
1.22k
            codepoint = strtoul(start + 1, NULL, 16);
1076
1077
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1078
1.22k
            if (codepoint > 0x10FFFF || errno) {
1079
131
              zend_throw_exception(zend_ce_parse_error,
1080
131
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1081
131
              zval_ptr_dtor(zendlval);
1082
131
              ZVAL_UNDEF(zendlval);
1083
131
              return FAILURE;
1084
131
            }
1085
1086
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1087
1.09k
            if (codepoint < 0x80) {
1088
244
              *t++ = codepoint;
1089
847
            } else if (codepoint <= 0x7FF) {
1090
324
              *t++ = (codepoint >> 6) + 0xC0;
1091
324
              *t++ = (codepoint & 0x3F) + 0x80;
1092
523
            } else if (codepoint <= 0xFFFF) {
1093
258
              *t++ = (codepoint >> 12) + 0xE0;
1094
258
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1095
258
              *t++ = (codepoint & 0x3F) + 0x80;
1096
265
            } else if (codepoint <= 0x10FFFF) {
1097
265
              *t++ = (codepoint >> 18) + 0xF0;
1098
265
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1099
265
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1100
265
              *t++ = (codepoint & 0x3F) + 0x80;
1101
265
            }
1102
1.09k
          }
1103
0
          break;
1104
140k
        default:
1105
          /* check for an octal */
1106
140k
          if (ZEND_IS_OCT(*s)) {
1107
28.3k
            char octal_buf[4] = { 0, 0, 0, 0 };
1108
1109
28.3k
            octal_buf[0] = *s;
1110
28.3k
            if (ZEND_IS_OCT(*(s+1))) {
1111
8.44k
              octal_buf[1] = *(++s);
1112
8.44k
              if (ZEND_IS_OCT(*(s+1))) {
1113
3.60k
                octal_buf[2] = *(++s);
1114
3.60k
              }
1115
8.44k
            }
1116
28.3k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1117
              /* 3 octit values must not overflow 0xFF (\377) */
1118
1.00k
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1119
1.00k
            }
1120
1121
28.3k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1122
112k
          } else {
1123
112k
            *t++ = '\\';
1124
112k
            *t++ = *s;
1125
112k
          }
1126
140k
          break;
1127
307k
      }
1128
4.17M
    } else {
1129
4.17M
      *t++ = *s;
1130
4.17M
    }
1131
1132
4.48M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1133
121k
      CG(zend_lineno)++;
1134
121k
    }
1135
4.48M
    s++;
1136
4.48M
  }
1137
127k
  *t = 0;
1138
127k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1139
1140
703k
skip_escape_conversion:
1141
703k
  if (SCNG(output_filter)) {
1142
0
    size_t sz = 0;
1143
0
    unsigned char *str;
1144
    // TODO: avoid realocation ???
1145
0
    s = Z_STRVAL_P(zendlval);
1146
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1147
0
    zval_ptr_dtor(zendlval);
1148
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1149
0
    efree(str);
1150
0
  }
1151
703k
  return SUCCESS;
1152
127k
}
1153
1154
607k
#define HEREDOC_USING_SPACES 1
1155
38.6k
#define HEREDOC_USING_TABS 2
1156
1157
222k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1158
2.67M
  for (; str < end; str++) {
1159
2.57M
    if (*str == '\r') {
1160
16.2k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1161
16.2k
      return str;
1162
2.55M
    } else if (*str == '\n') {
1163
103k
      *newline_len = 1;
1164
103k
      return str;
1165
103k
    }
1166
2.57M
  }
1167
102k
  *newline_len = 0;
1168
102k
  return NULL;
1169
222k
}
1170
1171
static bool strip_multiline_string_indentation(
1172
  zval *zendlval, int indentation, bool using_spaces,
1173
  bool newline_at_start, bool newline_at_end)
1174
98.3k
{
1175
98.3k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1176
98.3k
  char *copy = Z_STRVAL_P(zendlval);
1177
1178
98.3k
  uint32_t newline_count = 0;
1179
98.3k
  size_t newline_len;
1180
98.3k
  const char *nl;
1181
1182
98.3k
  if (!newline_at_start) {
1183
63.4k
    nl = next_newline(str, end, &newline_len);
1184
63.4k
    if (!nl) {
1185
36.9k
      return 1;
1186
36.9k
    }
1187
1188
26.4k
    str = nl + newline_len;
1189
26.4k
    copy = (char *) nl + newline_len;
1190
26.4k
    newline_count++;
1191
34.9k
  } else {
1192
34.9k
    nl = str;
1193
34.9k
  }
1194
1195
  /* <= intentional */
1196
187k
  while (str <= end && nl) {
1197
158k
    size_t skip;
1198
158k
    nl = next_newline(str, end, &newline_len);
1199
158k
    if (!nl && newline_at_end) {
1200
8.23k
      nl = end;
1201
8.23k
    }
1202
1203
    /* Try to skip indentation */
1204
162k
    for (skip = 0; skip < indentation; skip++, str++) {
1205
4.09k
      if (str == nl) {
1206
        /* Don't require full indentation on whitespace-only lines */
1207
668
        break;
1208
668
      }
1209
1210
3.42k
      if (str == end || (*str != ' ' && *str != '\t')) {
1211
61
        CG(zend_lineno) += newline_count;
1212
61
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1213
61
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1214
61
        goto error;
1215
61
      }
1216
1217
3.36k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1218
31
        CG(zend_lineno) += newline_count;
1219
31
        zend_throw_exception(zend_ce_parse_error,
1220
31
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1221
31
        goto error;
1222
31
      }
1223
3.36k
    }
1224
1225
158k
    if (str == end) {
1226
32.8k
      break;
1227
32.8k
    }
1228
1229
125k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1230
125k
    memmove(copy, str, len);
1231
125k
    str += len;
1232
125k
    copy += len;
1233
125k
    newline_count++;
1234
125k
  }
1235
1236
61.2k
  *copy = '\0';
1237
61.2k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1238
61.2k
  return 1;
1239
1240
92
error:
1241
92
  zval_ptr_dtor_str(zendlval);
1242
92
  ZVAL_UNDEF(zendlval);
1243
1244
92
  return 0;
1245
61.3k
}
1246
1247
static void copy_heredoc_label_stack(void *void_heredoc_label)
1248
2.44M
{
1249
2.44M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1250
2.44M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1251
1252
2.44M
  *new_heredoc_label = *heredoc_label;
1253
2.44M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1254
1255
2.44M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1256
2.44M
}
1257
1258
/* Check that { }, [ ], ( ) are nested correctly */
1259
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1260
264k
{
1261
264k
  char   buf[256];
1262
264k
  size_t used = 0;
1263
1264
264k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1265
1266
264k
  if (opening_lineno != CG(zend_lineno)) {
1267
156k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1268
156k
  }
1269
1270
264k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1271
135k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1272
135k
  }
1273
1274
264k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1275
264k
}
1276
1277
static void enter_nesting(char opening)
1278
6.15M
{
1279
6.15M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1280
6.15M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1281
6.15M
}
1282
1283
static zend_result exit_nesting(char closing)
1284
1.46M
{
1285
1.46M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1286
16.7k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1287
16.7k
    return FAILURE;
1288
16.7k
  }
1289
1290
1.45M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1291
1.45M
  char opening = nest_loc->text;
1292
1293
1.45M
  if ((opening == '{' && closing != '}') ||
1294
1.40M
      (opening == '[' && closing != ']') ||
1295
1.39M
      (opening == '(' && closing != ')')) {
1296
135k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1297
135k
    return FAILURE;
1298
135k
  }
1299
1300
1.31M
  zend_stack_del_top(&SCNG(nest_location_stack));
1301
1.31M
  return SUCCESS;
1302
1.45M
}
1303
1304
static zend_result check_nesting_at_end(void)
1305
225k
{
1306
225k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1307
128k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1308
128k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1309
128k
    return FAILURE;
1310
128k
  }
1311
1312
97.2k
  return SUCCESS;
1313
225k
}
1314
1315
#define PARSER_MODE() \
1316
18.3M
  EXPECTED(elem != NULL)
1317
1318
24.7M
#define RETURN_TOKEN(_token) do { \
1319
24.7M
    token = _token; \
1320
24.7M
    goto emit_token; \
1321
24.7M
  } while (0)
1322
1323
3.26M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1324
3.26M
    token = _token; \
1325
3.26M
    goto emit_token_with_val; \
1326
3.26M
  } while (0)
1327
1328
6.19M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1329
6.19M
    token = _token; \
1330
6.19M
    offset = _offset; \
1331
6.19M
    goto emit_token_with_str; \
1332
6.19M
  } while (0)
1333
1334
1.23M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1335
1.23M
    token = _token; \
1336
1.23M
    goto emit_token_with_ident; \
1337
1.23M
  } while (0)
1338
1339
1.01M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1340
1.01M
    token = _token; \
1341
1.01M
    if (PARSER_MODE()) { \
1342
255k
      goto skip_token; \
1343
255k
    } \
1344
1.01M
    goto emit_token; \
1345
1.01M
  } while (0)
1346
1347
1.46M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1348
1.46M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1349
242
      RETURN_TOKEN(T_ERROR); \
1350
1.46M
    } else { \
1351
1.46M
      RETURN_TOKEN(_token); \
1352
1.46M
    } \
1353
1.46M
  } while(0)
1354
1355
225k
#define RETURN_END_TOKEN do { \
1356
225k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1357
3.82k
      RETURN_TOKEN(T_ERROR); \
1358
222k
    } else { \
1359
222k
      RETURN_TOKEN(END); \
1360
222k
    } \
1361
225k
  } while (0)
1362
1363
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1364
39.3M
{
1365
39.3M
int token;
1366
39.3M
int offset;
1367
39.3M
uint32_t start_line = CG(zend_lineno);
1368
1369
39.3M
  ZVAL_UNDEF(zendlval);
1370
45.9M
restart:
1371
45.9M
  SCNG(yy_text) = YYCURSOR;
1372
1373
1374
45.9M
#line 1375 "Zend/zend_language_scanner.c"
1375
45.9M
{
1376
45.9M
  YYCTYPE yych;
1377
45.9M
  unsigned int yyaccept = 0;
1378
45.9M
  if (YYGETCONDITION() < 5) {
1379
41.6M
    if (YYGETCONDITION() < 2) {
1380
35.8M
      if (YYGETCONDITION() < 1) {
1381
35.4M
        goto yyc_ST_IN_SCRIPTING;
1382
35.4M
      } else {
1383
405k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1384
405k
      }
1385
35.8M
    } else {
1386
5.84M
      if (YYGETCONDITION() < 3) {
1387
191k
        goto yyc_ST_BACKQUOTE;
1388
5.65M
      } else {
1389
5.65M
        if (YYGETCONDITION() < 4) {
1390
575k
          goto yyc_ST_DOUBLE_QUOTES;
1391
5.07M
        } else {
1392
5.07M
          goto yyc_ST_HEREDOC;
1393
5.07M
        }
1394
5.65M
      }
1395
5.84M
    }
1396
41.6M
  } else {
1397
4.28M
    if (YYGETCONDITION() < 8) {
1398
3.83M
      if (YYGETCONDITION() < 6) {
1399
3.62M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1400
3.62M
      } else {
1401
207k
        if (YYGETCONDITION() < 7) {
1402
207k
          goto yyc_ST_VAR_OFFSET;
1403
207k
        } else {
1404
0
          goto yyc_SHEBANG;
1405
0
        }
1406
207k
      }
1407
3.83M
    } else {
1408
457k
      if (YYGETCONDITION() < 9) {
1409
424k
        goto yyc_INITIAL;
1410
424k
      } else {
1411
33.2k
        if (YYGETCONDITION() < 10) {
1412
23.3k
          goto yyc_ST_END_HEREDOC;
1413
23.3k
        } else {
1414
9.84k
          goto yyc_ST_NOWDOC;
1415
9.84k
        }
1416
33.2k
      }
1417
457k
    }
1418
4.28M
  }
1419
/* *********************************** */
1420
35.4M
yyc_ST_IN_SCRIPTING:
1421
35.4M
  {
1422
35.4M
    static const unsigned char yybm[] = {
1423
      /* table 1 .. 8: 0 */
1424
35.4M
        0, 134, 134, 134, 134, 134, 134, 134, 
1425
35.4M
      134, 135,   4, 134, 134,   4, 134, 134, 
1426
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1427
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
35.4M
      135, 134, 134, 134, 134, 134, 134, 134, 
1429
35.4M
      134, 134,  66, 134, 134, 134, 134, 134, 
1430
35.4M
      190, 190, 182, 182, 182, 182, 182, 182, 
1431
35.4M
      166, 166, 134, 134, 134, 134, 134, 134, 
1432
35.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1433
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1434
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
35.4M
      134, 166, 166, 166, 166, 166, 166, 134, 
1437
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1438
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
35.4M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
      /* table 9 .. 11: 256 */
1457
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1458
35.4M
        0,  32,  32,   0,   0,  32,   0,   0, 
1459
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1460
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
35.4M
       32,   0,   0,   0,   0,   0,   0,   0, 
1462
35.4M
        0,   0,   0,   0,   0,   0,   0,   0, 
1463
35.4M
      192, 192, 192, 192, 192, 192, 192, 192, 
1464
35.4M
      192, 192,   0,   0,   0,   0,   0,   0, 
1465
35.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1466
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1467
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
35.4M
      128, 128, 128,   0,   0,   0,   0, 128, 
1469
35.4M
        0, 128, 128, 128, 128, 128, 128, 128, 
1470
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1471
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
35.4M
      128, 128, 128,   0,   0,   0,   0,   0, 
1473
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1474
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
35.4M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
35.4M
    };
1490
35.4M
    YYDEBUG(1, *YYCURSOR);
1491
35.4M
    YYFILL(16);
1492
35.4M
    yych = *YYCURSOR;
1493
35.4M
    if (yybm[256+yych] & 32) {
1494
5.86M
      goto yy5;
1495
5.86M
    }
1496
29.5M
    switch (yych) {
1497
3.82M
    case 0x00:
1498
3.94M
    case 0x01:
1499
3.97M
    case 0x02:
1500
4.00M
    case 0x03:
1501
4.12M
    case 0x04:
1502
4.16M
    case 0x05:
1503
4.20M
    case 0x06:
1504
4.24M
    case 0x07:
1505
4.30M
    case 0x08:
1506
4.30M
    case '\t':
1507
4.30M
    case '\n':
1508
4.35M
    case '\v':
1509
4.41M
    case '\f':
1510
4.41M
    case '\r':
1511
4.44M
    case 0x0E:
1512
4.48M
    case 0x0F:
1513
4.51M
    case 0x10:
1514
4.52M
    case 0x11:
1515
4.54M
    case 0x12:
1516
4.63M
    case 0x13:
1517
4.65M
    case 0x14:
1518
4.66M
    case 0x15:
1519
4.67M
    case 0x16:
1520
4.69M
    case 0x17:
1521
4.70M
    case 0x18:
1522
4.72M
    case 0x19:
1523
4.76M
    case 0x1A:
1524
4.77M
    case 0x1B:
1525
4.93M
    case 0x1C:
1526
4.97M
    case 0x1D:
1527
5.00M
    case 0x1E:
1528
5.05M
    case 0x1F:
1529
5.11M
    case 0x7F:  goto yy3;
1530
0
    case ' ':
1531
173k
    case '!': goto yy8;
1532
351k
    case '"': goto yy10;
1533
628k
    case '#': goto yy12;
1534
1.70M
    case '$': goto yy14;
1535
55.8k
    case '%': goto yy15;
1536
197k
    case '&': goto yy16;
1537
327k
    case '\'':  goto yy18;
1538
1.12M
    case '(': goto yy20;
1539
807k
    case ')':
1540
1.09M
    case ']': goto yy22;
1541
126k
    case '*': goto yy24;
1542
190k
    case '+': goto yy25;
1543
721k
    case ',':
1544
1.70M
    case ';':
1545
2.29M
    case '@':
1546
2.37M
    case '~': goto yy26;
1547
366k
    case '-': goto yy27;
1548
363k
    case '.': goto yy28;
1549
314k
    case '/': goto yy29;
1550
245k
    case '0': goto yy30;
1551
218k
    case '1':
1552
371k
    case '2':
1553
461k
    case '3':
1554
591k
    case '4':
1555
656k
    case '5':
1556
704k
    case '6':
1557
744k
    case '7':
1558
792k
    case '8':
1559
829k
    case '9': goto yy32;
1560
222k
    case ':': goto yy34;
1561
4.89M
    case '<': goto yy35;
1562
603k
    case '=': goto yy36;
1563
82.6k
    case '>': goto yy37;
1564
569k
    case '?': goto yy38;
1565
69.8k
    case 'A':
1566
226k
    case 'a': goto yy39;
1567
52.8k
    case 'B':
1568
110k
    case 'b': goto yy41;
1569
86.8k
    case 'C':
1570
371k
    case 'c': goto yy42;
1571
55.7k
    case 'D':
1572
138k
    case 'd': goto yy43;
1573
78.1k
    case 'E':
1574
569k
    case 'e': goto yy44;
1575
56.0k
    case 'F':
1576
409k
    case 'f': goto yy45;
1577
14.3k
    case 'G':
1578
76.1k
    case 'g': goto yy46;
1579
71.6k
    case 'I':
1580
293k
    case 'i': goto yy49;
1581
12.0k
    case 'L':
1582
60.3k
    case 'l': goto yy50;
1583
22.8k
    case 'M':
1584
86.7k
    case 'm': goto yy51;
1585
37.1k
    case 'N':
1586
222k
    case 'n': goto yy52;
1587
28.8k
    case 'O':
1588
120k
    case 'o': goto yy53;
1589
68.2k
    case 'P':
1590
399k
    case 'p': goto yy54;
1591
21.3k
    case 'R':
1592
150k
    case 'r': goto yy55;
1593
27.1k
    case 'S':
1594
195k
    case 's': goto yy56;
1595
45.5k
    case 'T':
1596
217k
    case 't': goto yy57;
1597
7.52k
    case 'U':
1598
84.9k
    case 'u': goto yy58;
1599
9.23k
    case 'V':
1600
130k
    case 'v': goto yy59;
1601
14.6k
    case 'W':
1602
28.3k
    case 'w': goto yy60;
1603
18.5k
    case 'X':
1604
35.8k
    case 'x': goto yy61;
1605
7.93k
    case 'Y':
1606
139k
    case 'y': goto yy62;
1607
314k
    case '[': goto yy63;
1608
231k
    case '\\':  goto yy64;
1609
82.4k
    case '^': goto yy66;
1610
225k
    case '_': goto yy67;
1611
70.3k
    case '`': goto yy68;
1612
1.05M
    case '{': goto yy70;
1613
119k
    case '|': goto yy72;
1614
371k
    case '}': goto yy73;
1615
1.09M
    default:  goto yy47;
1616
29.5M
    }
1617
5.11M
yy3:
1618
5.11M
    YYDEBUG(3, *YYCURSOR);
1619
5.11M
    ++YYCURSOR;
1620
5.11M
    YYDEBUG(4, *YYCURSOR);
1621
5.11M
    yyleng = YYCURSOR - SCNG(yy_text);
1622
5.11M
#line 3179 "Zend/zend_language_scanner.l"
1623
5.11M
    {
1624
5.11M
  if (YYCURSOR > YYLIMIT) {
1625
118k
    RETURN_END_TOKEN;
1626
118k
  }
1627
1628
4.99M
  RETURN_TOKEN(T_BAD_CHARACTER);
1629
4.99M
}
1630
0
#line 1631 "Zend/zend_language_scanner.c"
1631
9.42M
yy5:
1632
9.42M
    YYDEBUG(5, *YYCURSOR);
1633
9.42M
    ++YYCURSOR;
1634
9.42M
    YYFILL(1);
1635
9.42M
    yych = *YYCURSOR;
1636
9.42M
    YYDEBUG(6, *YYCURSOR);
1637
9.42M
    if (yybm[256+yych] & 32) {
1638
3.56M
      goto yy5;
1639
3.56M
    }
1640
5.86M
    YYDEBUG(7, *YYCURSOR);
1641
5.86M
    yyleng = YYCURSOR - SCNG(yy_text);
1642
5.86M
#line 1596 "Zend/zend_language_scanner.l"
1643
5.86M
    {
1644
5.86M
  goto return_whitespace;
1645
9.42M
}
1646
0
#line 1647 "Zend/zend_language_scanner.c"
1647
173k
yy8:
1648
173k
    YYDEBUG(8, *YYCURSOR);
1649
173k
    yych = *++YYCURSOR;
1650
173k
    if (yych == '=') goto yy75;
1651
6.07M
yy9:
1652
6.07M
    YYDEBUG(9, *YYCURSOR);
1653
6.07M
    yyleng = YYCURSOR - SCNG(yy_text);
1654
6.07M
#line 1968 "Zend/zend_language_scanner.l"
1655
6.07M
    {
1656
6.07M
  RETURN_TOKEN(yytext[0]);
1657
6.07M
}
1658
0
#line 1659 "Zend/zend_language_scanner.c"
1659
353k
yy10:
1660
353k
    YYDEBUG(10, *YYCURSOR);
1661
353k
    ++YYCURSOR;
1662
353k
    YYDEBUG(11, *YYCURSOR);
1663
353k
    yyleng = YYCURSOR - SCNG(yy_text);
1664
353k
#line 2631 "Zend/zend_language_scanner.l"
1665
353k
    {
1666
353k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1667
1668
9.91M
  while (YYCURSOR < YYLIMIT) {
1669
9.90M
    switch (*YYCURSOR++) {
1670
257k
      case '"':
1671
257k
        yyleng = YYCURSOR - SCNG(yy_text);
1672
257k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1673
257k
         || !PARSER_MODE()) {
1674
257k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1675
257k
        } else {
1676
7
          RETURN_TOKEN(T_ERROR);
1677
7
        }
1678
111k
      case '$':
1679
111k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1680
83.3k
          break;
1681
83.3k
        }
1682
28.1k
        continue;
1683
35.3k
      case '{':
1684
35.3k
        if (*YYCURSOR == '$') {
1685
2.90k
          break;
1686
2.90k
        }
1687
32.4k
        continue;
1688
225k
      case '\\':
1689
225k
        if (YYCURSOR < YYLIMIT) {
1690
225k
          YYCURSOR++;
1691
225k
        }
1692
225k
        ZEND_FALLTHROUGH;
1693
9.50M
      default:
1694
9.50M
        continue;
1695
9.90M
    }
1696
1697
86.2k
    YYCURSOR--;
1698
86.2k
    break;
1699
9.90M
  }
1700
1701
  /* Remember how much was scanned to save rescanning */
1702
353k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1703
1704
95.9k
  YYCURSOR = SCNG(yy_text) + yyleng;
1705
1706
95.9k
  BEGIN(ST_DOUBLE_QUOTES);
1707
95.9k
  RETURN_TOKEN('"');
1708
95.9k
}
1709
0
#line 1710 "Zend/zend_language_scanner.c"
1710
628k
yy12:
1711
628k
    YYDEBUG(12, *YYCURSOR);
1712
628k
    yych = *++YYCURSOR;
1713
628k
    if (yych == '[') goto yy77;
1714
684k
yy13:
1715
684k
    YYDEBUG(13, *YYCURSOR);
1716
684k
    yyleng = YYCURSOR - SCNG(yy_text);
1717
684k
#line 2459 "Zend/zend_language_scanner.l"
1718
684k
    {
1719
7.11M
  while (YYCURSOR < YYLIMIT) {
1720
7.11M
    switch (*YYCURSOR++) {
1721
214k
      case '\r':
1722
674k
      case '\n':
1723
674k
        YYCURSOR--;
1724
674k
        break;
1725
38.6k
      case '?':
1726
38.6k
        if (*YYCURSOR == '>') {
1727
2.46k
          YYCURSOR--;
1728
2.46k
          break;
1729
2.46k
        }
1730
36.1k
        ZEND_FALLTHROUGH;
1731
6.43M
      default:
1732
6.43M
        continue;
1733
7.11M
    }
1734
1735
676k
    break;
1736
7.11M
  }
1737
1738
684k
  yyleng = YYCURSOR - SCNG(yy_text);
1739
684k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1740
684k
}
1741
0
#line 1742 "Zend/zend_language_scanner.c"
1742
1.70M
yy14:
1743
1.70M
    YYDEBUG(14, *YYCURSOR);
1744
1.70M
    yych = *++YYCURSOR;
1745
1.70M
    if (yych <= '_') {
1746
285k
      if (yych <= '@') goto yy9;
1747
44.0k
      if (yych <= 'Z') goto yy79;
1748
11.0k
      if (yych <= '^') goto yy9;
1749
6.75k
      goto yy79;
1750
1.41M
    } else {
1751
1.41M
      if (yych <= '`') goto yy9;
1752
1.41M
      if (yych <= 'z') goto yy79;
1753
508k
      if (yych <= 0x7F) goto yy9;
1754
66.8k
      goto yy79;
1755
508k
    }
1756
55.8k
yy15:
1757
55.8k
    YYDEBUG(15, *YYCURSOR);
1758
55.8k
    yych = *++YYCURSOR;
1759
55.8k
    if (yych == '=') goto yy82;
1760
54.2k
    goto yy9;
1761
197k
yy16:
1762
197k
    YYDEBUG(16, *YYCURSOR);
1763
197k
    yyaccept = 0;
1764
197k
    yych = *(YYMARKER = ++YYCURSOR);
1765
197k
    if (yych <= '"') {
1766
74.0k
      if (yych <= '\f') {
1767
46.0k
        if (yych <= 0x08) goto yy17;
1768
44.1k
        if (yych <= '\n') goto yy85;
1769
44.1k
      } else {
1770
27.9k
        if (yych <= '\r') goto yy85;
1771
22.6k
        if (yych == ' ') goto yy85;
1772
22.6k
      }
1773
123k
    } else {
1774
123k
      if (yych <= '-') {
1775
43.0k
        if (yych <= '$') goto yy85;
1776
23.3k
        if (yych == '&') goto yy90;
1777
80.0k
      } else {
1778
80.0k
        if (yych <= '/') goto yy85;
1779
74.6k
        if (yych == '=') goto yy94;
1780
74.6k
      }
1781
123k
    }
1782
130k
yy17:
1783
130k
    YYDEBUG(17, *YYCURSOR);
1784
130k
    yyleng = YYCURSOR - SCNG(yy_text);
1785
130k
#line 1954 "Zend/zend_language_scanner.l"
1786
130k
    {
1787
130k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1788
130k
}
1789
0
#line 1790 "Zend/zend_language_scanner.c"
1790
328k
yy18:
1791
328k
    YYDEBUG(18, *YYCURSOR);
1792
328k
    ++YYCURSOR;
1793
328k
    YYDEBUG(19, *YYCURSOR);
1794
328k
    yyleng = YYCURSOR - SCNG(yy_text);
1795
328k
#line 2537 "Zend/zend_language_scanner.l"
1796
328k
    {
1797
328k
  char *s, *t;
1798
328k
  char *end;
1799
328k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1800
1801
33.4M
  while (1) {
1802
33.4M
    if (YYCURSOR < YYLIMIT) {
1803
33.4M
      if (*YYCURSOR == '\'') {
1804
318k
        YYCURSOR++;
1805
318k
        yyleng = YYCURSOR - SCNG(yy_text);
1806
1807
318k
        break;
1808
33.1M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1809
98.8k
        YYCURSOR++;
1810
98.8k
      }
1811
33.4M
    } else {
1812
10.2k
      yyleng = YYLIMIT - SCNG(yy_text);
1813
1814
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1815
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1816
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1817
10.2k
      ZVAL_NULL(zendlval);
1818
10.2k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1819
10.2k
    }
1820
33.4M
  }
1821
1822
318k
  if (yyleng-bprefix-2 <= 1) {
1823
72.3k
    if (yyleng-bprefix-2 < 1) {
1824
27.6k
      ZVAL_EMPTY_STRING(zendlval);
1825
44.6k
    } else {
1826
44.6k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1827
44.6k
      HANDLE_NEWLINE(c);
1828
44.6k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1829
44.6k
    }
1830
72.3k
    goto skip_escape_conversion;
1831
72.3k
  }
1832
245k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1833
1834
  /* convert escape sequences */
1835
245k
  s = Z_STRVAL_P(zendlval);
1836
245k
  end = s+Z_STRLEN_P(zendlval);
1837
22.7M
  while (1) {
1838
22.7M
    if (UNEXPECTED(*s=='\\')) {
1839
33.9k
      break;
1840
33.9k
    }
1841
22.7M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1842
370k
      CG(zend_lineno)++;
1843
370k
    }
1844
22.7M
    s++;
1845
22.7M
    if (s == end) {
1846
211k
      goto skip_escape_conversion;
1847
211k
    }
1848
22.7M
  }
1849
1850
33.9k
  t = s;
1851
9.48M
  while (s<end) {
1852
9.45M
    if (*s=='\\') {
1853
95.3k
      s++;
1854
95.3k
      if (*s == '\\' || *s == '\'') {
1855
33.3k
        *t++ = *s;
1856
62.0k
      } else {
1857
62.0k
        *t++ = '\\';
1858
62.0k
        *t++ = *s;
1859
62.0k
      }
1860
9.36M
    } else {
1861
9.36M
      *t++ = *s;
1862
9.36M
    }
1863
9.45M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1864
168k
      CG(zend_lineno)++;
1865
168k
    }
1866
9.45M
    s++;
1867
9.45M
  }
1868
33.9k
  *t = 0;
1869
33.9k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1870
1871
318k
skip_escape_conversion:
1872
318k
  if (SCNG(output_filter)) {
1873
0
    size_t sz = 0;
1874
0
    char *str = NULL;
1875
0
    zend_string *new_str;
1876
0
    s = Z_STRVAL_P(zendlval);
1877
    // TODO: avoid reallocation ???
1878
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1879
0
    new_str = zend_string_init(str, sz, 0);
1880
0
    if (str != s) {
1881
0
      efree(str);
1882
0
    }
1883
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1884
0
    ZVAL_STR(zendlval, new_str);
1885
0
  }
1886
318k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1887
318k
}
1888
0
#line 1889 "Zend/zend_language_scanner.c"
1889
1.12M
yy20:
1890
1.12M
    YYDEBUG(20, *YYCURSOR);
1891
1.12M
    yyaccept = 1;
1892
1.12M
    yych = *(YYMARKER = ++YYCURSOR);
1893
1.12M
    if (yych <= 'S') {
1894
796k
      if (yych <= 'D') {
1895
742k
        if (yych <= ' ') {
1896
110k
          if (yych == '\t') goto yy97;
1897
103k
          if (yych >= ' ') goto yy97;
1898
631k
        } else {
1899
631k
          if (yych <= '@') goto yy21;
1900
19.8k
          if (yych != 'C') goto yy97;
1901
19.8k
        }
1902
742k
      } else {
1903
53.5k
        if (yych <= 'I') {
1904
34.5k
          if (yych == 'F') goto yy97;
1905
31.2k
          if (yych >= 'I') goto yy97;
1906
31.2k
        } else {
1907
19.0k
          if (yych == 'O') goto yy97;
1908
15.8k
          if (yych >= 'R') goto yy97;
1909
15.8k
        }
1910
53.5k
      }
1911
796k
    } else {
1912
324k
      if (yych <= 'f') {
1913
140k
        if (yych <= 'b') {
1914
90.3k
          if (yych <= 'T') goto yy21;
1915
84.4k
          if (yych <= 'V') goto yy97;
1916
82.7k
          if (yych >= 'a') goto yy97;
1917
82.7k
        } else {
1918
50.1k
          if (yych == 'd') goto yy97;
1919
40.3k
          if (yych >= 'f') goto yy97;
1920
40.3k
        }
1921
183k
      } else {
1922
183k
        if (yych <= 'o') {
1923
73.2k
          if (yych == 'i') goto yy97;
1924
43.1k
          if (yych >= 'o') goto yy97;
1925
110k
        } else {
1926
110k
          if (yych <= 's') {
1927
51.9k
            if (yych >= 'r') goto yy97;
1928
58.5k
          } else {
1929
58.5k
            if (yych <= 't') goto yy21;
1930
51.2k
            if (yych <= 'v') goto yy97;
1931
51.2k
          }
1932
110k
        }
1933
183k
      }
1934
324k
    }
1935
1.41M
yy21:
1936
1.41M
    YYDEBUG(21, *YYCURSOR);
1937
1.41M
    yyleng = YYCURSOR - SCNG(yy_text);
1938
1.41M
#line 1963 "Zend/zend_language_scanner.l"
1939
1.41M
    {
1940
1.41M
  enter_nesting(yytext[0]);
1941
1.41M
  RETURN_TOKEN(yytext[0]);
1942
1.41M
}
1943
0
#line 1944 "Zend/zend_language_scanner.c"
1944
1.09M
yy22:
1945
1.09M
    YYDEBUG(22, *YYCURSOR);
1946
1.09M
    ++YYCURSOR;
1947
1.09M
    YYDEBUG(23, *YYCURSOR);
1948
1.09M
    yyleng = YYCURSOR - SCNG(yy_text);
1949
1.09M
#line 1958 "Zend/zend_language_scanner.l"
1950
1.09M
    {
1951
  /* Check that ] and ) match up properly with a preceding [ or ( */
1952
1.09M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1953
1.09M
}
1954
0
#line 1955 "Zend/zend_language_scanner.c"
1955
126k
yy24:
1956
126k
    YYDEBUG(24, *YYCURSOR);
1957
126k
    yych = *++YYCURSOR;
1958
126k
    if (yych == '*') goto yy108;
1959
98.6k
    if (yych == '=') goto yy110;
1960
92.8k
    goto yy9;
1961
190k
yy25:
1962
190k
    YYDEBUG(25, *YYCURSOR);
1963
190k
    yych = *++YYCURSOR;
1964
190k
    if (yych == '+') goto yy112;
1965
129k
    if (yych == '=') goto yy114;
1966
124k
    goto yy9;
1967
2.37M
yy26:
1968
2.37M
    YYDEBUG(26, *YYCURSOR);
1969
2.37M
    ++YYCURSOR;
1970
2.37M
    goto yy9;
1971
366k
yy27:
1972
366k
    YYDEBUG(27, *YYCURSOR);
1973
366k
    yych = *++YYCURSOR;
1974
366k
    if (yych <= '<') {
1975
147k
      if (yych == '-') goto yy116;
1976
135k
      goto yy9;
1977
219k
    } else {
1978
219k
      if (yych <= '=') goto yy118;
1979
216k
      if (yych <= '>') goto yy120;
1980
87.3k
      goto yy9;
1981
216k
    }
1982
363k
yy28:
1983
363k
    YYDEBUG(28, *YYCURSOR);
1984
363k
    yyaccept = 2;
1985
363k
    yych = *(YYMARKER = ++YYCURSOR);
1986
363k
    if (yych <= '/') {
1987
185k
      if (yych == '.') goto yy122;
1988
107k
      goto yy9;
1989
185k
    } else {
1990
178k
      if (yych <= '9') goto yy123;
1991
143k
      if (yych == '=') goto yy126;
1992
55.8k
      goto yy9;
1993
143k
    }
1994
314k
yy29:
1995
314k
    YYDEBUG(29, *YYCURSOR);
1996
314k
    yych = *++YYCURSOR;
1997
314k
    if (yych <= '.') {
1998
154k
      if (yych == '*') goto yy128;
1999
48.2k
      goto yy9;
2000
159k
    } else {
2001
159k
      if (yych <= '/') goto yy130;
2002
84.3k
      if (yych == '=') goto yy131;
2003
80.5k
      goto yy9;
2004
84.3k
    }
2005
245k
yy30:
2006
245k
    YYDEBUG(30, *YYCURSOR);
2007
245k
    yyaccept = 3;
2008
245k
    yych = *(YYMARKER = ++YYCURSOR);
2009
245k
    if (yych <= 'X') {
2010
159k
      if (yych <= 'N') {
2011
154k
        if (yych == 'B') goto yy134;
2012
154k
        goto yy33;
2013
154k
      } else {
2014
5.31k
        if (yych <= 'O') goto yy136;
2015
4.41k
        if (yych <= 'W') goto yy33;
2016
3.50k
        goto yy137;
2017
4.41k
      }
2018
159k
    } else {
2019
85.8k
      if (yych <= 'n') {
2020
49.9k
        if (yych == 'b') goto yy134;
2021
45.7k
        goto yy33;
2022
49.9k
      } else {
2023
35.8k
        if (yych <= 'o') goto yy136;
2024
33.7k
        if (yych == 'x') goto yy137;
2025
27.6k
        goto yy33;
2026
33.7k
      }
2027
85.8k
    }
2028
979k
yy31:
2029
979k
    YYDEBUG(31, *YYCURSOR);
2030
979k
    yyleng = YYCURSOR - SCNG(yy_text);
2031
979k
#line 2102 "Zend/zend_language_scanner.l"
2032
979k
    {
2033
979k
  size_t len = yyleng;
2034
979k
  char *end, *lnum = yytext;
2035
979k
  bool is_octal = lnum[0] == '0';
2036
979k
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2037
2038
979k
  if (contains_underscores) {
2039
1.77k
    lnum = estrndup(lnum, len);
2040
1.77k
    strip_underscores(lnum, &len);
2041
1.77k
  }
2042
2043
  /* Digits 8 and 9 are illegal in octal literals. */
2044
979k
  if (is_octal) {
2045
219k
    size_t i;
2046
628k
    for (i = 0; i < len; i++) {
2047
412k
      if (lnum[i] == '8' || lnum[i] == '9') {
2048
3.40k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2049
3.40k
        if (PARSER_MODE()) {
2050
21
          if (contains_underscores) {
2051
2
            efree(lnum);
2052
2
          }
2053
21
          ZVAL_UNDEF(zendlval);
2054
21
          RETURN_TOKEN(T_ERROR);
2055
21
        }
2056
2057
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2058
3.38k
        len = i;
2059
3.38k
        break;
2060
3.40k
      }
2061
412k
    }
2062
219k
  }
2063
2064
2065
979k
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2066
944k
    errno = 0;
2067
    /* base must be passed explicitly for correct parse error on Windows */
2068
944k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2069
944k
    ZEND_ASSERT(end == lnum + len);
2070
944k
  } else {
2071
34.6k
    errno = 0;
2072
34.6k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2073
34.6k
    if (errno == ERANGE) { /* Overflow */
2074
29.2k
      errno = 0;
2075
29.2k
      if (is_octal) { /* octal overflow */
2076
649
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2077
28.5k
      } else {
2078
28.5k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2079
28.5k
      }
2080
29.2k
      ZEND_ASSERT(end == lnum + len);
2081
29.2k
      if (contains_underscores) {
2082
341
        efree(lnum);
2083
341
      }
2084
29.2k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2085
29.2k
    }
2086
5.38k
    ZEND_ASSERT(end == lnum + len);
2087
5.38k
  }
2088
950k
  ZEND_ASSERT(!errno);
2089
950k
  if (contains_underscores) {
2090
1.43k
    efree(lnum);
2091
1.43k
  }
2092
950k
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2093
950k
}
2094
0
#line 2095 "Zend/zend_language_scanner.c"
2095
3.31M
yy32:
2096
3.31M
    YYDEBUG(32, *YYCURSOR);
2097
3.31M
    yyaccept = 3;
2098
3.31M
    YYMARKER = ++YYCURSOR;
2099
3.31M
    YYFILL(3);
2100
3.31M
    yych = *YYCURSOR;
2101
3.54M
yy33:
2102
3.54M
    YYDEBUG(33, *YYCURSOR);
2103
3.54M
    if (yybm[256+yych] & 64) {
2104
2.47M
      goto yy32;
2105
2.47M
    }
2106
1.06M
    if (yych <= 'E') {
2107
778k
      if (yych == '.') goto yy133;
2108
726k
      if (yych <= 'D') goto yy31;
2109
19.3k
      goto yy135;
2110
726k
    } else {
2111
284k
      if (yych <= '_') {
2112
130k
        if (yych <= '^') goto yy31;
2113
11.4k
        goto yy138;
2114
153k
      } else {
2115
153k
        if (yych == 'e') goto yy135;
2116
135k
        goto yy31;
2117
153k
      }
2118
284k
    }
2119
222k
yy34:
2120
222k
    YYDEBUG(34, *YYCURSOR);
2121
222k
    yych = *++YYCURSOR;
2122
222k
    if (yych == ':') goto yy139;
2123
105k
    goto yy9;
2124
4.89M
yy35:
2125
4.89M
    YYDEBUG(35, *YYCURSOR);
2126
4.89M
    yych = *++YYCURSOR;
2127
4.89M
    if (yych <= ';') goto yy9;
2128
4.69M
    if (yych <= '<') goto yy141;
2129
664k
    if (yych <= '=') goto yy143;
2130
646k
    if (yych <= '>') goto yy145;
2131
641k
    goto yy9;
2132
641k
yy36:
2133
603k
    YYDEBUG(36, *YYCURSOR);
2134
603k
    yych = *++YYCURSOR;
2135
603k
    if (yych <= '<') goto yy9;
2136
115k
    if (yych <= '=') goto yy146;
2137
83.2k
    if (yych <= '>') goto yy148;
2138
29.5k
    goto yy9;
2139
82.6k
yy37:
2140
82.6k
    YYDEBUG(37, *YYCURSOR);
2141
82.6k
    yych = *++YYCURSOR;
2142
82.6k
    if (yych <= '<') goto yy9;
2143
44.3k
    if (yych <= '=') goto yy150;
2144
40.4k
    if (yych <= '>') goto yy152;
2145
27.0k
    goto yy9;
2146
569k
yy38:
2147
569k
    YYDEBUG(38, *YYCURSOR);
2148
569k
    yyaccept = 2;
2149
569k
    yych = *(YYMARKER = ++YYCURSOR);
2150
569k
    if (yych <= '=') {
2151
217k
      if (yych == '-') goto yy154;
2152
174k
      goto yy9;
2153
351k
    } else {
2154
351k
      if (yych <= '>') goto yy155;
2155
206k
      if (yych <= '?') goto yy157;
2156
154k
      goto yy9;
2157
206k
    }
2158
226k
yy39:
2159
226k
    YYDEBUG(39, *YYCURSOR);
2160
226k
    yyaccept = 4;
2161
226k
    yych = *(YYMARKER = ++YYCURSOR);
2162
226k
    if (yych <= 'S') {
2163
75.5k
      if (yych <= 'M') {
2164
65.9k
        if (yych == 'B') goto yy159;
2165
64.2k
        goto yy48;
2166
65.9k
      } else {
2167
9.59k
        if (yych <= 'N') goto yy160;
2168
8.13k
        if (yych <= 'Q') goto yy48;
2169
7.52k
        if (yych <= 'R') goto yy161;
2170
5.51k
        goto yy162;
2171
7.52k
      }
2172
150k
    } else {
2173
150k
      if (yych <= 'n') {
2174
40.6k
        if (yych == 'b') goto yy159;
2175
28.7k
        if (yych <= 'm') goto yy48;
2176
7.82k
        goto yy160;
2177
110k
      } else {
2178
110k
        if (yych <= 'q') goto yy48;
2179
107k
        if (yych <= 'r') goto yy161;
2180
69.8k
        if (yych <= 's') goto yy162;
2181
17.3k
        goto yy48;
2182
69.8k
      }
2183
150k
    }
2184
4.10M
yy40:
2185
4.10M
    YYDEBUG(40, *YYCURSOR);
2186
4.10M
    yyleng = YYCURSOR - SCNG(yy_text);
2187
4.10M
#line 2454 "Zend/zend_language_scanner.l"
2188
4.10M
    {
2189
4.10M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2190
4.10M
}
2191
0
#line 2192 "Zend/zend_language_scanner.c"
2192
110k
yy41:
2193
110k
    YYDEBUG(41, *YYCURSOR);
2194
110k
    yyaccept = 4;
2195
110k
    yych = *(YYMARKER = ++YYCURSOR);
2196
110k
    if (yych <= ';') {
2197
29.2k
      if (yych <= '"') {
2198
12.5k
        if (yych <= '!') goto yy48;
2199
1.22k
        goto yy10;
2200
16.7k
      } else {
2201
16.7k
        if (yych == '\'') goto yy18;
2202
16.1k
        goto yy48;
2203
16.7k
      }
2204
80.8k
    } else {
2205
80.8k
      if (yych <= 'R') {
2206
14.6k
        if (yych <= '<') goto yy165;
2207
8.77k
        if (yych <= 'Q') goto yy48;
2208
562
        goto yy166;
2209
66.1k
      } else {
2210
66.1k
        if (yych == 'r') goto yy166;
2211
59.3k
        goto yy48;
2212
66.1k
      }
2213
80.8k
    }
2214
371k
yy42:
2215
371k
    YYDEBUG(42, *YYCURSOR);
2216
371k
    yyaccept = 4;
2217
371k
    yych = *(YYMARKER = ++YYCURSOR);
2218
371k
    if (yych <= 'O') {
2219
84.3k
      if (yych <= 'K') {
2220
73.9k
        if (yych == 'A') goto yy167;
2221
71.8k
        goto yy48;
2222
73.9k
      } else {
2223
10.3k
        if (yych <= 'L') goto yy168;
2224
7.11k
        if (yych <= 'N') goto yy48;
2225
6.76k
        goto yy169;
2226
7.11k
      }
2227
286k
    } else {
2228
286k
      if (yych <= 'k') {
2229
99.2k
        if (yych == 'a') goto yy167;
2230
26.4k
        goto yy48;
2231
187k
      } else {
2232
187k
        if (yych <= 'l') goto yy168;
2233
92.6k
        if (yych == 'o') goto yy169;
2234
22.8k
        goto yy48;
2235
92.6k
      }
2236
286k
    }
2237
138k
yy43:
2238
138k
    YYDEBUG(43, *YYCURSOR);
2239
138k
    yyaccept = 4;
2240
138k
    yych = *(YYMARKER = ++YYCURSOR);
2241
138k
    if (yych <= 'O') {
2242
41.4k
      if (yych <= 'H') {
2243
32.7k
        if (yych == 'E') goto yy170;
2244
30.4k
        goto yy48;
2245
32.7k
      } else {
2246
8.70k
        if (yych <= 'I') goto yy171;
2247
8.04k
        if (yych <= 'N') goto yy48;
2248
6.70k
        goto yy172;
2249
8.04k
      }
2250
96.7k
    } else {
2251
96.7k
      if (yych <= 'h') {
2252
62.6k
        if (yych == 'e') goto yy170;
2253
36.3k
        goto yy48;
2254
62.6k
      } else {
2255
34.0k
        if (yych <= 'i') goto yy171;
2256
26.4k
        if (yych == 'o') goto yy172;
2257
15.1k
        goto yy48;
2258
26.4k
      }
2259
96.7k
    }
2260
569k
yy44:
2261
569k
    YYDEBUG(44, *YYCURSOR);
2262
569k
    yyaccept = 4;
2263
569k
    yych = *(YYMARKER = ++YYCURSOR);
2264
569k
    switch (yych) {
2265
1.96k
    case 'C':
2266
85.5k
    case 'c': goto yy174;
2267
1.06k
    case 'L':
2268
22.9k
    case 'l': goto yy175;
2269
5.09k
    case 'M':
2270
14.1k
    case 'm': goto yy176;
2271
105k
    case 'N':
2272
241k
    case 'n': goto yy177;
2273
425
    case 'V':
2274
7.90k
    case 'v': goto yy178;
2275
2.75k
    case 'X':
2276
71.1k
    case 'x': goto yy179;
2277
126k
    default:  goto yy48;
2278
569k
    }
2279
409k
yy45:
2280
409k
    YYDEBUG(45, *YYCURSOR);
2281
409k
    yyaccept = 4;
2282
409k
    yych = *(YYMARKER = ++YYCURSOR);
2283
409k
    if (yych <= 'U') {
2284
95.8k
      if (yych <= 'M') {
2285
70.0k
        if (yych == 'I') goto yy180;
2286
67.8k
        goto yy48;
2287
70.0k
      } else {
2288
25.8k
        if (yych <= 'N') goto yy181;
2289
25.2k
        if (yych <= 'O') goto yy183;
2290
13.0k
        if (yych <= 'T') goto yy48;
2291
2.35k
        goto yy184;
2292
13.0k
      }
2293
313k
    } else {
2294
313k
      if (yych <= 'n') {
2295
67.2k
        if (yych == 'i') goto yy180;
2296
46.4k
        if (yych <= 'm') goto yy48;
2297
20.6k
        goto yy181;
2298
246k
      } else {
2299
246k
        if (yych <= 'o') goto yy183;
2300
136k
        if (yych == 'u') goto yy184;
2301
21.7k
        goto yy48;
2302
136k
      }
2303
313k
    }
2304
76.1k
yy46:
2305
76.1k
    YYDEBUG(46, *YYCURSOR);
2306
76.1k
    yyaccept = 4;
2307
76.1k
    yych = *(YYMARKER = ++YYCURSOR);
2308
76.1k
    if (yych <= 'O') {
2309
31.7k
      if (yych == 'L') goto yy185;
2310
26.6k
      if (yych <= 'N') goto yy48;
2311
1.55k
      goto yy186;
2312
44.4k
    } else {
2313
44.4k
      if (yych <= 'l') {
2314
32.5k
        if (yych <= 'k') goto yy48;
2315
6.37k
        goto yy185;
2316
32.5k
      } else {
2317
11.9k
        if (yych == 'o') goto yy186;
2318
6.22k
        goto yy48;
2319
11.9k
      }
2320
44.4k
    }
2321
16.2M
yy47:
2322
16.2M
    YYDEBUG(47, *YYCURSOR);
2323
16.2M
    yyaccept = 4;
2324
16.2M
    YYMARKER = ++YYCURSOR;
2325
16.2M
    YYFILL(1);
2326
16.2M
    yych = *YYCURSOR;
2327
18.9M
yy48:
2328
18.9M
    YYDEBUG(48, *YYCURSOR);
2329
18.9M
    if (yybm[256+yych] & 128) {
2330
14.8M
      goto yy47;
2331
14.8M
    }
2332
4.11M
    if (yych == '\\') goto yy164;
2333
4.06M
    goto yy40;
2334
4.06M
yy49:
2335
293k
    YYDEBUG(49, *YYCURSOR);
2336
293k
    yyaccept = 4;
2337
293k
    yych = *(YYMARKER = ++YYCURSOR);
2338
293k
    if (yych <= 'S') {
2339
77.9k
      if (yych <= 'L') {
2340
36.6k
        if (yych == 'F') goto yy187;
2341
36.1k
        goto yy48;
2342
41.3k
      } else {
2343
41.3k
        if (yych <= 'M') goto yy189;
2344
35.9k
        if (yych <= 'N') goto yy190;
2345
8.89k
        if (yych <= 'R') goto yy48;
2346
4.42k
        goto yy191;
2347
8.89k
      }
2348
215k
    } else {
2349
215k
      if (yych <= 'm') {
2350
82.6k
        if (yych == 'f') goto yy187;
2351
56.8k
        if (yych <= 'l') goto yy48;
2352
31.7k
        goto yy189;
2353
132k
      } else {
2354
132k
        if (yych <= 'n') goto yy190;
2355
44.9k
        if (yych == 's') goto yy191;
2356
20.0k
        goto yy48;
2357
44.9k
      }
2358
215k
    }
2359
60.3k
yy50:
2360
60.3k
    YYDEBUG(50, *YYCURSOR);
2361
60.3k
    yyaccept = 4;
2362
60.3k
    yych = *(YYMARKER = ++YYCURSOR);
2363
60.3k
    if (yych == 'I') goto yy192;
2364
58.9k
    if (yych == 'i') goto yy192;
2365
50.0k
    goto yy48;
2366
86.7k
yy51:
2367
86.7k
    YYDEBUG(51, *YYCURSOR);
2368
86.7k
    yyaccept = 4;
2369
86.7k
    yych = *(YYMARKER = ++YYCURSOR);
2370
86.7k
    if (yych == 'A') goto yy193;
2371
83.9k
    if (yych == 'a') goto yy193;
2372
76.5k
    goto yy48;
2373
222k
yy52:
2374
222k
    YYDEBUG(52, *YYCURSOR);
2375
222k
    yyaccept = 4;
2376
222k
    yych = *(YYMARKER = ++YYCURSOR);
2377
222k
    if (yych <= 'E') {
2378
36.5k
      if (yych == 'A') goto yy194;
2379
33.8k
      if (yych <= 'D') goto yy48;
2380
5.63k
      goto yy195;
2381
186k
    } else {
2382
186k
      if (yych <= 'a') {
2383
42.0k
        if (yych <= '`') goto yy48;
2384
28.3k
        goto yy194;
2385
144k
      } else {
2386
144k
        if (yych == 'e') goto yy195;
2387
52.0k
        goto yy48;
2388
144k
      }
2389
186k
    }
2390
120k
yy53:
2391
120k
    YYDEBUG(53, *YYCURSOR);
2392
120k
    yyaccept = 4;
2393
120k
    yych = *(YYMARKER = ++YYCURSOR);
2394
120k
    if (yych == 'R') goto yy196;
2395
117k
    if (yych == 'r') goto yy196;
2396
112k
    goto yy48;
2397
399k
yy54:
2398
399k
    YYDEBUG(54, *YYCURSOR);
2399
399k
    yyaccept = 4;
2400
399k
    yych = *(YYMARKER = ++YYCURSOR);
2401
399k
    if (yych <= 'U') {
2402
128k
      if (yych == 'R') goto yy198;
2403
120k
      if (yych <= 'T') goto yy48;
2404
2.08k
      goto yy199;
2405
271k
    } else {
2406
271k
      if (yych <= 'r') {
2407
177k
        if (yych <= 'q') goto yy48;
2408
57.5k
        goto yy198;
2409
177k
      } else {
2410
93.8k
        if (yych == 'u') goto yy199;
2411
19.3k
        goto yy48;
2412
93.8k
      }
2413
271k
    }
2414
150k
yy55:
2415
150k
    YYDEBUG(55, *YYCURSOR);
2416
150k
    yyaccept = 4;
2417
150k
    yych = *(YYMARKER = ++YYCURSOR);
2418
150k
    if (yych == 'E') goto yy200;
2419
145k
    if (yych == 'e') goto yy200;
2420
67.5k
    goto yy48;
2421
195k
yy56:
2422
195k
    YYDEBUG(56, *YYCURSOR);
2423
195k
    yyaccept = 4;
2424
195k
    yych = *(YYMARKER = ++YYCURSOR);
2425
195k
    if (yych <= 'W') {
2426
58.6k
      if (yych == 'T') goto yy201;
2427
55.1k
      if (yych <= 'V') goto yy48;
2428
461
      goto yy202;
2429
136k
    } else {
2430
136k
      if (yych <= 't') {
2431
120k
        if (yych <= 's') goto yy48;
2432
62.7k
        goto yy201;
2433
120k
      } else {
2434
16.3k
        if (yych == 'w') goto yy202;
2435
8.16k
        goto yy48;
2436
16.3k
      }
2437
136k
    }
2438
217k
yy57:
2439
217k
    YYDEBUG(57, *YYCURSOR);
2440
217k
    yyaccept = 4;
2441
217k
    yych = *(YYMARKER = ++YYCURSOR);
2442
217k
    if (yych <= 'R') {
2443
40.7k
      if (yych == 'H') goto yy203;
2444
39.1k
      if (yych <= 'Q') goto yy48;
2445
5.41k
      goto yy204;
2446
176k
    } else {
2447
176k
      if (yych <= 'h') {
2448
80.3k
        if (yych <= 'g') goto yy48;
2449
17.6k
        goto yy203;
2450
95.9k
      } else {
2451
95.9k
        if (yych == 'r') goto yy204;
2452
26.3k
        goto yy48;
2453
95.9k
      }
2454
176k
    }
2455
84.9k
yy58:
2456
84.9k
    YYDEBUG(58, *YYCURSOR);
2457
84.9k
    yyaccept = 4;
2458
84.9k
    yych = *(YYMARKER = ++YYCURSOR);
2459
84.9k
    if (yych <= 'S') {
2460
21.0k
      if (yych == 'N') goto yy205;
2461
19.0k
      if (yych <= 'R') goto yy48;
2462
725
      goto yy206;
2463
63.9k
    } else {
2464
63.9k
      if (yych <= 'n') {
2465
40.6k
        if (yych <= 'm') goto yy48;
2466
23.3k
        goto yy205;
2467
40.6k
      } else {
2468
23.3k
        if (yych == 's') goto yy206;
2469
7.99k
        goto yy48;
2470
23.3k
      }
2471
63.9k
    }
2472
130k
yy59:
2473
130k
    YYDEBUG(59, *YYCURSOR);
2474
130k
    yyaccept = 4;
2475
130k
    yych = *(YYMARKER = ++YYCURSOR);
2476
130k
    if (yych == 'A') goto yy207;
2477
129k
    if (yych == 'a') goto yy207;
2478
23.8k
    goto yy48;
2479
28.3k
yy60:
2480
28.3k
    YYDEBUG(60, *YYCURSOR);
2481
28.3k
    yyaccept = 4;
2482
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
2483
28.3k
    if (yych == 'H') goto yy208;
2484
27.8k
    if (yych == 'h') goto yy208;
2485
22.4k
    goto yy48;
2486
35.8k
yy61:
2487
35.8k
    YYDEBUG(61, *YYCURSOR);
2488
35.8k
    yyaccept = 4;
2489
35.8k
    yych = *(YYMARKER = ++YYCURSOR);
2490
35.8k
    if (yych == 'O') goto yy209;
2491
35.3k
    if (yych == 'o') goto yy209;
2492
30.2k
    goto yy48;
2493
139k
yy62:
2494
139k
    YYDEBUG(62, *YYCURSOR);
2495
139k
    yyaccept = 4;
2496
139k
    yych = *(YYMARKER = ++YYCURSOR);
2497
139k
    if (yych == 'I') goto yy210;
2498
138k
    if (yych == 'i') goto yy210;
2499
40.0k
    goto yy48;
2500
314k
yy63:
2501
314k
    YYDEBUG(63, *YYCURSOR);
2502
314k
    ++YYCURSOR;
2503
314k
    goto yy21;
2504
231k
yy64:
2505
231k
    YYDEBUG(64, *YYCURSOR);
2506
231k
    yych = *++YYCURSOR;
2507
231k
    if (yych <= '_') {
2508
185k
      if (yych <= '@') goto yy65;
2509
125k
      if (yych <= 'Z') goto yy211;
2510
104k
      if (yych >= '_') goto yy211;
2511
104k
    } else {
2512
45.7k
      if (yych <= '`') goto yy65;
2513
43.4k
      if (yych <= 'z') goto yy211;
2514
16.5k
      if (yych >= 0x80) goto yy211;
2515
16.5k
    }
2516
174k
yy65:
2517
174k
    YYDEBUG(65, *YYCURSOR);
2518
174k
    yyleng = YYCURSOR - SCNG(yy_text);
2519
174k
#line 2450 "Zend/zend_language_scanner.l"
2520
174k
    {
2521
174k
  RETURN_TOKEN(T_NS_SEPARATOR);
2522
174k
}
2523
0
#line 2524 "Zend/zend_language_scanner.c"
2524
82.4k
yy66:
2525
82.4k
    YYDEBUG(66, *YYCURSOR);
2526
82.4k
    yych = *++YYCURSOR;
2527
82.4k
    if (yych == '=') goto yy214;
2528
81.2k
    goto yy9;
2529
225k
yy67:
2530
225k
    YYDEBUG(67, *YYCURSOR);
2531
225k
    yyaccept = 4;
2532
225k
    yych = *(YYMARKER = ++YYCURSOR);
2533
225k
    if (yych == '_') goto yy216;
2534
68.3k
    goto yy48;
2535
70.3k
yy68:
2536
70.3k
    YYDEBUG(68, *YYCURSOR);
2537
70.3k
    ++YYCURSOR;
2538
70.3k
    YYDEBUG(69, *YYCURSOR);
2539
70.3k
    yyleng = YYCURSOR - SCNG(yy_text);
2540
70.3k
#line 2825 "Zend/zend_language_scanner.l"
2541
70.3k
    {
2542
70.3k
  BEGIN(ST_BACKQUOTE);
2543
70.3k
  RETURN_TOKEN('`');
2544
70.3k
}
2545
0
#line 2546 "Zend/zend_language_scanner.c"
2546
1.05M
yy70:
2547
1.05M
    YYDEBUG(70, *YYCURSOR);
2548
1.05M
    ++YYCURSOR;
2549
1.05M
    YYDEBUG(71, *YYCURSOR);
2550
1.05M
    yyleng = YYCURSOR - SCNG(yy_text);
2551
1.05M
#line 1973 "Zend/zend_language_scanner.l"
2552
1.05M
    {
2553
1.05M
  yy_push_state(ST_IN_SCRIPTING);
2554
1.05M
  enter_nesting('{');
2555
1.05M
  RETURN_TOKEN('{');
2556
1.05M
}
2557
0
#line 2558 "Zend/zend_language_scanner.c"
2558
119k
yy72:
2559
119k
    YYDEBUG(72, *YYCURSOR);
2560
119k
    yych = *++YYCURSOR;
2561
119k
    if (yych <= '>') {
2562
41.9k
      if (yych <= '<') goto yy9;
2563
8.98k
      if (yych <= '=') goto yy217;
2564
6.74k
      goto yy219;
2565
77.9k
    } else {
2566
77.9k
      if (yych == '|') goto yy221;
2567
67.3k
      goto yy9;
2568
77.9k
    }
2569
371k
yy73:
2570
371k
    YYDEBUG(73, *YYCURSOR);
2571
371k
    ++YYCURSOR;
2572
371k
    YYDEBUG(74, *YYCURSOR);
2573
371k
    yyleng = YYCURSOR - SCNG(yy_text);
2574
371k
#line 1986 "Zend/zend_language_scanner.l"
2575
371k
    {
2576
371k
  RESET_DOC_COMMENT();
2577
371k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2578
337k
    yy_pop_state();
2579
337k
  }
2580
371k
  RETURN_EXIT_NESTING_TOKEN('}');
2581
371k
}
2582
0
#line 2583 "Zend/zend_language_scanner.c"
2583
11.4k
yy75:
2584
11.4k
    YYDEBUG(75, *YYCURSOR);
2585
11.4k
    yych = *++YYCURSOR;
2586
11.4k
    if (yych == '=') goto yy223;
2587
13.0k
yy76:
2588
13.0k
    YYDEBUG(76, *YYCURSOR);
2589
13.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2590
13.0k
#line 1845 "Zend/zend_language_scanner.l"
2591
13.0k
    {
2592
13.0k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2593
13.0k
}
2594
0
#line 2595 "Zend/zend_language_scanner.c"
2595
19.9k
yy77:
2596
19.9k
    YYDEBUG(77, *YYCURSOR);
2597
19.9k
    ++YYCURSOR;
2598
19.9k
    YYDEBUG(78, *YYCURSOR);
2599
19.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2600
19.9k
#line 1422 "Zend/zend_language_scanner.l"
2601
19.9k
    {
2602
19.9k
  enter_nesting('[');
2603
19.9k
  RETURN_TOKEN(T_ATTRIBUTE);
2604
19.9k
}
2605
0
#line 2606 "Zend/zend_language_scanner.c"
2606
4.36M
yy79:
2607
4.36M
    YYDEBUG(79, *YYCURSOR);
2608
4.36M
    ++YYCURSOR;
2609
4.36M
    YYFILL(1);
2610
4.36M
    yych = *YYCURSOR;
2611
4.36M
    YYDEBUG(80, *YYCURSOR);
2612
4.36M
    if (yych <= '^') {
2613
1.24M
      if (yych <= '9') {
2614
867k
        if (yych >= '0') goto yy79;
2615
867k
      } else {
2616
373k
        if (yych <= '@') goto yy81;
2617
233k
        if (yych <= 'Z') goto yy79;
2618
233k
      }
2619
3.12M
    } else {
2620
3.12M
      if (yych <= '`') {
2621
23.9k
        if (yych <= '_') goto yy79;
2622
3.10M
      } else {
2623
3.10M
        if (yych <= 'z') goto yy79;
2624
881k
        if (yych >= 0x80) goto yy79;
2625
881k
      }
2626
3.12M
    }
2627
1.01M
yy81:
2628
1.01M
    YYDEBUG(81, *YYCURSOR);
2629
1.01M
    yyleng = YYCURSOR - SCNG(yy_text);
2630
1.01M
#line 2416 "Zend/zend_language_scanner.l"
2631
1.01M
    {
2632
1.01M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2633
1.01M
}
2634
0
#line 2635 "Zend/zend_language_scanner.c"
2635
1.60k
yy82:
2636
1.60k
    YYDEBUG(82, *YYCURSOR);
2637
1.60k
    ++YYCURSOR;
2638
1.60k
    YYDEBUG(83, *YYCURSOR);
2639
1.60k
    yyleng = YYCURSOR - SCNG(yy_text);
2640
1.60k
#line 1889 "Zend/zend_language_scanner.l"
2641
1.60k
    {
2642
1.60k
  RETURN_TOKEN(T_MOD_EQUAL);
2643
1.60k
}
2644
0
#line 2645 "Zend/zend_language_scanner.c"
2645
286k
yy84:
2646
286k
    YYDEBUG(84, *YYCURSOR);
2647
286k
    ++YYCURSOR;
2648
286k
    YYFILL(3);
2649
286k
    yych = *YYCURSOR;
2650
373k
yy85:
2651
373k
    YYDEBUG(85, *YYCURSOR);
2652
373k
    if (yych <= ' ') {
2653
89.9k
      if (yych <= '\f') {
2654
61.2k
        if (yych <= 0x08) goto yy86;
2655
58.8k
        if (yych <= '\n') goto yy84;
2656
58.8k
      } else {
2657
28.6k
        if (yych <= '\r') goto yy84;
2658
17.4k
        if (yych >= ' ') goto yy84;
2659
17.4k
      }
2660
283k
    } else {
2661
283k
      if (yych <= '$') {
2662
248k
        if (yych <= '"') goto yy86;
2663
247k
        if (yych <= '#') goto yy87;
2664
27.0k
        goto yy88;
2665
247k
      } else {
2666
34.8k
        if (yych <= '-') goto yy86;
2667
31.0k
        if (yych <= '.') goto yy92;
2668
25.2k
        if (yych <= '/') goto yy93;
2669
25.2k
      }
2670
283k
    }
2671
876k
yy86:
2672
876k
    YYDEBUG(86, *YYCURSOR);
2673
876k
    YYCURSOR = YYMARKER;
2674
876k
    if (yyaccept <= 48) {
2675
697k
      if (yyaccept <= 24) {
2676
680k
        if (yyaccept <= 12) {
2677
667k
          if (yyaccept <= 6) {
2678
397k
            if (yyaccept <= 3) {
2679
344k
              if (yyaccept <= 1) {
2680
306k
                if (yyaccept == 0) {
2681
46.8k
                  goto yy17;
2682
259k
                } else {
2683
259k
                  goto yy21;
2684
259k
                }
2685
306k
              } else {
2686
37.7k
                if (yyaccept == 2) {
2687
19.4k
                  goto yy9;
2688
19.4k
                } else {
2689
18.3k
                  goto yy31;
2690
18.3k
                }
2691
37.7k
              }
2692
344k
            } else {
2693
53.8k
              if (yyaccept <= 5) {
2694
50.6k
                if (yyaccept == 4) {
2695
44.9k
                  goto yy40;
2696
44.9k
                } else {
2697
5.74k
                  goto yy125;
2698
5.74k
                }
2699
50.6k
              } else {
2700
3.21k
                goto yy129;
2701
3.21k
              }
2702
53.8k
            }
2703
397k
          } else {
2704
269k
            if (yyaccept <= 9) {
2705
268k
              if (yyaccept <= 8) {
2706
268k
                if (yyaccept == 7) {
2707
268k
                  goto yy142;
2708
268k
                } else {
2709
206
                  goto yy163;
2710
206
                }
2711
268k
              } else {
2712
216
                goto yy173;
2713
216
              }
2714
268k
            } else {
2715
815
              if (yyaccept <= 11) {
2716
495
                if (yyaccept == 10) {
2717
184
                  goto yy182;
2718
311
                } else {
2719
311
                  goto yy188;
2720
311
                }
2721
495
              } else {
2722
320
                goto yy197;
2723
320
              }
2724
815
            }
2725
269k
          }
2726
667k
        } else {
2727
13.1k
          if (yyaccept <= 18) {
2728
11.3k
            if (yyaccept <= 15) {
2729
8.13k
              if (yyaccept <= 14) {
2730
7.94k
                if (yyaccept == 13) {
2731
7.02k
                  goto yy213;
2732
7.02k
                } else {
2733
920
                  goto yy251;
2734
920
                }
2735
7.94k
              } else {
2736
185
                goto yy257;
2737
185
              }
2738
8.13k
            } else {
2739
3.21k
              if (yyaccept <= 17) {
2740
714
                if (yyaccept == 16) {
2741
415
                  goto yy260;
2742
415
                } else {
2743
299
                  goto yy279;
2744
299
                }
2745
2.49k
              } else {
2746
2.49k
                goto yy283;
2747
2.49k
              }
2748
3.21k
            }
2749
11.3k
          } else {
2750
1.80k
            if (yyaccept <= 21) {
2751
946
              if (yyaccept <= 20) {
2752
743
                if (yyaccept == 19) {
2753
496
                  goto yy295;
2754
496
                } else {
2755
247
                  goto yy306;
2756
247
                }
2757
743
              } else {
2758
203
                goto yy319;
2759
203
              }
2760
946
            } else {
2761
854
              if (yyaccept <= 23) {
2762
620
                if (yyaccept == 22) {
2763
278
                  goto yy331;
2764
342
                } else {
2765
342
                  goto yy334;
2766
342
                }
2767
620
              } else {
2768
234
                goto yy336;
2769
234
              }
2770
854
            }
2771
1.80k
          }
2772
13.1k
        }
2773
680k
      } else {
2774
16.5k
        if (yyaccept <= 36) {
2775
12.8k
          if (yyaccept <= 30) {
2776
10.9k
            if (yyaccept <= 27) {
2777
10.0k
              if (yyaccept <= 26) {
2778
9.85k
                if (yyaccept == 25) {
2779
210
                  goto yy339;
2780
9.64k
                } else {
2781
9.64k
                  goto yy89;
2782
9.64k
                }
2783
9.85k
              } else {
2784
216
                goto yy379;
2785
216
              }
2786
10.0k
            } else {
2787
851
              if (yyaccept <= 29) {
2788
733
                if (yyaccept == 28) {
2789
452
                  goto yy388;
2790
452
                } else {
2791
281
                  goto yy390;
2792
281
                }
2793
733
              } else {
2794
118
                goto yy399;
2795
118
              }
2796
851
            }
2797
10.9k
          } else {
2798
1.90k
            if (yyaccept <= 33) {
2799
927
              if (yyaccept <= 32) {
2800
504
                if (yyaccept == 31) {
2801
267
                  goto yy401;
2802
267
                } else {
2803
237
                  goto yy408;
2804
237
                }
2805
504
              } else {
2806
423
                goto yy415;
2807
423
              }
2808
975
            } else {
2809
975
              if (yyaccept <= 35) {
2810
681
                if (yyaccept == 34) {
2811
171
                  goto yy471;
2812
510
                } else {
2813
510
                  goto yy473;
2814
510
                }
2815
681
              } else {
2816
294
                goto yy476;
2817
294
              }
2818
975
            }
2819
1.90k
          }
2820
12.8k
        } else {
2821
3.71k
          if (yyaccept <= 42) {
2822
2.25k
            if (yyaccept <= 39) {
2823
875
              if (yyaccept <= 38) {
2824
691
                if (yyaccept == 37) {
2825
327
                  goto yy478;
2826
364
                } else {
2827
364
                  goto yy480;
2828
364
                }
2829
691
              } else {
2830
184
                goto yy482;
2831
184
              }
2832
1.38k
            } else {
2833
1.38k
              if (yyaccept <= 41) {
2834
732
                if (yyaccept == 40) {
2835
574
                  goto yy488;
2836
574
                } else {
2837
158
                  goto yy492;
2838
158
                }
2839
732
              } else {
2840
650
                goto yy501;
2841
650
              }
2842
1.38k
            }
2843
2.25k
          } else {
2844
1.45k
            if (yyaccept <= 45) {
2845
975
              if (yyaccept <= 44) {
2846
719
                if (yyaccept == 43) {
2847
443
                  goto yy511;
2848
443
                } else {
2849
276
                  goto yy513;
2850
276
                }
2851
719
              } else {
2852
256
                goto yy516;
2853
256
              }
2854
975
            } else {
2855
484
              if (yyaccept <= 47) {
2856
421
                if (yyaccept == 46) {
2857
208
                  goto yy526;
2858
213
                } else {
2859
213
                  goto yy528;
2860
213
                }
2861
421
              } else {
2862
63
                goto yy530;
2863
63
              }
2864
484
            }
2865
1.45k
          }
2866
3.71k
        }
2867
16.5k
      }
2868
697k
    } else {
2869
179k
      if (yyaccept <= 72) {
2870
152k
        if (yyaccept <= 60) {
2871
148k
          if (yyaccept <= 54) {
2872
145k
            if (yyaccept <= 51) {
2873
56.9k
              if (yyaccept <= 50) {
2874
56.6k
                if (yyaccept == 49) {
2875
181
                  goto yy532;
2876
56.4k
                } else {
2877
56.4k
                  goto yy534;
2878
56.4k
                }
2879
56.6k
              } else {
2880
295
                goto yy576;
2881
295
              }
2882
88.9k
            } else {
2883
88.9k
              if (yyaccept <= 53) {
2884
88.7k
                if (yyaccept == 52) {
2885
222
                  goto yy579;
2886
88.5k
                } else {
2887
88.5k
                  goto yy583;
2888
88.5k
                }
2889
88.7k
              } else {
2890
222
                goto yy597;
2891
222
              }
2892
88.9k
            }
2893
145k
          } else {
2894
2.15k
            if (yyaccept <= 57) {
2895
1.52k
              if (yyaccept <= 56) {
2896
1.30k
                if (yyaccept == 55) {
2897
1.13k
                  goto yy607;
2898
1.13k
                } else {
2899
165
                  goto yy611;
2900
165
                }
2901
1.30k
              } else {
2902
222
                goto yy613;
2903
222
              }
2904
1.52k
            } else {
2905
630
              if (yyaccept <= 59) {
2906
564
                if (yyaccept == 58) {
2907
263
                  goto yy615;
2908
301
                } else {
2909
301
                  goto yy654;
2910
301
                }
2911
564
              } else {
2912
66
                goto yy656;
2913
66
              }
2914
630
            }
2915
2.15k
          }
2916
148k
        } else {
2917
4.71k
          if (yyaccept <= 66) {
2918
3.56k
            if (yyaccept <= 63) {
2919
1.13k
              if (yyaccept <= 62) {
2920
684
                if (yyaccept == 61) {
2921
403
                  goto yy671;
2922
403
                } else {
2923
281
                  goto yy673;
2924
281
                }
2925
684
              } else {
2926
446
                goto yy675;
2927
446
              }
2928
2.43k
            } else {
2929
2.43k
              if (yyaccept <= 65) {
2930
2.24k
                if (yyaccept == 64) {
2931
199
                  goto yy679;
2932
2.05k
                } else {
2933
2.05k
                  goto yy685;
2934
2.05k
                }
2935
2.24k
              } else {
2936
190
                goto yy690;
2937
190
              }
2938
2.43k
            }
2939
3.56k
          } else {
2940
1.14k
            if (yyaccept <= 69) {
2941
564
              if (yyaccept <= 68) {
2942
377
                if (yyaccept == 67) {
2943
233
                  goto yy700;
2944
233
                } else {
2945
144
                  goto yy726;
2946
144
                }
2947
377
              } else {
2948
187
                goto yy728;
2949
187
              }
2950
578
            } else {
2951
578
              if (yyaccept <= 71) {
2952
365
                if (yyaccept == 70) {
2953
194
                  goto yy730;
2954
194
                } else {
2955
171
                  goto yy735;
2956
171
                }
2957
365
              } else {
2958
213
                goto yy743;
2959
213
              }
2960
578
            }
2961
1.14k
          }
2962
4.71k
        }
2963
152k
      } else {
2964
27.0k
        if (yyaccept <= 84) {
2965
6.44k
          if (yyaccept <= 78) {
2966
1.95k
            if (yyaccept <= 75) {
2967
1.23k
              if (yyaccept <= 74) {
2968
995
                if (yyaccept == 73) {
2969
341
                  goto yy754;
2970
654
                } else {
2971
654
                  goto yy764;
2972
654
                }
2973
995
              } else {
2974
239
                goto yy768;
2975
239
              }
2976
1.23k
            } else {
2977
725
              if (yyaccept <= 77) {
2978
509
                if (yyaccept == 76) {
2979
196
                  goto yy784;
2980
313
                } else {
2981
313
                  goto yy797;
2982
313
                }
2983
509
              } else {
2984
216
                goto yy799;
2985
216
              }
2986
725
            }
2987
4.48k
          } else {
2988
4.48k
            if (yyaccept <= 81) {
2989
3.59k
              if (yyaccept <= 80) {
2990
3.40k
                if (yyaccept == 79) {
2991
1.42k
                  goto yy801;
2992
1.98k
                } else {
2993
1.98k
                  goto yy804;
2994
1.98k
                }
2995
3.40k
              } else {
2996
182
                goto yy812;
2997
182
              }
2998
3.59k
            } else {
2999
894
              if (yyaccept <= 83) {
3000
583
                if (yyaccept == 82) {
3001
197
                  goto yy819;
3002
386
                } else {
3003
386
                  goto yy823;
3004
386
                }
3005
583
              } else {
3006
311
                goto yy825;
3007
311
              }
3008
894
            }
3009
4.48k
          }
3010
20.5k
        } else {
3011
20.5k
          if (yyaccept <= 90) {
3012
2.43k
            if (yyaccept <= 87) {
3013
1.02k
              if (yyaccept <= 86) {
3014
552
                if (yyaccept == 85) {
3015
243
                  goto yy836;
3016
309
                } else {
3017
309
                  goto yy839;
3018
309
                }
3019
552
              } else {
3020
470
                goto yy854;
3021
470
              }
3022
1.41k
            } else {
3023
1.41k
              if (yyaccept <= 89) {
3024
1.22k
                if (yyaccept == 88) {
3025
1.01k
                  goto yy869;
3026
1.01k
                } else {
3027
212
                  goto yy898;
3028
212
                }
3029
1.22k
              } else {
3030
192
                goto yy903;
3031
192
              }
3032
1.41k
            }
3033
18.1k
          } else {
3034
18.1k
            if (yyaccept <= 93) {
3035
15.5k
              if (yyaccept <= 92) {
3036
15.3k
                if (yyaccept == 91) {
3037
15.1k
                  goto yy876;
3038
15.1k
                } else {
3039
208
                  goto yy911;
3040
208
                }
3041
15.3k
              } else {
3042
229
                goto yy915;
3043
229
              }
3044
15.5k
            } else {
3045
2.55k
              if (yyaccept <= 95) {
3046
2.15k
                if (yyaccept == 94) {
3047
1.95k
                  goto yy886;
3048
1.95k
                } else {
3049
200
                  goto yy931;
3050
200
                }
3051
2.15k
              } else {
3052
405
                goto yy951;
3053
405
              }
3054
2.55k
            }
3055
18.1k
          }
3056
20.5k
        }
3057
27.0k
      }
3058
179k
    }
3059
220k
yy87:
3060
220k
    YYDEBUG(87, *YYCURSOR);
3061
220k
    ++YYCURSOR;
3062
220k
    YYFILL(1);
3063
220k
    yych = *YYCURSOR;
3064
220k
    if (yych <= '\f') {
3065
59.8k
      if (yych <= 0x00) goto yy86;
3066
56.9k
      if (yych == '\n') goto yy227;
3067
1.08k
      goto yy225;
3068
161k
    } else {
3069
161k
      if (yych <= '\r') goto yy227;
3070
21.4k
      if (yych == '[') goto yy86;
3071
21.3k
      goto yy225;
3072
21.4k
    }
3073
29.9k
yy88:
3074
29.9k
    YYDEBUG(88, *YYCURSOR);
3075
29.9k
    ++YYCURSOR;
3076
40.4k
yy89:
3077
40.4k
    YYDEBUG(89, *YYCURSOR);
3078
40.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3079
40.4k
#line 1949 "Zend/zend_language_scanner.l"
3080
40.4k
    {
3081
40.4k
  yyless(1);
3082
40.4k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3083
40.4k
}
3084
0
#line 3085 "Zend/zend_language_scanner.c"
3085
11.7k
yy90:
3086
11.7k
    YYDEBUG(90, *YYCURSOR);
3087
11.7k
    ++YYCURSOR;
3088
11.7k
    YYDEBUG(91, *YYCURSOR);
3089
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
3090
11.7k
#line 1925 "Zend/zend_language_scanner.l"
3091
11.7k
    {
3092
11.7k
  RETURN_TOKEN(T_BOOLEAN_AND);
3093
11.7k
}
3094
0
#line 3095 "Zend/zend_language_scanner.c"
3095
5.82k
yy92:
3096
5.82k
    YYDEBUG(92, *YYCURSOR);
3097
5.82k
    yych = *++YYCURSOR;
3098
5.82k
    if (yych == '.') goto yy229;
3099
1.57k
    goto yy86;
3100
11.2k
yy93:
3101
11.2k
    YYDEBUG(93, *YYCURSOR);
3102
11.2k
    ++YYCURSOR;
3103
11.2k
    YYFILL(1);
3104
11.2k
    yych = *YYCURSOR;
3105
11.2k
    if (yych == '*') goto yy230;
3106
3.24k
    if (yych == '/') goto yy225;
3107
1.39k
    goto yy86;
3108
14.2k
yy94:
3109
14.2k
    YYDEBUG(94, *YYCURSOR);
3110
14.2k
    ++YYCURSOR;
3111
14.2k
    YYDEBUG(95, *YYCURSOR);
3112
14.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3113
14.2k
#line 1901 "Zend/zend_language_scanner.l"
3114
14.2k
    {
3115
14.2k
  RETURN_TOKEN(T_AND_EQUAL);
3116
14.2k
}
3117
0
#line 3118 "Zend/zend_language_scanner.c"
3118
244k
yy96:
3119
244k
    YYDEBUG(96, *YYCURSOR);
3120
244k
    ++YYCURSOR;
3121
244k
    YYFILL(7);
3122
244k
    yych = *YYCURSOR;
3123
521k
yy97:
3124
521k
    YYDEBUG(97, *YYCURSOR);
3125
521k
    if (yybm[0+yych] & 1) {
3126
244k
      goto yy96;
3127
244k
    }
3128
277k
    switch (yych) {
3129
5.62k
    case 'A':
3130
41.3k
    case 'a': goto yy98;
3131
5.39k
    case 'B':
3132
20.6k
    case 'b': goto yy99;
3133
1.24k
    case 'D':
3134
11.9k
    case 'd': goto yy100;
3135
3.25k
    case 'F':
3136
22.0k
    case 'f': goto yy101;
3137
998
    case 'I':
3138
31.4k
    case 'i': goto yy102;
3139
3.20k
    case 'O':
3140
10.3k
    case 'o': goto yy103;
3141
4.96k
    case 'R':
3142
12.6k
    case 'r': goto yy104;
3143
3.93k
    case 'S':
3144
37.3k
    case 's': goto yy105;
3145
1.00k
    case 'U':
3146
6.98k
    case 'u': goto yy106;
3147
636
    case 'V':
3148
5.02k
    case 'v': goto yy107;
3149
77.4k
    default:  goto yy86;
3150
277k
    }
3151
41.3k
yy98:
3152
41.3k
    YYDEBUG(98, *YYCURSOR);
3153
41.3k
    yych = *++YYCURSOR;
3154
41.3k
    if (yych == 'R') goto yy232;
3155
40.7k
    if (yych == 'r') goto yy232;
3156
27.6k
    goto yy86;
3157
27.6k
yy99:
3158
20.6k
    YYDEBUG(99, *YYCURSOR);
3159
20.6k
    yych = *++YYCURSOR;
3160
20.6k
    if (yych <= 'O') {
3161
6.16k
      if (yych == 'I') goto yy233;
3162
5.69k
      if (yych <= 'N') goto yy86;
3163
346
      goto yy234;
3164
14.4k
    } else {
3165
14.4k
      if (yych <= 'i') {
3166
8.13k
        if (yych <= 'h') goto yy86;
3167
6.65k
        goto yy233;
3168
8.13k
      } else {
3169
6.32k
        if (yych == 'o') goto yy234;
3170
1.06k
        goto yy86;
3171
6.32k
      }
3172
14.4k
    }
3173
11.9k
yy100:
3174
11.9k
    YYDEBUG(100, *YYCURSOR);
3175
11.9k
    yych = *++YYCURSOR;
3176
11.9k
    if (yych == 'O') goto yy235;
3177
11.5k
    if (yych == 'o') goto yy235;
3178
5.70k
    goto yy86;
3179
22.0k
yy101:
3180
22.0k
    YYDEBUG(101, *YYCURSOR);
3181
22.0k
    yych = *++YYCURSOR;
3182
22.0k
    if (yych == 'L') goto yy236;
3183
21.4k
    if (yych == 'l') goto yy236;
3184
18.4k
    goto yy86;
3185
31.4k
yy102:
3186
31.4k
    YYDEBUG(102, *YYCURSOR);
3187
31.4k
    yych = *++YYCURSOR;
3188
31.4k
    if (yych == 'N') goto yy237;
3189
30.5k
    if (yych == 'n') goto yy237;
3190
18.4k
    goto yy86;
3191
18.4k
yy103:
3192
10.3k
    YYDEBUG(103, *YYCURSOR);
3193
10.3k
    yych = *++YYCURSOR;
3194
10.3k
    if (yych == 'B') goto yy238;
3195
10.1k
    if (yych == 'b') goto yy238;
3196
3.77k
    goto yy86;
3197
12.6k
yy104:
3198
12.6k
    YYDEBUG(104, *YYCURSOR);
3199
12.6k
    yych = *++YYCURSOR;
3200
12.6k
    if (yych == 'E') goto yy239;
3201
12.3k
    if (yych == 'e') goto yy239;
3202
9.10k
    goto yy86;
3203
37.3k
yy105:
3204
37.3k
    YYDEBUG(105, *YYCURSOR);
3205
37.3k
    yych = *++YYCURSOR;
3206
37.3k
    if (yych == 'T') goto yy240;
3207
36.2k
    if (yych == 't') goto yy240;
3208
17.9k
    goto yy86;
3209
17.9k
yy106:
3210
6.98k
    YYDEBUG(106, *YYCURSOR);
3211
6.98k
    yych = *++YYCURSOR;
3212
6.98k
    if (yych == 'N') goto yy241;
3213
6.09k
    if (yych == 'n') goto yy241;
3214
2.17k
    goto yy86;
3215
5.02k
yy107:
3216
5.02k
    YYDEBUG(107, *YYCURSOR);
3217
5.02k
    yych = *++YYCURSOR;
3218
5.02k
    if (yych == 'O') goto yy242;
3219
4.33k
    if (yych == 'o') goto yy242;
3220
3.07k
    goto yy86;
3221
27.6k
yy108:
3222
27.6k
    YYDEBUG(108, *YYCURSOR);
3223
27.6k
    yych = *++YYCURSOR;
3224
27.6k
    if (yych == '=') goto yy243;
3225
23.9k
    YYDEBUG(109, *YYCURSOR);
3226
23.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3227
23.9k
#line 1873 "Zend/zend_language_scanner.l"
3228
23.9k
    {
3229
23.9k
  RETURN_TOKEN(T_POW);
3230
23.9k
}
3231
0
#line 3232 "Zend/zend_language_scanner.c"
3232
5.79k
yy110:
3233
5.79k
    YYDEBUG(110, *YYCURSOR);
3234
5.79k
    ++YYCURSOR;
3235
5.79k
    YYDEBUG(111, *YYCURSOR);
3236
5.79k
    yyleng = YYCURSOR - SCNG(yy_text);
3237
5.79k
#line 1869 "Zend/zend_language_scanner.l"
3238
5.79k
    {
3239
5.79k
  RETURN_TOKEN(T_MUL_EQUAL);
3240
5.79k
}
3241
0
#line 3242 "Zend/zend_language_scanner.c"
3242
61.0k
yy112:
3243
61.0k
    YYDEBUG(112, *YYCURSOR);
3244
61.0k
    ++YYCURSOR;
3245
61.0k
    YYDEBUG(113, *YYCURSOR);
3246
61.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3247
61.0k
#line 1825 "Zend/zend_language_scanner.l"
3248
61.0k
    {
3249
61.0k
  RETURN_TOKEN(T_INC);
3250
61.0k
}
3251
0
#line 3252 "Zend/zend_language_scanner.c"
3252
4.64k
yy114:
3253
4.64k
    YYDEBUG(114, *YYCURSOR);
3254
4.64k
    ++YYCURSOR;
3255
4.64k
    YYDEBUG(115, *YYCURSOR);
3256
4.64k
    yyleng = YYCURSOR - SCNG(yy_text);
3257
4.64k
#line 1861 "Zend/zend_language_scanner.l"
3258
4.64k
    {
3259
4.64k
  RETURN_TOKEN(T_PLUS_EQUAL);
3260
4.64k
}
3261
0
#line 3262 "Zend/zend_language_scanner.c"
3262
11.5k
yy116:
3263
11.5k
    YYDEBUG(116, *YYCURSOR);
3264
11.5k
    ++YYCURSOR;
3265
11.5k
    YYDEBUG(117, *YYCURSOR);
3266
11.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3267
11.5k
#line 1829 "Zend/zend_language_scanner.l"
3268
11.5k
    {
3269
11.5k
  RETURN_TOKEN(T_DEC);
3270
11.5k
}
3271
0
#line 3272 "Zend/zend_language_scanner.c"
3272
2.62k
yy118:
3273
2.62k
    YYDEBUG(118, *YYCURSOR);
3274
2.62k
    ++YYCURSOR;
3275
2.62k
    YYDEBUG(119, *YYCURSOR);
3276
2.62k
    yyleng = YYCURSOR - SCNG(yy_text);
3277
2.62k
#line 1865 "Zend/zend_language_scanner.l"
3278
2.62k
    {
3279
2.62k
  RETURN_TOKEN(T_MINUS_EQUAL);
3280
2.62k
}
3281
0
#line 3282 "Zend/zend_language_scanner.c"
3282
129k
yy120:
3283
129k
    YYDEBUG(120, *YYCURSOR);
3284
129k
    ++YYCURSOR;
3285
129k
    YYDEBUG(121, *YYCURSOR);
3286
129k
    yyleng = YYCURSOR - SCNG(yy_text);
3287
129k
#line 1586 "Zend/zend_language_scanner.l"
3288
129k
    {
3289
129k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3290
129k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3291
129k
}
3292
0
#line 3293 "Zend/zend_language_scanner.c"
3293
77.3k
yy122:
3294
77.3k
    YYDEBUG(122, *YYCURSOR);
3295
77.3k
    yych = *++YYCURSOR;
3296
77.3k
    if (yych == '.') goto yy245;
3297
14.1k
    goto yy86;
3298
456k
yy123:
3299
456k
    YYDEBUG(123, *YYCURSOR);
3300
456k
    yyaccept = 5;
3301
456k
    YYMARKER = ++YYCURSOR;
3302
456k
    YYFILL(2);
3303
456k
    yych = *YYCURSOR;
3304
508k
yy124:
3305
508k
    YYDEBUG(124, *YYCURSOR);
3306
508k
    if (yych <= 'E') {
3307
480k
      if (yych <= '/') goto yy125;
3308
442k
      if (yych <= '9') goto yy123;
3309
21.9k
      if (yych >= 'E') goto yy135;
3310
28.1k
    } else {
3311
28.1k
      if (yych <= '_') {
3312
4.81k
        if (yych >= '_') goto yy247;
3313
23.3k
      } else {
3314
23.3k
        if (yych == 'e') goto yy135;
3315
23.3k
      }
3316
28.1k
    }
3317
116k
yy125:
3318
116k
    YYDEBUG(125, *YYCURSOR);
3319
116k
    yyleng = YYCURSOR - SCNG(yy_text);
3320
116k
#line 2232 "Zend/zend_language_scanner.l"
3321
116k
    {
3322
116k
  const char *end;
3323
116k
  size_t len = yyleng;
3324
116k
  char *dnum = yytext;
3325
116k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3326
3327
116k
  if (contains_underscores) {
3328
2.31k
    dnum = estrndup(dnum, len);
3329
2.31k
    strip_underscores(dnum, &len);
3330
2.31k
  }
3331
3332
116k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3333
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3334
116k
  ZEND_ASSERT(end == dnum + len);
3335
116k
  if (contains_underscores) {
3336
2.31k
    efree(dnum);
3337
2.31k
  }
3338
116k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3339
116k
}
3340
0
#line 3341 "Zend/zend_language_scanner.c"
3341
87.3k
yy126:
3342
87.3k
    YYDEBUG(126, *YYCURSOR);
3343
87.3k
    ++YYCURSOR;
3344
87.3k
    YYDEBUG(127, *YYCURSOR);
3345
87.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3346
87.3k
#line 1885 "Zend/zend_language_scanner.l"
3347
87.3k
    {
3348
87.3k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3349
87.3k
}
3350
0
#line 3351 "Zend/zend_language_scanner.c"
3351
106k
yy128:
3352
106k
    YYDEBUG(128, *YYCURSOR);
3353
106k
    yyaccept = 6;
3354
106k
    yych = *(YYMARKER = ++YYCURSOR);
3355
106k
    if (yych == '*') goto yy248;
3356
106k
yy129:
3357
106k
    YYDEBUG(129, *YYCURSOR);
3358
106k
    yyleng = YYCURSOR - SCNG(yy_text);
3359
106k
#line 2483 "Zend/zend_language_scanner.l"
3360
106k
    {
3361
106k
  int doc_com;
3362
3363
106k
  if (yyleng > 2) {
3364
8.32k
    doc_com = 1;
3365
8.32k
    RESET_DOC_COMMENT();
3366
98.0k
  } else {
3367
98.0k
    doc_com = 0;
3368
98.0k
  }
3369
3370
6.40M
  while (YYCURSOR < YYLIMIT) {
3371
6.38M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3372
83.0k
      break;
3373
83.0k
    }
3374
6.38M
  }
3375
3376
106k
  if (YYCURSOR < YYLIMIT) {
3377
83.0k
    YYCURSOR++;
3378
83.0k
  } else {
3379
23.3k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3380
23.3k
    if (PARSER_MODE()) {
3381
879
      RETURN_TOKEN(T_ERROR);
3382
879
    }
3383
23.3k
  }
3384
3385
105k
  yyleng = YYCURSOR - SCNG(yy_text);
3386
105k
  HANDLE_NEWLINES(yytext, yyleng);
3387
3388
105k
  if (doc_com) {
3389
8.26k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3390
8.26k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3391
8.26k
  }
3392
3393
97.2k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3394
97.2k
}
3395
0
#line 3396 "Zend/zend_language_scanner.c"
3396
75.2k
yy130:
3397
75.2k
    YYDEBUG(130, *YYCURSOR);
3398
75.2k
    ++YYCURSOR;
3399
75.2k
    goto yy13;
3400
3.78k
yy131:
3401
3.78k
    YYDEBUG(131, *YYCURSOR);
3402
3.78k
    ++YYCURSOR;
3403
3.78k
    YYDEBUG(132, *YYCURSOR);
3404
3.78k
    yyleng = YYCURSOR - SCNG(yy_text);
3405
3.78k
#line 1881 "Zend/zend_language_scanner.l"
3406
3.78k
    {
3407
3.78k
  RETURN_TOKEN(T_DIV_EQUAL);
3408
3.78k
}
3409
0
#line 3410 "Zend/zend_language_scanner.c"
3410
52.4k
yy133:
3411
52.4k
    YYDEBUG(133, *YYCURSOR);
3412
52.4k
    yyaccept = 5;
3413
52.4k
    yych = *(YYMARKER = ++YYCURSOR);
3414
52.4k
    if (yych == '_') goto yy125;
3415
51.9k
    goto yy124;
3416
51.9k
yy134:
3417
7.82k
    YYDEBUG(134, *YYCURSOR);
3418
7.82k
    ++YYCURSOR;
3419
7.82k
    YYFILL(1);
3420
7.82k
    yych = *YYCURSOR;
3421
7.82k
    if (yybm[0+yych] & 8) {
3422
5.70k
      goto yy249;
3423
5.70k
    }
3424
2.12k
    goto yy86;
3425
48.8k
yy135:
3426
48.8k
    YYDEBUG(135, *YYCURSOR);
3427
48.8k
    yych = *++YYCURSOR;
3428
48.8k
    if (yych <= ',') {
3429
3.82k
      if (yych == '+') goto yy252;
3430
2.45k
      goto yy86;
3431
45.0k
    } else {
3432
45.0k
      if (yych <= '-') goto yy252;
3433
29.4k
      if (yych <= '/') goto yy86;
3434
28.8k
      if (yych <= '9') goto yy253;
3435
6.92k
      goto yy86;
3436
28.8k
    }
3437
4.30k
yy136:
3438
4.30k
    YYDEBUG(136, *YYCURSOR);
3439
4.30k
    ++YYCURSOR;
3440
4.30k
    YYFILL(1);
3441
4.30k
    yych = *YYCURSOR;
3442
4.30k
    if (yybm[0+yych] & 16) {
3443
3.26k
      goto yy255;
3444
3.26k
    }
3445
1.04k
    goto yy86;
3446
12.4k
yy137:
3447
12.4k
    YYDEBUG(137, *YYCURSOR);
3448
12.4k
    ++YYCURSOR;
3449
12.4k
    YYFILL(1);
3450
12.4k
    yych = *YYCURSOR;
3451
12.4k
    if (yybm[0+yych] & 32) {
3452
11.4k
      goto yy258;
3453
11.4k
    }
3454
1.03k
    goto yy86;
3455
11.4k
yy138:
3456
11.4k
    YYDEBUG(138, *YYCURSOR);
3457
11.4k
    ++YYCURSOR;
3458
11.4k
    YYFILL(1);
3459
11.4k
    yych = *YYCURSOR;
3460
11.4k
    if (yybm[256+yych] & 64) {
3461
4.47k
      goto yy32;
3462
4.47k
    }
3463
6.95k
    goto yy86;
3464
116k
yy139:
3465
116k
    YYDEBUG(139, *YYCURSOR);
3466
116k
    ++YYCURSOR;
3467
116k
    YYDEBUG(140, *YYCURSOR);
3468
116k
    yyleng = YYCURSOR - SCNG(yy_text);
3469
116k
#line 1613 "Zend/zend_language_scanner.l"
3470
116k
    {
3471
116k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3472
116k
}
3473
0
#line 3474 "Zend/zend_language_scanner.c"
3474
4.02M
yy141:
3475
4.02M
    YYDEBUG(141, *YYCURSOR);
3476
4.02M
    yyaccept = 7;
3477
4.02M
    yych = *(YYMARKER = ++YYCURSOR);
3478
4.02M
    if (yych <= ';') goto yy142;
3479
3.94M
    if (yych <= '<') goto yy261;
3480
215k
    if (yych <= '=') goto yy263;
3481
564k
yy142:
3482
564k
    YYDEBUG(142, *YYCURSOR);
3483
564k
    yyleng = YYCURSOR - SCNG(yy_text);
3484
564k
#line 1941 "Zend/zend_language_scanner.l"
3485
564k
    {
3486
564k
  RETURN_TOKEN(T_SL);
3487
564k
}
3488
0
#line 3489 "Zend/zend_language_scanner.c"
3489
17.8k
yy143:
3490
17.8k
    YYDEBUG(143, *YYCURSOR);
3491
17.8k
    yych = *++YYCURSOR;
3492
17.8k
    if (yych == '>') goto yy265;
3493
16.4k
    YYDEBUG(144, *YYCURSOR);
3494
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3495
16.4k
#line 1853 "Zend/zend_language_scanner.l"
3496
16.4k
    {
3497
16.4k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3498
16.4k
}
3499
0
#line 3500 "Zend/zend_language_scanner.c"
3500
5.56k
yy145:
3501
5.56k
    YYDEBUG(145, *YYCURSOR);
3502
5.56k
    ++YYCURSOR;
3503
5.56k
    goto yy76;
3504
32.2k
yy146:
3505
32.2k
    YYDEBUG(146, *YYCURSOR);
3506
32.2k
    yych = *++YYCURSOR;
3507
32.2k
    if (yych == '=') goto yy267;
3508
21.9k
    YYDEBUG(147, *YYCURSOR);
3509
21.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3510
21.9k
#line 1841 "Zend/zend_language_scanner.l"
3511
21.9k
    {
3512
21.9k
  RETURN_TOKEN(T_IS_EQUAL);
3513
21.9k
}
3514
0
#line 3515 "Zend/zend_language_scanner.c"
3515
53.6k
yy148:
3516
53.6k
    YYDEBUG(148, *YYCURSOR);
3517
53.6k
    ++YYCURSOR;
3518
53.6k
    YYDEBUG(149, *YYCURSOR);
3519
53.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3520
53.6k
#line 1809 "Zend/zend_language_scanner.l"
3521
53.6k
    {
3522
53.6k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3523
53.6k
}
3524
0
#line 3525 "Zend/zend_language_scanner.c"
3525
3.99k
yy150:
3526
3.99k
    YYDEBUG(150, *YYCURSOR);
3527
3.99k
    ++YYCURSOR;
3528
3.99k
    YYDEBUG(151, *YYCURSOR);
3529
3.99k
    yyleng = YYCURSOR - SCNG(yy_text);
3530
3.99k
#line 1857 "Zend/zend_language_scanner.l"
3531
3.99k
    {
3532
3.99k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3533
3.99k
}
3534
0
#line 3535 "Zend/zend_language_scanner.c"
3535
13.3k
yy152:
3536
13.3k
    YYDEBUG(152, *YYCURSOR);
3537
13.3k
    yych = *++YYCURSOR;
3538
13.3k
    if (yych == '=') goto yy269;
3539
12.4k
    YYDEBUG(153, *YYCURSOR);
3540
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3541
12.4k
#line 1945 "Zend/zend_language_scanner.l"
3542
12.4k
    {
3543
12.4k
  RETURN_TOKEN(T_SR);
3544
12.4k
}
3545
0
#line 3546 "Zend/zend_language_scanner.c"
3546
43.0k
yy154:
3547
43.0k
    YYDEBUG(154, *YYCURSOR);
3548
43.0k
    yych = *++YYCURSOR;
3549
43.0k
    if (yych == '>') goto yy271;
3550
5.27k
    goto yy86;
3551
144k
yy155:
3552
144k
    YYDEBUG(155, *YYCURSOR);
3553
144k
    yych = *++YYCURSOR;
3554
144k
    if (yych == '\n') goto yy273;
3555
134k
    if (yych == '\r') goto yy274;
3556
144k
yy156:
3557
144k
    YYDEBUG(156, *YYCURSOR);
3558
144k
    yyleng = YYCURSOR - SCNG(yy_text);
3559
144k
#line 2525 "Zend/zend_language_scanner.l"
3560
144k
    {
3561
144k
  BEGIN(INITIAL);
3562
144k
  if (yytext[yyleng-1] != '>') {
3563
11.4k
    CG(increment_lineno) = 1;
3564
11.4k
  }
3565
144k
  if (PARSER_MODE()) {
3566
120k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3567
120k
  }
3568
24.5k
  RETURN_TOKEN(T_CLOSE_TAG);
3569
24.5k
}
3570
0
#line 3571 "Zend/zend_language_scanner.c"
3571
52.0k
yy157:
3572
52.0k
    YYDEBUG(157, *YYCURSOR);
3573
52.0k
    yych = *++YYCURSOR;
3574
52.0k
    if (yych == '=') goto yy275;
3575
41.0k
    YYDEBUG(158, *YYCURSOR);
3576
41.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3577
41.0k
#line 1621 "Zend/zend_language_scanner.l"
3578
41.0k
    {
3579
41.0k
  RETURN_TOKEN(T_COALESCE);
3580
41.0k
}
3581
0
#line 3582 "Zend/zend_language_scanner.c"
3582
13.5k
yy159:
3583
13.5k
    YYDEBUG(159, *YYCURSOR);
3584
13.5k
    yyaccept = 4;
3585
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
3586
13.5k
    if (yych == 'S') goto yy277;
3587
11.7k
    if (yych == 's') goto yy277;
3588
4.16k
    goto yy48;
3589
9.29k
yy160:
3590
9.29k
    YYDEBUG(160, *YYCURSOR);
3591
9.29k
    yyaccept = 4;
3592
9.29k
    yych = *(YYMARKER = ++YYCURSOR);
3593
9.29k
    if (yych == 'D') goto yy278;
3594
8.00k
    if (yych == 'd') goto yy278;
3595
3.24k
    goto yy48;
3596
39.8k
yy161:
3597
39.8k
    YYDEBUG(161, *YYCURSOR);
3598
39.8k
    yyaccept = 4;
3599
39.8k
    yych = *(YYMARKER = ++YYCURSOR);
3600
39.8k
    if (yych == 'R') goto yy280;
3601
38.6k
    if (yych == 'r') goto yy280;
3602
8.10k
    goto yy48;
3603
58.0k
yy162:
3604
58.0k
    YYDEBUG(162, *YYCURSOR);
3605
58.0k
    yyaccept = 8;
3606
58.0k
    yych = *(YYMARKER = ++YYCURSOR);
3607
58.0k
    if (yybm[256+yych] & 128) {
3608
31.9k
      goto yy47;
3609
31.9k
    }
3610
26.0k
    if (yych == '\\') goto yy164;
3611
26.0k
yy163:
3612
26.0k
    YYDEBUG(163, *YYCURSOR);
3613
26.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
26.0k
#line 1509 "Zend/zend_language_scanner.l"
3615
26.0k
    {
3616
26.0k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3617
26.0k
}
3618
0
#line 3619 "Zend/zend_language_scanner.c"
3619
86.3k
yy164:
3620
86.3k
    YYDEBUG(164, *YYCURSOR);
3621
86.3k
    ++YYCURSOR;
3622
86.3k
    YYFILL(1);
3623
86.3k
    yych = *YYCURSOR;
3624
86.3k
    if (yych <= '_') {
3625
58.3k
      if (yych <= '@') goto yy86;
3626
28.9k
      if (yych <= 'Z') goto yy281;
3627
15.4k
      if (yych <= '^') goto yy86;
3628
2.07k
      goto yy281;
3629
28.0k
    } else {
3630
28.0k
      if (yych <= '`') goto yy86;
3631
27.1k
      if (yych <= 'z') goto yy281;
3632
14.7k
      if (yych <= 0x7F) goto yy86;
3633
9.03k
      goto yy281;
3634
14.7k
    }
3635
5.90k
yy165:
3636
5.90k
    YYDEBUG(165, *YYCURSOR);
3637
5.90k
    yych = *++YYCURSOR;
3638
5.90k
    if (yych == '<') goto yy284;
3639
1.63k
    goto yy86;
3640
7.36k
yy166:
3641
7.36k
    YYDEBUG(166, *YYCURSOR);
3642
7.36k
    yyaccept = 4;
3643
7.36k
    yych = *(YYMARKER = ++YYCURSOR);
3644
7.36k
    if (yych == 'E') goto yy285;
3645
5.58k
    if (yych == 'e') goto yy285;
3646
1.90k
    goto yy48;
3647
74.8k
yy167:
3648
74.8k
    YYDEBUG(167, *YYCURSOR);
3649
74.8k
    yyaccept = 4;
3650
74.8k
    yych = *(YYMARKER = ++YYCURSOR);
3651
74.8k
    if (yych <= 'T') {
3652
4.88k
      if (yych <= 'L') {
3653
3.52k
        if (yych <= 'K') goto yy48;
3654
1.50k
        goto yy286;
3655
3.52k
      } else {
3656
1.35k
        if (yych <= 'R') goto yy48;
3657
1.03k
        if (yych <= 'S') goto yy287;
3658
770
        goto yy288;
3659
1.03k
      }
3660
69.9k
    } else {
3661
69.9k
      if (yych <= 'r') {
3662
17.6k
        if (yych == 'l') goto yy286;
3663
2.59k
        goto yy48;
3664
52.3k
      } else {
3665
52.3k
        if (yych <= 's') goto yy287;
3666
39.8k
        if (yych <= 't') goto yy288;
3667
601
        goto yy48;
3668
39.8k
      }
3669
69.9k
    }
3670
98.3k
yy168:
3671
98.3k
    YYDEBUG(168, *YYCURSOR);
3672
98.3k
    yyaccept = 4;
3673
98.3k
    yych = *(YYMARKER = ++YYCURSOR);
3674
98.3k
    if (yych <= 'O') {
3675
5.32k
      if (yych == 'A') goto yy289;
3676
3.67k
      if (yych <= 'N') goto yy48;
3677
439
      goto yy290;
3678
93.0k
    } else {
3679
93.0k
      if (yych <= 'a') {
3680
82.0k
        if (yych <= '`') goto yy48;
3681
81.5k
        goto yy289;
3682
82.0k
      } else {
3683
11.0k
        if (yych == 'o') goto yy290;
3684
2.74k
        goto yy48;
3685
11.0k
      }
3686
93.0k
    }
3687
76.5k
yy169:
3688
76.5k
    YYDEBUG(169, *YYCURSOR);
3689
76.5k
    yyaccept = 4;
3690
76.5k
    yych = *(YYMARKER = ++YYCURSOR);
3691
76.5k
    if (yych == 'N') goto yy291;
3692
70.2k
    if (yych == 'n') goto yy291;
3693
10.4k
    goto yy48;
3694
28.6k
yy170:
3695
28.6k
    YYDEBUG(170, *YYCURSOR);
3696
28.6k
    yyaccept = 4;
3697
28.6k
    yych = *(YYMARKER = ++YYCURSOR);
3698
28.6k
    if (yych <= 'F') {
3699
2.72k
      if (yych == 'C') goto yy292;
3700
1.47k
      if (yych <= 'E') goto yy48;
3701
749
      goto yy293;
3702
25.8k
    } else {
3703
25.8k
      if (yych <= 'c') {
3704
12.2k
        if (yych <= 'b') goto yy48;
3705
10.0k
        goto yy292;
3706
13.6k
      } else {
3707
13.6k
        if (yych == 'f') goto yy293;
3708
4.40k
        goto yy48;
3709
13.6k
      }
3710
25.8k
    }
3711
8.35k
yy171:
3712
8.35k
    YYDEBUG(171, *YYCURSOR);
3713
8.35k
    yyaccept = 4;
3714
8.35k
    yych = *(YYMARKER = ++YYCURSOR);
3715
8.35k
    if (yych == 'E') goto yy294;
3716
8.08k
    if (yych == 'e') goto yy294;
3717
2.59k
    goto yy48;
3718
17.9k
yy172:
3719
17.9k
    YYDEBUG(172, *YYCURSOR);
3720
17.9k
    yyaccept = 9;
3721
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
3722
17.9k
    if (yybm[256+yych] & 128) {
3723
14.9k
      goto yy47;
3724
14.9k
    }
3725
2.93k
    if (yych == '\\') goto yy164;
3726
2.81k
yy173:
3727
2.81k
    YYDEBUG(173, *YYCURSOR);
3728
2.81k
    yyleng = YYCURSOR - SCNG(yy_text);
3729
2.81k
#line 1477 "Zend/zend_language_scanner.l"
3730
2.81k
    {
3731
2.81k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3732
2.81k
}
3733
0
#line 3734 "Zend/zend_language_scanner.c"
3734
85.5k
yy174:
3735
85.5k
    YYDEBUG(174, *YYCURSOR);
3736
85.5k
    yyaccept = 4;
3737
85.5k
    yych = *(YYMARKER = ++YYCURSOR);
3738
85.5k
    if (yych == 'H') goto yy296;
3739
84.6k
    if (yych == 'h') goto yy296;
3740
4.37k
    goto yy48;
3741
22.9k
yy175:
3742
22.9k
    YYDEBUG(175, *YYCURSOR);
3743
22.9k
    yyaccept = 4;
3744
22.9k
    yych = *(YYMARKER = ++YYCURSOR);
3745
22.9k
    if (yych == 'S') goto yy297;
3746
22.2k
    if (yych == 's') goto yy297;
3747
5.59k
    goto yy48;
3748
14.1k
yy176:
3749
14.1k
    YYDEBUG(176, *YYCURSOR);
3750
14.1k
    yyaccept = 4;
3751
14.1k
    yych = *(YYMARKER = ++YYCURSOR);
3752
14.1k
    if (yych == 'P') goto yy298;
3753
9.98k
    if (yych == 'p') goto yy298;
3754
6.07k
    goto yy48;
3755
241k
yy177:
3756
241k
    YYDEBUG(177, *YYCURSOR);
3757
241k
    yyaccept = 4;
3758
241k
    yych = *(YYMARKER = ++YYCURSOR);
3759
241k
    if (yych <= 'U') {
3760
29.7k
      if (yych == 'D') goto yy299;
3761
12.8k
      if (yych <= 'T') goto yy48;
3762
2.76k
      goto yy300;
3763
212k
    } else {
3764
212k
      if (yych <= 'd') {
3765
33.6k
        if (yych <= 'c') goto yy48;
3766
31.8k
        goto yy299;
3767
178k
      } else {
3768
178k
        if (yych == 'u') goto yy300;
3769
8.79k
        goto yy48;
3770
178k
      }
3771
212k
    }
3772
7.90k
yy178:
3773
7.90k
    YYDEBUG(178, *YYCURSOR);
3774
7.90k
    yyaccept = 4;
3775
7.90k
    yych = *(YYMARKER = ++YYCURSOR);
3776
7.90k
    if (yych == 'A') goto yy301;
3777
7.64k
    if (yych == 'a') goto yy301;
3778
1.52k
    goto yy48;
3779
71.1k
yy179:
3780
71.1k
    YYDEBUG(179, *YYCURSOR);
3781
71.1k
    yyaccept = 4;
3782
71.1k
    yych = *(YYMARKER = ++YYCURSOR);
3783
71.1k
    if (yych <= 'T') {
3784
7.67k
      if (yych == 'I') goto yy302;
3785
7.18k
      if (yych <= 'S') goto yy48;
3786
2.16k
      goto yy303;
3787
63.4k
    } else {
3788
63.4k
      if (yych <= 'i') {
3789
30.6k
        if (yych <= 'h') goto yy48;
3790
2.89k
        goto yy302;
3791
32.7k
      } else {
3792
32.7k
        if (yych == 't') goto yy303;
3793
9.77k
        goto yy48;
3794
32.7k
      }
3795
63.4k
    }
3796
23.1k
yy180:
3797
23.1k
    YYDEBUG(180, *YYCURSOR);
3798
23.1k
    yyaccept = 4;
3799
23.1k
    yych = *(YYMARKER = ++YYCURSOR);
3800
23.1k
    if (yych == 'N') goto yy304;
3801
21.2k
    if (yych == 'n') goto yy304;
3802
5.07k
    goto yy48;
3803
21.2k
yy181:
3804
21.2k
    YYDEBUG(181, *YYCURSOR);
3805
21.2k
    yyaccept = 10;
3806
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
3807
21.2k
    if (yybm[256+yych] & 128) {
3808
2.12k
      goto yy47;
3809
2.12k
    }
3810
19.1k
    if (yych == '\\') goto yy164;
3811
19.0k
yy182:
3812
19.0k
    YYDEBUG(182, *YYCURSOR);
3813
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3814
19.0k
#line 1406 "Zend/zend_language_scanner.l"
3815
19.0k
    {
3816
19.0k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3817
19.0k
}
3818
0
#line 3819 "Zend/zend_language_scanner.c"
3819
122k
yy183:
3820
122k
    YYDEBUG(183, *YYCURSOR);
3821
122k
    yyaccept = 4;
3822
122k
    yych = *(YYMARKER = ++YYCURSOR);
3823
122k
    if (yych == 'R') goto yy305;
3824
120k
    if (yych == 'r') goto yy305;
3825
57.7k
    goto yy48;
3826
117k
yy184:
3827
117k
    YYDEBUG(184, *YYCURSOR);
3828
117k
    yyaccept = 4;
3829
117k
    yych = *(YYMARKER = ++YYCURSOR);
3830
117k
    if (yych == 'N') goto yy307;
3831
115k
    if (yych == 'n') goto yy307;
3832
3.80k
    goto yy48;
3833
11.4k
yy185:
3834
11.4k
    YYDEBUG(185, *YYCURSOR);
3835
11.4k
    yyaccept = 4;
3836
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
3837
11.4k
    if (yych == 'O') goto yy308;
3838
6.75k
    if (yych == 'o') goto yy308;
3839
1.15k
    goto yy48;
3840
7.24k
yy186:
3841
7.24k
    YYDEBUG(186, *YYCURSOR);
3842
7.24k
    yyaccept = 4;
3843
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
3844
7.24k
    if (yych == 'T') goto yy309;
3845
6.02k
    if (yych == 't') goto yy309;
3846
1.38k
    goto yy48;
3847
26.3k
yy187:
3848
26.3k
    YYDEBUG(187, *YYCURSOR);
3849
26.3k
    yyaccept = 11;
3850
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
3851
26.3k
    if (yybm[256+yych] & 128) {
3852
1.13k
      goto yy47;
3853
1.13k
    }
3854
25.1k
    if (yych == '\\') goto yy164;
3855
25.1k
yy188:
3856
25.1k
    YYDEBUG(188, *YYCURSOR);
3857
25.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3858
25.1k
#line 1453 "Zend/zend_language_scanner.l"
3859
25.1k
    {
3860
25.1k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3861
25.1k
}
3862
0
#line 3863 "Zend/zend_language_scanner.c"
3863
37.1k
yy189:
3864
37.1k
    YYDEBUG(189, *YYCURSOR);
3865
37.1k
    yyaccept = 4;
3866
37.1k
    yych = *(YYMARKER = ++YYCURSOR);
3867
37.1k
    if (yych == 'P') goto yy310;
3868
33.9k
    if (yych == 'p') goto yy310;
3869
8.64k
    goto yy48;
3870
115k
yy190:
3871
115k
    YYDEBUG(190, *YYCURSOR);
3872
115k
    yyaccept = 4;
3873
115k
    yych = *(YYMARKER = ++YYCURSOR);
3874
115k
    if (yych <= 'T') {
3875
26.7k
      if (yych <= 'C') {
3876
12.5k
        if (yych <= 'B') goto yy48;
3877
2.01k
        goto yy311;
3878
14.2k
      } else {
3879
14.2k
        if (yych <= 'R') goto yy48;
3880
3.57k
        if (yych <= 'S') goto yy312;
3881
1.71k
        goto yy313;
3882
3.57k
      }
3883
88.3k
    } else {
3884
88.3k
      if (yych <= 'r') {
3885
39.6k
        if (yych == 'c') goto yy311;
3886
27.6k
        goto yy48;
3887
48.6k
      } else {
3888
48.6k
        if (yych <= 's') goto yy312;
3889
33.7k
        if (yych <= 't') goto yy313;
3890
5.82k
        goto yy48;
3891
33.7k
      }
3892
88.3k
    }
3893
29.3k
yy191:
3894
29.3k
    YYDEBUG(191, *YYCURSOR);
3895
29.3k
    yyaccept = 4;
3896
29.3k
    yych = *(YYMARKER = ++YYCURSOR);
3897
29.3k
    if (yych == 'S') goto yy314;
3898
28.9k
    if (yych == 's') goto yy314;
3899
12.2k
    goto yy48;
3900
12.2k
yy192:
3901
10.2k
    YYDEBUG(192, *YYCURSOR);
3902
10.2k
    yyaccept = 4;
3903
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
3904
10.2k
    if (yych == 'S') goto yy315;
3905
9.63k
    if (yych == 's') goto yy315;
3906
4.85k
    goto yy48;
3907
10.2k
yy193:
3908
10.2k
    YYDEBUG(193, *YYCURSOR);
3909
10.2k
    yyaccept = 4;
3910
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
3911
10.2k
    if (yych == 'T') goto yy316;
3912
9.92k
    if (yych == 't') goto yy316;
3913
4.20k
    goto yy48;
3914
30.9k
yy194:
3915
30.9k
    YYDEBUG(194, *YYCURSOR);
3916
30.9k
    yyaccept = 4;
3917
30.9k
    yych = *(YYMARKER = ++YYCURSOR);
3918
30.9k
    if (yych == 'M') goto yy317;
3919
29.0k
    if (yych == 'm') goto yy317;
3920
2.63k
    goto yy48;
3921
97.8k
yy195:
3922
97.8k
    YYDEBUG(195, *YYCURSOR);
3923
97.8k
    yyaccept = 4;
3924
97.8k
    yych = *(YYMARKER = ++YYCURSOR);
3925
97.8k
    if (yych == 'W') goto yy318;
3926
97.0k
    if (yych == 'w') goto yy318;
3927
11.2k
    goto yy48;
3928
11.2k
yy196:
3929
7.94k
    YYDEBUG(196, *YYCURSOR);
3930
7.94k
    yyaccept = 12;
3931
7.94k
    yych = *(YYMARKER = ++YYCURSOR);
3932
7.94k
    if (yybm[256+yych] & 128) {
3933
2.90k
      goto yy47;
3934
2.90k
    }
3935
5.03k
    if (yych == '\\') goto yy164;
3936
4.99k
yy197:
3937
4.99k
    YYDEBUG(197, *YYCURSOR);
3938
4.99k
    yyleng = YYCURSOR - SCNG(yy_text);
3939
4.99k
#line 1929 "Zend/zend_language_scanner.l"
3940
4.99k
    {
3941
4.99k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3942
4.99k
}
3943
0
#line 3944 "Zend/zend_language_scanner.c"
3944
65.5k
yy198:
3945
65.5k
    YYDEBUG(198, *YYCURSOR);
3946
65.5k
    yyaccept = 4;
3947
65.5k
    yych = *(YYMARKER = ++YYCURSOR);
3948
65.5k
    if (yych <= 'O') {
3949
8.02k
      if (yych == 'I') goto yy320;
3950
6.03k
      if (yych <= 'N') goto yy48;
3951
4.35k
      goto yy321;
3952
57.5k
    } else {
3953
57.5k
      if (yych <= 'i') {
3954
42.3k
        if (yych <= 'h') goto yy48;
3955
35.1k
        goto yy320;
3956
42.3k
      } else {
3957
15.1k
        if (yych == 'o') goto yy321;
3958
2.31k
        goto yy48;
3959
15.1k
      }
3960
57.5k
    }
3961
76.4k
yy199:
3962
76.4k
    YYDEBUG(199, *YYCURSOR);
3963
76.4k
    yyaccept = 4;
3964
76.4k
    yych = *(YYMARKER = ++YYCURSOR);
3965
76.4k
    if (yych == 'B') goto yy322;
3966
74.7k
    if (yych == 'b') goto yy322;
3967
4.16k
    goto yy48;
3968
83.1k
yy200:
3969
83.1k
    YYDEBUG(200, *YYCURSOR);
3970
83.1k
    yyaccept = 4;
3971
83.1k
    yych = *(YYMARKER = ++YYCURSOR);
3972
83.1k
    if (yych <= 'T') {
3973
7.27k
      if (yych <= 'P') {
3974
5.04k
        if (yych == 'A') goto yy323;
3975
4.54k
        goto yy48;
3976
5.04k
      } else {
3977
2.22k
        if (yych <= 'Q') goto yy324;
3978
891
        if (yych <= 'S') goto yy48;
3979
675
        goto yy325;
3980
891
      }
3981
75.8k
    } else {
3982
75.8k
      if (yych <= 'p') {
3983
17.9k
        if (yych == 'a') goto yy323;
3984
8.70k
        goto yy48;
3985
57.9k
      } else {
3986
57.9k
        if (yych <= 'q') goto yy324;
3987
33.0k
        if (yych == 't') goto yy325;
3988
4.52k
        goto yy48;
3989
33.0k
      }
3990
75.8k
    }
3991
66.1k
yy201:
3992
66.1k
    YYDEBUG(201, *YYCURSOR);
3993
66.1k
    yyaccept = 4;
3994
66.1k
    yych = *(YYMARKER = ++YYCURSOR);
3995
66.1k
    if (yych == 'A') goto yy326;
3996
65.8k
    if (yych == 'a') goto yy326;
3997
44.6k
    goto yy48;
3998
44.6k
yy202:
3999
8.63k
    YYDEBUG(202, *YYCURSOR);
4000
8.63k
    yyaccept = 4;
4001
8.63k
    yych = *(YYMARKER = ++YYCURSOR);
4002
8.63k
    if (yych == 'I') goto yy327;
4003
7.98k
    if (yych == 'i') goto yy327;
4004
773
    goto yy48;
4005
19.2k
yy203:
4006
19.2k
    YYDEBUG(203, *YYCURSOR);
4007
19.2k
    yyaccept = 4;
4008
19.2k
    yych = *(YYMARKER = ++YYCURSOR);
4009
19.2k
    if (yych == 'R') goto yy328;
4010
18.4k
    if (yych == 'r') goto yy328;
4011
3.94k
    goto yy48;
4012
74.9k
yy204:
4013
74.9k
    YYDEBUG(204, *YYCURSOR);
4014
74.9k
    yyaccept = 4;
4015
74.9k
    yych = *(YYMARKER = ++YYCURSOR);
4016
74.9k
    if (yych <= 'Y') {
4017
5.34k
      if (yych == 'A') goto yy329;
4018
3.60k
      if (yych <= 'X') goto yy48;
4019
310
      goto yy330;
4020
69.6k
    } else {
4021
69.6k
      if (yych <= 'a') {
4022
12.8k
        if (yych <= '`') goto yy48;
4023
12.6k
        goto yy329;
4024
56.8k
      } else {
4025
56.8k
        if (yych == 'y') goto yy330;
4026
12.8k
        goto yy48;
4027
56.8k
      }
4028
69.6k
    }
4029
25.2k
yy205:
4030
25.2k
    YYDEBUG(205, *YYCURSOR);
4031
25.2k
    yyaccept = 4;
4032
25.2k
    yych = *(YYMARKER = ++YYCURSOR);
4033
25.2k
    if (yych == 'S') goto yy332;
4034
24.7k
    if (yych == 's') goto yy332;
4035
5.53k
    goto yy48;
4036
16.0k
yy206:
4037
16.0k
    YYDEBUG(206, *YYCURSOR);
4038
16.0k
    yyaccept = 4;
4039
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
4040
16.0k
    if (yych == 'E') goto yy333;
4041
15.6k
    if (yych == 'e') goto yy333;
4042
1.32k
    goto yy48;
4043
106k
yy207:
4044
106k
    YYDEBUG(207, *YYCURSOR);
4045
106k
    yyaccept = 4;
4046
106k
    yych = *(YYMARKER = ++YYCURSOR);
4047
106k
    if (yych == 'R') goto yy335;
4048
105k
    if (yych == 'r') goto yy335;
4049
6.89k
    goto yy48;
4050
6.89k
yy208:
4051
5.84k
    YYDEBUG(208, *YYCURSOR);
4052
5.84k
    yyaccept = 4;
4053
5.84k
    yych = *(YYMARKER = ++YYCURSOR);
4054
5.84k
    if (yych == 'I') goto yy337;
4055
5.16k
    if (yych == 'i') goto yy337;
4056
739
    goto yy48;
4057
5.57k
yy209:
4058
5.57k
    YYDEBUG(209, *YYCURSOR);
4059
5.57k
    yyaccept = 4;
4060
5.57k
    yych = *(YYMARKER = ++YYCURSOR);
4061
5.57k
    if (yych == 'R') goto yy338;
4062
5.04k
    if (yych == 'r') goto yy338;
4063
692
    goto yy48;
4064
99.9k
yy210:
4065
99.9k
    YYDEBUG(210, *YYCURSOR);
4066
99.9k
    yyaccept = 4;
4067
99.9k
    yych = *(YYMARKER = ++YYCURSOR);
4068
99.9k
    if (yych == 'E') goto yy340;
4069
98.6k
    if (yych == 'e') goto yy340;
4070
4.29k
    goto yy48;
4071
339k
yy211:
4072
339k
    YYDEBUG(211, *YYCURSOR);
4073
339k
    yyaccept = 13;
4074
339k
    YYMARKER = ++YYCURSOR;
4075
339k
    YYFILL(1);
4076
339k
    yych = *YYCURSOR;
4077
339k
    YYDEBUG(212, *YYCURSOR);
4078
339k
    if (yych <= '\\') {
4079
129k
      if (yych <= '@') {
4080
48.8k
        if (yych <= '/') goto yy213;
4081
19.9k
        if (yych <= '9') goto yy211;
4082
80.4k
      } else {
4083
80.4k
        if (yych <= 'Z') goto yy211;
4084
25.5k
        if (yych >= '\\') goto yy341;
4085
25.5k
      }
4086
210k
    } else {
4087
210k
      if (yych <= '`') {
4088
12.1k
        if (yych == '_') goto yy211;
4089
198k
      } else {
4090
198k
        if (yych <= 'z') goto yy211;
4091
57.7k
        if (yych >= 0x80) goto yy211;
4092
57.7k
      }
4093
210k
    }
4094
57.2k
yy213:
4095
57.2k
    YYDEBUG(213, *YYCURSOR);
4096
57.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4097
57.2k
#line 2446 "Zend/zend_language_scanner.l"
4098
57.2k
    {
4099
57.2k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4100
57.2k
}
4101
0
#line 4102 "Zend/zend_language_scanner.c"
4102
1.28k
yy214:
4103
1.28k
    YYDEBUG(214, *YYCURSOR);
4104
1.28k
    ++YYCURSOR;
4105
1.28k
    YYDEBUG(215, *YYCURSOR);
4106
1.28k
    yyleng = YYCURSOR - SCNG(yy_text);
4107
1.28k
#line 1909 "Zend/zend_language_scanner.l"
4108
1.28k
    {
4109
1.28k
  RETURN_TOKEN(T_XOR_EQUAL);
4110
1.28k
}
4111
0
#line 4112 "Zend/zend_language_scanner.c"
4112
156k
yy216:
4113
156k
    YYDEBUG(216, *YYCURSOR);
4114
156k
    yyaccept = 4;
4115
156k
    yych = *(YYMARKER = ++YYCURSOR);
4116
156k
    switch (yych) {
4117
4.09k
    case 'C':
4118
22.2k
    case 'c': goto yy342;
4119
2.95k
    case 'D':
4120
11.2k
    case 'd': goto yy343;
4121
12.7k
    case 'F':
4122
39.2k
    case 'f': goto yy344;
4123
1.48k
    case 'H':
4124
7.66k
    case 'h': goto yy345;
4125
1.97k
    case 'L':
4126
5.24k
    case 'l': goto yy346;
4127
7.95k
    case 'M':
4128
16.4k
    case 'm': goto yy347;
4129
4.11k
    case 'N':
4130
11.8k
    case 'n': goto yy348;
4131
5.52k
    case 'P':
4132
7.63k
    case 'p': goto yy349;
4133
1.59k
    case 'T':
4134
8.72k
    case 't': goto yy350;
4135
26.5k
    default:  goto yy48;
4136
156k
    }
4137
2.24k
yy217:
4138
2.24k
    YYDEBUG(217, *YYCURSOR);
4139
2.24k
    ++YYCURSOR;
4140
2.24k
    YYDEBUG(218, *YYCURSOR);
4141
2.24k
    yyleng = YYCURSOR - SCNG(yy_text);
4142
2.24k
#line 1905 "Zend/zend_language_scanner.l"
4143
2.24k
    {
4144
2.24k
  RETURN_TOKEN(T_OR_EQUAL);
4145
2.24k
}
4146
0
#line 4147 "Zend/zend_language_scanner.c"
4147
6.74k
yy219:
4148
6.74k
    YYDEBUG(219, *YYCURSOR);
4149
6.74k
    ++YYCURSOR;
4150
6.74k
    YYDEBUG(220, *YYCURSOR);
4151
6.74k
    yyleng = YYCURSOR - SCNG(yy_text);
4152
6.74k
#line 1917 "Zend/zend_language_scanner.l"
4153
6.74k
    {
4154
6.74k
  RETURN_TOKEN(T_PIPE);
4155
6.74k
}
4156
0
#line 4157 "Zend/zend_language_scanner.c"
4157
10.6k
yy221:
4158
10.6k
    YYDEBUG(221, *YYCURSOR);
4159
10.6k
    ++YYCURSOR;
4160
10.6k
    YYDEBUG(222, *YYCURSOR);
4161
10.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4162
10.6k
#line 1921 "Zend/zend_language_scanner.l"
4163
10.6k
    {
4164
10.6k
  RETURN_TOKEN(T_BOOLEAN_OR);
4165
10.6k
}
4166
0
#line 4167 "Zend/zend_language_scanner.c"
4167
3.94k
yy223:
4168
3.94k
    YYDEBUG(223, *YYCURSOR);
4169
3.94k
    ++YYCURSOR;
4170
3.94k
    YYDEBUG(224, *YYCURSOR);
4171
3.94k
    yyleng = YYCURSOR - SCNG(yy_text);
4172
3.94k
#line 1837 "Zend/zend_language_scanner.l"
4173
3.94k
    {
4174
3.94k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4175
3.94k
}
4176
0
#line 4177 "Zend/zend_language_scanner.c"
4177
828k
yy225:
4178
828k
    YYDEBUG(225, *YYCURSOR);
4179
828k
    ++YYCURSOR;
4180
828k
    YYFILL(1);
4181
828k
    yych = *YYCURSOR;
4182
828k
    YYDEBUG(226, *YYCURSOR);
4183
828k
    if (yybm[0+yych] & 2) {
4184
660k
      goto yy225;
4185
660k
    }
4186
168k
    if (yych <= 0x00) goto yy86;
4187
163k
    goto yy84;
4188
217k
yy227:
4189
217k
    YYDEBUG(227, *YYCURSOR);
4190
217k
    ++YYCURSOR;
4191
217k
    YYFILL(1);
4192
217k
    yych = *YYCURSOR;
4193
217k
    YYDEBUG(228, *YYCURSOR);
4194
217k
    if (yych <= 0x1F) {
4195
16.6k
      if (yych <= '\t') {
4196
3.25k
        if (yych <= 0x00) goto yy86;
4197
2.29k
        if (yych <= 0x08) goto yy225;
4198
730
        goto yy227;
4199
13.4k
      } else {
4200
13.4k
        if (yych <= '\n') goto yy84;
4201
10.5k
        if (yych == '\r') goto yy84;
4202
5.17k
        goto yy225;
4203
10.5k
      }
4204
200k
    } else {
4205
200k
      if (yych <= '$') {
4206
19.2k
        if (yych <= ' ') goto yy227;
4207
18.0k
        if (yych <= '"') goto yy225;
4208
17.6k
        if (yych <= '#') goto yy351;
4209
2.91k
        goto yy352;
4210
181k
      } else {
4211
181k
        if (yych <= '-') goto yy225;
4212
97.8k
        if (yych <= '.') goto yy353;
4213
83.8k
        if (yych <= '/') goto yy354;
4214
34.3k
        goto yy225;
4215
83.8k
      }
4216
200k
    }
4217
4.24k
yy229:
4218
4.24k
    YYDEBUG(229, *YYCURSOR);
4219
4.24k
    yych = *++YYCURSOR;
4220
4.24k
    if (yych == '.') goto yy88;
4221
1.40k
    goto yy86;
4222
1.49M
yy230:
4223
1.49M
    YYDEBUG(230, *YYCURSOR);
4224
1.49M
    ++YYCURSOR;
4225
1.49M
    YYFILL(1);
4226
1.49M
    yych = *YYCURSOR;
4227
1.49M
    YYDEBUG(231, *YYCURSOR);
4228
1.49M
    if (yybm[0+yych] & 4) {
4229
1.45M
      goto yy230;
4230
1.45M
    }
4231
41.5k
    if (yych <= 0x00) goto yy86;
4232
29.8k
    goto yy355;
4233
29.8k
yy232:
4234
13.7k
    YYDEBUG(232, *YYCURSOR);
4235
13.7k
    yych = *++YYCURSOR;
4236
13.7k
    if (yych == 'R') goto yy357;
4237
13.2k
    if (yych == 'r') goto yy357;
4238
1.50k
    goto yy86;
4239
7.12k
yy233:
4240
7.12k
    YYDEBUG(233, *YYCURSOR);
4241
7.12k
    yych = *++YYCURSOR;
4242
7.12k
    if (yych == 'N') goto yy358;
4243
3.05k
    if (yych == 'n') goto yy358;
4244
1.59k
    goto yy86;
4245
5.60k
yy234:
4246
5.60k
    YYDEBUG(234, *YYCURSOR);
4247
5.60k
    yych = *++YYCURSOR;
4248
5.60k
    if (yych == 'O') goto yy359;
4249
5.16k
    if (yych == 'o') goto yy359;
4250
474
    goto yy86;
4251
6.29k
yy235:
4252
6.29k
    YYDEBUG(235, *YYCURSOR);
4253
6.29k
    yych = *++YYCURSOR;
4254
6.29k
    if (yych == 'U') goto yy360;
4255
5.75k
    if (yych == 'u') goto yy360;
4256
590
    goto yy86;
4257
3.55k
yy236:
4258
3.55k
    YYDEBUG(236, *YYCURSOR);
4259
3.55k
    yych = *++YYCURSOR;
4260
3.55k
    if (yych == 'O') goto yy361;
4261
2.21k
    if (yych == 'o') goto yy361;
4262
499
    goto yy86;
4263
13.0k
yy237:
4264
13.0k
    YYDEBUG(237, *YYCURSOR);
4265
13.0k
    yych = *++YYCURSOR;
4266
13.0k
    if (yych == 'T') goto yy362;
4267
11.8k
    if (yych == 't') goto yy362;
4268
2.95k
    goto yy86;
4269
6.56k
yy238:
4270
6.56k
    YYDEBUG(238, *YYCURSOR);
4271
6.56k
    yych = *++YYCURSOR;
4272
6.56k
    if (yych == 'J') goto yy363;
4273
6.09k
    if (yych == 'j') goto yy363;
4274
1.22k
    goto yy86;
4275
3.59k
yy239:
4276
3.59k
    YYDEBUG(239, *YYCURSOR);
4277
3.59k
    yych = *++YYCURSOR;
4278
3.59k
    if (yych == 'A') goto yy364;
4279
3.07k
    if (yych == 'a') goto yy364;
4280
2.29k
    goto yy86;
4281
19.3k
yy240:
4282
19.3k
    YYDEBUG(240, *YYCURSOR);
4283
19.3k
    yych = *++YYCURSOR;
4284
19.3k
    if (yych == 'R') goto yy365;
4285
18.8k
    if (yych == 'r') goto yy365;
4286
1.53k
    goto yy86;
4287
4.80k
yy241:
4288
4.80k
    YYDEBUG(241, *YYCURSOR);
4289
4.80k
    yych = *++YYCURSOR;
4290
4.80k
    if (yych == 'S') goto yy366;
4291
4.60k
    if (yych == 's') goto yy366;
4292
1.21k
    goto yy86;
4293
1.95k
yy242:
4294
1.95k
    YYDEBUG(242, *YYCURSOR);
4295
1.95k
    yych = *++YYCURSOR;
4296
1.95k
    if (yych == 'I') goto yy367;
4297
1.60k
    if (yych == 'i') goto yy367;
4298
410
    goto yy86;
4299
3.70k
yy243:
4300
3.70k
    YYDEBUG(243, *YYCURSOR);
4301
3.70k
    ++YYCURSOR;
4302
3.70k
    YYDEBUG(244, *YYCURSOR);
4303
3.70k
    yyleng = YYCURSOR - SCNG(yy_text);
4304
3.70k
#line 1877 "Zend/zend_language_scanner.l"
4305
3.70k
    {
4306
3.70k
  RETURN_TOKEN(T_POW_EQUAL);
4307
3.70k
}
4308
0
#line 4309 "Zend/zend_language_scanner.c"
4309
63.1k
yy245:
4310
63.1k
    YYDEBUG(245, *YYCURSOR);
4311
63.1k
    ++YYCURSOR;
4312
63.1k
    YYDEBUG(246, *YYCURSOR);
4313
63.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4314
63.1k
#line 1617 "Zend/zend_language_scanner.l"
4315
63.1k
    {
4316
63.1k
  RETURN_TOKEN(T_ELLIPSIS);
4317
63.1k
}
4318
0
#line 4319 "Zend/zend_language_scanner.c"
4319
2.59k
yy247:
4320
2.59k
    YYDEBUG(247, *YYCURSOR);
4321
2.59k
    ++YYCURSOR;
4322
2.59k
    YYFILL(1);
4323
2.59k
    yych = *YYCURSOR;
4324
2.59k
    if (yych <= '/') goto yy86;
4325
1.98k
    if (yych <= '9') goto yy123;
4326
1.56k
    goto yy86;
4327
11.5k
yy248:
4328
11.5k
    YYDEBUG(248, *YYCURSOR);
4329
11.5k
    yych = *++YYCURSOR;
4330
11.5k
    if (yych <= '\f') {
4331
6.49k
      if (yych <= 0x08) goto yy86;
4332
6.08k
      if (yych <= '\n') goto yy368;
4333
1.27k
      goto yy86;
4334
6.08k
    } else {
4335
5.04k
      if (yych <= '\r') goto yy368;
4336
4.60k
      if (yych == ' ') goto yy368;
4337
1.53k
      goto yy86;
4338
4.60k
    }
4339
57.6k
yy249:
4340
57.6k
    YYDEBUG(249, *YYCURSOR);
4341
57.6k
    yyaccept = 14;
4342
57.6k
    YYMARKER = ++YYCURSOR;
4343
57.6k
    YYFILL(1);
4344
57.6k
    yych = *YYCURSOR;
4345
57.6k
    YYDEBUG(250, *YYCURSOR);
4346
57.6k
    if (yybm[0+yych] & 8) {
4347
51.9k
      goto yy249;
4348
51.9k
    }
4349
5.70k
    if (yych == '_') goto yy134;
4350
3.55k
yy251:
4351
3.55k
    YYDEBUG(251, *YYCURSOR);
4352
3.55k
    yyleng = YYCURSOR - SCNG(yy_text);
4353
3.55k
#line 2010 "Zend/zend_language_scanner.l"
4354
3.55k
    {
4355
  /* The +/- 2 skips "0b" */
4356
3.55k
  size_t len = yyleng - 2;
4357
3.55k
  char *end, *bin = yytext + 2;
4358
3.55k
  bool contains_underscores;
4359
4360
  /* Skip any leading 0s */
4361
5.88k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4362
2.33k
    ++bin;
4363
2.33k
    --len;
4364
2.33k
  }
4365
4366
3.55k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4367
4368
3.55k
  if (contains_underscores) {
4369
570
    bin = estrndup(bin, len);
4370
570
    strip_underscores(bin, &len);
4371
570
  }
4372
4373
3.55k
  if (len < SIZEOF_ZEND_LONG * 8) {
4374
3.24k
    if (len == 0) {
4375
553
      ZVAL_LONG(zendlval, 0);
4376
2.68k
    } else {
4377
2.68k
      errno = 0;
4378
2.68k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4379
2.68k
      ZEND_ASSERT(!errno && end == bin + len);
4380
2.68k
    }
4381
3.24k
    if (contains_underscores) {
4382
347
      efree(bin);
4383
347
    }
4384
3.24k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4385
3.24k
  } else {
4386
317
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4387
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4388
317
    ZEND_ASSERT(end == bin + len);
4389
317
    if (contains_underscores) {
4390
223
      efree(bin);
4391
223
    }
4392
317
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4393
317
  }
4394
3.55k
}
4395
0
#line 4396 "Zend/zend_language_scanner.c"
4396
18.8k
yy252:
4397
18.8k
    YYDEBUG(252, *YYCURSOR);
4398
18.8k
    ++YYCURSOR;
4399
18.8k
    YYFILL(1);
4400
18.8k
    yych = *YYCURSOR;
4401
18.8k
    if (yych <= '/') goto yy86;
4402
17.7k
    if (yych >= ':') goto yy86;
4403
118k
yy253:
4404
118k
    YYDEBUG(253, *YYCURSOR);
4405
118k
    yyaccept = 5;
4406
118k
    YYMARKER = ++YYCURSOR;
4407
118k
    YYFILL(1);
4408
118k
    yych = *YYCURSOR;
4409
118k
    YYDEBUG(254, *YYCURSOR);
4410
118k
    if (yych <= '/') goto yy125;
4411
99.6k
    if (yych <= '9') goto yy253;
4412
19.9k
    if (yych == '_') goto yy252;
4413
18.1k
    goto yy125;
4414
30.2k
yy255:
4415
30.2k
    YYDEBUG(255, *YYCURSOR);
4416
30.2k
    yyaccept = 15;
4417
30.2k
    YYMARKER = ++YYCURSOR;
4418
30.2k
    YYFILL(1);
4419
30.2k
    yych = *YYCURSOR;
4420
30.2k
    YYDEBUG(256, *YYCURSOR);
4421
30.2k
    if (yybm[0+yych] & 16) {
4422
26.9k
      goto yy255;
4423
26.9k
    }
4424
3.26k
    if (yych == '_') goto yy136;
4425
2.14k
yy257:
4426
2.14k
    YYDEBUG(257, *YYCURSOR);
4427
2.14k
    yyleng = YYCURSOR - SCNG(yy_text);
4428
2.14k
#line 2052 "Zend/zend_language_scanner.l"
4429
2.14k
    {
4430
  /* The +/- 2 skips "0o" */
4431
2.14k
  size_t len = yyleng - 2;
4432
2.14k
  char *end, *octal = yytext + 2;
4433
2.14k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4434
4435
  /* Skip any leading 0s */
4436
4.17k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4437
2.03k
    ++octal;
4438
2.03k
    --len;
4439
2.03k
  }
4440
4441
2.14k
  if (len == 0) {
4442
372
    ZVAL_LONG(zendlval, 0);
4443
372
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4444
372
  }
4445
4446
1.77k
  if (contains_underscores) {
4447
1.02k
    octal = estrndup(octal, len);
4448
1.02k
    strip_underscores(octal, &len);
4449
1.02k
  }
4450
4451
1.77k
  errno = 0;
4452
4453
1.77k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4454
4455
1.77k
  ZEND_ASSERT(end == octal + len);
4456
4457
1.77k
  if (!errno) {
4458
1.13k
    if (contains_underscores) {
4459
636
      efree(octal);
4460
636
    }
4461
1.13k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4462
1.13k
  }
4463
4464
  /* Overflow */
4465
640
  ZEND_ASSERT(errno == ERANGE);
4466
  /* Reset errno */
4467
640
  errno = 0;
4468
4469
  /* zend_oct_strtod skips leading '0' */
4470
640
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4471
640
  ZEND_ASSERT(!errno);
4472
640
  ZEND_ASSERT(end == octal + len);
4473
640
  if (contains_underscores) {
4474
388
    efree(octal);
4475
388
  }
4476
640
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4477
640
}
4478
0
#line 4479 "Zend/zend_language_scanner.c"
4479
55.0k
yy258:
4480
55.0k
    YYDEBUG(258, *YYCURSOR);
4481
55.0k
    yyaccept = 16;
4482
55.0k
    YYMARKER = ++YYCURSOR;
4483
55.0k
    YYFILL(1);
4484
55.0k
    yych = *YYCURSOR;
4485
55.0k
    YYDEBUG(259, *YYCURSOR);
4486
55.0k
    if (yybm[0+yych] & 32) {
4487
43.5k
      goto yy258;
4488
43.5k
    }
4489
11.4k
    if (yych == '_') goto yy137;
4490
9.04k
yy260:
4491
9.04k
    YYDEBUG(260, *YYCURSOR);
4492
9.04k
    yyleng = YYCURSOR - SCNG(yy_text);
4493
9.04k
#line 2165 "Zend/zend_language_scanner.l"
4494
9.04k
    {
4495
  /* The +/- 2 skips "0x" */
4496
9.04k
  size_t len = yyleng - 2;
4497
9.04k
  char *end, *hex = yytext + 2;
4498
9.04k
  bool contains_underscores;
4499
4500
  /* Skip any leading 0s */
4501
14.0k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4502
4.99k
    ++hex;
4503
4.99k
    --len;
4504
4.99k
  }
4505
4506
9.04k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4507
4508
9.04k
  if (contains_underscores) {
4509
1.73k
    hex = estrndup(hex, len);
4510
1.73k
    strip_underscores(hex, &len);
4511
1.73k
  }
4512
4513
9.04k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4514
7.76k
    if (len == 0) {
4515
2.13k
      ZVAL_LONG(zendlval, 0);
4516
5.63k
    } else {
4517
5.63k
      errno = 0;
4518
5.63k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4519
5.63k
      ZEND_ASSERT(!errno && end == hex + len);
4520
5.63k
    }
4521
7.76k
    if (contains_underscores) {
4522
1.03k
      efree(hex);
4523
1.03k
    }
4524
7.76k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4525
7.76k
  } else {
4526
1.27k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4527
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4528
1.27k
    ZEND_ASSERT(end == hex + len);
4529
1.27k
    if (contains_underscores) {
4530
695
      efree(hex);
4531
695
    }
4532
1.27k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4533
1.27k
  }
4534
9.04k
}
4535
0
#line 4536 "Zend/zend_language_scanner.c"
4536
3.76M
yy261:
4537
3.76M
    YYDEBUG(261, *YYCURSOR);
4538
3.76M
    ++YYCURSOR;
4539
3.76M
    YYFILL(2);
4540
3.76M
    yych = *YYCURSOR;
4541
3.76M
    YYDEBUG(262, *YYCURSOR);
4542
3.76M
    if (yych <= '\'') {
4543
79.5k
      if (yych <= ' ') {
4544
57.7k
        if (yych == '\t') goto yy261;
4545
46.6k
        if (yych <= 0x1F) goto yy86;
4546
24.0k
        goto yy261;
4547
46.6k
      } else {
4548
21.8k
        if (yych == '"') goto yy370;
4549
17.7k
        if (yych <= '&') goto yy86;
4550
10.2k
        goto yy371;
4551
17.7k
      }
4552
3.68M
    } else {
4553
3.68M
      if (yych <= '_') {
4554
598k
        if (yych <= '@') goto yy86;
4555
533k
        if (yych <= 'Z') goto yy372;
4556
4.77k
        if (yych <= '^') goto yy86;
4557
3.82k
        goto yy372;
4558
3.08M
      } else {
4559
3.08M
        if (yych <= '`') goto yy86;
4560
3.08M
        if (yych <= 'z') goto yy372;
4561
2.31M
        if (yych <= 0x7F) goto yy86;
4562
2.31M
        goto yy372;
4563
2.31M
      }
4564
3.68M
    }
4565
2.94k
yy263:
4566
2.94k
    YYDEBUG(263, *YYCURSOR);
4567
2.94k
    ++YYCURSOR;
4568
2.94k
    YYDEBUG(264, *YYCURSOR);
4569
2.94k
    yyleng = YYCURSOR - SCNG(yy_text);
4570
2.94k
#line 1893 "Zend/zend_language_scanner.l"
4571
2.94k
    {
4572
2.94k
  RETURN_TOKEN(T_SL_EQUAL);
4573
2.94k
}
4574
0
#line 4575 "Zend/zend_language_scanner.c"
4575
1.33k
yy265:
4576
1.33k
    YYDEBUG(265, *YYCURSOR);
4577
1.33k
    ++YYCURSOR;
4578
1.33k
    YYDEBUG(266, *YYCURSOR);
4579
1.33k
    yyleng = YYCURSOR - SCNG(yy_text);
4580
1.33k
#line 1849 "Zend/zend_language_scanner.l"
4581
1.33k
    {
4582
1.33k
  RETURN_TOKEN(T_SPACESHIP);
4583
1.33k
}
4584
0
#line 4585 "Zend/zend_language_scanner.c"
4585
10.3k
yy267:
4586
10.3k
    YYDEBUG(267, *YYCURSOR);
4587
10.3k
    ++YYCURSOR;
4588
10.3k
    YYDEBUG(268, *YYCURSOR);
4589
10.3k
    yyleng = YYCURSOR - SCNG(yy_text);
4590
10.3k
#line 1833 "Zend/zend_language_scanner.l"
4591
10.3k
    {
4592
10.3k
  RETURN_TOKEN(T_IS_IDENTICAL);
4593
10.3k
}
4594
0
#line 4595 "Zend/zend_language_scanner.c"
4595
820
yy269:
4596
820
    YYDEBUG(269, *YYCURSOR);
4597
820
    ++YYCURSOR;
4598
820
    YYDEBUG(270, *YYCURSOR);
4599
820
    yyleng = YYCURSOR - SCNG(yy_text);
4600
820
#line 1897 "Zend/zend_language_scanner.l"
4601
820
    {
4602
820
  RETURN_TOKEN(T_SR_EQUAL);
4603
820
}
4604
0
#line 4605 "Zend/zend_language_scanner.c"
4605
37.7k
yy271:
4606
37.7k
    YYDEBUG(271, *YYCURSOR);
4607
37.7k
    ++YYCURSOR;
4608
37.7k
    YYDEBUG(272, *YYCURSOR);
4609
37.7k
    yyleng = YYCURSOR - SCNG(yy_text);
4610
37.7k
#line 1591 "Zend/zend_language_scanner.l"
4611
37.7k
    {
4612
37.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4613
37.7k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4614
37.7k
}
4615
0
#line 4616 "Zend/zend_language_scanner.c"
4616
10.4k
yy273:
4617
10.4k
    YYDEBUG(273, *YYCURSOR);
4618
10.4k
    ++YYCURSOR;
4619
10.4k
    goto yy156;
4620
1.24k
yy274:
4621
1.24k
    YYDEBUG(274, *YYCURSOR);
4622
1.24k
    yych = *++YYCURSOR;
4623
1.24k
    if (yych == '\n') goto yy273;
4624
932
    goto yy156;
4625
10.9k
yy275:
4626
10.9k
    YYDEBUG(275, *YYCURSOR);
4627
10.9k
    ++YYCURSOR;
4628
10.9k
    YYDEBUG(276, *YYCURSOR);
4629
10.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4630
10.9k
#line 1913 "Zend/zend_language_scanner.l"
4631
10.9k
    {
4632
10.9k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4633
10.9k
}
4634
0
#line 4635 "Zend/zend_language_scanner.c"
4635
9.40k
yy277:
4636
9.40k
    YYDEBUG(277, *YYCURSOR);
4637
9.40k
    yyaccept = 4;
4638
9.40k
    yych = *(YYMARKER = ++YYCURSOR);
4639
9.40k
    if (yych == 'T') goto yy374;
4640
7.60k
    if (yych == 't') goto yy374;
4641
977
    goto yy48;
4642
6.04k
yy278:
4643
6.04k
    YYDEBUG(278, *YYCURSOR);
4644
6.04k
    yyaccept = 17;
4645
6.04k
    yych = *(YYMARKER = ++YYCURSOR);
4646
6.04k
    if (yybm[256+yych] & 128) {
4647
278
      goto yy47;
4648
278
    }
4649
5.76k
    if (yych == '\\') goto yy164;
4650
5.73k
yy279:
4651
5.73k
    YYDEBUG(279, *YYCURSOR);
4652
5.73k
    yyleng = YYCURSOR - SCNG(yy_text);
4653
5.73k
#line 1933 "Zend/zend_language_scanner.l"
4654
5.73k
    {
4655
5.73k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4656
5.73k
}
4657
0
#line 4658 "Zend/zend_language_scanner.c"
4658
31.7k
yy280:
4659
31.7k
    YYDEBUG(280, *YYCURSOR);
4660
31.7k
    yyaccept = 4;
4661
31.7k
    yych = *(YYMARKER = ++YYCURSOR);
4662
31.7k
    if (yych == 'A') goto yy375;
4663
30.9k
    if (yych == 'a') goto yy375;
4664
2.28k
    goto yy48;
4665
129k
yy281:
4666
129k
    YYDEBUG(281, *YYCURSOR);
4667
129k
    yyaccept = 18;
4668
129k
    YYMARKER = ++YYCURSOR;
4669
129k
    YYFILL(1);
4670
129k
    yych = *YYCURSOR;
4671
129k
    YYDEBUG(282, *YYCURSOR);
4672
129k
    if (yych <= '\\') {
4673
55.4k
      if (yych <= '@') {
4674
29.3k
        if (yych <= '/') goto yy283;
4675
11.8k
        if (yych <= '9') goto yy281;
4676
26.0k
      } else {
4677
26.0k
        if (yych <= 'Z') goto yy281;
4678
9.93k
        if (yych >= '\\') goto yy164;
4679
9.93k
      }
4680
74.5k
    } else {
4681
74.5k
      if (yych <= '`') {
4682
4.09k
        if (yych == '_') goto yy281;
4683
70.4k
      } else {
4684
70.4k
        if (yych <= 'z') goto yy281;
4685
31.5k
        if (yych >= 0x80) goto yy281;
4686
31.5k
      }
4687
74.5k
    }
4688
30.0k
yy283:
4689
30.0k
    YYDEBUG(283, *YYCURSOR);
4690
30.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4691
30.0k
#line 2442 "Zend/zend_language_scanner.l"
4692
30.0k
    {
4693
30.0k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4694
30.0k
}
4695
0
#line 4696 "Zend/zend_language_scanner.c"
4696
4.26k
yy284:
4697
4.26k
    YYDEBUG(284, *YYCURSOR);
4698
4.26k
    yych = *++YYCURSOR;
4699
4.26k
    if (yych == '<') goto yy261;
4700
751
    goto yy86;
4701
5.45k
yy285:
4702
5.45k
    YYDEBUG(285, *YYCURSOR);
4703
5.45k
    yyaccept = 4;
4704
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
4705
5.45k
    if (yych == 'A') goto yy376;
4706
4.66k
    if (yych == 'a') goto yy376;
4707
1.21k
    goto yy48;
4708
16.5k
yy286:
4709
16.5k
    YYDEBUG(286, *YYCURSOR);
4710
16.5k
    yyaccept = 4;
4711
16.5k
    yych = *(YYMARKER = ++YYCURSOR);
4712
16.5k
    if (yych == 'L') goto yy377;
4713
14.3k
    if (yych == 'l') goto yy377;
4714
1.56k
    goto yy48;
4715
12.7k
yy287:
4716
12.7k
    YYDEBUG(287, *YYCURSOR);
4717
12.7k
    yyaccept = 4;
4718
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
4719
12.7k
    if (yych == 'E') goto yy378;
4720
10.9k
    if (yych == 'e') goto yy378;
4721
2.41k
    goto yy48;
4722
39.9k
yy288:
4723
39.9k
    YYDEBUG(288, *YYCURSOR);
4724
39.9k
    yyaccept = 4;
4725
39.9k
    yych = *(YYMARKER = ++YYCURSOR);
4726
39.9k
    if (yych == 'C') goto yy380;
4727
39.2k
    if (yych == 'c') goto yy380;
4728
1.44k
    goto yy48;
4729
83.1k
yy289:
4730
83.1k
    YYDEBUG(289, *YYCURSOR);
4731
83.1k
    yyaccept = 4;
4732
83.1k
    yych = *(YYMARKER = ++YYCURSOR);
4733
83.1k
    if (yych == 'S') goto yy381;
4734
81.1k
    if (yych == 's') goto yy381;
4735
3.36k
    goto yy48;
4736
8.70k
yy290:
4737
8.70k
    YYDEBUG(290, *YYCURSOR);
4738
8.70k
    yyaccept = 4;
4739
8.70k
    yych = *(YYMARKER = ++YYCURSOR);
4740
8.70k
    if (yych == 'N') goto yy382;
4741
8.12k
    if (yych == 'n') goto yy382;
4742
3.64k
    goto yy48;
4743
66.0k
yy291:
4744
66.0k
    YYDEBUG(291, *YYCURSOR);
4745
66.0k
    yyaccept = 4;
4746
66.0k
    yych = *(YYMARKER = ++YYCURSOR);
4747
66.0k
    if (yych <= 'T') {
4748
8.34k
      if (yych <= 'R') goto yy48;
4749
5.85k
      if (yych <= 'S') goto yy383;
4750
2.73k
      goto yy384;
4751
57.7k
    } else {
4752
57.7k
      if (yych <= 'r') goto yy48;
4753
56.5k
      if (yych <= 's') goto yy383;
4754
9.12k
      if (yych <= 't') goto yy384;
4755
1.17k
      goto yy48;
4756
9.12k
    }
4757
11.3k
yy292:
4758
11.3k
    YYDEBUG(292, *YYCURSOR);
4759
11.3k
    yyaccept = 4;
4760
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
4761
11.3k
    if (yych == 'L') goto yy385;
4762
9.96k
    if (yych == 'l') goto yy385;
4763
817
    goto yy48;
4764
9.97k
yy293:
4765
9.97k
    YYDEBUG(293, *YYCURSOR);
4766
9.97k
    yyaccept = 4;
4767
9.97k
    yych = *(YYMARKER = ++YYCURSOR);
4768
9.97k
    if (yych == 'A') goto yy386;
4769
9.38k
    if (yych == 'a') goto yy386;
4770
4.90k
    goto yy48;
4771
5.76k
yy294:
4772
5.76k
    YYDEBUG(294, *YYCURSOR);
4773
5.76k
    yyaccept = 19;
4774
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
4775
5.76k
    if (yybm[256+yych] & 128) {
4776
837
      goto yy47;
4777
837
    }
4778
4.93k
    if (yych == '\\') goto yy164;
4779
4.92k
yy295:
4780
4.92k
    YYDEBUG(295, *YYCURSOR);
4781
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
4782
4.92k
#line 1402 "Zend/zend_language_scanner.l"
4783
4.92k
    {
4784
4.92k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4785
4.92k
}
4786
0
#line 4787 "Zend/zend_language_scanner.c"
4787
81.1k
yy296:
4788
81.1k
    YYDEBUG(296, *YYCURSOR);
4789
81.1k
    yyaccept = 4;
4790
81.1k
    yych = *(YYMARKER = ++YYCURSOR);
4791
81.1k
    if (yych == 'O') goto yy387;
4792
80.3k
    if (yych == 'o') goto yy387;
4793
2.01k
    goto yy48;
4794
17.3k
yy297:
4795
17.3k
    YYDEBUG(297, *YYCURSOR);
4796
17.3k
    yyaccept = 4;
4797
17.3k
    yych = *(YYMARKER = ++YYCURSOR);
4798
17.3k
    if (yych == 'E') goto yy389;
4799
16.5k
    if (yych == 'e') goto yy389;
4800
1.27k
    goto yy48;
4801
8.08k
yy298:
4802
8.08k
    YYDEBUG(298, *YYCURSOR);
4803
8.08k
    yyaccept = 4;
4804
8.08k
    yych = *(YYMARKER = ++YYCURSOR);
4805
8.08k
    if (yych == 'T') goto yy391;
4806
5.73k
    if (yych == 't') goto yy391;
4807
2.44k
    goto yy48;
4808
48.7k
yy299:
4809
48.7k
    YYDEBUG(299, *YYCURSOR);
4810
48.7k
    yyaccept = 4;
4811
48.7k
    yych = *(YYMARKER = ++YYCURSOR);
4812
48.7k
    switch (yych) {
4813
1.21k
    case 'D':
4814
6.35k
    case 'd': goto yy392;
4815
4.11k
    case 'F':
4816
12.4k
    case 'f': goto yy393;
4817
3.06k
    case 'I':
4818
6.65k
    case 'i': goto yy394;
4819
1.04k
    case 'S':
4820
7.47k
    case 's': goto yy395;
4821
3.97k
    case 'W':
4822
9.09k
    case 'w': goto yy396;
4823
6.66k
    default:  goto yy48;
4824
48.7k
    }
4825
172k
yy300:
4826
172k
    YYDEBUG(300, *YYCURSOR);
4827
172k
    yyaccept = 4;
4828
172k
    yych = *(YYMARKER = ++YYCURSOR);
4829
172k
    if (yych == 'M') goto yy397;
4830
167k
    if (yych == 'm') goto yy397;
4831
15.0k
    goto yy48;
4832
15.0k
yy301:
4833
6.37k
    YYDEBUG(301, *YYCURSOR);
4834
6.37k
    yyaccept = 4;
4835
6.37k
    yych = *(YYMARKER = ++YYCURSOR);
4836
6.37k
    if (yych == 'L') goto yy398;
4837
6.07k
    if (yych == 'l') goto yy398;
4838
1.09k
    goto yy48;
4839
3.38k
yy302:
4840
3.38k
    YYDEBUG(302, *YYCURSOR);
4841
3.38k
    yyaccept = 4;
4842
3.38k
    yych = *(YYMARKER = ++YYCURSOR);
4843
3.38k
    if (yych == 'T') goto yy400;
4844
3.02k
    if (yych == 't') goto yy400;
4845
1.20k
    goto yy48;
4846
25.1k
yy303:
4847
25.1k
    YYDEBUG(303, *YYCURSOR);
4848
25.1k
    yyaccept = 4;
4849
25.1k
    yych = *(YYMARKER = ++YYCURSOR);
4850
25.1k
    if (yych == 'E') goto yy402;
4851
23.9k
    if (yych == 'e') goto yy402;
4852
4.11k
    goto yy48;
4853
18.0k
yy304:
4854
18.0k
    YYDEBUG(304, *YYCURSOR);
4855
18.0k
    yyaccept = 4;
4856
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
4857
18.0k
    if (yych == 'A') goto yy403;
4858
16.7k
    if (yych == 'a') goto yy403;
4859
2.29k
    goto yy48;
4860
64.3k
yy305:
4861
64.3k
    YYDEBUG(305, *YYCURSOR);
4862
64.3k
    yyaccept = 20;
4863
64.3k
    yych = *(YYMARKER = ++YYCURSOR);
4864
64.3k
    if (yych <= '\\') {
4865
35.6k
      if (yych <= 'D') {
4866
32.1k
        if (yych <= '/') goto yy306;
4867
3.87k
        if (yych <= '9') goto yy47;
4868
3.29k
        if (yych >= 'A') goto yy47;
4869
3.48k
      } else {
4870
3.48k
        if (yych <= 'E') goto yy404;
4871
2.58k
        if (yych <= 'Z') goto yy47;
4872
651
        if (yych >= '\\') goto yy164;
4873
651
      }
4874
35.6k
    } else {
4875
28.7k
      if (yych <= 'd') {
4876
868
        if (yych == '_') goto yy47;
4877
606
        if (yych >= 'a') goto yy47;
4878
27.8k
      } else {
4879
27.8k
        if (yych <= 'e') goto yy404;
4880
2.66k
        if (yych <= 'z') goto yy47;
4881
1.40k
        if (yych >= 0x80) goto yy47;
4882
1.40k
      }
4883
28.7k
    }
4884
32.6k
yy306:
4885
32.6k
    YYDEBUG(306, *YYCURSOR);
4886
32.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4887
32.6k
#line 1481 "Zend/zend_language_scanner.l"
4888
32.6k
    {
4889
32.6k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4890
32.6k
}
4891
0
#line 4892 "Zend/zend_language_scanner.c"
4892
113k
yy307:
4893
113k
    YYDEBUG(307, *YYCURSOR);
4894
113k
    yyaccept = 4;
4895
113k
    yych = *(YYMARKER = ++YYCURSOR);
4896
113k
    if (yych == 'C') goto yy405;
4897
111k
    if (yych == 'c') goto yy405;
4898
1.67k
    goto yy48;
4899
10.3k
yy308:
4900
10.3k
    YYDEBUG(308, *YYCURSOR);
4901
10.3k
    yyaccept = 4;
4902
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
4903
10.3k
    if (yych == 'B') goto yy406;
4904
6.55k
    if (yych == 'b') goto yy406;
4905
2.11k
    goto yy48;
4906
5.85k
yy309:
4907
5.85k
    YYDEBUG(309, *YYCURSOR);
4908
5.85k
    yyaccept = 4;
4909
5.85k
    yych = *(YYMARKER = ++YYCURSOR);
4910
5.85k
    if (yych == 'O') goto yy407;
4911
4.58k
    if (yych == 'o') goto yy407;
4912
526
    goto yy48;
4913
28.4k
yy310:
4914
28.4k
    YYDEBUG(310, *YYCURSOR);
4915
28.4k
    yyaccept = 4;
4916
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
4917
28.4k
    if (yych == 'L') goto yy409;
4918
26.1k
    if (yych == 'l') goto yy409;
4919
3.08k
    goto yy48;
4920
14.0k
yy311:
4921
14.0k
    YYDEBUG(311, *YYCURSOR);
4922
14.0k
    yyaccept = 4;
4923
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
4924
14.0k
    if (yych == 'L') goto yy410;
4925
12.5k
    if (yych == 'l') goto yy410;
4926
2.47k
    goto yy48;
4927
16.8k
yy312:
4928
16.8k
    YYDEBUG(312, *YYCURSOR);
4929
16.8k
    yyaccept = 4;
4930
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
4931
16.8k
    if (yych == 'T') goto yy411;
4932
15.2k
    if (yych == 't') goto yy411;
4933
669
    goto yy48;
4934
29.6k
yy313:
4935
29.6k
    YYDEBUG(313, *YYCURSOR);
4936
29.6k
    yyaccept = 4;
4937
29.6k
    yych = *(YYMARKER = ++YYCURSOR);
4938
29.6k
    if (yych == 'E') goto yy412;
4939
28.4k
    if (yych == 'e') goto yy412;
4940
14.0k
    goto yy48;
4941
17.0k
yy314:
4942
17.0k
    YYDEBUG(314, *YYCURSOR);
4943
17.0k
    yyaccept = 4;
4944
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
4945
17.0k
    if (yych == 'E') goto yy413;
4946
16.6k
    if (yych == 'e') goto yy413;
4947
735
    goto yy48;
4948
5.43k
yy315:
4949
5.43k
    YYDEBUG(315, *YYCURSOR);
4950
5.43k
    yyaccept = 4;
4951
5.43k
    yych = *(YYMARKER = ++YYCURSOR);
4952
5.43k
    if (yych == 'T') goto yy414;
4953
5.05k
    if (yych == 't') goto yy414;
4954
707
    goto yy48;
4955
6.03k
yy316:
4956
6.03k
    YYDEBUG(316, *YYCURSOR);
4957
6.03k
    yyaccept = 4;
4958
6.03k
    yych = *(YYMARKER = ++YYCURSOR);
4959
6.03k
    if (yych == 'C') goto yy416;
4960
5.32k
    if (yych == 'c') goto yy416;
4961
673
    goto yy48;
4962
28.3k
yy317:
4963
28.3k
    YYDEBUG(317, *YYCURSOR);
4964
28.3k
    yyaccept = 4;
4965
28.3k
    yych = *(YYMARKER = ++YYCURSOR);
4966
28.3k
    if (yych == 'E') goto yy417;
4967
26.2k
    if (yych == 'e') goto yy417;
4968
2.63k
    goto yy48;
4969
86.6k
yy318:
4970
86.6k
    YYDEBUG(318, *YYCURSOR);
4971
86.6k
    yyaccept = 21;
4972
86.6k
    yych = *(YYMARKER = ++YYCURSOR);
4973
86.6k
    if (yybm[256+yych] & 128) {
4974
1.74k
      goto yy47;
4975
1.74k
    }
4976
84.9k
    if (yych == '\\') goto yy164;
4977
84.9k
yy319:
4978
84.9k
    YYDEBUG(319, *YYCURSOR);
4979
84.9k
    yyleng = YYCURSOR - SCNG(yy_text);
4980
84.9k
#line 1625 "Zend/zend_language_scanner.l"
4981
84.9k
    {
4982
84.9k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4983
84.9k
}
4984
0
#line 4985 "Zend/zend_language_scanner.c"
4985
37.1k
yy320:
4986
37.1k
    YYDEBUG(320, *YYCURSOR);
4987
37.1k
    yyaccept = 4;
4988
37.1k
    yych = *(YYMARKER = ++YYCURSOR);
4989
37.1k
    if (yych <= 'V') {
4990
3.83k
      if (yych == 'N') goto yy418;
4991
2.28k
      if (yych <= 'U') goto yy48;
4992
1.48k
      goto yy419;
4993
33.3k
    } else {
4994
33.3k
      if (yych <= 'n') {
4995
19.7k
        if (yych <= 'm') goto yy48;
4996
14.4k
        goto yy418;
4997
19.7k
      } else {
4998
13.5k
        if (yych == 'v') goto yy419;
4999
569
        goto yy48;
5000
13.5k
      }
5001
33.3k
    }
5002
17.2k
yy321:
5003
17.2k
    YYDEBUG(321, *YYCURSOR);
5004
17.2k
    yyaccept = 4;
5005
17.2k
    yych = *(YYMARKER = ++YYCURSOR);
5006
17.2k
    if (yych == 'T') goto yy420;
5007
14.5k
    if (yych == 't') goto yy420;
5008
2.38k
    goto yy48;
5009
72.3k
yy322:
5010
72.3k
    YYDEBUG(322, *YYCURSOR);
5011
72.3k
    yyaccept = 4;
5012
72.3k
    yych = *(YYMARKER = ++YYCURSOR);
5013
72.3k
    if (yych == 'L') goto yy421;
5014
70.7k
    if (yych == 'l') goto yy421;
5015
2.23k
    goto yy48;
5016
9.70k
yy323:
5017
9.70k
    YYDEBUG(323, *YYCURSOR);
5018
9.70k
    yyaccept = 4;
5019
9.70k
    yych = *(YYMARKER = ++YYCURSOR);
5020
9.70k
    if (yych == 'D') goto yy422;
5021
9.17k
    if (yych == 'd') goto yy422;
5022
2.70k
    goto yy48;
5023
26.3k
yy324:
5024
26.3k
    YYDEBUG(324, *YYCURSOR);
5025
26.3k
    yyaccept = 4;
5026
26.3k
    yych = *(YYMARKER = ++YYCURSOR);
5027
26.3k
    if (yych == 'U') goto yy423;
5028
24.7k
    if (yych == 'u') goto yy423;
5029
5.04k
    goto yy48;
5030
29.1k
yy325:
5031
29.1k
    YYDEBUG(325, *YYCURSOR);
5032
29.1k
    yyaccept = 4;
5033
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
5034
29.1k
    if (yych == 'U') goto yy424;
5035
28.2k
    if (yych == 'u') goto yy424;
5036
734
    goto yy48;
5037
21.4k
yy326:
5038
21.4k
    YYDEBUG(326, *YYCURSOR);
5039
21.4k
    yyaccept = 4;
5040
21.4k
    yych = *(YYMARKER = ++YYCURSOR);
5041
21.4k
    if (yych == 'T') goto yy425;
5042
20.9k
    if (yych == 't') goto yy425;
5043
1.55k
    goto yy48;
5044
7.85k
yy327:
5045
7.85k
    YYDEBUG(327, *YYCURSOR);
5046
7.85k
    yyaccept = 4;
5047
7.85k
    yych = *(YYMARKER = ++YYCURSOR);
5048
7.85k
    if (yych == 'T') goto yy426;
5049
7.50k
    if (yych == 't') goto yy426;
5050
604
    goto yy48;
5051
15.2k
yy328:
5052
15.2k
    YYDEBUG(328, *YYCURSOR);
5053
15.2k
    yyaccept = 4;
5054
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
5055
15.2k
    if (yych == 'O') goto yy427;
5056
14.0k
    if (yych == 'o') goto yy427;
5057
987
    goto yy48;
5058
14.3k
yy329:
5059
14.3k
    YYDEBUG(329, *YYCURSOR);
5060
14.3k
    yyaccept = 4;
5061
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
5062
14.3k
    if (yych == 'I') goto yy428;
5063
13.0k
    if (yych == 'i') goto yy428;
5064
1.85k
    goto yy48;
5065
44.2k
yy330:
5066
44.2k
    YYDEBUG(330, *YYCURSOR);
5067
44.2k
    yyaccept = 22;
5068
44.2k
    yych = *(YYMARKER = ++YYCURSOR);
5069
44.2k
    if (yybm[256+yych] & 128) {
5070
1.99k
      goto yy47;
5071
1.99k
    }
5072
42.2k
    if (yych == '\\') goto yy164;
5073
42.2k
yy331:
5074
42.2k
    YYDEBUG(331, *YYCURSOR);
5075
42.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5076
42.2k
#line 1437 "Zend/zend_language_scanner.l"
5077
42.2k
    {
5078
42.2k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5079
42.2k
}
5080
0
#line 5081 "Zend/zend_language_scanner.c"
5081
19.7k
yy332:
5082
19.7k
    YYDEBUG(332, *YYCURSOR);
5083
19.7k
    yyaccept = 4;
5084
19.7k
    yych = *(YYMARKER = ++YYCURSOR);
5085
19.7k
    if (yych == 'E') goto yy429;
5086
18.3k
    if (yych == 'e') goto yy429;
5087
1.34k
    goto yy48;
5088
14.7k
yy333:
5089
14.7k
    YYDEBUG(333, *YYCURSOR);
5090
14.7k
    yyaccept = 23;
5091
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
5092
14.7k
    if (yybm[256+yych] & 128) {
5093
2.49k
      goto yy47;
5094
2.49k
    }
5095
12.2k
    if (yych == '\\') goto yy164;
5096
11.7k
yy334:
5097
11.7k
    YYDEBUG(334, *YYCURSOR);
5098
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5099
11.7k
#line 1741 "Zend/zend_language_scanner.l"
5100
11.7k
    {
5101
11.7k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5102
11.7k
}
5103
0
#line 5104 "Zend/zend_language_scanner.c"
5104
99.9k
yy335:
5105
99.9k
    YYDEBUG(335, *YYCURSOR);
5106
99.9k
    yyaccept = 24;
5107
99.9k
    yych = *(YYMARKER = ++YYCURSOR);
5108
99.9k
    if (yybm[256+yych] & 128) {
5109
96.1k
      goto yy47;
5110
96.1k
    }
5111
3.76k
    if (yych == '\\') goto yy164;
5112
3.66k
yy336:
5113
3.66k
    YYDEBUG(336, *YYCURSOR);
5114
3.66k
    yyleng = YYCURSOR - SCNG(yy_text);
5115
3.66k
#line 1633 "Zend/zend_language_scanner.l"
5116
3.66k
    {
5117
3.66k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5118
3.66k
}
5119
0
#line 5120 "Zend/zend_language_scanner.c"
5120
5.10k
yy337:
5121
5.10k
    YYDEBUG(337, *YYCURSOR);
5122
5.10k
    yyaccept = 4;
5123
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
5124
5.10k
    if (yych == 'L') goto yy430;
5125
4.68k
    if (yych == 'l') goto yy430;
5126
645
    goto yy48;
5127
4.87k
yy338:
5128
4.87k
    YYDEBUG(338, *YYCURSOR);
5129
4.87k
    yyaccept = 25;
5130
4.87k
    yych = *(YYMARKER = ++YYCURSOR);
5131
4.87k
    if (yybm[256+yych] & 128) {
5132
218
      goto yy47;
5133
218
    }
5134
4.66k
    if (yych == '\\') goto yy164;
5135
4.65k
yy339:
5136
4.65k
    YYDEBUG(339, *YYCURSOR);
5137
4.65k
    yyleng = YYCURSOR - SCNG(yy_text);
5138
4.65k
#line 1937 "Zend/zend_language_scanner.l"
5139
4.65k
    {
5140
4.65k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5141
4.65k
}
5142
0
#line 5143 "Zend/zend_language_scanner.c"
5143
95.6k
yy340:
5144
95.6k
    YYDEBUG(340, *YYCURSOR);
5145
95.6k
    yyaccept = 4;
5146
95.6k
    yych = *(YYMARKER = ++YYCURSOR);
5147
95.6k
    if (yych == 'L') goto yy431;
5148
93.4k
    if (yych == 'l') goto yy431;
5149
5.79k
    goto yy48;
5150
24.7k
yy341:
5151
24.7k
    YYDEBUG(341, *YYCURSOR);
5152
24.7k
    ++YYCURSOR;
5153
24.7k
    YYFILL(1);
5154
24.7k
    yych = *YYCURSOR;
5155
24.7k
    if (yych <= '_') {
5156
20.0k
      if (yych <= '@') goto yy86;
5157
17.4k
      if (yych <= 'Z') goto yy211;
5158
4.77k
      if (yych <= '^') goto yy86;
5159
1.39k
      goto yy211;
5160
4.77k
    } else {
5161
4.65k
      if (yych <= '`') goto yy86;
5162
4.23k
      if (yych <= 'z') goto yy211;
5163
2.10k
      if (yych <= 0x7F) goto yy86;
5164
1.48k
      goto yy211;
5165
2.10k
    }
5166
22.2k
yy342:
5167
22.2k
    YYDEBUG(342, *YYCURSOR);
5168
22.2k
    yyaccept = 4;
5169
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
5170
22.2k
    if (yych == 'L') goto yy432;
5171
19.9k
    if (yych == 'l') goto yy432;
5172
11.4k
    goto yy48;
5173
11.4k
yy343:
5174
11.2k
    YYDEBUG(343, *YYCURSOR);
5175
11.2k
    yyaccept = 4;
5176
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
5177
11.2k
    if (yych == 'I') goto yy433;
5178
8.43k
    if (yych == 'i') goto yy433;
5179
5.14k
    goto yy48;
5180
39.2k
yy344:
5181
39.2k
    YYDEBUG(344, *YYCURSOR);
5182
39.2k
    yyaccept = 4;
5183
39.2k
    yych = *(YYMARKER = ++YYCURSOR);
5184
39.2k
    if (yych <= 'U') {
5185
13.1k
      if (yych == 'I') goto yy434;
5186
4.53k
      if (yych <= 'T') goto yy48;
5187
3.41k
      goto yy435;
5188
26.0k
    } else {
5189
26.0k
      if (yych <= 'i') {
5190
6.22k
        if (yych <= 'h') goto yy48;
5191
4.48k
        goto yy434;
5192
19.8k
      } else {
5193
19.8k
        if (yych == 'u') goto yy435;
5194
980
        goto yy48;
5195
19.8k
      }
5196
26.0k
    }
5197
7.66k
yy345:
5198
7.66k
    YYDEBUG(345, *YYCURSOR);
5199
7.66k
    yyaccept = 4;
5200
7.66k
    yych = *(YYMARKER = ++YYCURSOR);
5201
7.66k
    if (yych == 'A') goto yy436;
5202
6.14k
    if (yych == 'a') goto yy436;
5203
611
    goto yy48;
5204
5.24k
yy346:
5205
5.24k
    YYDEBUG(346, *YYCURSOR);
5206
5.24k
    yyaccept = 4;
5207
5.24k
    yych = *(YYMARKER = ++YYCURSOR);
5208
5.24k
    if (yych == 'I') goto yy437;
5209
3.39k
    if (yych == 'i') goto yy437;
5210
1.14k
    goto yy48;
5211
16.4k
yy347:
5212
16.4k
    YYDEBUG(347, *YYCURSOR);
5213
16.4k
    yyaccept = 4;
5214
16.4k
    yych = *(YYMARKER = ++YYCURSOR);
5215
16.4k
    if (yych == 'E') goto yy438;
5216
8.76k
    if (yych == 'e') goto yy438;
5217
768
    goto yy48;
5218
11.8k
yy348:
5219
11.8k
    YYDEBUG(348, *YYCURSOR);
5220
11.8k
    yyaccept = 4;
5221
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5222
11.8k
    if (yych == 'A') goto yy439;
5223
8.35k
    if (yych == 'a') goto yy439;
5224
978
    goto yy48;
5225
7.63k
yy349:
5226
7.63k
    YYDEBUG(349, *YYCURSOR);
5227
7.63k
    yyaccept = 4;
5228
7.63k
    yych = *(YYMARKER = ++YYCURSOR);
5229
7.63k
    if (yych == 'R') goto yy440;
5230
1.77k
    if (yych == 'r') goto yy440;
5231
1.16k
    goto yy48;
5232
8.72k
yy350:
5233
8.72k
    YYDEBUG(350, *YYCURSOR);
5234
8.72k
    yyaccept = 4;
5235
8.72k
    yych = *(YYMARKER = ++YYCURSOR);
5236
8.72k
    if (yych == 'R') goto yy441;
5237
7.53k
    if (yych == 'r') goto yy441;
5238
2.26k
    goto yy48;
5239
14.7k
yy351:
5240
14.7k
    YYDEBUG(351, *YYCURSOR);
5241
14.7k
    ++YYCURSOR;
5242
14.7k
    YYFILL(1);
5243
14.7k
    yych = *YYCURSOR;
5244
14.7k
    if (yybm[0+yych] & 2) {
5245
1.97k
      goto yy225;
5246
1.97k
    }
5247
12.7k
    if (yych <= 0x00) goto yy86;
5248
12.0k
    goto yy227;
5249
12.0k
yy352:
5250
4.01k
    YYDEBUG(352, *YYCURSOR);
5251
4.01k
    yyaccept = 26;
5252
4.01k
    YYMARKER = ++YYCURSOR;
5253
4.01k
    YYFILL(1);
5254
4.01k
    yych = *YYCURSOR;
5255
4.01k
    if (yybm[0+yych] & 2) {
5256
3.25k
      goto yy225;
5257
3.25k
    }
5258
758
    if (yych <= 0x00) goto yy89;
5259
404
    goto yy84;
5260
13.9k
yy353:
5261
13.9k
    YYDEBUG(353, *YYCURSOR);
5262
13.9k
    ++YYCURSOR;
5263
13.9k
    YYFILL(1);
5264
13.9k
    yych = *YYCURSOR;
5265
13.9k
    if (yych <= '\f') {
5266
1.35k
      if (yych <= 0x00) goto yy86;
5267
1.25k
      if (yych == '\n') goto yy84;
5268
266
      goto yy225;
5269
12.6k
    } else {
5270
12.6k
      if (yych <= '\r') goto yy84;
5271
10.3k
      if (yych == '.') goto yy442;
5272
5.09k
      goto yy225;
5273
10.3k
    }
5274
49.5k
yy354:
5275
49.5k
    YYDEBUG(354, *YYCURSOR);
5276
49.5k
    ++YYCURSOR;
5277
49.5k
    YYFILL(1);
5278
49.5k
    yych = *YYCURSOR;
5279
49.5k
    if (yych <= '\f') {
5280
1.10k
      if (yych <= 0x00) goto yy86;
5281
623
      if (yych == '\n') goto yy84;
5282
267
      goto yy225;
5283
48.4k
    } else {
5284
48.4k
      if (yych <= '\r') goto yy84;
5285
45.6k
      if (yych == '*') goto yy443;
5286
4.81k
      goto yy225;
5287
45.6k
    }
5288
32.4k
yy355:
5289
32.4k
    YYDEBUG(355, *YYCURSOR);
5290
32.4k
    ++YYCURSOR;
5291
32.4k
    YYFILL(1);
5292
32.4k
    yych = *YYCURSOR;
5293
32.4k
    YYDEBUG(356, *YYCURSOR);
5294
32.4k
    if (yybm[0+yych] & 64) {
5295
1.34k
      goto yy355;
5296
1.34k
    }
5297
31.1k
    if (yych <= 0x00) goto yy86;
5298
30.7k
    if (yych == '/') goto yy84;
5299
8.95k
    goto yy230;
5300
12.1k
yy357:
5301
12.1k
    YYDEBUG(357, *YYCURSOR);
5302
12.1k
    yych = *++YYCURSOR;
5303
12.1k
    if (yych == 'A') goto yy445;
5304
12.0k
    if (yych == 'a') goto yy445;
5305
1.62k
    goto yy86;
5306
5.52k
yy358:
5307
5.52k
    YYDEBUG(358, *YYCURSOR);
5308
5.52k
    yych = *++YYCURSOR;
5309
5.52k
    if (yych == 'A') goto yy446;
5310
1.56k
    if (yych == 'a') goto yy446;
5311
411
    goto yy86;
5312
5.13k
yy359:
5313
5.13k
    YYDEBUG(359, *YYCURSOR);
5314
5.13k
    yych = *++YYCURSOR;
5315
5.13k
    if (yych == 'L') goto yy447;
5316
5.05k
    if (yych == 'l') goto yy447;
5317
649
    goto yy86;
5318
5.70k
yy360:
5319
5.70k
    YYDEBUG(360, *YYCURSOR);
5320
5.70k
    yych = *++YYCURSOR;
5321
5.70k
    if (yych == 'B') goto yy448;
5322
3.59k
    if (yych == 'b') goto yy448;
5323
1.30k
    goto yy86;
5324
3.05k
yy361:
5325
3.05k
    YYDEBUG(361, *YYCURSOR);
5326
3.05k
    yych = *++YYCURSOR;
5327
3.05k
    if (yych == 'A') goto yy449;
5328
2.79k
    if (yych == 'a') goto yy449;
5329
418
    goto yy86;
5330
10.1k
yy362:
5331
10.1k
    YYDEBUG(362, *YYCURSOR);
5332
10.1k
    yych = *++YYCURSOR;
5333
10.1k
    if (yych == 'E') goto yy454;
5334
9.44k
    if (yych == 'e') goto yy454;
5335
4.85k
    goto yy451;
5336
5.33k
yy363:
5337
5.33k
    YYDEBUG(363, *YYCURSOR);
5338
5.33k
    yych = *++YYCURSOR;
5339
5.33k
    if (yych == 'E') goto yy455;
5340
5.16k
    if (yych == 'e') goto yy455;
5341
2.03k
    goto yy86;
5342
2.03k
yy364:
5343
1.30k
    YYDEBUG(364, *YYCURSOR);
5344
1.30k
    yych = *++YYCURSOR;
5345
1.30k
    if (yych == 'L') goto yy456;
5346
769
    if (yych == 'l') goto yy456;
5347
490
    goto yy86;
5348
17.8k
yy365:
5349
17.8k
    YYDEBUG(365, *YYCURSOR);
5350
17.8k
    yych = *++YYCURSOR;
5351
17.8k
    if (yych == 'I') goto yy458;
5352
17.3k
    if (yych == 'i') goto yy458;
5353
2.91k
    goto yy86;
5354
3.59k
yy366:
5355
3.59k
    YYDEBUG(366, *YYCURSOR);
5356
3.59k
    yych = *++YYCURSOR;
5357
3.59k
    if (yych == 'E') goto yy459;
5358
3.26k
    if (yych == 'e') goto yy459;
5359
430
    goto yy86;
5360
1.54k
yy367:
5361
1.54k
    YYDEBUG(367, *YYCURSOR);
5362
1.54k
    yych = *++YYCURSOR;
5363
1.54k
    if (yych == 'D') goto yy460;
5364
1.44k
    if (yych == 'd') goto yy460;
5365
455
    goto yy86;
5366
16.7k
yy368:
5367
16.7k
    YYDEBUG(368, *YYCURSOR);
5368
16.7k
    ++YYCURSOR;
5369
16.7k
    YYFILL(1);
5370
16.7k
    yych = *YYCURSOR;
5371
16.7k
    YYDEBUG(369, *YYCURSOR);
5372
16.7k
    if (yych <= '\f') {
5373
3.56k
      if (yych <= 0x08) goto yy129;
5374
3.26k
      if (yych <= '\n') goto yy368;
5375
254
      goto yy129;
5376
13.1k
    } else {
5377
13.1k
      if (yych <= '\r') goto yy368;
5378
12.7k
      if (yych == ' ') goto yy368;
5379
7.77k
      goto yy129;
5380
12.7k
    }
5381
4.11k
yy370:
5382
4.11k
    YYDEBUG(370, *YYCURSOR);
5383
4.11k
    yych = *++YYCURSOR;
5384
4.11k
    if (yych == '"') goto yy86;
5385
3.66k
    if (yych <= '/') goto yy463;
5386
2.27k
    if (yych <= '9') goto yy86;
5387
2.05k
    goto yy463;
5388
10.2k
yy371:
5389
10.2k
    YYDEBUG(371, *YYCURSOR);
5390
10.2k
    yych = *++YYCURSOR;
5391
10.2k
    if (yych == '\'') goto yy86;
5392
10.1k
    if (yych <= '/') goto yy465;
5393
9.78k
    if (yych <= '9') goto yy86;
5394
9.61k
    goto yy465;
5395
5.10M
yy372:
5396
5.10M
    YYDEBUG(372, *YYCURSOR);
5397
5.10M
    ++YYCURSOR;
5398
5.10M
    YYFILL(2);
5399
5.10M
    yych = *YYCURSOR;
5400
5.10M
    YYDEBUG(373, *YYCURSOR);
5401
5.10M
    if (yych <= '@') {
5402
3.67M
      if (yych <= '\f') {
5403
3.47M
        if (yych == '\n') goto yy466;
5404
35.2k
        goto yy86;
5405
3.47M
      } else {
5406
201k
        if (yych <= '\r') goto yy468;
5407
183k
        if (yych <= '/') goto yy86;
5408
117k
        if (yych <= '9') goto yy372;
5409
37.5k
        goto yy86;
5410
117k
      }
5411
3.67M
    } else {
5412
1.43M
      if (yych <= '_') {
5413
220k
        if (yych <= 'Z') goto yy372;
5414
31.2k
        if (yych <= '^') goto yy86;
5415
21.4k
        goto yy372;
5416
1.21M
      } else {
5417
1.21M
        if (yych <= '`') goto yy86;
5418
1.20M
        if (yych <= 'z') goto yy372;
5419
739k
        if (yych <= 0x7F) goto yy86;
5420
728k
        goto yy372;
5421
739k
      }
5422
1.43M
    }
5423
8.43k
yy374:
5424
8.43k
    YYDEBUG(374, *YYCURSOR);
5425
8.43k
    yyaccept = 4;
5426
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
5427
8.43k
    if (yych == 'R') goto yy469;
5428
7.08k
    if (yych == 'r') goto yy469;
5429
312
    goto yy48;
5430
29.4k
yy375:
5431
29.4k
    YYDEBUG(375, *YYCURSOR);
5432
29.4k
    yyaccept = 4;
5433
29.4k
    yych = *(YYMARKER = ++YYCURSOR);
5434
29.4k
    if (yych == 'Y') goto yy470;
5435
28.4k
    if (yych == 'y') goto yy470;
5436
1.43k
    goto yy48;
5437
4.23k
yy376:
5438
4.23k
    YYDEBUG(376, *YYCURSOR);
5439
4.23k
    yyaccept = 4;
5440
4.23k
    yych = *(YYMARKER = ++YYCURSOR);
5441
4.23k
    if (yych == 'K') goto yy472;
5442
3.79k
    if (yych == 'k') goto yy472;
5443
950
    goto yy48;
5444
14.9k
yy377:
5445
14.9k
    YYDEBUG(377, *YYCURSOR);
5446
14.9k
    yyaccept = 4;
5447
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
5448
14.9k
    if (yych == 'A') goto yy474;
5449
14.0k
    if (yych == 'a') goto yy474;
5450
10.2k
    goto yy48;
5451
10.3k
yy378:
5452
10.3k
    YYDEBUG(378, *YYCURSOR);
5453
10.3k
    yyaccept = 27;
5454
10.3k
    yych = *(YYMARKER = ++YYCURSOR);
5455
10.3k
    if (yybm[256+yych] & 128) {
5456
918
      goto yy47;
5457
918
    }
5458
9.42k
    if (yych == '\\') goto yy164;
5459
9.42k
yy379:
5460
9.42k
    YYDEBUG(379, *YYCURSOR);
5461
9.42k
    yyleng = YYCURSOR - SCNG(yy_text);
5462
9.42k
#line 1525 "Zend/zend_language_scanner.l"
5463
9.42k
    {
5464
9.42k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5465
9.42k
}
5466
0
#line 5467 "Zend/zend_language_scanner.c"
5467
38.5k
yy380:
5468
38.5k
    YYDEBUG(380, *YYCURSOR);
5469
38.5k
    yyaccept = 4;
5470
38.5k
    yych = *(YYMARKER = ++YYCURSOR);
5471
38.5k
    if (yych == 'H') goto yy475;
5472
38.0k
    if (yych == 'h') goto yy475;
5473
1.12k
    goto yy48;
5474
79.8k
yy381:
5475
79.8k
    YYDEBUG(381, *YYCURSOR);
5476
79.8k
    yyaccept = 4;
5477
79.8k
    yych = *(YYMARKER = ++YYCURSOR);
5478
79.8k
    if (yych == 'S') goto yy477;
5479
78.3k
    if (yych == 's') goto yy477;
5480
1.06k
    goto yy48;
5481
5.06k
yy382:
5482
5.06k
    YYDEBUG(382, *YYCURSOR);
5483
5.06k
    yyaccept = 4;
5484
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
5485
5.06k
    if (yych == 'E') goto yy479;
5486
4.65k
    if (yych == 'e') goto yy479;
5487
530
    goto yy48;
5488
50.5k
yy383:
5489
50.5k
    YYDEBUG(383, *YYCURSOR);
5490
50.5k
    yyaccept = 4;
5491
50.5k
    yych = *(YYMARKER = ++YYCURSOR);
5492
50.5k
    if (yych == 'T') goto yy481;
5493
47.5k
    if (yych == 't') goto yy481;
5494
3.69k
    goto yy48;
5495
10.6k
yy384:
5496
10.6k
    YYDEBUG(384, *YYCURSOR);
5497
10.6k
    yyaccept = 4;
5498
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5499
10.6k
    if (yych == 'I') goto yy483;
5500
8.46k
    if (yych == 'i') goto yy483;
5501
4.21k
    goto yy48;
5502
10.4k
yy385:
5503
10.4k
    YYDEBUG(385, *YYCURSOR);
5504
10.4k
    yyaccept = 4;
5505
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
5506
10.4k
    if (yych == 'A') goto yy484;
5507
9.27k
    if (yych == 'a') goto yy484;
5508
805
    goto yy48;
5509
5.07k
yy386:
5510
5.07k
    YYDEBUG(386, *YYCURSOR);
5511
5.07k
    yyaccept = 4;
5512
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
5513
5.07k
    if (yych == 'U') goto yy485;
5514
4.58k
    if (yych == 'u') goto yy485;
5515
662
    goto yy48;
5516
79.1k
yy387:
5517
79.1k
    YYDEBUG(387, *YYCURSOR);
5518
79.1k
    yyaccept = 28;
5519
79.1k
    yych = *(YYMARKER = ++YYCURSOR);
5520
79.1k
    if (yybm[256+yych] & 128) {
5521
1.18k
      goto yy47;
5522
1.18k
    }
5523
77.9k
    if (yych == '\\') goto yy164;
5524
77.9k
yy388:
5525
77.9k
    YYDEBUG(388, *YYCURSOR);
5526
77.9k
    yyleng = YYCURSOR - SCNG(yy_text);
5527
77.9k
#line 1545 "Zend/zend_language_scanner.l"
5528
77.9k
    {
5529
77.9k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5530
77.9k
}
5531
0
#line 5532 "Zend/zend_language_scanner.c"
5532
16.0k
yy389:
5533
16.0k
    YYDEBUG(389, *YYCURSOR);
5534
16.0k
    yyaccept = 29;
5535
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5536
16.0k
    if (yych <= '\\') {
5537
9.15k
      if (yych <= 'H') {
5538
5.33k
        if (yych <= '/') goto yy390;
5539
2.29k
        if (yych <= '9') goto yy47;
5540
2.06k
        if (yych >= 'A') goto yy47;
5541
3.82k
      } else {
5542
3.82k
        if (yych <= 'I') goto yy486;
5543
3.36k
        if (yych <= 'Z') goto yy47;
5544
1.08k
        if (yych >= '\\') goto yy164;
5545
1.08k
      }
5546
9.15k
    } else {
5547
6.88k
      if (yych <= 'h') {
5548
615
        if (yych == '_') goto yy47;
5549
306
        if (yych >= 'a') goto yy47;
5550
6.27k
      } else {
5551
6.27k
        if (yych <= 'i') goto yy486;
5552
1.50k
        if (yych <= 'z') goto yy47;
5553
905
        if (yych >= 0x80) goto yy47;
5554
905
      }
5555
6.88k
    }
5556
6.21k
yy390:
5557
6.21k
    YYDEBUG(390, *YYCURSOR);
5558
6.21k
    yyleng = YYCURSOR - SCNG(yy_text);
5559
6.21k
#line 1465 "Zend/zend_language_scanner.l"
5560
6.21k
    {
5561
6.21k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5562
6.21k
}
5563
0
#line 5564 "Zend/zend_language_scanner.c"
5564
5.63k
yy391:
5565
5.63k
    YYDEBUG(391, *YYCURSOR);
5566
5.63k
    yyaccept = 4;
5567
5.63k
    yych = *(YYMARKER = ++YYCURSOR);
5568
5.63k
    if (yych == 'Y') goto yy487;
5569
3.46k
    if (yych == 'y') goto yy487;
5570
429
    goto yy48;
5571
6.35k
yy392:
5572
6.35k
    YYDEBUG(392, *YYCURSOR);
5573
6.35k
    yyaccept = 4;
5574
6.35k
    yych = *(YYMARKER = ++YYCURSOR);
5575
6.35k
    if (yych == 'E') goto yy489;
5576
5.23k
    if (yych == 'e') goto yy489;
5577
1.09k
    goto yy48;
5578
12.4k
yy393:
5579
12.4k
    YYDEBUG(393, *YYCURSOR);
5580
12.4k
    yyaccept = 4;
5581
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5582
12.4k
    if (yych == 'O') goto yy490;
5583
8.91k
    if (yych == 'o') goto yy490;
5584
1.18k
    goto yy48;
5585
6.65k
yy394:
5586
6.65k
    YYDEBUG(394, *YYCURSOR);
5587
6.65k
    yyaccept = 4;
5588
6.65k
    yych = *(YYMARKER = ++YYCURSOR);
5589
6.65k
    if (yych == 'F') goto yy491;
5590
3.78k
    if (yych == 'f') goto yy491;
5591
985
    goto yy48;
5592
7.47k
yy395:
5593
7.47k
    YYDEBUG(395, *YYCURSOR);
5594
7.47k
    yyaccept = 4;
5595
7.47k
    yych = *(YYMARKER = ++YYCURSOR);
5596
7.47k
    if (yych == 'W') goto yy493;
5597
6.34k
    if (yych == 'w') goto yy493;
5598
4.04k
    goto yy48;
5599
9.09k
yy396:
5600
9.09k
    YYDEBUG(396, *YYCURSOR);
5601
9.09k
    yyaccept = 4;
5602
9.09k
    yych = *(YYMARKER = ++YYCURSOR);
5603
9.09k
    if (yych == 'H') goto yy494;
5604
6.61k
    if (yych == 'h') goto yy494;
5605
2.04k
    goto yy48;
5606
157k
yy397:
5607
157k
    YYDEBUG(397, *YYCURSOR);
5608
157k
    yyaccept = 4;
5609
157k
    yych = *(YYMARKER = ++YYCURSOR);
5610
157k
    if (yych <= 0x1F) {
5611
128k
      if (yych <= '\n') {
5612
7.14k
        if (yych <= 0x08) goto yy48;
5613
5.97k
        goto yy495;
5614
121k
      } else {
5615
121k
        if (yych == '\r') goto yy495;
5616
2.08k
        goto yy48;
5617
121k
      }
5618
128k
    } else {
5619
29.1k
      if (yych <= '#') {
5620
16.7k
        if (yych <= ' ') goto yy495;
5621
9.74k
        if (yych <= '"') goto yy48;
5622
9.15k
        goto yy497;
5623
12.3k
      } else {
5624
12.3k
        if (yych == '/') goto yy498;
5625
11.2k
        goto yy48;
5626
12.3k
      }
5627
29.1k
    }
5628
5.28k
yy398:
5629
5.28k
    YYDEBUG(398, *YYCURSOR);
5630
5.28k
    yyaccept = 30;
5631
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
5632
5.28k
    if (yybm[256+yych] & 128) {
5633
1.56k
      goto yy47;
5634
1.56k
    }
5635
3.72k
    if (yych == '\\') goto yy164;
5636
3.71k
yy399:
5637
3.71k
    YYDEBUG(399, *YYCURSOR);
5638
3.71k
    yyleng = YYCURSOR - SCNG(yy_text);
5639
3.71k
#line 1717 "Zend/zend_language_scanner.l"
5640
3.71k
    {
5641
3.71k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5642
3.71k
}
5643
0
#line 5644 "Zend/zend_language_scanner.c"
5644
2.18k
yy400:
5645
2.18k
    YYDEBUG(400, *YYCURSOR);
5646
2.18k
    yyaccept = 31;
5647
2.18k
    yych = *(YYMARKER = ++YYCURSOR);
5648
2.18k
    if (yybm[256+yych] & 128) {
5649
703
      goto yy47;
5650
703
    }
5651
1.47k
    if (yych == '\\') goto yy164;
5652
1.44k
yy401:
5653
1.44k
    YYDEBUG(401, *YYCURSOR);
5654
1.44k
    yyleng = YYCURSOR - SCNG(yy_text);
5655
1.44k
#line 1398 "Zend/zend_language_scanner.l"
5656
1.44k
    {
5657
1.44k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5658
1.44k
}
5659
0
#line 5660 "Zend/zend_language_scanner.c"
5660
21.0k
yy402:
5661
21.0k
    YYDEBUG(402, *YYCURSOR);
5662
21.0k
    yyaccept = 4;
5663
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
5664
21.0k
    if (yych == 'N') goto yy499;
5665
19.7k
    if (yych == 'n') goto yy499;
5666
2.21k
    goto yy48;
5667
15.7k
yy403:
5668
15.7k
    YYDEBUG(403, *YYCURSOR);
5669
15.7k
    yyaccept = 4;
5670
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
5671
15.7k
    if (yych == 'L') goto yy500;
5672
14.8k
    if (yych == 'l') goto yy500;
5673
1.48k
    goto yy48;
5674
26.0k
yy404:
5675
26.0k
    YYDEBUG(404, *YYCURSOR);
5676
26.0k
    yyaccept = 4;
5677
26.0k
    yych = *(YYMARKER = ++YYCURSOR);
5678
26.0k
    if (yych == 'A') goto yy502;
5679
25.7k
    if (yych == 'a') goto yy502;
5680
1.62k
    goto yy48;
5681
111k
yy405:
5682
111k
    YYDEBUG(405, *YYCURSOR);
5683
111k
    yyaccept = 4;
5684
111k
    yych = *(YYMARKER = ++YYCURSOR);
5685
111k
    if (yych == 'T') goto yy503;
5686
109k
    if (yych == 't') goto yy503;
5687
6.94k
    goto yy48;
5688
8.21k
yy406:
5689
8.21k
    YYDEBUG(406, *YYCURSOR);
5690
8.21k
    yyaccept = 4;
5691
8.21k
    yych = *(YYMARKER = ++YYCURSOR);
5692
8.21k
    if (yych == 'A') goto yy504;
5693
4.94k
    if (yych == 'a') goto yy504;
5694
936
    goto yy48;
5695
5.33k
yy407:
5696
5.33k
    YYDEBUG(407, *YYCURSOR);
5697
5.33k
    yyaccept = 32;
5698
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
5699
5.33k
    if (yybm[256+yych] & 128) {
5700
518
      goto yy47;
5701
518
    }
5702
4.81k
    if (yych == '\\') goto yy164;
5703
4.80k
yy408:
5704
4.80k
    YYDEBUG(408, *YYCURSOR);
5705
4.80k
    yyleng = YYCURSOR - SCNG(yy_text);
5706
4.80k
#line 1541 "Zend/zend_language_scanner.l"
5707
4.80k
    {
5708
4.80k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5709
4.80k
}
5710
0
#line 5711 "Zend/zend_language_scanner.c"
5711
25.4k
yy409:
5712
25.4k
    YYDEBUG(409, *YYCURSOR);
5713
25.4k
    yyaccept = 4;
5714
25.4k
    yych = *(YYMARKER = ++YYCURSOR);
5715
25.4k
    if (yych == 'E') goto yy505;
5716
21.5k
    if (yych == 'e') goto yy505;
5717
3.14k
    goto yy48;
5718
11.5k
yy410:
5719
11.5k
    YYDEBUG(410, *YYCURSOR);
5720
11.5k
    yyaccept = 4;
5721
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
5722
11.5k
    if (yych == 'U') goto yy506;
5723
10.4k
    if (yych == 'u') goto yy506;
5724
1.08k
    goto yy48;
5725
16.1k
yy411:
5726
16.1k
    YYDEBUG(411, *YYCURSOR);
5727
16.1k
    yyaccept = 4;
5728
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
5729
16.1k
    if (yych <= 'E') {
5730
2.95k
      if (yych == 'A') goto yy507;
5731
1.33k
      if (yych <= 'D') goto yy48;
5732
722
      goto yy508;
5733
13.1k
    } else {
5734
13.1k
      if (yych <= 'a') {
5735
4.48k
        if (yych <= '`') goto yy48;
5736
4.10k
        goto yy507;
5737
8.70k
      } else {
5738
8.70k
        if (yych == 'e') goto yy508;
5739
292
        goto yy48;
5740
8.70k
      }
5741
13.1k
    }
5742
15.5k
yy412:
5743
15.5k
    YYDEBUG(412, *YYCURSOR);
5744
15.5k
    yyaccept = 4;
5745
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
5746
15.5k
    if (yych == 'R') goto yy509;
5747
14.9k
    if (yych == 'r') goto yy509;
5748
6.75k
    goto yy48;
5749
16.2k
yy413:
5750
16.2k
    YYDEBUG(413, *YYCURSOR);
5751
16.2k
    yyaccept = 4;
5752
16.2k
    yych = *(YYMARKER = ++YYCURSOR);
5753
16.2k
    if (yych == 'T') goto yy510;
5754
15.8k
    if (yych == 't') goto yy510;
5755
546
    goto yy48;
5756
4.72k
yy414:
5757
4.72k
    YYDEBUG(414, *YYCURSOR);
5758
4.72k
    yyaccept = 33;
5759
4.72k
    yych = *(YYMARKER = ++YYCURSOR);
5760
4.72k
    if (yybm[256+yych] & 128) {
5761
869
      goto yy47;
5762
869
    }
5763
3.86k
    if (yych == '\\') goto yy164;
5764
3.84k
yy415:
5765
3.84k
    YYDEBUG(415, *YYCURSOR);
5766
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
5767
3.84k
#line 1813 "Zend/zend_language_scanner.l"
5768
3.84k
    {
5769
3.84k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5770
3.84k
}
5771
0
#line 5772 "Zend/zend_language_scanner.c"
5772
5.35k
yy416:
5773
5.35k
    YYDEBUG(416, *YYCURSOR);
5774
5.35k
    yyaccept = 4;
5775
5.35k
    yych = *(YYMARKER = ++YYCURSOR);
5776
5.35k
    if (yych == 'H') goto yy512;
5777
4.86k
    if (yych == 'h') goto yy512;
5778
1.00k
    goto yy48;
5779
25.7k
yy417:
5780
25.7k
    YYDEBUG(417, *YYCURSOR);
5781
25.7k
    yyaccept = 4;
5782
25.7k
    yych = *(YYMARKER = ++YYCURSOR);
5783
25.7k
    if (yych == 'S') goto yy514;
5784
24.1k
    if (yych == 's') goto yy514;
5785
1.81k
    goto yy48;
5786
16.0k
yy418:
5787
16.0k
    YYDEBUG(418, *YYCURSOR);
5788
16.0k
    yyaccept = 4;
5789
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5790
16.0k
    if (yych == 'T') goto yy515;
5791
15.5k
    if (yych == 't') goto yy515;
5792
795
    goto yy48;
5793
14.4k
yy419:
5794
14.4k
    YYDEBUG(419, *YYCURSOR);
5795
14.4k
    yyaccept = 4;
5796
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
5797
14.4k
    if (yych == 'A') goto yy517;
5798
13.1k
    if (yych == 'a') goto yy517;
5799
813
    goto yy48;
5800
14.8k
yy420:
5801
14.8k
    YYDEBUG(420, *YYCURSOR);
5802
14.8k
    yyaccept = 4;
5803
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
5804
14.8k
    if (yych == 'E') goto yy518;
5805
12.1k
    if (yych == 'e') goto yy518;
5806
1.72k
    goto yy48;
5807
70.1k
yy421:
5808
70.1k
    YYDEBUG(421, *YYCURSOR);
5809
70.1k
    yyaccept = 4;
5810
70.1k
    yych = *(YYMARKER = ++YYCURSOR);
5811
70.1k
    if (yych == 'I') goto yy519;
5812
68.3k
    if (yych == 'i') goto yy519;
5813
1.65k
    goto yy48;
5814
7.00k
yy422:
5815
7.00k
    YYDEBUG(422, *YYCURSOR);
5816
7.00k
    yyaccept = 4;
5817
7.00k
    yych = *(YYMARKER = ++YYCURSOR);
5818
7.00k
    if (yych == 'O') goto yy520;
5819
6.85k
    if (yych == 'o') goto yy520;
5820
1.23k
    goto yy48;
5821
21.2k
yy423:
5822
21.2k
    YYDEBUG(423, *YYCURSOR);
5823
21.2k
    yyaccept = 4;
5824
21.2k
    yych = *(YYMARKER = ++YYCURSOR);
5825
21.2k
    if (yych == 'I') goto yy521;
5826
20.0k
    if (yych == 'i') goto yy521;
5827
703
    goto yy48;
5828
28.4k
yy424:
5829
28.4k
    YYDEBUG(424, *YYCURSOR);
5830
28.4k
    yyaccept = 4;
5831
28.4k
    yych = *(YYMARKER = ++YYCURSOR);
5832
28.4k
    if (yych == 'R') goto yy522;
5833
27.8k
    if (yych == 'r') goto yy522;
5834
842
    goto yy48;
5835
19.9k
yy425:
5836
19.9k
    YYDEBUG(425, *YYCURSOR);
5837
19.9k
    yyaccept = 4;
5838
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
5839
19.9k
    if (yych == 'I') goto yy523;
5840
19.2k
    if (yych == 'i') goto yy523;
5841
857
    goto yy48;
5842
7.25k
yy426:
5843
7.25k
    YYDEBUG(426, *YYCURSOR);
5844
7.25k
    yyaccept = 4;
5845
7.25k
    yych = *(YYMARKER = ++YYCURSOR);
5846
7.25k
    if (yych == 'C') goto yy524;
5847
6.29k
    if (yych == 'c') goto yy524;
5848
887
    goto yy48;
5849
14.3k
yy427:
5850
14.3k
    YYDEBUG(427, *YYCURSOR);
5851
14.3k
    yyaccept = 4;
5852
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
5853
14.3k
    if (yych == 'W') goto yy525;
5854
13.8k
    if (yych == 'w') goto yy525;
5855
1.34k
    goto yy48;
5856
12.5k
yy428:
5857
12.5k
    YYDEBUG(428, *YYCURSOR);
5858
12.5k
    yyaccept = 4;
5859
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
5860
12.5k
    if (yych == 'T') goto yy527;
5861
11.8k
    if (yych == 't') goto yy527;
5862
1.87k
    goto yy48;
5863
18.3k
yy429:
5864
18.3k
    YYDEBUG(429, *YYCURSOR);
5865
18.3k
    yyaccept = 4;
5866
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
5867
18.3k
    if (yych == 'T') goto yy529;
5868
17.6k
    if (yych == 't') goto yy529;
5869
5.16k
    goto yy48;
5870
5.16k
yy430:
5871
4.45k
    YYDEBUG(430, *YYCURSOR);
5872
4.45k
    yyaccept = 4;
5873
4.45k
    yych = *(YYMARKER = ++YYCURSOR);
5874
4.45k
    if (yych == 'E') goto yy531;
5875
4.13k
    if (yych == 'e') goto yy531;
5876
491
    goto yy48;
5877
89.8k
yy431:
5878
89.8k
    YYDEBUG(431, *YYCURSOR);
5879
89.8k
    yyaccept = 4;
5880
89.8k
    yych = *(YYMARKER = ++YYCURSOR);
5881
89.8k
    if (yych == 'D') goto yy533;
5882
86.8k
    if (yych == 'd') goto yy533;
5883
2.59k
    goto yy48;
5884
10.7k
yy432:
5885
10.7k
    YYDEBUG(432, *YYCURSOR);
5886
10.7k
    yyaccept = 4;
5887
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
5888
10.7k
    if (yych == 'A') goto yy535;
5889
8.95k
    if (yych == 'a') goto yy535;
5890
1.90k
    goto yy48;
5891
6.07k
yy433:
5892
6.07k
    YYDEBUG(433, *YYCURSOR);
5893
6.07k
    yyaccept = 4;
5894
6.07k
    yych = *(YYMARKER = ++YYCURSOR);
5895
6.07k
    if (yych == 'R') goto yy536;
5896
3.43k
    if (yych == 'r') goto yy536;
5897
654
    goto yy48;
5898
13.0k
yy434:
5899
13.0k
    YYDEBUG(434, *YYCURSOR);
5900
13.0k
    yyaccept = 4;
5901
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
5902
13.0k
    if (yych == 'L') goto yy537;
5903
5.22k
    if (yych == 'l') goto yy537;
5904
1.13k
    goto yy48;
5905
22.2k
yy435:
5906
22.2k
    YYDEBUG(435, *YYCURSOR);
5907
22.2k
    yyaccept = 4;
5908
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
5909
22.2k
    if (yych == 'N') goto yy538;
5910
18.9k
    if (yych == 'n') goto yy538;
5911
1.16k
    goto yy48;
5912
7.05k
yy436:
5913
7.05k
    YYDEBUG(436, *YYCURSOR);
5914
7.05k
    yyaccept = 4;
5915
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
5916
7.05k
    if (yych == 'L') goto yy539;
5917
5.53k
    if (yych == 'l') goto yy539;
5918
395
    goto yy48;
5919
4.09k
yy437:
5920
4.09k
    YYDEBUG(437, *YYCURSOR);
5921
4.09k
    yyaccept = 4;
5922
4.09k
    yych = *(YYMARKER = ++YYCURSOR);
5923
4.09k
    if (yych == 'N') goto yy540;
5924
2.31k
    if (yych == 'n') goto yy540;
5925
847
    goto yy48;
5926
15.6k
yy438:
5927
15.6k
    YYDEBUG(438, *YYCURSOR);
5928
15.6k
    yyaccept = 4;
5929
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5930
15.6k
    if (yych == 'T') goto yy541;
5931
8.01k
    if (yych == 't') goto yy541;
5932
414
    goto yy48;
5933
10.8k
yy439:
5934
10.8k
    YYDEBUG(439, *YYCURSOR);
5935
10.8k
    yyaccept = 4;
5936
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5937
10.8k
    if (yych == 'M') goto yy542;
5938
7.41k
    if (yych == 'm') goto yy542;
5939
855
    goto yy48;
5940
6.47k
yy440:
5941
6.47k
    YYDEBUG(440, *YYCURSOR);
5942
6.47k
    yyaccept = 4;
5943
6.47k
    yych = *(YYMARKER = ++YYCURSOR);
5944
6.47k
    if (yych == 'O') goto yy543;
5945
2.72k
    if (yych == 'o') goto yy543;
5946
1.01k
    goto yy48;
5947
6.46k
yy441:
5948
6.46k
    YYDEBUG(441, *YYCURSOR);
5949
6.46k
    yyaccept = 4;
5950
6.46k
    yych = *(YYMARKER = ++YYCURSOR);
5951
6.46k
    if (yych == 'A') goto yy544;
5952
5.25k
    if (yych == 'a') goto yy544;
5953
811
    goto yy48;
5954
5.29k
yy442:
5955
5.29k
    YYDEBUG(442, *YYCURSOR);
5956
5.29k
    ++YYCURSOR;
5957
5.29k
    YYFILL(1);
5958
5.29k
    yych = *YYCURSOR;
5959
5.29k
    if (yych <= '\f') {
5960
593
      if (yych <= 0x00) goto yy86;
5961
469
      if (yych == '\n') goto yy84;
5962
281
      goto yy225;
5963
4.70k
    } else {
5964
4.70k
      if (yych <= '\r') goto yy84;
5965
4.38k
      if (yych == '.') goto yy352;
5966
3.28k
      goto yy225;
5967
4.38k
    }
5968
749k
yy443:
5969
749k
    YYDEBUG(443, *YYCURSOR);
5970
749k
    ++YYCURSOR;
5971
749k
    YYFILL(1);
5972
749k
    yych = *YYCURSOR;
5973
749k
    YYDEBUG(444, *YYCURSOR);
5974
749k
    if (yybm[0+yych] & 128) {
5975
593k
      goto yy443;
5976
593k
    }
5977
156k
    if (yych <= 0x00) goto yy86;
5978
153k
    if (yych <= '\r') goto yy545;
5979
20.6k
    goto yy547;
5980
20.6k
yy445:
5981
10.5k
    YYDEBUG(445, *YYCURSOR);
5982
10.5k
    yych = *++YYCURSOR;
5983
10.5k
    if (yych == 'Y') goto yy549;
5984
10.0k
    if (yych == 'y') goto yy549;
5985
458
    goto yy86;
5986
5.11k
yy446:
5987
5.11k
    YYDEBUG(446, *YYCURSOR);
5988
5.11k
    yych = *++YYCURSOR;
5989
5.11k
    if (yych == 'R') goto yy551;
5990
3.93k
    if (yych == 'r') goto yy551;
5991
1.17k
    goto yy86;
5992
4.48k
yy447:
5993
4.48k
    YYDEBUG(447, *YYCURSOR);
5994
4.48k
    yych = *++YYCURSOR;
5995
4.48k
    if (yych == 'E') goto yy556;
5996
2.66k
    if (yych == 'e') goto yy556;
5997
1.70k
    goto yy553;
5998
4.40k
yy448:
5999
4.40k
    YYDEBUG(448, *YYCURSOR);
6000
4.40k
    yych = *++YYCURSOR;
6001
4.40k
    if (yych == 'L') goto yy557;
6002
4.16k
    if (yych == 'l') goto yy557;
6003
2.06k
    goto yy86;
6004
2.63k
yy449:
6005
2.63k
    YYDEBUG(449, *YYCURSOR);
6006
2.63k
    yych = *++YYCURSOR;
6007
2.63k
    if (yych == 'T') goto yy558;
6008
2.24k
    if (yych == 't') goto yy558;
6009
325
    goto yy86;
6010
2.45k
yy450:
6011
2.45k
    YYDEBUG(450, *YYCURSOR);
6012
2.45k
    ++YYCURSOR;
6013
2.45k
    YYFILL(1);
6014
2.45k
    yych = *YYCURSOR;
6015
7.30k
yy451:
6016
7.30k
    YYDEBUG(451, *YYCURSOR);
6017
7.30k
    if (yych <= 0x1F) {
6018
680
      if (yych == '\t') goto yy450;
6019
426
      goto yy86;
6020
6.62k
    } else {
6021
6.62k
      if (yych <= ' ') goto yy450;
6022
4.43k
      if (yych != ')') goto yy86;
6023
4.43k
    }
6024
1.70k
    YYDEBUG(452, *YYCURSOR);
6025
1.70k
    ++YYCURSOR;
6026
1.70k
    YYDEBUG(453, *YYCURSOR);
6027
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
6028
1.70k
#line 1637 "Zend/zend_language_scanner.l"
6029
1.70k
    {
6030
1.70k
  RETURN_TOKEN(T_INT_CAST);
6031
1.70k
}
6032
0
#line 6033 "Zend/zend_language_scanner.c"
6033
5.25k
yy454:
6034
5.25k
    YYDEBUG(454, *YYCURSOR);
6035
5.25k
    yych = *++YYCURSOR;
6036
5.25k
    if (yych == 'G') goto yy560;
6037
4.74k
    if (yych == 'g') goto yy560;
6038
1.32k
    goto yy86;
6039
3.30k
yy455:
6040
3.30k
    YYDEBUG(455, *YYCURSOR);
6041
3.30k
    yych = *++YYCURSOR;
6042
3.30k
    if (yych == 'C') goto yy561;
6043
2.82k
    if (yych == 'c') goto yy561;
6044
355
    goto yy86;
6045
1.95k
yy456:
6046
1.95k
    YYDEBUG(456, *YYCURSOR);
6047
1.95k
    ++YYCURSOR;
6048
1.95k
    YYFILL(1);
6049
1.95k
    yych = *YYCURSOR;
6050
1.95k
    YYDEBUG(457, *YYCURSOR);
6051
1.95k
    if (yych <= 0x1F) {
6052
347
      if (yych == '\t') goto yy456;
6053
106
      goto yy86;
6054
1.61k
    } else {
6055
1.61k
      if (yych <= ' ') goto yy456;
6056
706
      if (yych == ')') goto yy562;
6057
497
      goto yy86;
6058
706
    }
6059
14.9k
yy458:
6060
14.9k
    YYDEBUG(458, *YYCURSOR);
6061
14.9k
    yych = *++YYCURSOR;
6062
14.9k
    if (yych == 'N') goto yy564;
6063
14.6k
    if (yych == 'n') goto yy564;
6064
3.49k
    goto yy86;
6065
3.49k
yy459:
6066
3.16k
    YYDEBUG(459, *YYCURSOR);
6067
3.16k
    yych = *++YYCURSOR;
6068
3.16k
    if (yych == 'T') goto yy565;
6069
2.66k
    if (yych == 't') goto yy565;
6070
1.04k
    goto yy86;
6071
3.29k
yy460:
6072
3.29k
    YYDEBUG(460, *YYCURSOR);
6073
3.29k
    ++YYCURSOR;
6074
3.29k
    YYFILL(1);
6075
3.29k
    yych = *YYCURSOR;
6076
3.29k
    YYDEBUG(461, *YYCURSOR);
6077
3.29k
    if (yych <= 0x1F) {
6078
856
      if (yych == '\t') goto yy460;
6079
61
      goto yy86;
6080
2.44k
    } else {
6081
2.44k
      if (yych <= ' ') goto yy460;
6082
1.02k
      if (yych == ')') goto yy567;
6083
545
      goto yy86;
6084
1.02k
    }
6085
11.0k
yy462:
6086
11.0k
    YYDEBUG(462, *YYCURSOR);
6087
11.0k
    ++YYCURSOR;
6088
11.0k
    YYFILL(3);
6089
11.0k
    yych = *YYCURSOR;
6090
14.5k
yy463:
6091
14.5k
    YYDEBUG(463, *YYCURSOR);
6092
14.5k
    if (yych <= 'Z') {
6093
4.13k
      if (yych <= '/') {
6094
2.24k
        if (yych == '"') goto yy569;
6095
1.84k
        goto yy86;
6096
2.24k
      } else {
6097
1.88k
        if (yych <= '9') goto yy462;
6098
1.32k
        if (yych <= '@') goto yy86;
6099
895
        goto yy462;
6100
1.32k
      }
6101
10.3k
    } else {
6102
10.3k
      if (yych <= '`') {
6103
1.20k
        if (yych == '_') goto yy462;
6104
358
        goto yy86;
6105
9.17k
      } else {
6106
9.17k
        if (yych <= 'z') goto yy462;
6107
4.30k
        if (yych <= 0x7F) goto yy86;
6108
3.89k
        goto yy462;
6109
4.30k
      }
6110
10.3k
    }
6111
24.0k
yy464:
6112
24.0k
    YYDEBUG(464, *YYCURSOR);
6113
24.0k
    ++YYCURSOR;
6114
24.0k
    YYFILL(3);
6115
24.0k
    yych = *YYCURSOR;
6116
34.0k
yy465:
6117
34.0k
    YYDEBUG(465, *YYCURSOR);
6118
34.0k
    if (yych <= 'Z') {
6119
17.2k
      if (yych <= '/') {
6120
8.78k
        if (yych == '\'') goto yy569;
6121
442
        goto yy86;
6122
8.78k
      } else {
6123
8.43k
        if (yych <= '9') goto yy464;
6124
7.87k
        if (yych <= '@') goto yy86;
6125
7.39k
        goto yy464;
6126
7.87k
      }
6127
17.2k
    } else {
6128
16.8k
      if (yych <= '`') {
6129
916
        if (yych == '_') goto yy464;
6130
272
        goto yy86;
6131
15.9k
      } else {
6132
15.9k
        if (yych <= 'z') goto yy464;
6133
6.77k
        if (yych <= 0x7F) goto yy86;
6134
6.35k
        goto yy464;
6135
6.77k
      }
6136
16.8k
    }
6137
3.44M
yy466:
6138
3.44M
    YYDEBUG(466, *YYCURSOR);
6139
3.44M
    ++YYCURSOR;
6140
3.46M
yy467:
6141
3.46M
    YYDEBUG(467, *YYCURSOR);
6142
3.46M
    yyleng = YYCURSOR - SCNG(yy_text);
6143
3.46M
#line 2677 "Zend/zend_language_scanner.l"
6144
3.46M
    {
6145
3.46M
  char *s;
6146
3.46M
  unsigned char *saved_cursor;
6147
3.46M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6148
3.46M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6149
3.46M
  bool is_heredoc = 1;
6150
6151
3.46M
  CG(zend_lineno)++;
6152
3.46M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6153
3.46M
  s = yytext+bprefix+3;
6154
3.46M
  while ((*s == ' ') || (*s == '\t')) {
6155
7.23k
    s++;
6156
7.23k
    heredoc_label->length--;
6157
7.23k
  }
6158
6159
3.46M
  if (*s == '\'') {
6160
7.68k
    s++;
6161
7.68k
    heredoc_label->length -= 2;
6162
7.68k
    is_heredoc = 0;
6163
6164
7.68k
    BEGIN(ST_NOWDOC);
6165
3.45M
  } else {
6166
3.45M
    if (*s == '"') {
6167
183
      s++;
6168
183
      heredoc_label->length -= 2;
6169
183
    }
6170
6171
3.45M
    BEGIN(ST_HEREDOC);
6172
3.45M
  }
6173
6174
3.46M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6175
3.46M
  heredoc_label->indentation_uses_spaces = 0;
6176
3.46M
  heredoc_label->indentation = 0;
6177
3.46M
  saved_cursor = YYCURSOR;
6178
6179
3.46M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6180
6181
3.51M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6182
51.9k
    if (*YYCURSOR == '\t') {
6183
3.75k
      spacing |= HEREDOC_USING_TABS;
6184
48.2k
    } else {
6185
48.2k
      spacing |= HEREDOC_USING_SPACES;
6186
48.2k
    }
6187
51.9k
    ++YYCURSOR;
6188
51.9k
    ++indentation;
6189
51.9k
  }
6190
6191
3.46M
  if (YYCURSOR == YYLIMIT) {
6192
1.93k
    YYCURSOR = saved_cursor;
6193
1.93k
    RETURN_TOKEN(T_START_HEREDOC);
6194
1.93k
  }
6195
6196
  /* Check for ending label on the next line */
6197
3.45M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6198
9.02k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6199
4.28k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6200
89
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6201
89
        if (PARSER_MODE()) {
6202
7
          RETURN_TOKEN(T_ERROR);
6203
7
        }
6204
89
      }
6205
6206
4.27k
      YYCURSOR = saved_cursor;
6207
4.27k
      heredoc_label->indentation = indentation;
6208
6209
4.27k
      BEGIN(ST_END_HEREDOC);
6210
4.27k
      RETURN_TOKEN(T_START_HEREDOC);
6211
4.27k
    }
6212
9.02k
  }
6213
6214
3.45M
  YYCURSOR = saved_cursor;
6215
6216
3.45M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6217
147k
    zend_lex_state current_state;
6218
147k
    zend_string *saved_doc_comment = CG(doc_comment);
6219
147k
    int heredoc_nesting_level = 1;
6220
147k
    int first_token = 0;
6221
147k
    int error = 0;
6222
6223
147k
    zend_save_lexical_state(&current_state);
6224
6225
147k
    SCNG(heredoc_scan_ahead) = 1;
6226
147k
    SCNG(heredoc_indentation) = 0;
6227
147k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6228
147k
    SCNG(on_event_context) = NULL;
6229
147k
    LANG_SCNG(on_event) = NULL;
6230
147k
    CG(doc_comment) = NULL;
6231
6232
147k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6233
6234
147k
    zend_object *prev_exception = EG(exception);
6235
147k
    EG(exception) = NULL;
6236
21.5M
    while (heredoc_nesting_level) {
6237
21.4M
      zval zv;
6238
21.4M
      int retval;
6239
6240
21.4M
      ZVAL_UNDEF(&zv);
6241
21.4M
      retval = lex_scan(&zv, NULL);
6242
21.4M
      zval_ptr_dtor_nogc(&zv);
6243
6244
21.4M
      if (EG(exception)) {
6245
138k
        zend_clear_exception();
6246
138k
        break;
6247
138k
      }
6248
6249
21.3M
      if (!first_token) {
6250
147k
        first_token = retval;
6251
147k
      }
6252
6253
21.3M
      switch (retval) {
6254
3.31M
        case T_START_HEREDOC:
6255
3.31M
          ++heredoc_nesting_level;
6256
3.31M
          break;
6257
16.7k
        case T_END_HEREDOC:
6258
16.7k
          --heredoc_nesting_level;
6259
16.7k
          break;
6260
3.98k
        case END:
6261
3.98k
          heredoc_nesting_level = 0;
6262
21.3M
      }
6263
21.3M
    }
6264
147k
    EG(exception) = prev_exception;
6265
6266
147k
    if (
6267
147k
        (first_token == T_VARIABLE
6268
141k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
40.2k
         || first_token == T_CURLY_OPEN
6270
147k
        ) && SCNG(heredoc_indentation)) {
6271
9
      zend_throw_exception_ex(zend_ce_parse_error, 0, "Invalid body indentation level (expecting an indentation level of at least %d)", SCNG(heredoc_indentation));
6272
9
      error = 1;
6273
9
    }
6274
6275
147k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
147k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
147k
    zend_restore_lexical_state(&current_state);
6279
147k
    SCNG(heredoc_scan_ahead) = 0;
6280
147k
    CG(increment_lineno) = 0;
6281
147k
    CG(doc_comment) = saved_doc_comment;
6282
6283
147k
    if (PARSER_MODE() && error) {
6284
9
      RETURN_TOKEN(T_ERROR);
6285
9
    }
6286
147k
  }
6287
6288
3.45M
  RETURN_TOKEN(T_START_HEREDOC);
6289
3.45M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
19.3k
yy468:
6292
19.3k
    YYDEBUG(468, *YYCURSOR);
6293
19.3k
    yych = *++YYCURSOR;
6294
19.3k
    if (yych == '\n') goto yy466;
6295
18.8k
    goto yy467;
6296
18.8k
yy469:
6297
8.11k
    YYDEBUG(469, *YYCURSOR);
6298
8.11k
    yyaccept = 4;
6299
8.11k
    yych = *(YYMARKER = ++YYCURSOR);
6300
8.11k
    if (yych == 'A') goto yy570;
6301
6.85k
    if (yych == 'a') goto yy570;
6302
813
    goto yy48;
6303
28.0k
yy470:
6304
28.0k
    YYDEBUG(470, *YYCURSOR);
6305
28.0k
    yyaccept = 34;
6306
28.0k
    yych = *(YYMARKER = ++YYCURSOR);
6307
28.0k
    if (yybm[256+yych] & 128) {
6308
8.49k
      goto yy47;
6309
8.49k
    }
6310
19.5k
    if (yych == '\\') goto yy164;
6311
19.5k
yy471:
6312
19.5k
    YYDEBUG(471, *YYCURSOR);
6313
19.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
19.5k
#line 1817 "Zend/zend_language_scanner.l"
6315
19.5k
    {
6316
19.5k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
19.5k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
3.28k
yy472:
6320
3.28k
    YYDEBUG(472, *YYCURSOR);
6321
3.28k
    yyaccept = 35;
6322
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
6323
3.28k
    if (yybm[256+yych] & 128) {
6324
372
      goto yy47;
6325
372
    }
6326
2.91k
    if (yych == '\\') goto yy164;
6327
2.91k
yy473:
6328
2.91k
    YYDEBUG(473, *YYCURSOR);
6329
2.91k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
2.91k
#line 1533 "Zend/zend_language_scanner.l"
6331
2.91k
    {
6332
2.91k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
2.91k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
4.74k
yy474:
6336
4.74k
    YYDEBUG(474, *YYCURSOR);
6337
4.74k
    yyaccept = 4;
6338
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
6339
4.74k
    if (yych == 'B') goto yy571;
6340
3.59k
    if (yych == 'b') goto yy571;
6341
496
    goto yy48;
6342
37.4k
yy475:
6343
37.4k
    YYDEBUG(475, *YYCURSOR);
6344
37.4k
    yyaccept = 36;
6345
37.4k
    yych = *(YYMARKER = ++YYCURSOR);
6346
37.4k
    if (yybm[256+yych] & 128) {
6347
1.08k
      goto yy47;
6348
1.08k
    }
6349
36.3k
    if (yych == '\\') goto yy164;
6350
36.3k
yy476:
6351
36.3k
    YYDEBUG(476, *YYCURSOR);
6352
36.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
36.3k
#line 1441 "Zend/zend_language_scanner.l"
6354
36.3k
    {
6355
36.3k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
36.3k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
78.7k
yy477:
6359
78.7k
    YYDEBUG(477, *YYCURSOR);
6360
78.7k
    yyaccept = 37;
6361
78.7k
    yych = *(YYMARKER = ++YYCURSOR);
6362
78.7k
    if (yybm[256+yych] & 128) {
6363
6.40k
      goto yy47;
6364
6.40k
    }
6365
72.3k
    if (yych == '\\') goto yy164;
6366
72.3k
yy478:
6367
72.3k
    YYDEBUG(478, *YYCURSOR);
6368
72.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
72.3k
#line 1553 "Zend/zend_language_scanner.l"
6370
72.3k
    {
6371
72.3k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
72.3k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
4.53k
yy479:
6375
4.53k
    YYDEBUG(479, *YYCURSOR);
6376
4.53k
    yyaccept = 38;
6377
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
6378
4.53k
    if (yybm[256+yych] & 128) {
6379
493
      goto yy47;
6380
493
    }
6381
4.03k
    if (yych == '\\') goto yy164;
6382
3.99k
yy480:
6383
3.99k
    YYDEBUG(480, *YYCURSOR);
6384
3.99k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
3.99k
#line 1629 "Zend/zend_language_scanner.l"
6386
3.99k
    {
6387
3.99k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
3.99k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
46.8k
yy481:
6391
46.8k
    YYDEBUG(481, *YYCURSOR);
6392
46.8k
    yyaccept = 39;
6393
46.8k
    yych = *(YYMARKER = ++YYCURSOR);
6394
46.8k
    if (yybm[256+yych] & 128) {
6395
4.51k
      goto yy47;
6396
4.51k
    }
6397
42.3k
    if (yych == '\\') goto yy164;
6398
42.1k
yy482:
6399
42.1k
    YYDEBUG(482, *YYCURSOR);
6400
42.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
42.1k
#line 1414 "Zend/zend_language_scanner.l"
6402
42.1k
    {
6403
42.1k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
42.1k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
6.47k
yy483:
6407
6.47k
    YYDEBUG(483, *YYCURSOR);
6408
6.47k
    yyaccept = 4;
6409
6.47k
    yych = *(YYMARKER = ++YYCURSOR);
6410
6.47k
    if (yych == 'N') goto yy572;
6411
4.84k
    if (yych == 'n') goto yy572;
6412
708
    goto yy48;
6413
9.68k
yy484:
6414
9.68k
    YYDEBUG(484, *YYCURSOR);
6415
9.68k
    yyaccept = 4;
6416
9.68k
    yych = *(YYMARKER = ++YYCURSOR);
6417
9.68k
    if (yych == 'R') goto yy573;
6418
8.86k
    if (yych == 'r') goto yy573;
6419
1.25k
    goto yy48;
6420
4.41k
yy485:
6421
4.41k
    YYDEBUG(485, *YYCURSOR);
6422
4.41k
    yyaccept = 4;
6423
4.41k
    yych = *(YYMARKER = ++YYCURSOR);
6424
4.41k
    if (yych == 'L') goto yy574;
6425
4.11k
    if (yych == 'l') goto yy574;
6426
756
    goto yy48;
6427
5.23k
yy486:
6428
5.23k
    YYDEBUG(486, *YYCURSOR);
6429
5.23k
    yyaccept = 4;
6430
5.23k
    yych = *(YYMARKER = ++YYCURSOR);
6431
5.23k
    if (yych == 'F') goto yy575;
6432
4.92k
    if (yych == 'f') goto yy575;
6433
972
    goto yy48;
6434
5.20k
yy487:
6435
5.20k
    YYDEBUG(487, *YYCURSOR);
6436
5.20k
    yyaccept = 40;
6437
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
6438
5.20k
    if (yybm[256+yych] & 128) {
6439
532
      goto yy47;
6440
532
    }
6441
4.67k
    if (yych == '\\') goto yy164;
6442
4.67k
yy488:
6443
4.67k
    YYDEBUG(488, *YYCURSOR);
6444
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
4.67k
#line 1757 "Zend/zend_language_scanner.l"
6446
4.67k
    {
6447
4.67k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
4.67k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
5.26k
yy489:
6451
5.26k
    YYDEBUG(489, *YYCURSOR);
6452
5.26k
    yyaccept = 4;
6453
5.26k
    yych = *(YYMARKER = ++YYCURSOR);
6454
5.26k
    if (yych == 'C') goto yy577;
6455
4.48k
    if (yych == 'c') goto yy577;
6456
1.01k
    goto yy48;
6457
11.2k
yy490:
6458
11.2k
    YYDEBUG(490, *YYCURSOR);
6459
11.2k
    yyaccept = 4;
6460
11.2k
    yych = *(YYMARKER = ++YYCURSOR);
6461
11.2k
    if (yych == 'R') goto yy578;
6462
7.71k
    if (yych == 'r') goto yy578;
6463
292
    goto yy48;
6464
5.67k
yy491:
6465
5.67k
    YYDEBUG(491, *YYCURSOR);
6466
5.67k
    yyaccept = 41;
6467
5.67k
    yych = *(YYMARKER = ++YYCURSOR);
6468
5.67k
    if (yybm[256+yych] & 128) {
6469
651
      goto yy47;
6470
651
    }
6471
5.02k
    if (yych == '\\') goto yy164;
6472
4.99k
yy492:
6473
4.99k
    YYDEBUG(492, *YYCURSOR);
6474
4.99k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
4.99k
#line 1461 "Zend/zend_language_scanner.l"
6476
4.99k
    {
6477
4.99k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
4.99k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
3.43k
yy493:
6481
3.43k
    YYDEBUG(493, *YYCURSOR);
6482
3.43k
    yyaccept = 4;
6483
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
6484
3.43k
    if (yych == 'I') goto yy580;
6485
2.46k
    if (yych == 'i') goto yy580;
6486
259
    goto yy48;
6487
7.05k
yy494:
6488
7.05k
    YYDEBUG(494, *YYCURSOR);
6489
7.05k
    yyaccept = 4;
6490
7.05k
    yych = *(YYMARKER = ++YYCURSOR);
6491
7.05k
    if (yych == 'I') goto yy581;
6492
4.72k
    if (yych == 'i') goto yy581;
6493
637
    goto yy48;
6494
700k
yy495:
6495
700k
    YYDEBUG(495, *YYCURSOR);
6496
700k
    ++YYCURSOR;
6497
700k
    YYFILL(10);
6498
700k
    yych = *YYCURSOR;
6499
700k
    YYDEBUG(496, *YYCURSOR);
6500
700k
    if (yych <= 'E') {
6501
660k
      if (yych <= ' ') {
6502
64.4k
        if (yych <= '\f') {
6503
18.6k
          if (yych <= 0x08) goto yy86;
6504
14.9k
          if (yych <= '\n') goto yy495;
6505
1.70k
          goto yy86;
6506
45.8k
        } else {
6507
45.8k
          if (yych <= '\r') goto yy495;
6508
7.87k
          if (yych <= 0x1F) goto yy86;
6509
6.70k
          goto yy495;
6510
7.87k
        }
6511
595k
      } else {
6512
595k
        if (yych <= '.') {
6513
579k
          if (yych != '#') goto yy86;
6514
579k
        } else {
6515
15.8k
          if (yych <= '/') goto yy498;
6516
4.60k
          if (yych <= '@') goto yy86;
6517
1.47k
          if (yych <= 'D') goto yy582;
6518
606
          goto yy584;
6519
1.47k
        }
6520
595k
      }
6521
660k
    } else {
6522
40.8k
      if (yych <= '`') {
6523
10.6k
        if (yych <= 'Z') {
6524
6.33k
          if (yych == 'I') goto yy585;
6525
4.63k
          goto yy582;
6526
6.33k
        } else {
6527
4.30k
          if (yych == '_') goto yy582;
6528
579
          goto yy86;
6529
4.30k
        }
6530
30.2k
      } else {
6531
30.2k
        if (yych <= 'h') {
6532
13.8k
          if (yych == 'e') goto yy584;
6533
4.82k
          goto yy582;
6534
16.3k
        } else {
6535
16.3k
          if (yych <= 'i') goto yy585;
6536
12.0k
          if (yych <= 'z') goto yy582;
6537
6.46k
          if (yych <= 0x7F) goto yy86;
6538
4.87k
          goto yy582;
6539
6.46k
        }
6540
30.2k
      }
6541
40.8k
    }
6542
576k
yy497:
6543
576k
    YYDEBUG(497, *YYCURSOR);
6544
576k
    ++YYCURSOR;
6545
576k
    YYFILL(1);
6546
576k
    yych = *YYCURSOR;
6547
576k
    if (yych <= '\f') {
6548
421k
      if (yych <= 0x00) goto yy86;
6549
420k
      if (yych == '\n') goto yy588;
6550
11.6k
      goto yy586;
6551
420k
    } else {
6552
154k
      if (yych <= '\r') goto yy588;
6553
64.0k
      if (yych == '[') goto yy86;
6554
63.6k
      goto yy586;
6555
64.0k
    }
6556
12.3k
yy498:
6557
12.3k
    YYDEBUG(498, *YYCURSOR);
6558
12.3k
    ++YYCURSOR;
6559
12.3k
    YYFILL(1);
6560
12.3k
    yych = *YYCURSOR;
6561
12.3k
    if (yych == '*') goto yy590;
6562
3.32k
    if (yych == '/') goto yy586;
6563
1.88k
    goto yy86;
6564
18.8k
yy499:
6565
18.8k
    YYDEBUG(499, *YYCURSOR);
6566
18.8k
    yyaccept = 4;
6567
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
6568
18.8k
    if (yych == 'D') goto yy592;
6569
17.9k
    if (yych == 'd') goto yy592;
6570
1.62k
    goto yy48;
6571
14.2k
yy500:
6572
14.2k
    YYDEBUG(500, *YYCURSOR);
6573
14.2k
    yyaccept = 42;
6574
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
6575
14.2k
    if (yych <= '\\') {
6576
7.34k
      if (yych <= 'K') {
6577
5.70k
        if (yych <= '/') goto yy501;
6578
2.12k
        if (yych <= '9') goto yy47;
6579
1.55k
        if (yych >= 'A') goto yy47;
6580
1.63k
      } else {
6581
1.63k
        if (yych <= 'L') goto yy593;
6582
1.14k
        if (yych <= 'Z') goto yy47;
6583
881
        if (yych >= '\\') goto yy164;
6584
881
      }
6585
7.34k
    } else {
6586
6.91k
      if (yych <= 'k') {
6587
1.10k
        if (yych == '_') goto yy47;
6588
747
        if (yych >= 'a') goto yy47;
6589
5.81k
      } else {
6590
5.81k
        if (yych <= 'l') goto yy593;
6591
808
        if (yych <= 'z') goto yy47;
6592
481
        if (yych >= 0x80) goto yy47;
6593
481
      }
6594
6.91k
    }
6595
5.78k
yy501:
6596
5.78k
    YYDEBUG(501, *YYCURSOR);
6597
5.78k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
5.78k
#line 1773 "Zend/zend_language_scanner.l"
6599
5.78k
    {
6600
5.78k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
5.78k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
24.4k
yy502:
6604
24.4k
    YYDEBUG(502, *YYCURSOR);
6605
24.4k
    yyaccept = 4;
6606
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
6607
24.4k
    if (yych == 'C') goto yy594;
6608
23.9k
    if (yych == 'c') goto yy594;
6609
665
    goto yy48;
6610
104k
yy503:
6611
104k
    YYDEBUG(503, *YYCURSOR);
6612
104k
    yyaccept = 4;
6613
104k
    yych = *(YYMARKER = ++YYCURSOR);
6614
104k
    if (yych == 'I') goto yy595;
6615
103k
    if (yych == 'i') goto yy595;
6616
1.75k
    goto yy48;
6617
7.28k
yy504:
6618
7.28k
    YYDEBUG(504, *YYCURSOR);
6619
7.28k
    yyaccept = 4;
6620
7.28k
    yych = *(YYMARKER = ++YYCURSOR);
6621
7.28k
    if (yych == 'L') goto yy596;
6622
4.14k
    if (yych == 'l') goto yy596;
6623
525
    goto yy48;
6624
22.2k
yy505:
6625
22.2k
    YYDEBUG(505, *YYCURSOR);
6626
22.2k
    yyaccept = 4;
6627
22.2k
    yych = *(YYMARKER = ++YYCURSOR);
6628
22.2k
    if (yych == 'M') goto yy598;
6629
20.4k
    if (yych == 'm') goto yy598;
6630
7.37k
    goto yy48;
6631
10.4k
yy506:
6632
10.4k
    YYDEBUG(506, *YYCURSOR);
6633
10.4k
    yyaccept = 4;
6634
10.4k
    yych = *(YYMARKER = ++YYCURSOR);
6635
10.4k
    if (yych == 'D') goto yy599;
6636
9.48k
    if (yych == 'd') goto yy599;
6637
694
    goto yy48;
6638
5.73k
yy507:
6639
5.73k
    YYDEBUG(507, *YYCURSOR);
6640
5.73k
    yyaccept = 4;
6641
5.73k
    yych = *(YYMARKER = ++YYCURSOR);
6642
5.73k
    if (yych == 'N') goto yy600;
6643
4.87k
    if (yych == 'n') goto yy600;
6644
203
    goto yy48;
6645
9.13k
yy508:
6646
9.13k
    YYDEBUG(508, *YYCURSOR);
6647
9.13k
    yyaccept = 4;
6648
9.13k
    yych = *(YYMARKER = ++YYCURSOR);
6649
9.13k
    if (yych == 'A') goto yy601;
6650
8.54k
    if (yych == 'a') goto yy601;
6651
2.24k
    goto yy48;
6652
8.77k
yy509:
6653
8.77k
    YYDEBUG(509, *YYCURSOR);
6654
8.77k
    yyaccept = 4;
6655
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
6656
8.77k
    if (yych == 'F') goto yy602;
6657
8.13k
    if (yych == 'f') goto yy602;
6658
966
    goto yy48;
6659
15.7k
yy510:
6660
15.7k
    YYDEBUG(510, *YYCURSOR);
6661
15.7k
    yyaccept = 43;
6662
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
6663
15.7k
    if (yybm[256+yych] & 128) {
6664
4.25k
      goto yy47;
6665
4.25k
    }
6666
11.4k
    if (yych == '\\') goto yy164;
6667
11.4k
yy511:
6668
11.4k
    YYDEBUG(511, *YYCURSOR);
6669
11.4k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
11.4k
#line 1753 "Zend/zend_language_scanner.l"
6671
11.4k
    {
6672
11.4k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
11.4k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
4.35k
yy512:
6676
4.35k
    YYDEBUG(512, *YYCURSOR);
6677
4.35k
    yyaccept = 44;
6678
4.35k
    yych = *(YYMARKER = ++YYCURSOR);
6679
4.35k
    if (yybm[256+yych] & 128) {
6680
508
      goto yy47;
6681
508
    }
6682
3.84k
    if (yych == '\\') goto yy164;
6683
3.84k
yy513:
6684
3.84k
    YYDEBUG(513, *YYCURSOR);
6685
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
3.84k
#line 1517 "Zend/zend_language_scanner.l"
6687
3.84k
    {
6688
3.84k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
3.84k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
23.9k
yy514:
6692
23.9k
    YYDEBUG(514, *YYCURSOR);
6693
23.9k
    yyaccept = 4;
6694
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
6695
23.9k
    if (yych == 'P') goto yy603;
6696
18.9k
    if (yych == 'p') goto yy603;
6697
718
    goto yy48;
6698
15.2k
yy515:
6699
15.2k
    YYDEBUG(515, *YYCURSOR);
6700
15.2k
    yyaccept = 45;
6701
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
6702
15.2k
    if (yybm[256+yych] & 128) {
6703
8.31k
      goto yy47;
6704
8.31k
    }
6705
6.89k
    if (yych == '\\') goto yy164;
6706
6.88k
yy516:
6707
6.88k
    YYDEBUG(516, *YYCURSOR);
6708
6.88k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
6.88k
#line 1549 "Zend/zend_language_scanner.l"
6710
6.88k
    {
6711
6.88k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
6.88k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
13.6k
yy517:
6715
13.6k
    YYDEBUG(517, *YYCURSOR);
6716
13.6k
    yyaccept = 4;
6717
13.6k
    yych = *(YYMARKER = ++YYCURSOR);
6718
13.6k
    if (yych == 'T') goto yy604;
6719
12.0k
    if (yych == 't') goto yy604;
6720
468
    goto yy48;
6721
13.1k
yy518:
6722
13.1k
    YYDEBUG(518, *YYCURSOR);
6723
13.1k
    yyaccept = 4;
6724
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
6725
13.1k
    if (yych == 'C') goto yy605;
6726
11.4k
    if (yych == 'c') goto yy605;
6727
1.20k
    goto yy48;
6728
68.4k
yy519:
6729
68.4k
    YYDEBUG(519, *YYCURSOR);
6730
68.4k
    yyaccept = 4;
6731
68.4k
    yych = *(YYMARKER = ++YYCURSOR);
6732
68.4k
    if (yych == 'C') goto yy606;
6733
64.2k
    if (yych == 'c') goto yy606;
6734
2.88k
    goto yy48;
6735
5.76k
yy520:
6736
5.76k
    YYDEBUG(520, *YYCURSOR);
6737
5.76k
    yyaccept = 4;
6738
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
6739
5.76k
    if (yych == 'N') goto yy608;
6740
5.50k
    if (yych == 'n') goto yy608;
6741
442
    goto yy48;
6742
20.5k
yy521:
6743
20.5k
    YYDEBUG(521, *YYCURSOR);
6744
20.5k
    yyaccept = 4;
6745
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
6746
20.5k
    if (yych == 'R') goto yy609;
6747
19.2k
    if (yych == 'r') goto yy609;
6748
1.66k
    goto yy48;
6749
27.5k
yy522:
6750
27.5k
    YYDEBUG(522, *YYCURSOR);
6751
27.5k
    yyaccept = 4;
6752
27.5k
    yych = *(YYMARKER = ++YYCURSOR);
6753
27.5k
    if (yych == 'N') goto yy610;
6754
26.7k
    if (yych == 'n') goto yy610;
6755
1.01k
    goto yy48;
6756
19.0k
yy523:
6757
19.0k
    YYDEBUG(523, *YYCURSOR);
6758
19.0k
    yyaccept = 4;
6759
19.0k
    yych = *(YYMARKER = ++YYCURSOR);
6760
19.0k
    if (yych == 'C') goto yy612;
6761
18.6k
    if (yych == 'c') goto yy612;
6762
1.16k
    goto yy48;
6763
6.36k
yy524:
6764
6.36k
    YYDEBUG(524, *YYCURSOR);
6765
6.36k
    yyaccept = 4;
6766
6.36k
    yych = *(YYMARKER = ++YYCURSOR);
6767
6.36k
    if (yych == 'H') goto yy614;
6768
6.02k
    if (yych == 'h') goto yy614;
6769
1.35k
    goto yy48;
6770
12.9k
yy525:
6771
12.9k
    YYDEBUG(525, *YYCURSOR);
6772
12.9k
    yyaccept = 46;
6773
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
6774
12.9k
    if (yybm[256+yych] & 128) {
6775
4.10k
      goto yy47;
6776
4.10k
    }
6777
8.85k
    if (yych == '\\') goto yy164;
6778
8.84k
yy526:
6779
8.84k
    YYDEBUG(526, *YYCURSOR);
6780
8.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
8.84k
#line 1449 "Zend/zend_language_scanner.l"
6782
8.84k
    {
6783
8.84k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
8.84k
}
6785
0
#line 6786 "Zend/zend_language_scanner.c"
6786
10.6k
yy527:
6787
10.6k
    YYDEBUG(527, *YYCURSOR);
6788
10.6k
    yyaccept = 47;
6789
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
6790
10.6k
    if (yybm[256+yych] & 128) {
6791
2.24k
      goto yy47;
6792
2.24k
    }
6793
8.40k
    if (yych == '\\') goto yy164;
6794
8.40k
yy528:
6795
8.40k
    YYDEBUG(528, *YYCURSOR);
6796
8.40k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
8.40k
#line 1561 "Zend/zend_language_scanner.l"
6798
8.40k
    {
6799
8.40k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
8.40k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
13.2k
yy529:
6803
13.2k
    YYDEBUG(529, *YYCURSOR);
6804
13.2k
    yyaccept = 48;
6805
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
6806
13.2k
    if (yybm[256+yych] & 128) {
6807
1.07k
      goto yy47;
6808
1.07k
    }
6809
12.1k
    if (yych == '\\') goto yy164;
6810
12.1k
yy530:
6811
12.1k
    YYDEBUG(530, *YYCURSOR);
6812
12.1k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
12.1k
#line 1805 "Zend/zend_language_scanner.l"
6814
12.1k
    {
6815
12.1k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
12.1k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
3.96k
yy531:
6819
3.96k
    YYDEBUG(531, *YYCURSOR);
6820
3.96k
    yyaccept = 49;
6821
3.96k
    yych = *(YYMARKER = ++YYCURSOR);
6822
3.96k
    if (yybm[256+yych] & 128) {
6823
463
      goto yy47;
6824
463
    }
6825
3.50k
    if (yych == '\\') goto yy164;
6826
3.49k
yy532:
6827
3.49k
    YYDEBUG(532, *YYCURSOR);
6828
3.49k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
3.49k
#line 1469 "Zend/zend_language_scanner.l"
6830
3.49k
    {
6831
3.49k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
3.49k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
87.3k
yy533:
6835
87.3k
    YYDEBUG(533, *YYCURSOR);
6836
87.3k
    yyaccept = 50;
6837
87.3k
    yych = *(YYMARKER = ++YYCURSOR);
6838
87.3k
    if (yybm[256+yych] & 128) {
6839
2.06k
      goto yy47;
6840
2.06k
    }
6841
85.2k
    if (yych <= ' ') {
6842
40.4k
      if (yych <= '\f') {
6843
26.6k
        if (yych <= 0x08) goto yy534;
6844
25.9k
        if (yych <= '\n') goto yy616;
6845
25.9k
      } else {
6846
13.8k
        if (yych <= '\r') goto yy616;
6847
12.7k
        if (yych >= ' ') goto yy616;
6848
12.7k
      }
6849
44.8k
    } else {
6850
44.8k
      if (yych <= '.') {
6851
42.3k
        if (yych == '#') goto yy618;
6852
42.3k
      } else {
6853
2.41k
        if (yych <= '/') goto yy619;
6854
1.93k
        if (yych == '\\') goto yy164;
6855
1.93k
      }
6856
44.8k
    }
6857
61.0k
yy534:
6858
61.0k
    YYDEBUG(534, *YYCURSOR);
6859
61.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
61.0k
#line 1433 "Zend/zend_language_scanner.l"
6861
61.0k
    {
6862
61.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
61.0k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
8.89k
yy535:
6866
8.89k
    YYDEBUG(535, *YYCURSOR);
6867
8.89k
    yyaccept = 4;
6868
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
6869
8.89k
    if (yych == 'S') goto yy620;
6870
7.31k
    if (yych == 's') goto yy620;
6871
616
    goto yy48;
6872
5.42k
yy536:
6873
5.42k
    YYDEBUG(536, *YYCURSOR);
6874
5.42k
    yyaccept = 4;
6875
5.42k
    yych = *(YYMARKER = ++YYCURSOR);
6876
5.42k
    if (yych == '_') goto yy621;
6877
1.34k
    goto yy48;
6878
11.9k
yy537:
6879
11.9k
    YYDEBUG(537, *YYCURSOR);
6880
11.9k
    yyaccept = 4;
6881
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
6882
11.9k
    if (yych == 'E') goto yy622;
6883
4.79k
    if (yych == 'e') goto yy622;
6884
1.01k
    goto yy48;
6885
21.0k
yy538:
6886
21.0k
    YYDEBUG(538, *YYCURSOR);
6887
21.0k
    yyaccept = 4;
6888
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
6889
21.0k
    if (yych == 'C') goto yy623;
6890
18.0k
    if (yych == 'c') goto yy623;
6891
906
    goto yy48;
6892
6.65k
yy539:
6893
6.65k
    YYDEBUG(539, *YYCURSOR);
6894
6.65k
    yyaccept = 4;
6895
6.65k
    yych = *(YYMARKER = ++YYCURSOR);
6896
6.65k
    if (yych == 'T') goto yy624;
6897
5.29k
    if (yych == 't') goto yy624;
6898
404
    goto yy48;
6899
3.25k
yy540:
6900
3.25k
    YYDEBUG(540, *YYCURSOR);
6901
3.25k
    yyaccept = 4;
6902
3.25k
    yych = *(YYMARKER = ++YYCURSOR);
6903
3.25k
    if (yych == 'E') goto yy625;
6904
1.66k
    if (yych == 'e') goto yy625;
6905
335
    goto yy48;
6906
15.2k
yy541:
6907
15.2k
    YYDEBUG(541, *YYCURSOR);
6908
15.2k
    yyaccept = 4;
6909
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
6910
15.2k
    if (yych == 'H') goto yy626;
6911
7.72k
    if (yych == 'h') goto yy626;
6912
1.78k
    goto yy48;
6913
9.99k
yy542:
6914
9.99k
    YYDEBUG(542, *YYCURSOR);
6915
9.99k
    yyaccept = 4;
6916
9.99k
    yych = *(YYMARKER = ++YYCURSOR);
6917
9.99k
    if (yych == 'E') goto yy627;
6918
7.14k
    if (yych == 'e') goto yy627;
6919
1.39k
    goto yy48;
6920
5.45k
yy543:
6921
5.45k
    YYDEBUG(543, *YYCURSOR);
6922
5.45k
    yyaccept = 4;
6923
5.45k
    yych = *(YYMARKER = ++YYCURSOR);
6924
5.45k
    if (yych == 'P') goto yy628;
6925
1.36k
    if (yych == 'p') goto yy628;
6926
741
    goto yy48;
6927
5.65k
yy544:
6928
5.65k
    YYDEBUG(544, *YYCURSOR);
6929
5.65k
    yyaccept = 4;
6930
5.65k
    yych = *(YYMARKER = ++YYCURSOR);
6931
5.65k
    if (yych == 'I') goto yy629;
6932
4.73k
    if (yych == 'i') goto yy629;
6933
731
    goto yy48;
6934
176k
yy545:
6935
176k
    YYDEBUG(545, *YYCURSOR);
6936
176k
    ++YYCURSOR;
6937
176k
    YYFILL(1);
6938
176k
    yych = *YYCURSOR;
6939
176k
    YYDEBUG(546, *YYCURSOR);
6940
176k
    if (yybm[0+yych] & 64) {
6941
542
      goto yy355;
6942
542
    }
6943
176k
    if (yych <= ' ') {
6944
23.5k
      if (yych <= '\n') {
6945
9.92k
        if (yych <= 0x00) goto yy86;
6946
8.68k
        if (yych <= 0x08) goto yy230;
6947
8.24k
        goto yy545;
6948
13.5k
      } else {
6949
13.5k
        if (yych == '\r') goto yy545;
6950
4.16k
        if (yych <= 0x1F) goto yy230;
6951
3.76k
        goto yy545;
6952
4.16k
      }
6953
152k
    } else {
6954
152k
      if (yych <= '$') {
6955
127k
        if (yych <= '"') goto yy230;
6956
127k
        if (yych <= '#') goto yy630;
6957
9.71k
        goto yy631;
6958
127k
      } else {
6959
25.2k
        if (yych <= '-') goto yy230;
6960
22.1k
        if (yych <= '.') goto yy632;
6961
20.4k
        if (yych <= '/') goto yy633;
6962
4.08k
        goto yy230;
6963
20.4k
      }
6964
152k
    }
6965
28.7k
yy547:
6966
28.7k
    YYDEBUG(547, *YYCURSOR);
6967
28.7k
    ++YYCURSOR;
6968
28.7k
    YYFILL(1);
6969
28.7k
    yych = *YYCURSOR;
6970
28.7k
    YYDEBUG(548, *YYCURSOR);
6971
28.7k
    if (yych <= '\r') {
6972
3.18k
      if (yych <= '\t') {
6973
532
        if (yych <= 0x00) goto yy86;
6974
374
        goto yy443;
6975
2.65k
      } else {
6976
2.65k
        if (yych <= '\n') goto yy545;
6977
2.15k
        if (yych <= '\f') goto yy443;
6978
1.92k
        goto yy545;
6979
2.15k
      }
6980
25.5k
    } else {
6981
25.5k
      if (yych <= '*') {
6982
11.5k
        if (yych <= ')') goto yy443;
6983
3.91k
        goto yy547;
6984
14.0k
      } else {
6985
14.0k
        if (yych == '/') goto yy227;
6986
6.36k
        goto yy443;
6987
14.0k
      }
6988
25.5k
    }
6989
13.6k
yy549:
6990
13.6k
    YYDEBUG(549, *YYCURSOR);
6991
13.6k
    ++YYCURSOR;
6992
13.6k
    YYFILL(1);
6993
13.6k
    yych = *YYCURSOR;
6994
13.6k
    YYDEBUG(550, *YYCURSOR);
6995
13.6k
    if (yych <= 0x1F) {
6996
751
      if (yych == '\t') goto yy549;
6997
501
      goto yy86;
6998
12.9k
    } else {
6999
12.9k
      if (yych <= ' ') goto yy549;
7000
9.61k
      if (yych == ')') goto yy634;
7001
7.88k
      goto yy86;
7002
9.61k
    }
7003
3.94k
yy551:
7004
3.94k
    YYDEBUG(551, *YYCURSOR);
7005
3.94k
    yych = *++YYCURSOR;
7006
3.94k
    if (yych == 'Y') goto yy636;
7007
3.71k
    if (yych == 'y') goto yy636;
7008
578
    goto yy86;
7009
578
yy552:
7010
509
    YYDEBUG(552, *YYCURSOR);
7011
509
    ++YYCURSOR;
7012
509
    YYFILL(1);
7013
509
    yych = *YYCURSOR;
7014
2.21k
yy553:
7015
2.21k
    YYDEBUG(553, *YYCURSOR);
7016
2.21k
    if (yych <= 0x1F) {
7017
588
      if (yych == '\t') goto yy552;
7018
375
      goto yy86;
7019
1.62k
    } else {
7020
1.62k
      if (yych <= ' ') goto yy552;
7021
1.32k
      if (yych != ')') goto yy86;
7022
1.32k
    }
7023
811
    YYDEBUG(554, *YYCURSOR);
7024
811
    ++YYCURSOR;
7025
811
    YYDEBUG(555, *YYCURSOR);
7026
811
    yyleng = YYCURSOR - SCNG(yy_text);
7027
811
#line 1695 "Zend/zend_language_scanner.l"
7028
811
    {
7029
811
  RETURN_TOKEN(T_BOOL_CAST);
7030
811
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
2.77k
yy556:
7033
2.77k
    YYDEBUG(556, *YYCURSOR);
7034
2.77k
    yych = *++YYCURSOR;
7035
2.77k
    if (yych == 'A') goto yy638;
7036
858
    if (yych == 'a') goto yy638;
7037
233
    goto yy86;
7038
2.34k
yy557:
7039
2.34k
    YYDEBUG(557, *YYCURSOR);
7040
2.34k
    yych = *++YYCURSOR;
7041
2.34k
    if (yych == 'E') goto yy639;
7042
1.81k
    if (yych == 'e') goto yy639;
7043
416
    goto yy86;
7044
2.94k
yy558:
7045
2.94k
    YYDEBUG(558, *YYCURSOR);
7046
2.94k
    ++YYCURSOR;
7047
2.94k
    YYFILL(1);
7048
2.94k
    yych = *YYCURSOR;
7049
2.94k
    YYDEBUG(559, *YYCURSOR);
7050
2.94k
    if (yych <= 0x1F) {
7051
515
      if (yych == '\t') goto yy558;
7052
305
      goto yy86;
7053
2.43k
    } else {
7054
2.43k
      if (yych <= ' ') goto yy558;
7055
2.00k
      if (yych == ')') goto yy641;
7056
663
      goto yy86;
7057
2.00k
    }
7058
3.93k
yy560:
7059
3.93k
    YYDEBUG(560, *YYCURSOR);
7060
3.93k
    yych = *++YYCURSOR;
7061
3.93k
    if (yych == 'E') goto yy643;
7062
2.91k
    if (yych == 'e') goto yy643;
7063
1.19k
    goto yy86;
7064
2.94k
yy561:
7065
2.94k
    YYDEBUG(561, *YYCURSOR);
7066
2.94k
    yych = *++YYCURSOR;
7067
2.94k
    if (yych == 'T') goto yy644;
7068
2.58k
    if (yych == 't') goto yy644;
7069
323
    goto yy86;
7070
323
yy562:
7071
209
    YYDEBUG(562, *YYCURSOR);
7072
209
    ++YYCURSOR;
7073
209
    YYDEBUG(563, *YYCURSOR);
7074
209
    yyleng = YYCURSOR - SCNG(yy_text);
7075
209
#line 1665 "Zend/zend_language_scanner.l"
7076
209
    {
7077
209
  if (PARSER_MODE()) {
7078
12
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
12
    RETURN_TOKEN(T_ERROR);
7080
12
  }
7081
197
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
197
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
11.4k
yy564:
7085
11.4k
    YYDEBUG(564, *YYCURSOR);
7086
11.4k
    yych = *++YYCURSOR;
7087
11.4k
    if (yych == 'G') goto yy646;
7088
11.0k
    if (yych == 'g') goto yy646;
7089
765
    goto yy86;
7090
3.08k
yy565:
7091
3.08k
    YYDEBUG(565, *YYCURSOR);
7092
3.08k
    ++YYCURSOR;
7093
3.08k
    YYFILL(1);
7094
3.08k
    yych = *YYCURSOR;
7095
3.08k
    YYDEBUG(566, *YYCURSOR);
7096
3.08k
    if (yych <= 0x1F) {
7097
614
      if (yych == '\t') goto yy565;
7098
249
      goto yy86;
7099
2.47k
    } else {
7100
2.47k
      if (yych <= ' ') goto yy565;
7101
1.86k
      if (yych == ')') goto yy648;
7102
637
      goto yy86;
7103
1.86k
    }
7104
484
yy567:
7105
484
    YYDEBUG(567, *YYCURSOR);
7106
484
    ++YYCURSOR;
7107
484
    YYDEBUG(568, *YYCURSOR);
7108
484
    yyleng = YYCURSOR - SCNG(yy_text);
7109
484
#line 1713 "Zend/zend_language_scanner.l"
7110
484
    {
7111
484
  RETURN_TOKEN(T_VOID_CAST);
7112
484
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
8.75k
yy569:
7115
8.75k
    YYDEBUG(569, *YYCURSOR);
7116
8.75k
    yych = *++YYCURSOR;
7117
8.75k
    if (yych == '\n') goto yy466;
7118
2.27k
    if (yych == '\r') goto yy468;
7119
879
    goto yy86;
7120
7.30k
yy570:
7121
7.30k
    YYDEBUG(570, *YYCURSOR);
7122
7.30k
    yyaccept = 4;
7123
7.30k
    yych = *(YYMARKER = ++YYCURSOR);
7124
7.30k
    if (yych == 'C') goto yy650;
7125
6.08k
    if (yych == 'c') goto yy650;
7126
918
    goto yy48;
7127
4.24k
yy571:
7128
4.24k
    YYDEBUG(571, *YYCURSOR);
7129
4.24k
    yyaccept = 4;
7130
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
7131
4.24k
    if (yych == 'L') goto yy651;
7132
3.36k
    if (yych == 'l') goto yy651;
7133
663
    goto yy48;
7134
5.76k
yy572:
7135
5.76k
    YYDEBUG(572, *YYCURSOR);
7136
5.76k
    yyaccept = 4;
7137
5.76k
    yych = *(YYMARKER = ++YYCURSOR);
7138
5.76k
    if (yych == 'U') goto yy652;
7139
4.41k
    if (yych == 'u') goto yy652;
7140
562
    goto yy48;
7141
8.43k
yy573:
7142
8.43k
    YYDEBUG(573, *YYCURSOR);
7143
8.43k
    yyaccept = 4;
7144
8.43k
    yych = *(YYMARKER = ++YYCURSOR);
7145
8.43k
    if (yych == 'E') goto yy653;
7146
7.47k
    if (yych == 'e') goto yy653;
7147
794
    goto yy48;
7148
3.65k
yy574:
7149
3.65k
    YYDEBUG(574, *YYCURSOR);
7150
3.65k
    yyaccept = 4;
7151
3.65k
    yych = *(YYMARKER = ++YYCURSOR);
7152
3.65k
    if (yych == 'T') goto yy655;
7153
3.17k
    if (yych == 't') goto yy655;
7154
785
    goto yy48;
7155
4.26k
yy575:
7156
4.26k
    YYDEBUG(575, *YYCURSOR);
7157
4.26k
    yyaccept = 51;
7158
4.26k
    yych = *(YYMARKER = ++YYCURSOR);
7159
4.26k
    if (yybm[256+yych] & 128) {
7160
637
      goto yy47;
7161
637
    }
7162
3.62k
    if (yych == '\\') goto yy164;
7163
3.62k
yy576:
7164
3.62k
    YYDEBUG(576, *YYCURSOR);
7165
3.62k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
3.62k
#line 1457 "Zend/zend_language_scanner.l"
7167
3.62k
    {
7168
3.62k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
3.62k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
4.24k
yy577:
7172
4.24k
    YYDEBUG(577, *YYCURSOR);
7173
4.24k
    yyaccept = 4;
7174
4.24k
    yych = *(YYMARKER = ++YYCURSOR);
7175
4.24k
    if (yych == 'L') goto yy657;
7176
3.67k
    if (yych == 'l') goto yy657;
7177
602
    goto yy48;
7178
10.9k
yy578:
7179
10.9k
    YYDEBUG(578, *YYCURSOR);
7180
10.9k
    yyaccept = 52;
7181
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
7182
10.9k
    if (yych <= '\\') {
7183
6.28k
      if (yych <= 'D') {
7184
2.92k
        if (yych <= '/') goto yy579;
7185
1.36k
        if (yych <= '9') goto yy47;
7186
1.06k
        if (yych >= 'A') goto yy47;
7187
3.35k
      } else {
7188
3.35k
        if (yych <= 'E') goto yy658;
7189
775
        if (yych <= 'Z') goto yy47;
7190
548
        if (yych >= '\\') goto yy164;
7191
548
      }
7192
6.28k
    } else {
7193
4.70k
      if (yych <= 'd') {
7194
836
        if (yych == '_') goto yy47;
7195
433
        if (yych >= 'a') goto yy47;
7196
3.86k
      } else {
7197
3.86k
        if (yych <= 'e') goto yy658;
7198
843
        if (yych <= 'z') goto yy47;
7199
769
        if (yych >= 0x80) goto yy47;
7200
769
      }
7201
4.70k
    }
7202
3.27k
yy579:
7203
3.27k
    YYDEBUG(579, *YYCURSOR);
7204
3.27k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
3.27k
#line 1485 "Zend/zend_language_scanner.l"
7206
3.27k
    {
7207
3.27k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
3.27k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
3.17k
yy580:
7211
3.17k
    YYDEBUG(580, *YYCURSOR);
7212
3.17k
    yyaccept = 4;
7213
3.17k
    yych = *(YYMARKER = ++YYCURSOR);
7214
3.17k
    if (yych == 'T') goto yy659;
7215
2.26k
    if (yych == 't') goto yy659;
7216
591
    goto yy48;
7217
6.41k
yy581:
7218
6.41k
    YYDEBUG(581, *YYCURSOR);
7219
6.41k
    yyaccept = 4;
7220
6.41k
    yych = *(YYMARKER = ++YYCURSOR);
7221
6.41k
    if (yych == 'L') goto yy660;
7222
4.01k
    if (yych == 'l') goto yy660;
7223
270
    goto yy48;
7224
24.4k
yy582:
7225
24.4k
    YYDEBUG(582, *YYCURSOR);
7226
24.4k
    ++YYCURSOR;
7227
124k
yy583:
7228
124k
    YYDEBUG(583, *YYCURSOR);
7229
124k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
124k
#line 1573 "Zend/zend_language_scanner.l"
7231
124k
    {
7232
124k
  yyless(4);
7233
124k
  RETURN_TOKEN_WITH_IDENT(T_ENUM);
7234
124k
}
7235
0
#line 7236 "Zend/zend_language_scanner.c"
7236
9.66k
yy584:
7237
9.66k
    YYDEBUG(584, *YYCURSOR);
7238
9.66k
    yyaccept = 53;
7239
9.66k
    yych = *(YYMARKER = ++YYCURSOR);
7240
9.66k
    if (yych == 'X') goto yy661;
7241
9.29k
    if (yych == 'x') goto yy661;
7242
6.33k
    goto yy583;
7243
6.33k
yy585:
7244
6.00k
    YYDEBUG(585, *YYCURSOR);
7245
6.00k
    yyaccept = 53;
7246
6.00k
    yych = *(YYMARKER = ++YYCURSOR);
7247
6.00k
    if (yych == 'M') goto yy662;
7248
4.89k
    if (yych == 'm') goto yy662;
7249
2.05k
    goto yy583;
7250
2.90M
yy586:
7251
2.90M
    YYDEBUG(586, *YYCURSOR);
7252
2.90M
    ++YYCURSOR;
7253
2.90M
    YYFILL(1);
7254
2.90M
    yych = *YYCURSOR;
7255
2.90M
    YYDEBUG(587, *YYCURSOR);
7256
2.90M
    if (yych <= '\n') {
7257
128k
      if (yych <= 0x00) goto yy86;
7258
114k
      if (yych <= '\t') goto yy586;
7259
82.5k
      goto yy495;
7260
2.77M
    } else {
7261
2.77M
      if (yych == '\r') goto yy495;
7262
2.43M
      goto yy586;
7263
2.77M
    }
7264
573k
yy588:
7265
573k
    YYDEBUG(588, *YYCURSOR);
7266
573k
    ++YYCURSOR;
7267
573k
    YYFILL(1);
7268
573k
    yych = *YYCURSOR;
7269
573k
    YYDEBUG(589, *YYCURSOR);
7270
573k
    if (yych <= 'D') {
7271
232k
      if (yych <= 0x1F) {
7272
32.0k
        if (yych <= '\t') {
7273
7.33k
          if (yych <= 0x00) goto yy86;
7274
6.17k
          if (yych <= 0x08) goto yy586;
7275
3.33k
          goto yy588;
7276
24.6k
        } else {
7277
24.6k
          if (yych <= '\n') goto yy495;
7278
22.1k
          if (yych == '\r') goto yy495;
7279
5.34k
          goto yy586;
7280
22.1k
        }
7281
200k
      } else {
7282
200k
        if (yych <= '#') {
7283
56.9k
          if (yych <= ' ') goto yy588;
7284
43.3k
          if (yych <= '"') goto yy586;
7285
42.1k
          goto yy663;
7286
143k
        } else {
7287
143k
          if (yych == '/') goto yy664;
7288
19.8k
          if (yych <= '@') goto yy586;
7289
1.01k
          goto yy665;
7290
19.8k
        }
7291
200k
      }
7292
340k
    } else {
7293
340k
      if (yych <= '`') {
7294
16.0k
        if (yych <= 'I') {
7295
10.5k
          if (yych <= 'E') goto yy666;
7296
7.52k
          if (yych <= 'H') goto yy665;
7297
7.02k
          goto yy667;
7298
7.52k
        } else {
7299
5.45k
          if (yych <= 'Z') goto yy665;
7300
3.82k
          if (yych == '_') goto yy665;
7301
681
          goto yy586;
7302
3.82k
        }
7303
324k
      } else {
7304
324k
        if (yych <= 'h') {
7305
254k
          if (yych == 'e') goto yy666;
7306
6.15k
          goto yy665;
7307
254k
        } else {
7308
70.3k
          if (yych <= 'i') goto yy667;
7309
34.4k
          if (yych <= 'z') goto yy665;
7310
18.5k
          if (yych <= 0x7F) goto yy586;
7311
5.84k
          goto yy665;
7312
18.5k
        }
7313
324k
      }
7314
340k
    }
7315
2.47M
yy590:
7316
2.47M
    YYDEBUG(590, *YYCURSOR);
7317
2.47M
    ++YYCURSOR;
7318
2.47M
    YYFILL(1);
7319
2.47M
    yych = *YYCURSOR;
7320
2.47M
    YYDEBUG(591, *YYCURSOR);
7321
2.47M
    if (yych <= 0x00) goto yy86;
7322
2.44M
    if (yych == '*') goto yy668;
7323
2.39M
    goto yy590;
7324
2.39M
yy592:
7325
17.1k
    YYDEBUG(592, *YYCURSOR);
7326
17.1k
    yyaccept = 4;
7327
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
7328
17.1k
    if (yych == 'S') goto yy670;
7329
16.5k
    if (yych == 's') goto yy670;
7330
1.14k
    goto yy48;
7331
5.49k
yy593:
7332
5.49k
    YYDEBUG(593, *YYCURSOR);
7333
5.49k
    yyaccept = 4;
7334
5.49k
    yych = *(YYMARKER = ++YYCURSOR);
7335
5.49k
    if (yych == 'Y') goto yy672;
7336
5.13k
    if (yych == 'y') goto yy672;
7337
389
    goto yy48;
7338
23.7k
yy594:
7339
23.7k
    YYDEBUG(594, *YYCURSOR);
7340
23.7k
    yyaccept = 4;
7341
23.7k
    yych = *(YYMARKER = ++YYCURSOR);
7342
23.7k
    if (yych == 'H') goto yy674;
7343
23.4k
    if (yych == 'h') goto yy674;
7344
519
    goto yy48;
7345
103k
yy595:
7346
103k
    YYDEBUG(595, *YYCURSOR);
7347
103k
    yyaccept = 4;
7348
103k
    yych = *(YYMARKER = ++YYCURSOR);
7349
103k
    if (yych == 'O') goto yy676;
7350
101k
    if (yych == 'o') goto yy676;
7351
1.63k
    goto yy48;
7352
6.75k
yy596:
7353
6.75k
    YYDEBUG(596, *YYCURSOR);
7354
6.75k
    yyaccept = 54;
7355
6.75k
    yych = *(YYMARKER = ++YYCURSOR);
7356
6.75k
    if (yybm[256+yych] & 128) {
7357
1.73k
      goto yy47;
7358
1.73k
    }
7359
5.02k
    if (yych == '\\') goto yy164;
7360
5.02k
yy597:
7361
5.02k
    YYDEBUG(597, *YYCURSOR);
7362
5.02k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
5.02k
#line 1749 "Zend/zend_language_scanner.l"
7364
5.02k
    {
7365
5.02k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
5.02k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
14.8k
yy598:
7369
14.8k
    YYDEBUG(598, *YYCURSOR);
7370
14.8k
    yyaccept = 4;
7371
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
7372
14.8k
    if (yych == 'E') goto yy677;
7373
12.7k
    if (yych == 'e') goto yy677;
7374
3.51k
    goto yy48;
7375
9.80k
yy599:
7376
9.80k
    YYDEBUG(599, *YYCURSOR);
7377
9.80k
    yyaccept = 4;
7378
9.80k
    yych = *(YYMARKER = ++YYCURSOR);
7379
9.80k
    if (yych == 'E') goto yy678;
7380
8.66k
    if (yych == 'e') goto yy678;
7381
665
    goto yy48;
7382
5.52k
yy600:
7383
5.52k
    YYDEBUG(600, *YYCURSOR);
7384
5.52k
    yyaccept = 4;
7385
5.52k
    yych = *(YYMARKER = ++YYCURSOR);
7386
5.52k
    if (yych == 'C') goto yy680;
7387
4.03k
    if (yych == 'c') goto yy680;
7388
458
    goto yy48;
7389
6.89k
yy601:
7390
6.89k
    YYDEBUG(601, *YYCURSOR);
7391
6.89k
    yyaccept = 4;
7392
6.89k
    yych = *(YYMARKER = ++YYCURSOR);
7393
6.89k
    if (yych == 'D') goto yy681;
7394
6.52k
    if (yych == 'd') goto yy681;
7395
481
    goto yy48;
7396
7.80k
yy602:
7397
7.80k
    YYDEBUG(602, *YYCURSOR);
7398
7.80k
    yyaccept = 4;
7399
7.80k
    yych = *(YYMARKER = ++YYCURSOR);
7400
7.80k
    if (yych == 'A') goto yy682;
7401
7.32k
    if (yych == 'a') goto yy682;
7402
562
    goto yy48;
7403
23.1k
yy603:
7404
23.1k
    YYDEBUG(603, *YYCURSOR);
7405
23.1k
    yyaccept = 4;
7406
23.1k
    yych = *(YYMARKER = ++YYCURSOR);
7407
23.1k
    if (yych == 'A') goto yy683;
7408
21.8k
    if (yych == 'a') goto yy683;
7409
656
    goto yy48;
7410
13.2k
yy604:
7411
13.2k
    YYDEBUG(604, *YYCURSOR);
7412
13.2k
    yyaccept = 4;
7413
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
7414
13.2k
    if (yych == 'E') goto yy684;
7415
11.7k
    if (yych == 'e') goto yy684;
7416
1.10k
    goto yy48;
7417
11.9k
yy605:
7418
11.9k
    YYDEBUG(605, *YYCURSOR);
7419
11.9k
    yyaccept = 4;
7420
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
7421
11.9k
    if (yych == 'T') goto yy686;
7422
10.0k
    if (yych == 't') goto yy686;
7423
1.10k
    goto yy48;
7424
65.5k
yy606:
7425
65.5k
    YYDEBUG(606, *YYCURSOR);
7426
65.5k
    yyaccept = 55;
7427
65.5k
    yych = *(YYMARKER = ++YYCURSOR);
7428
65.5k
    if (yybm[256+yych] & 128) {
7429
2.61k
      goto yy47;
7430
2.61k
    }
7431
62.9k
    if (yych == '(') goto yy687;
7432
60.9k
    if (yych == '\\') goto yy164;
7433
61.6k
yy607:
7434
61.6k
    YYDEBUG(607, *YYCURSOR);
7435
61.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
61.6k
#line 1797 "Zend/zend_language_scanner.l"
7437
61.6k
    {
7438
61.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
61.6k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
5.32k
yy608:
7442
5.32k
    YYDEBUG(608, *YYCURSOR);
7443
5.32k
    yyaccept = 4;
7444
5.32k
    yych = *(YYMARKER = ++YYCURSOR);
7445
5.32k
    if (yych == 'L') goto yy688;
7446
5.25k
    if (yych == 'l') goto yy688;
7447
834
    goto yy48;
7448
18.8k
yy609:
7449
18.8k
    YYDEBUG(609, *YYCURSOR);
7450
18.8k
    yyaccept = 4;
7451
18.8k
    yych = *(YYMARKER = ++YYCURSOR);
7452
18.8k
    if (yych == 'E') goto yy689;
7453
18.0k
    if (yych == 'e') goto yy689;
7454
832
    goto yy48;
7455
26.5k
yy610:
7456
26.5k
    YYDEBUG(610, *YYCURSOR);
7457
26.5k
    yyaccept = 56;
7458
26.5k
    yych = *(YYMARKER = ++YYCURSOR);
7459
26.5k
    if (yybm[256+yych] & 128) {
7460
1.84k
      goto yy47;
7461
1.84k
    }
7462
24.7k
    if (yych == '\\') goto yy164;
7463
24.3k
yy611:
7464
24.3k
    YYDEBUG(611, *YYCURSOR);
7465
24.3k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
24.3k
#line 1418 "Zend/zend_language_scanner.l"
7467
24.3k
    {
7468
24.3k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
24.3k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
17.8k
yy612:
7472
17.8k
    YYDEBUG(612, *YYCURSOR);
7473
17.8k
    yyaccept = 57;
7474
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
7475
17.8k
    if (yybm[256+yych] & 128) {
7476
888
      goto yy47;
7477
888
    }
7478
17.0k
    if (yych == '\\') goto yy164;
7479
17.0k
yy613:
7480
17.0k
    YYDEBUG(613, *YYCURSOR);
7481
17.0k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
17.0k
#line 1765 "Zend/zend_language_scanner.l"
7483
17.0k
    {
7484
17.0k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
17.0k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
5.01k
yy614:
7488
5.01k
    YYDEBUG(614, *YYCURSOR);
7489
5.01k
    yyaccept = 58;
7490
5.01k
    yych = *(YYMARKER = ++YYCURSOR);
7491
5.01k
    if (yybm[256+yych] & 128) {
7492
475
      goto yy47;
7493
475
    }
7494
4.54k
    if (yych == '\\') goto yy164;
7495
4.53k
yy615:
7496
4.53k
    YYDEBUG(615, *YYCURSOR);
7497
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
4.53k
#line 1513 "Zend/zend_language_scanner.l"
7499
4.53k
    {
7500
4.53k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
4.53k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
285k
yy616:
7504
285k
    YYDEBUG(616, *YYCURSOR);
7505
285k
    ++YYCURSOR;
7506
285k
    YYFILL(5);
7507
285k
    yych = *YYCURSOR;
7508
285k
    YYDEBUG(617, *YYCURSOR);
7509
285k
    if (yych <= '"') {
7510
76.7k
      if (yych <= '\f') {
7511
58.9k
        if (yych <= 0x08) goto yy86;
7512
57.1k
        if (yych <= '\n') goto yy616;
7513
804
        goto yy86;
7514
57.1k
      } else {
7515
17.8k
        if (yych <= '\r') goto yy616;
7516
2.92k
        if (yych == ' ') goto yy616;
7517
1.31k
        goto yy86;
7518
2.92k
      }
7519
209k
    } else {
7520
209k
      if (yych <= 'E') {
7521
191k
        if (yych <= '#') goto yy618;
7522
16.8k
        if (yych == '/') goto yy619;
7523
12.7k
        goto yy86;
7524
17.5k
      } else {
7525
17.5k
        if (yych <= 'F') goto yy691;
7526
15.2k
        if (yych == 'f') goto yy691;
7527
6.88k
        goto yy86;
7528
15.2k
      }
7529
209k
    }
7530
215k
yy618:
7531
215k
    YYDEBUG(618, *YYCURSOR);
7532
215k
    ++YYCURSOR;
7533
215k
    YYFILL(1);
7534
215k
    yych = *YYCURSOR;
7535
215k
    if (yych <= '\f') {
7536
69.2k
      if (yych <= 0x00) goto yy86;
7537
68.6k
      if (yych == '\n') goto yy694;
7538
911
      goto yy692;
7539
146k
    } else {
7540
146k
      if (yych <= '\r') goto yy694;
7541
32.4k
      if (yych == '[') goto yy86;
7542
32.1k
      goto yy692;
7543
32.4k
    }
7544
4.78k
yy619:
7545
4.78k
    YYDEBUG(619, *YYCURSOR);
7546
4.78k
    ++YYCURSOR;
7547
4.78k
    YYFILL(1);
7548
4.78k
    yych = *YYCURSOR;
7549
4.78k
    if (yych == '*') goto yy696;
7550
1.80k
    if (yych == '/') goto yy692;
7551
1.46k
    goto yy86;
7552
8.27k
yy620:
7553
8.27k
    YYDEBUG(620, *YYCURSOR);
7554
8.27k
    yyaccept = 4;
7555
8.27k
    yych = *(YYMARKER = ++YYCURSOR);
7556
8.27k
    if (yych == 'S') goto yy698;
7557
6.91k
    if (yych == 's') goto yy698;
7558
448
    goto yy48;
7559
4.08k
yy621:
7560
4.08k
    YYDEBUG(621, *YYCURSOR);
7561
4.08k
    yyaccept = 4;
7562
4.08k
    yych = *(YYMARKER = ++YYCURSOR);
7563
4.08k
    if (yych == '_') goto yy699;
7564
1.17k
    goto yy48;
7565
10.9k
yy622:
7566
10.9k
    YYDEBUG(622, *YYCURSOR);
7567
10.9k
    yyaccept = 4;
7568
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
7569
10.9k
    if (yych == '_') goto yy701;
7570
1.72k
    goto yy48;
7571
20.1k
yy623:
7572
20.1k
    YYDEBUG(623, *YYCURSOR);
7573
20.1k
    yyaccept = 4;
7574
20.1k
    yych = *(YYMARKER = ++YYCURSOR);
7575
20.1k
    if (yych == 'T') goto yy702;
7576
3.27k
    if (yych == 't') goto yy702;
7577
1.40k
    goto yy48;
7578
6.25k
yy624:
7579
6.25k
    YYDEBUG(624, *YYCURSOR);
7580
6.25k
    yyaccept = 4;
7581
6.25k
    yych = *(YYMARKER = ++YYCURSOR);
7582
6.25k
    if (yych == '_') goto yy703;
7583
418
    goto yy48;
7584
2.91k
yy625:
7585
2.91k
    YYDEBUG(625, *YYCURSOR);
7586
2.91k
    yyaccept = 4;
7587
2.91k
    yych = *(YYMARKER = ++YYCURSOR);
7588
2.91k
    if (yych == '_') goto yy704;
7589
141
    goto yy48;
7590
13.4k
yy626:
7591
13.4k
    YYDEBUG(626, *YYCURSOR);
7592
13.4k
    yyaccept = 4;
7593
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
7594
13.4k
    if (yych == 'O') goto yy705;
7595
6.45k
    if (yych == 'o') goto yy705;
7596
918
    goto yy48;
7597
8.60k
yy627:
7598
8.60k
    YYDEBUG(627, *YYCURSOR);
7599
8.60k
    yyaccept = 4;
7600
8.60k
    yych = *(YYMARKER = ++YYCURSOR);
7601
8.60k
    if (yych == 'S') goto yy706;
7602
6.08k
    if (yych == 's') goto yy706;
7603
943
    goto yy48;
7604
4.71k
yy628:
7605
4.71k
    YYDEBUG(628, *YYCURSOR);
7606
4.71k
    yyaccept = 4;
7607
4.71k
    yych = *(YYMARKER = ++YYCURSOR);
7608
4.71k
    if (yych == 'E') goto yy707;
7609
2.23k
    if (yych == 'e') goto yy707;
7610
774
    goto yy48;
7611
4.92k
yy629:
7612
4.92k
    YYDEBUG(629, *YYCURSOR);
7613
4.92k
    yyaccept = 4;
7614
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
7615
4.92k
    if (yych == 'T') goto yy708;
7616
4.09k
    if (yych == 't') goto yy708;
7617
799
    goto yy48;
7618
117k
yy630:
7619
117k
    YYDEBUG(630, *YYCURSOR);
7620
117k
    ++YYCURSOR;
7621
117k
    YYFILL(1);
7622
117k
    yych = *YYCURSOR;
7623
117k
    if (yych <= '\r') {
7624
92.9k
      if (yych <= '\t') {
7625
763
        if (yych <= 0x00) goto yy86;
7626
517
        goto yy443;
7627
92.1k
      } else {
7628
92.1k
        if (yych <= '\n') goto yy709;
7629
63.2k
        if (yych <= '\f') goto yy443;
7630
62.7k
        goto yy709;
7631
63.2k
      }
7632
92.9k
    } else {
7633
24.6k
      if (yych <= '*') {
7634
7.93k
        if (yych <= ')') goto yy443;
7635
1.76k
        goto yy547;
7636
16.7k
      } else {
7637
16.7k
        if (yych == '[') goto yy230;
7638
11.8k
        goto yy443;
7639
16.7k
      }
7640
24.6k
    }
7641
10.0k
yy631:
7642
10.0k
    YYDEBUG(631, *YYCURSOR);
7643
10.0k
    yyaccept = 26;
7644
10.0k
    YYMARKER = ++YYCURSOR;
7645
10.0k
    YYFILL(1);
7646
10.0k
    yych = *YYCURSOR;
7647
10.0k
    if (yybm[0+yych] & 4) {
7648
9.47k
      goto yy230;
7649
9.47k
    }
7650
540
    if (yych <= 0x00) goto yy89;
7651
253
    goto yy355;
7652
1.73k
yy632:
7653
1.73k
    YYDEBUG(632, *YYCURSOR);
7654
1.73k
    ++YYCURSOR;
7655
1.73k
    YYFILL(1);
7656
1.73k
    yych = *YYCURSOR;
7657
1.73k
    if (yybm[0+yych] & 64) {
7658
168
      goto yy355;
7659
168
    }
7660
1.56k
    if (yych <= 0x00) goto yy86;
7661
1.26k
    if (yych == '.') goto yy711;
7662
417
    goto yy230;
7663
16.3k
yy633:
7664
16.3k
    YYDEBUG(633, *YYCURSOR);
7665
16.3k
    ++YYCURSOR;
7666
16.3k
    YYFILL(1);
7667
16.3k
    yych = *YYCURSOR;
7668
16.3k
    if (yych <= '*') {
7669
15.0k
      if (yych <= 0x00) goto yy86;
7670
14.8k
      if (yych <= ')') goto yy230;
7671
14.3k
      goto yy712;
7672
14.8k
    } else {
7673
1.32k
      if (yych == '/') goto yy443;
7674
462
      goto yy230;
7675
1.32k
    }
7676
1.72k
yy634:
7677
1.72k
    YYDEBUG(634, *YYCURSOR);
7678
1.72k
    ++YYCURSOR;
7679
1.72k
    YYDEBUG(635, *YYCURSOR);
7680
1.72k
    yyleng = YYCURSOR - SCNG(yy_text);
7681
1.72k
#line 1687 "Zend/zend_language_scanner.l"
7682
1.72k
    {
7683
1.72k
  RETURN_TOKEN(T_ARRAY_CAST);
7684
1.72k
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
3.91k
yy636:
7687
3.91k
    YYDEBUG(636, *YYCURSOR);
7688
3.91k
    ++YYCURSOR;
7689
3.91k
    YYFILL(1);
7690
3.91k
    yych = *YYCURSOR;
7691
3.91k
    YYDEBUG(637, *YYCURSOR);
7692
3.91k
    if (yych <= 0x1F) {
7693
754
      if (yych == '\t') goto yy636;
7694
425
      goto yy86;
7695
3.16k
    } else {
7696
3.16k
      if (yych <= ' ') goto yy636;
7697
2.94k
      if (yych == ')') goto yy713;
7698
609
      goto yy86;
7699
2.94k
    }
7700
2.54k
yy638:
7701
2.54k
    YYDEBUG(638, *YYCURSOR);
7702
2.54k
    yych = *++YYCURSOR;
7703
2.54k
    if (yych == 'N') goto yy715;
7704
1.40k
    if (yych == 'n') goto yy715;
7705
762
    goto yy86;
7706
2.59k
yy639:
7707
2.59k
    YYDEBUG(639, *YYCURSOR);
7708
2.59k
    ++YYCURSOR;
7709
2.59k
    YYFILL(1);
7710
2.59k
    yych = *YYCURSOR;
7711
2.59k
    YYDEBUG(640, *YYCURSOR);
7712
2.59k
    if (yych <= 0x1F) {
7713
625
      if (yych == '\t') goto yy639;
7714
212
      goto yy86;
7715
1.96k
    } else {
7716
1.96k
      if (yych <= ' ') goto yy639;
7717
1.71k
      if (yych == ')') goto yy717;
7718
941
      goto yy86;
7719
1.71k
    }
7720
1.34k
yy641:
7721
1.34k
    YYDEBUG(641, *YYCURSOR);
7722
1.34k
    ++YYCURSOR;
7723
1.34k
    YYDEBUG(642, *YYCURSOR);
7724
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
1.34k
#line 1651 "Zend/zend_language_scanner.l"
7726
1.34k
    {
7727
1.34k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
1.34k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
2.73k
yy643:
7731
2.73k
    YYDEBUG(643, *YYCURSOR);
7732
2.73k
    yych = *++YYCURSOR;
7733
2.73k
    if (yych == 'R') goto yy719;
7734
2.02k
    if (yych == 'r') goto yy719;
7735
1.20k
    goto yy86;
7736
3.68k
yy644:
7737
3.68k
    YYDEBUG(644, *YYCURSOR);
7738
3.68k
    ++YYCURSOR;
7739
3.68k
    YYFILL(1);
7740
3.68k
    yych = *YYCURSOR;
7741
3.68k
    YYDEBUG(645, *YYCURSOR);
7742
3.68k
    if (yych <= 0x1F) {
7743
1.30k
      if (yych == '\t') goto yy644;
7744
861
      goto yy86;
7745
2.37k
    } else {
7746
2.37k
      if (yych <= ' ') goto yy644;
7747
1.76k
      if (yych == ')') goto yy721;
7748
768
      goto yy86;
7749
1.76k
    }
7750
13.2k
yy646:
7751
13.2k
    YYDEBUG(646, *YYCURSOR);
7752
13.2k
    ++YYCURSOR;
7753
13.2k
    YYFILL(1);
7754
13.2k
    yych = *YYCURSOR;
7755
13.2k
    YYDEBUG(647, *YYCURSOR);
7756
13.2k
    if (yych <= 0x1F) {
7757
3.04k
      if (yych == '\t') goto yy646;
7758
2.64k
      goto yy86;
7759
10.2k
    } else {
7760
10.2k
      if (yych <= ' ') goto yy646;
7761
8.01k
      if (yych == ')') goto yy723;
7762
2.97k
      goto yy86;
7763
8.01k
    }
7764
1.22k
yy648:
7765
1.22k
    YYDEBUG(648, *YYCURSOR);
7766
1.22k
    ++YYCURSOR;
7767
1.22k
    YYDEBUG(649, *YYCURSOR);
7768
1.22k
    yyleng = YYCURSOR - SCNG(yy_text);
7769
1.22k
#line 1709 "Zend/zend_language_scanner.l"
7770
1.22k
    {
7771
1.22k
  RETURN_TOKEN(T_UNSET_CAST);
7772
1.22k
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
6.38k
yy650:
7775
6.38k
    YYDEBUG(650, *YYCURSOR);
7776
6.38k
    yyaccept = 4;
7777
6.38k
    yych = *(YYMARKER = ++YYCURSOR);
7778
6.38k
    if (yych == 'T') goto yy725;
7779
5.26k
    if (yych == 't') goto yy725;
7780
444
    goto yy48;
7781
3.58k
yy651:
7782
3.58k
    YYDEBUG(651, *YYCURSOR);
7783
3.58k
    yyaccept = 4;
7784
3.58k
    yych = *(YYMARKER = ++YYCURSOR);
7785
3.58k
    if (yych == 'E') goto yy727;
7786
3.04k
    if (yych == 'e') goto yy727;
7787
512
    goto yy48;
7788
5.20k
yy652:
7789
5.20k
    YYDEBUG(652, *YYCURSOR);
7790
5.20k
    yyaccept = 4;
7791
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
7792
5.20k
    if (yych == 'E') goto yy729;
7793
4.33k
    if (yych == 'e') goto yy729;
7794
854
    goto yy48;
7795
7.63k
yy653:
7796
7.63k
    YYDEBUG(653, *YYCURSOR);
7797
7.63k
    yyaccept = 59;
7798
7.63k
    yych = *(YYMARKER = ++YYCURSOR);
7799
7.63k
    if (yybm[256+yych] & 128) {
7800
1.18k
      goto yy47;
7801
1.18k
    }
7802
6.45k
    if (yych == '\\') goto yy164;
7803
6.43k
yy654:
7804
6.43k
    YYDEBUG(654, *YYCURSOR);
7805
6.43k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
6.43k
#line 1497 "Zend/zend_language_scanner.l"
7807
6.43k
    {
7808
6.43k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
6.43k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
2.87k
yy655:
7812
2.87k
    YYDEBUG(655, *YYCURSOR);
7813
2.87k
    yyaccept = 60;
7814
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
7815
2.87k
    if (yybm[256+yych] & 128) {
7816
630
      goto yy47;
7817
630
    }
7818
2.24k
    if (yych == '\\') goto yy164;
7819
2.15k
yy656:
7820
2.15k
    YYDEBUG(656, *YYCURSOR);
7821
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
2.15k
#line 1529 "Zend/zend_language_scanner.l"
7823
2.15k
    {
7824
2.15k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
2.15k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
3.64k
yy657:
7828
3.64k
    YYDEBUG(657, *YYCURSOR);
7829
3.64k
    yyaccept = 4;
7830
3.64k
    yych = *(YYMARKER = ++YYCURSOR);
7831
3.64k
    if (yych == 'A') goto yy731;
7832
3.06k
    if (yych == 'a') goto yy731;
7833
627
    goto yy48;
7834
5.60k
yy658:
7835
5.60k
    YYDEBUG(658, *YYCURSOR);
7836
5.60k
    yyaccept = 4;
7837
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
7838
5.60k
    if (yych == 'A') goto yy732;
7839
3.34k
    if (yych == 'a') goto yy732;
7840
431
    goto yy48;
7841
2.58k
yy659:
7842
2.58k
    YYDEBUG(659, *YYCURSOR);
7843
2.58k
    yyaccept = 4;
7844
2.58k
    yych = *(YYMARKER = ++YYCURSOR);
7845
2.58k
    if (yych == 'C') goto yy733;
7846
1.90k
    if (yych == 'c') goto yy733;
7847
314
    goto yy48;
7848
6.14k
yy660:
7849
6.14k
    YYDEBUG(660, *YYCURSOR);
7850
6.14k
    yyaccept = 4;
7851
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
7852
6.14k
    if (yych == 'E') goto yy734;
7853
5.39k
    if (yych == 'e') goto yy734;
7854
1.84k
    goto yy48;
7855
3.32k
yy661:
7856
3.32k
    YYDEBUG(661, *YYCURSOR);
7857
3.32k
    yych = *++YYCURSOR;
7858
3.32k
    if (yych == 'T') goto yy736;
7859
3.02k
    if (yych == 't') goto yy736;
7860
796
    goto yy86;
7861
3.95k
yy662:
7862
3.95k
    YYDEBUG(662, *YYCURSOR);
7863
3.95k
    yych = *++YYCURSOR;
7864
3.95k
    if (yych == 'P') goto yy737;
7865
2.96k
    if (yych == 'p') goto yy737;
7866
327
    goto yy86;
7867
42.1k
yy663:
7868
42.1k
    YYDEBUG(663, *YYCURSOR);
7869
42.1k
    ++YYCURSOR;
7870
42.1k
    YYFILL(1);
7871
42.1k
    yych = *YYCURSOR;
7872
42.1k
    if (yych <= '\n') {
7873
33.9k
      if (yych <= 0x00) goto yy86;
7874
33.6k
      if (yych <= '\t') goto yy586;
7875
32.7k
      goto yy588;
7876
33.6k
    } else {
7877
8.22k
      if (yych == '\r') goto yy588;
7878
5.29k
      goto yy586;
7879
8.22k
    }
7880
124k
yy664:
7881
124k
    YYDEBUG(664, *YYCURSOR);
7882
124k
    ++YYCURSOR;
7883
124k
    YYFILL(1);
7884
124k
    yych = *YYCURSOR;
7885
124k
    if (yych <= '\f') {
7886
1.34k
      if (yych <= 0x00) goto yy86;
7887
981
      if (yych == '\n') goto yy495;
7888
533
      goto yy586;
7889
122k
    } else {
7890
122k
      if (yych <= '\r') goto yy495;
7891
117k
      if (yych == '*') goto yy738;
7892
10.8k
      goto yy586;
7893
117k
    }
7894
34.2k
yy665:
7895
34.2k
    YYDEBUG(665, *YYCURSOR);
7896
34.2k
    yyaccept = 53;
7897
34.2k
    YYMARKER = ++YYCURSOR;
7898
34.2k
    YYFILL(1);
7899
34.2k
    yych = *YYCURSOR;
7900
34.2k
    if (yych <= '\n') {
7901
4.05k
      if (yych <= 0x00) goto yy583;
7902
3.40k
      if (yych <= '\t') goto yy586;
7903
868
      goto yy495;
7904
30.1k
    } else {
7905
30.1k
      if (yych == '\r') goto yy495;
7906
28.7k
      goto yy586;
7907
30.1k
    }
7908
251k
yy666:
7909
251k
    YYDEBUG(666, *YYCURSOR);
7910
251k
    yyaccept = 53;
7911
251k
    YYMARKER = ++YYCURSOR;
7912
251k
    YYFILL(1);
7913
251k
    yych = *YYCURSOR;
7914
251k
    if (yych <= '\r') {
7915
32.1k
      if (yych <= '\t') {
7916
20.9k
        if (yych <= 0x00) goto yy583;
7917
20.5k
        goto yy586;
7918
20.9k
      } else {
7919
11.2k
        if (yych <= '\n') goto yy495;
7920
10.5k
        if (yych <= '\f') goto yy586;
7921
4.62k
        goto yy495;
7922
10.5k
      }
7923
219k
    } else {
7924
219k
      if (yych <= 'X') {
7925
128k
        if (yych <= 'W') goto yy586;
7926
2.90k
        goto yy740;
7927
128k
      } else {
7928
91.0k
        if (yych == 'x') goto yy740;
7929
64.2k
        goto yy586;
7930
91.0k
      }
7931
219k
    }
7932
42.9k
yy667:
7933
42.9k
    YYDEBUG(667, *YYCURSOR);
7934
42.9k
    yyaccept = 53;
7935
42.9k
    YYMARKER = ++YYCURSOR;
7936
42.9k
    YYFILL(1);
7937
42.9k
    yych = *YYCURSOR;
7938
42.9k
    if (yych <= '\r') {
7939
1.53k
      if (yych <= '\t') {
7940
198
        if (yych <= 0x00) goto yy583;
7941
123
        goto yy586;
7942
1.33k
      } else {
7943
1.33k
        if (yych <= '\n') goto yy495;
7944
1.14k
        if (yych <= '\f') goto yy586;
7945
254
        goto yy495;
7946
1.14k
      }
7947
41.3k
    } else {
7948
41.3k
      if (yych <= 'M') {
7949
7.58k
        if (yych <= 'L') goto yy586;
7950
6.41k
        goto yy741;
7951
33.8k
      } else {
7952
33.8k
        if (yych == 'm') goto yy741;
7953
5.10k
        goto yy586;
7954
33.8k
      }
7955
41.3k
    }
7956
57.8k
yy668:
7957
57.8k
    YYDEBUG(668, *YYCURSOR);
7958
57.8k
    ++YYCURSOR;
7959
57.8k
    YYFILL(1);
7960
57.8k
    yych = *YYCURSOR;
7961
57.8k
    YYDEBUG(669, *YYCURSOR);
7962
57.8k
    if (yych <= '*') {
7963
13.0k
      if (yych <= 0x00) goto yy86;
7964
11.9k
      if (yych <= ')') goto yy590;
7965
3.39k
      goto yy668;
7966
44.7k
    } else {
7967
44.7k
      if (yych == '/') goto yy495;
7968
4.60k
      goto yy590;
7969
44.7k
    }
7970
16.0k
yy670:
7971
16.0k
    YYDEBUG(670, *YYCURSOR);
7972
16.0k
    yyaccept = 61;
7973
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
7974
16.0k
    if (yybm[256+yych] & 128) {
7975
501
      goto yy47;
7976
501
    }
7977
15.5k
    if (yych == '\\') goto yy164;
7978
15.4k
yy671:
7979
15.4k
    YYDEBUG(671, *YYCURSOR);
7980
15.4k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
15.4k
#line 1578 "Zend/zend_language_scanner.l"
7982
15.4k
    {
7983
15.4k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
15.4k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
5.10k
yy672:
7987
5.10k
    YYDEBUG(672, *YYCURSOR);
7988
5.10k
    yyaccept = 62;
7989
5.10k
    yych = *(YYMARKER = ++YYCURSOR);
7990
5.10k
    if (yybm[256+yych] & 128) {
7991
1.67k
      goto yy47;
7992
1.67k
    }
7993
3.43k
    if (yych == '\\') goto yy164;
7994
3.31k
yy673:
7995
3.31k
    YYDEBUG(673, *YYCURSOR);
7996
3.31k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
3.31k
#line 1445 "Zend/zend_language_scanner.l"
7998
3.31k
    {
7999
3.31k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
3.31k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
23.2k
yy674:
8003
23.2k
    YYDEBUG(674, *YYCURSOR);
8004
23.2k
    yyaccept = 63;
8005
23.2k
    yych = *(YYMARKER = ++YYCURSOR);
8006
23.2k
    if (yybm[256+yych] & 128) {
8007
1.41k
      goto yy47;
8008
1.41k
    }
8009
21.8k
    if (yych == '\\') goto yy164;
8010
21.8k
yy675:
8011
21.8k
    YYDEBUG(675, *YYCURSOR);
8012
21.8k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
21.8k
#line 1489 "Zend/zend_language_scanner.l"
8014
21.8k
    {
8015
21.8k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
21.8k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
101k
yy676:
8019
101k
    YYDEBUG(676, *YYCURSOR);
8020
101k
    yyaccept = 4;
8021
101k
    yych = *(YYMARKER = ++YYCURSOR);
8022
101k
    if (yych == 'N') goto yy742;
8023
100k
    if (yych == 'n') goto yy742;
8024
1.38k
    goto yy48;
8025
11.3k
yy677:
8026
11.3k
    YYDEBUG(677, *YYCURSOR);
8027
11.3k
    yyaccept = 4;
8028
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
8029
11.3k
    if (yych == 'N') goto yy744;
8030
9.37k
    if (yych == 'n') goto yy744;
8031
1.95k
    goto yy48;
8032
9.13k
yy678:
8033
9.13k
    YYDEBUG(678, *YYCURSOR);
8034
9.13k
    yyaccept = 64;
8035
9.13k
    yych = *(YYMARKER = ++YYCURSOR);
8036
9.13k
    if (yych <= '\\') {
8037
3.65k
      if (yych <= '@') {
8038
3.16k
        if (yych <= '/') goto yy679;
8039
557
        if (yych <= '9') goto yy47;
8040
557
      } else {
8041
494
        if (yych <= 'Z') goto yy47;
8042
390
        if (yych >= '\\') goto yy164;
8043
390
      }
8044
5.48k
    } else {
8045
5.48k
      if (yych <= '`') {
8046
4.11k
        if (yych == '_') goto yy745;
8047
4.11k
      } else {
8048
1.36k
        if (yych <= 'z') goto yy47;
8049
747
        if (yych >= 0x80) goto yy47;
8050
747
      }
8051
5.48k
    }
8052
4.11k
yy679:
8053
4.11k
    YYDEBUG(679, *YYCURSOR);
8054
4.11k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
4.11k
#line 1721 "Zend/zend_language_scanner.l"
8056
4.11k
    {
8057
4.11k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
4.11k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
5.06k
yy680:
8061
5.06k
    YYDEBUG(680, *YYCURSOR);
8062
5.06k
    yyaccept = 4;
8063
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
8064
5.06k
    if (yych == 'E') goto yy746;
8065
3.66k
    if (yych == 'e') goto yy746;
8066
332
    goto yy48;
8067
6.41k
yy681:
8068
6.41k
    YYDEBUG(681, *YYCURSOR);
8069
6.41k
    yyaccept = 4;
8070
6.41k
    yych = *(YYMARKER = ++YYCURSOR);
8071
6.41k
    if (yych == 'O') goto yy747;
8072
5.90k
    if (yych == 'o') goto yy747;
8073
752
    goto yy48;
8074
7.24k
yy682:
8075
7.24k
    YYDEBUG(682, *YYCURSOR);
8076
7.24k
    yyaccept = 4;
8077
7.24k
    yych = *(YYMARKER = ++YYCURSOR);
8078
7.24k
    if (yych == 'C') goto yy748;
8079
6.74k
    if (yych == 'c') goto yy748;
8080
690
    goto yy48;
8081
22.5k
yy683:
8082
22.5k
    YYDEBUG(683, *YYCURSOR);
8083
22.5k
    yyaccept = 4;
8084
22.5k
    yych = *(YYMARKER = ++YYCURSOR);
8085
22.5k
    if (yych == 'C') goto yy749;
8086
17.7k
    if (yych == 'c') goto yy749;
8087
1.00k
    goto yy48;
8088
12.1k
yy684:
8089
12.1k
    YYDEBUG(684, *YYCURSOR);
8090
12.1k
    yyaccept = 65;
8091
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
8092
12.1k
    if (yybm[256+yych] & 128) {
8093
778
      goto yy47;
8094
778
    }
8095
11.3k
    if (yych == '(') goto yy750;
8096
8.85k
    if (yych == '\\') goto yy164;
8097
10.4k
yy685:
8098
10.4k
    YYDEBUG(685, *YYCURSOR);
8099
10.4k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
10.4k
#line 1777 "Zend/zend_language_scanner.l"
8101
10.4k
    {
8102
10.4k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
10.4k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
10.8k
yy686:
8106
10.8k
    YYDEBUG(686, *YYCURSOR);
8107
10.8k
    yyaccept = 4;
8108
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
8109
10.8k
    if (yych == 'E') goto yy751;
8110
8.50k
    if (yych == 'e') goto yy751;
8111
1.04k
    goto yy48;
8112
1.98k
yy687:
8113
1.98k
    YYDEBUG(687, *YYCURSOR);
8114
1.98k
    yych = *++YYCURSOR;
8115
1.98k
    if (yych == 'S') goto yy752;
8116
1.63k
    if (yych == 's') goto yy752;
8117
142
    goto yy86;
8118
4.49k
yy688:
8119
4.49k
    YYDEBUG(688, *YYCURSOR);
8120
4.49k
    yyaccept = 4;
8121
4.49k
    yych = *(YYMARKER = ++YYCURSOR);
8122
4.49k
    if (yych == 'Y') goto yy753;
8123
4.27k
    if (yych == 'y') goto yy753;
8124
701
    goto yy48;
8125
18.0k
yy689:
8126
18.0k
    YYDEBUG(689, *YYCURSOR);
8127
18.0k
    yyaccept = 66;
8128
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
8129
18.0k
    if (yych <= '\\') {
8130
9.32k
      if (yych <= '@') {
8131
8.93k
        if (yych <= '/') goto yy690;
8132
998
        if (yych <= '9') goto yy47;
8133
998
      } else {
8134
392
        if (yych <= 'Z') goto yy47;
8135
353
        if (yych >= '\\') goto yy164;
8136
353
      }
8137
9.32k
    } else {
8138
8.74k
      if (yych <= '`') {
8139
3.83k
        if (yych == '_') goto yy755;
8140
4.91k
      } else {
8141
4.91k
        if (yych <= 'z') goto yy47;
8142
4.05k
        if (yych >= 0x80) goto yy47;
8143
4.05k
      }
8144
8.74k
    }
8145
9.29k
yy690:
8146
9.29k
    YYDEBUG(690, *YYCURSOR);
8147
9.29k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
9.29k
#line 1729 "Zend/zend_language_scanner.l"
8149
9.29k
    {
8150
9.29k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
9.29k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
11.2k
yy691:
8154
11.2k
    YYDEBUG(691, *YYCURSOR);
8155
11.2k
    yych = *++YYCURSOR;
8156
11.2k
    if (yych == 'R') goto yy756;
8157
9.29k
    if (yych == 'r') goto yy756;
8158
4.05k
    goto yy86;
8159
1.03M
yy692:
8160
1.03M
    YYDEBUG(692, *YYCURSOR);
8161
1.03M
    ++YYCURSOR;
8162
1.03M
    YYFILL(1);
8163
1.03M
    yych = *YYCURSOR;
8164
1.03M
    YYDEBUG(693, *YYCURSOR);
8165
1.03M
    if (yych <= '\n') {
8166
89.0k
      if (yych <= 0x00) goto yy86;
8167
84.4k
      if (yych <= '\t') goto yy692;
8168
74.3k
      goto yy616;
8169
941k
    } else {
8170
941k
      if (yych == '\r') goto yy616;
8171
889k
      goto yy692;
8172
941k
    }
8173
203k
yy694:
8174
203k
    YYDEBUG(694, *YYCURSOR);
8175
203k
    ++YYCURSOR;
8176
203k
    YYFILL(1);
8177
203k
    yych = *YYCURSOR;
8178
203k
    YYDEBUG(695, *YYCURSOR);
8179
203k
    if (yych <= ' ') {
8180
18.6k
      if (yych <= '\n') {
8181
4.12k
        if (yych <= 0x00) goto yy86;
8182
3.42k
        if (yych <= 0x08) goto yy692;
8183
2.57k
        if (yych <= '\t') goto yy694;
8184
1.73k
        goto yy616;
8185
14.4k
      } else {
8186
14.4k
        if (yych == '\r') goto yy616;
8187
2.78k
        if (yych <= 0x1F) goto yy692;
8188
1.04k
        goto yy694;
8189
2.78k
      }
8190
184k
    } else {
8191
184k
      if (yych <= '/') {
8192
106k
        if (yych == '#') goto yy757;
8193
97.6k
        if (yych <= '.') goto yy692;
8194
90.4k
        goto yy758;
8195
97.6k
      } else {
8196
77.7k
        if (yych <= 'F') {
8197
33.8k
          if (yych <= 'E') goto yy692;
8198
18.8k
          goto yy759;
8199
43.9k
        } else {
8200
43.9k
          if (yych == 'f') goto yy759;
8201
42.5k
          goto yy692;
8202
43.9k
        }
8203
77.7k
      }
8204
184k
    }
8205
1.98M
yy696:
8206
1.98M
    YYDEBUG(696, *YYCURSOR);
8207
1.98M
    ++YYCURSOR;
8208
1.98M
    YYFILL(1);
8209
1.98M
    yych = *YYCURSOR;
8210
1.98M
    YYDEBUG(697, *YYCURSOR);
8211
1.98M
    if (yych <= 0x00) goto yy86;
8212
1.95M
    if (yych == '*') goto yy760;
8213
1.90M
    goto yy696;
8214
1.90M
yy698:
8215
7.82k
    YYDEBUG(698, *YYCURSOR);
8216
7.82k
    yyaccept = 4;
8217
7.82k
    yych = *(YYMARKER = ++YYCURSOR);
8218
7.82k
    if (yych == '_') goto yy762;
8219
1.00k
    goto yy48;
8220
2.90k
yy699:
8221
2.90k
    YYDEBUG(699, *YYCURSOR);
8222
2.90k
    yyaccept = 67;
8223
2.90k
    yych = *(YYMARKER = ++YYCURSOR);
8224
2.90k
    if (yybm[256+yych] & 128) {
8225
849
      goto yy47;
8226
849
    }
8227
2.05k
    if (yych == '\\') goto yy164;
8228
2.05k
yy700:
8229
2.05k
    YYDEBUG(700, *YYCURSOR);
8230
2.05k
    yyleng = YYCURSOR - SCNG(yy_text);
8231
2.05k
#line 2280 "Zend/zend_language_scanner.l"
8232
2.05k
    {
8233
2.05k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
2.05k
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
9.22k
yy701:
8237
9.22k
    YYDEBUG(701, *YYCURSOR);
8238
9.22k
    yyaccept = 4;
8239
9.22k
    yych = *(YYMARKER = ++YYCURSOR);
8240
9.22k
    if (yych == '_') goto yy763;
8241
2.91k
    goto yy48;
8242
18.7k
yy702:
8243
18.7k
    YYDEBUG(702, *YYCURSOR);
8244
18.7k
    yyaccept = 4;
8245
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
8246
18.7k
    if (yych == 'I') goto yy765;
8247
16.1k
    if (yych == 'i') goto yy765;
8248
876
    goto yy48;
8249
5.83k
yy703:
8250
5.83k
    YYDEBUG(703, *YYCURSOR);
8251
5.83k
    yyaccept = 4;
8252
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
8253
5.83k
    if (yych == 'C') goto yy766;
8254
4.91k
    if (yych == 'c') goto yy766;
8255
857
    goto yy48;
8256
2.77k
yy704:
8257
2.77k
    YYDEBUG(704, *YYCURSOR);
8258
2.77k
    yyaccept = 4;
8259
2.77k
    yych = *(YYMARKER = ++YYCURSOR);
8260
2.77k
    if (yych == '_') goto yy767;
8261
286
    goto yy48;
8262
12.5k
yy705:
8263
12.5k
    YYDEBUG(705, *YYCURSOR);
8264
12.5k
    yyaccept = 4;
8265
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
8266
12.5k
    if (yych == 'D') goto yy769;
8267
5.68k
    if (yych == 'd') goto yy769;
8268
1.13k
    goto yy48;
8269
7.65k
yy706:
8270
7.65k
    YYDEBUG(706, *YYCURSOR);
8271
7.65k
    yyaccept = 4;
8272
7.65k
    yych = *(YYMARKER = ++YYCURSOR);
8273
7.65k
    if (yych == 'P') goto yy770;
8274
5.59k
    if (yych == 'p') goto yy770;
8275
675
    goto yy48;
8276
3.94k
yy707:
8277
3.94k
    YYDEBUG(707, *YYCURSOR);
8278
3.94k
    yyaccept = 4;
8279
3.94k
    yych = *(YYMARKER = ++YYCURSOR);
8280
3.94k
    if (yych == 'R') goto yy771;
8281
2.39k
    if (yych == 'r') goto yy771;
8282
95
    goto yy48;
8283
4.12k
yy708:
8284
4.12k
    YYDEBUG(708, *YYCURSOR);
8285
4.12k
    yyaccept = 4;
8286
4.12k
    yych = *(YYMARKER = ++YYCURSOR);
8287
4.12k
    if (yych == '_') goto yy772;
8288
631
    goto yy48;
8289
123k
yy709:
8290
123k
    YYDEBUG(709, *YYCURSOR);
8291
123k
    ++YYCURSOR;
8292
123k
    YYFILL(1);
8293
123k
    yych = *YYCURSOR;
8294
123k
    YYDEBUG(710, *YYCURSOR);
8295
123k
    if (yych <= ' ') {
8296
8.39k
      if (yych <= '\n') {
8297
3.21k
        if (yych <= 0x00) goto yy86;
8298
2.85k
        if (yych <= 0x08) goto yy443;
8299
2.51k
        if (yych <= '\t') goto yy709;
8300
912
        goto yy545;
8301
5.18k
      } else {
8302
5.18k
        if (yych == '\r') goto yy545;
8303
1.79k
        if (yych <= 0x1F) goto yy443;
8304
1.26k
        goto yy709;
8305
1.79k
      }
8306
115k
    } else {
8307
115k
      if (yych <= ')') {
8308
58.7k
        if (yych <= '"') goto yy443;
8309
57.6k
        if (yych <= '#') goto yy773;
8310
42.9k
        if (yych <= '$') goto yy774;
8311
41.7k
        goto yy443;
8312
56.4k
      } else {
8313
56.4k
        if (yych <= '-') {
8314
1.00k
          if (yych <= '*') goto yy547;
8315
489
          goto yy443;
8316
55.4k
        } else {
8317
55.4k
          if (yych <= '.') goto yy775;
8318
49.7k
          if (yych <= '/') goto yy776;
8319
19.9k
          goto yy443;
8320
49.7k
        }
8321
56.4k
      }
8322
115k
    }
8323
848
yy711:
8324
848
    YYDEBUG(711, *YYCURSOR);
8325
848
    ++YYCURSOR;
8326
848
    YYFILL(1);
8327
848
    yych = *YYCURSOR;
8328
848
    if (yybm[0+yych] & 64) {
8329
211
      goto yy355;
8330
211
    }
8331
637
    if (yych <= 0x00) goto yy86;
8332
441
    if (yych == '.') goto yy631;
8333
144
    goto yy230;
8334
14.3k
yy712:
8335
14.3k
    YYDEBUG(712, *YYCURSOR);
8336
14.3k
    ++YYCURSOR;
8337
14.3k
    YYFILL(1);
8338
14.3k
    yych = *YYCURSOR;
8339
14.3k
    if (yybm[0+yych] & 64) {
8340
103
      goto yy355;
8341
103
    }
8342
14.2k
    if (yych <= 0x00) goto yy86;
8343
14.0k
    if (yych == '/') goto yy545;
8344
492
    goto yy230;
8345
2.33k
yy713:
8346
2.33k
    YYDEBUG(713, *YYCURSOR);
8347
2.33k
    ++YYCURSOR;
8348
2.33k
    YYDEBUG(714, *YYCURSOR);
8349
2.33k
    yyleng = YYCURSOR - SCNG(yy_text);
8350
2.33k
#line 1677 "Zend/zend_language_scanner.l"
8351
2.33k
    {
8352
2.33k
  if (PARSER_MODE()) {
8353
223
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
223
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
223
  }
8358
2.33k
  RETURN_TOKEN(T_STRING_CAST);
8359
2.33k
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
2.26k
yy715:
8362
2.26k
    YYDEBUG(715, *YYCURSOR);
8363
2.26k
    ++YYCURSOR;
8364
2.26k
    YYFILL(1);
8365
2.26k
    yych = *YYCURSOR;
8366
2.26k
    YYDEBUG(716, *YYCURSOR);
8367
2.26k
    if (yych <= 0x1F) {
8368
711
      if (yych == '\t') goto yy715;
8369
452
      goto yy86;
8370
1.55k
    } else {
8371
1.55k
      if (yych <= ' ') goto yy715;
8372
1.33k
      if (yych == ')') goto yy777;
8373
958
      goto yy86;
8374
1.33k
    }
8375
771
yy717:
8376
771
    YYDEBUG(717, *YYCURSOR);
8377
771
    ++YYCURSOR;
8378
771
    YYDEBUG(718, *YYCURSOR);
8379
771
    yyleng = YYCURSOR - SCNG(yy_text);
8380
771
#line 1655 "Zend/zend_language_scanner.l"
8381
771
    {
8382
771
  if (PARSER_MODE()) {
8383
250
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
250
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
250
  }
8388
771
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
771
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
2.01k
yy719:
8392
2.01k
    YYDEBUG(719, *YYCURSOR);
8393
2.01k
    ++YYCURSOR;
8394
2.01k
    YYFILL(1);
8395
2.01k
    yych = *YYCURSOR;
8396
2.01k
    YYDEBUG(720, *YYCURSOR);
8397
2.01k
    if (yych <= 0x1F) {
8398
280
      if (yych == '\t') goto yy719;
8399
204
      goto yy86;
8400
1.73k
    } else {
8401
1.73k
      if (yych <= ' ') goto yy719;
8402
1.33k
      if (yych == ')') goto yy779;
8403
496
      goto yy86;
8404
1.33k
    }
8405
994
yy721:
8406
994
    YYDEBUG(721, *YYCURSOR);
8407
994
    ++YYCURSOR;
8408
994
    YYDEBUG(722, *YYCURSOR);
8409
994
    yyleng = YYCURSOR - SCNG(yy_text);
8410
994
#line 1691 "Zend/zend_language_scanner.l"
8411
994
    {
8412
994
  RETURN_TOKEN(T_OBJECT_CAST);
8413
994
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
5.03k
yy723:
8416
5.03k
    YYDEBUG(723, *YYCURSOR);
8417
5.03k
    ++YYCURSOR;
8418
5.03k
    YYDEBUG(724, *YYCURSOR);
8419
5.03k
    yyleng = YYCURSOR - SCNG(yy_text);
8420
5.03k
#line 1673 "Zend/zend_language_scanner.l"
8421
5.03k
    {
8422
5.03k
  RETURN_TOKEN(T_STRING_CAST);
8423
5.03k
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
5.94k
yy725:
8426
5.94k
    YYDEBUG(725, *YYCURSOR);
8427
5.94k
    yyaccept = 68;
8428
5.94k
    yych = *(YYMARKER = ++YYCURSOR);
8429
5.94k
    if (yybm[256+yych] & 128) {
8430
1.81k
      goto yy47;
8431
1.81k
    }
8432
4.12k
    if (yych == '\\') goto yy164;
8433
4.11k
yy726:
8434
4.11k
    YYDEBUG(726, *YYCURSOR);
8435
4.11k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
4.11k
#line 1769 "Zend/zend_language_scanner.l"
8437
4.11k
    {
8438
4.11k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
4.11k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
3.07k
yy727:
8442
3.07k
    YYDEBUG(727, *YYCURSOR);
8443
3.07k
    yyaccept = 69;
8444
3.07k
    yych = *(YYMARKER = ++YYCURSOR);
8445
3.07k
    if (yybm[256+yych] & 128) {
8446
607
      goto yy47;
8447
607
    }
8448
2.46k
    if (yych == '\\') goto yy164;
8449
2.46k
yy728:
8450
2.46k
    YYDEBUG(728, *YYCURSOR);
8451
2.46k
    yyleng = YYCURSOR - SCNG(yy_text);
8452
2.46k
#line 1821 "Zend/zend_language_scanner.l"
8453
2.46k
    {
8454
2.46k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
2.46k
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
4.34k
yy729:
8458
4.34k
    YYDEBUG(729, *YYCURSOR);
8459
4.34k
    yyaccept = 70;
8460
4.34k
    yych = *(YYMARKER = ++YYCURSOR);
8461
4.34k
    if (yybm[256+yych] & 128) {
8462
450
      goto yy47;
8463
450
    }
8464
3.89k
    if (yych == '\\') goto yy164;
8465
3.82k
yy730:
8466
3.82k
    YYDEBUG(730, *YYCURSOR);
8467
3.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
3.82k
#line 1537 "Zend/zend_language_scanner.l"
8469
3.82k
    {
8470
3.82k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
3.82k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
3.02k
yy731:
8474
3.02k
    YYDEBUG(731, *YYCURSOR);
8475
3.02k
    yyaccept = 4;
8476
3.02k
    yych = *(YYMARKER = ++YYCURSOR);
8477
3.02k
    if (yych == 'R') goto yy781;
8478
2.46k
    if (yych == 'r') goto yy781;
8479
316
    goto yy48;
8480
5.17k
yy732:
8481
5.17k
    YYDEBUG(732, *YYCURSOR);
8482
5.17k
    yyaccept = 4;
8483
5.17k
    yych = *(YYMARKER = ++YYCURSOR);
8484
5.17k
    if (yych == 'C') goto yy782;
8485
3.11k
    if (yych == 'c') goto yy782;
8486
430
    goto yy48;
8487
2.26k
yy733:
8488
2.26k
    YYDEBUG(733, *YYCURSOR);
8489
2.26k
    yyaccept = 4;
8490
2.26k
    yych = *(YYMARKER = ++YYCURSOR);
8491
2.26k
    if (yych == 'H') goto yy783;
8492
1.93k
    if (yych == 'h') goto yy783;
8493
767
    goto yy48;
8494
4.29k
yy734:
8495
4.29k
    YYDEBUG(734, *YYCURSOR);
8496
4.29k
    yyaccept = 71;
8497
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
8498
4.29k
    if (yybm[256+yych] & 128) {
8499
880
      goto yy47;
8500
880
    }
8501
3.41k
    if (yych == '\\') goto yy164;
8502
3.40k
yy735:
8503
3.40k
    YYDEBUG(735, *YYCURSOR);
8504
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
8505
3.40k
#line 1473 "Zend/zend_language_scanner.l"
8506
3.40k
    {
8507
3.40k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
3.40k
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
2.53k
yy736:
8511
2.53k
    YYDEBUG(736, *YYCURSOR);
8512
2.53k
    yych = *++YYCURSOR;
8513
2.53k
    if (yych == 'E') goto yy785;
8514
2.26k
    if (yych == 'e') goto yy785;
8515
812
    goto yy86;
8516
3.62k
yy737:
8517
3.62k
    YYDEBUG(737, *YYCURSOR);
8518
3.62k
    yych = *++YYCURSOR;
8519
3.62k
    if (yych == 'L') goto yy786;
8520
2.73k
    if (yych == 'l') goto yy786;
8521
254
    goto yy86;
8522
2.90M
yy738:
8523
2.90M
    YYDEBUG(738, *YYCURSOR);
8524
2.90M
    ++YYCURSOR;
8525
2.90M
    YYFILL(1);
8526
2.90M
    yych = *YYCURSOR;
8527
2.90M
    YYDEBUG(739, *YYCURSOR);
8528
2.90M
    if (yych <= '\f') {
8529
146k
      if (yych <= 0x00) goto yy86;
8530
133k
      if (yych == '\n') goto yy787;
8531
19.7k
      goto yy738;
8532
2.76M
    } else {
8533
2.76M
      if (yych <= '\r') goto yy787;
8534
2.57M
      if (yych == '*') goto yy789;
8535
2.53M
      goto yy738;
8536
2.57M
    }
8537
29.6k
yy740:
8538
29.6k
    YYDEBUG(740, *YYCURSOR);
8539
29.6k
    ++YYCURSOR;
8540
29.6k
    YYFILL(1);
8541
29.6k
    yych = *YYCURSOR;
8542
29.6k
    if (yych <= '\r') {
8543
1.19k
      if (yych <= '\t') {
8544
490
        if (yych <= 0x00) goto yy86;
8545
205
        goto yy586;
8546
702
      } else {
8547
702
        if (yych <= '\n') goto yy495;
8548
503
        if (yych <= '\f') goto yy586;
8549
179
        goto yy495;
8550
503
      }
8551
28.4k
    } else {
8552
28.4k
      if (yych <= 'T') {
8553
4.13k
        if (yych <= 'S') goto yy586;
8554
2.54k
        goto yy791;
8555
24.3k
      } else {
8556
24.3k
        if (yych == 't') goto yy791;
8557
15.3k
        goto yy586;
8558
24.3k
      }
8559
28.4k
    }
8560
35.1k
yy741:
8561
35.1k
    YYDEBUG(741, *YYCURSOR);
8562
35.1k
    ++YYCURSOR;
8563
35.1k
    YYFILL(1);
8564
35.1k
    yych = *YYCURSOR;
8565
35.1k
    if (yych <= '\r') {
8566
1.64k
      if (yych <= '\t') {
8567
557
        if (yych <= 0x00) goto yy86;
8568
328
        goto yy586;
8569
1.09k
      } else {
8570
1.09k
        if (yych <= '\n') goto yy495;
8571
754
        if (yych <= '\f') goto yy586;
8572
287
        goto yy495;
8573
754
      }
8574
33.4k
    } else {
8575
33.4k
      if (yych <= 'P') {
8576
5.83k
        if (yych <= 'O') goto yy586;
8577
4.85k
        goto yy792;
8578
27.6k
      } else {
8579
27.6k
        if (yych == 'p') goto yy792;
8580
1.39k
        goto yy586;
8581
27.6k
      }
8582
33.4k
    }
8583
100k
yy742:
8584
100k
    YYDEBUG(742, *YYCURSOR);
8585
100k
    yyaccept = 72;
8586
100k
    yych = *(YYMARKER = ++YYCURSOR);
8587
100k
    if (yybm[256+yych] & 128) {
8588
1.79k
      goto yy47;
8589
1.79k
    }
8590
98.2k
    if (yych == '\\') goto yy164;
8591
98.2k
yy743:
8592
98.2k
    YYDEBUG(743, *YYCURSOR);
8593
98.2k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
98.2k
#line 1410 "Zend/zend_language_scanner.l"
8595
98.2k
    {
8596
98.2k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
98.2k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
9.41k
yy744:
8600
9.41k
    YYDEBUG(744, *YYCURSOR);
8601
9.41k
    yyaccept = 4;
8602
9.41k
    yych = *(YYMARKER = ++YYCURSOR);
8603
9.41k
    if (yych == 'T') goto yy793;
8604
8.79k
    if (yych == 't') goto yy793;
8605
2.58k
    goto yy48;
8606
3.82k
yy745:
8607
3.82k
    YYDEBUG(745, *YYCURSOR);
8608
3.82k
    yyaccept = 4;
8609
3.82k
    yych = *(YYMARKER = ++YYCURSOR);
8610
3.82k
    if (yych == 'O') goto yy794;
8611
3.17k
    if (yych == 'o') goto yy794;
8612
124
    goto yy48;
8613
4.73k
yy746:
8614
4.73k
    YYDEBUG(746, *YYCURSOR);
8615
4.73k
    yyaccept = 4;
8616
4.73k
    yych = *(YYMARKER = ++YYCURSOR);
8617
4.73k
    if (yych == 'O') goto yy795;
8618
3.93k
    if (yych == 'o') goto yy795;
8619
1.02k
    goto yy48;
8620
5.66k
yy747:
8621
5.66k
    YYDEBUG(747, *YYCURSOR);
8622
5.66k
    yyaccept = 4;
8623
5.66k
    yych = *(YYMARKER = ++YYCURSOR);
8624
5.66k
    if (yych == 'F') goto yy796;
8625
5.23k
    if (yych == 'f') goto yy796;
8626
585
    goto yy48;
8627
6.55k
yy748:
8628
6.55k
    YYDEBUG(748, *YYCURSOR);
8629
6.55k
    yyaccept = 4;
8630
6.55k
    yych = *(YYMARKER = ++YYCURSOR);
8631
6.55k
    if (yych == 'E') goto yy798;
8632
6.10k
    if (yych == 'e') goto yy798;
8633
263
    goto yy48;
8634
21.5k
yy749:
8635
21.5k
    YYDEBUG(749, *YYCURSOR);
8636
21.5k
    yyaccept = 4;
8637
21.5k
    yych = *(YYMARKER = ++YYCURSOR);
8638
21.5k
    if (yych == 'E') goto yy800;
8639
19.7k
    if (yych == 'e') goto yy800;
8640
1.66k
    goto yy48;
8641
2.48k
yy750:
8642
2.48k
    YYDEBUG(750, *YYCURSOR);
8643
2.48k
    yych = *++YYCURSOR;
8644
2.48k
    if (yych == 'S') goto yy802;
8645
1.89k
    if (yych == 's') goto yy802;
8646
439
    goto yy86;
8647
9.78k
yy751:
8648
9.78k
    YYDEBUG(751, *YYCURSOR);
8649
9.78k
    yyaccept = 4;
8650
9.78k
    yych = *(YYMARKER = ++YYCURSOR);
8651
9.78k
    if (yych == 'D') goto yy803;
8652
7.49k
    if (yych == 'd') goto yy803;
8653
514
    goto yy48;
8654
1.84k
yy752:
8655
1.84k
    YYDEBUG(752, *YYCURSOR);
8656
1.84k
    yych = *++YYCURSOR;
8657
1.84k
    if (yych == 'E') goto yy805;
8658
1.36k
    if (yych == 'e') goto yy805;
8659
223
    goto yy86;
8660
3.79k
yy753:
8661
3.79k
    YYDEBUG(753, *YYCURSOR);
8662
3.79k
    yyaccept = 73;
8663
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
8664
3.79k
    if (yybm[256+yych] & 128) {
8665
829
      goto yy47;
8666
829
    }
8667
2.96k
    if (yych == '\\') goto yy164;
8668
2.96k
yy754:
8669
2.96k
    YYDEBUG(754, *YYCURSOR);
8670
2.96k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
2.96k
#line 1801 "Zend/zend_language_scanner.l"
8672
2.96k
    {
8673
2.96k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
2.96k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
3.62k
yy755:
8677
3.62k
    YYDEBUG(755, *YYCURSOR);
8678
3.62k
    yyaccept = 4;
8679
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.62k
    if (yych == 'O') goto yy806;
8681
3.03k
    if (yych == 'o') goto yy806;
8682
401
    goto yy48;
8683
7.15k
yy756:
8684
7.15k
    YYDEBUG(756, *YYCURSOR);
8685
7.15k
    yych = *++YYCURSOR;
8686
7.15k
    if (yych == 'O') goto yy807;
8687
5.49k
    if (yych == 'o') goto yy807;
8688
745
    goto yy86;
8689
9.06k
yy757:
8690
9.06k
    YYDEBUG(757, *YYCURSOR);
8691
9.06k
    ++YYCURSOR;
8692
9.06k
    YYFILL(1);
8693
9.06k
    yych = *YYCURSOR;
8694
9.06k
    if (yych <= '\n') {
8695
3.64k
      if (yych <= 0x00) goto yy86;
8696
3.43k
      if (yych <= '\t') goto yy692;
8697
3.17k
      goto yy694;
8698
5.41k
    } else {
8699
5.41k
      if (yych == '\r') goto yy694;
8700
2.45k
      goto yy692;
8701
5.41k
    }
8702
90.4k
yy758:
8703
90.4k
    YYDEBUG(758, *YYCURSOR);
8704
90.4k
    ++YYCURSOR;
8705
90.4k
    YYFILL(1);
8706
90.4k
    yych = *YYCURSOR;
8707
90.4k
    if (yych <= '\f') {
8708
1.29k
      if (yych <= 0x00) goto yy86;
8709
814
      if (yych == '\n') goto yy616;
8710
336
      goto yy692;
8711
89.1k
    } else {
8712
89.1k
      if (yych <= '\r') goto yy616;
8713
83.8k
      if (yych == '*') goto yy808;
8714
14.9k
      goto yy692;
8715
83.8k
    }
8716
20.3k
yy759:
8717
20.3k
    YYDEBUG(759, *YYCURSOR);
8718
20.3k
    ++YYCURSOR;
8719
20.3k
    YYFILL(1);
8720
20.3k
    yych = *YYCURSOR;
8721
20.3k
    if (yych <= '\r') {
8722
1.73k
      if (yych <= '\t') {
8723
434
        if (yych <= 0x00) goto yy86;
8724
175
        goto yy692;
8725
1.30k
      } else {
8726
1.30k
        if (yych <= '\n') goto yy616;
8727
416
        if (yych <= '\f') goto yy692;
8728
168
        goto yy616;
8729
416
      }
8730
18.6k
    } else {
8731
18.6k
      if (yych <= 'R') {
8732
15.3k
        if (yych <= 'Q') goto yy692;
8733
14.6k
        goto yy810;
8734
15.3k
      } else {
8735
3.25k
        if (yych == 'r') goto yy810;
8736
1.07k
        goto yy692;
8737
3.25k
      }
8738
18.6k
    }
8739
55.7k
yy760:
8740
55.7k
    YYDEBUG(760, *YYCURSOR);
8741
55.7k
    ++YYCURSOR;
8742
55.7k
    YYFILL(1);
8743
55.7k
    yych = *YYCURSOR;
8744
55.7k
    YYDEBUG(761, *YYCURSOR);
8745
55.7k
    if (yych <= '*') {
8746
24.8k
      if (yych <= 0x00) goto yy86;
8747
23.6k
      if (yych <= ')') goto yy696;
8748
1.47k
      goto yy760;
8749
30.9k
    } else {
8750
30.9k
      if (yych == '/') goto yy616;
8751
7.19k
      goto yy696;
8752
30.9k
    }
8753
6.82k
yy762:
8754
6.82k
    YYDEBUG(762, *YYCURSOR);
8755
6.82k
    yyaccept = 4;
8756
6.82k
    yych = *(YYMARKER = ++YYCURSOR);
8757
6.82k
    if (yych == '_') goto yy811;
8758
494
    goto yy48;
8759
6.30k
yy763:
8760
6.30k
    YYDEBUG(763, *YYCURSOR);
8761
6.30k
    yyaccept = 74;
8762
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
8763
6.30k
    if (yybm[256+yych] & 128) {
8764
341
      goto yy47;
8765
341
    }
8766
5.96k
    if (yych == '\\') goto yy164;
8767
5.80k
yy764:
8768
5.80k
    YYDEBUG(764, *YYCURSOR);
8769
5.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
5.80k
#line 2276 "Zend/zend_language_scanner.l"
8771
5.80k
    {
8772
5.80k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
5.80k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
17.9k
yy765:
8776
17.9k
    YYDEBUG(765, *YYCURSOR);
8777
17.9k
    yyaccept = 4;
8778
17.9k
    yych = *(YYMARKER = ++YYCURSOR);
8779
17.9k
    if (yych == 'O') goto yy813;
8780
15.4k
    if (yych == 'o') goto yy813;
8781
1.09k
    goto yy48;
8782
4.98k
yy766:
8783
4.98k
    YYDEBUG(766, *YYCURSOR);
8784
4.98k
    yyaccept = 4;
8785
4.98k
    yych = *(YYMARKER = ++YYCURSOR);
8786
4.98k
    if (yych == 'O') goto yy814;
8787
4.09k
    if (yych == 'o') goto yy814;
8788
280
    goto yy48;
8789
2.49k
yy767:
8790
2.49k
    YYDEBUG(767, *YYCURSOR);
8791
2.49k
    yyaccept = 75;
8792
2.49k
    yych = *(YYMARKER = ++YYCURSOR);
8793
2.49k
    if (yybm[256+yych] & 128) {
8794
421
      goto yy47;
8795
421
    }
8796
2.06k
    if (yych == '\\') goto yy164;
8797
2.03k
yy768:
8798
2.03k
    YYDEBUG(768, *YYCURSOR);
8799
2.03k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
2.03k
#line 2272 "Zend/zend_language_scanner.l"
8801
2.03k
    {
8802
2.03k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
2.03k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
11.4k
yy769:
8806
11.4k
    YYDEBUG(769, *YYCURSOR);
8807
11.4k
    yyaccept = 4;
8808
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
8809
11.4k
    if (yych == '_') goto yy815;
8810
729
    goto yy48;
8811
6.98k
yy770:
8812
6.98k
    YYDEBUG(770, *YYCURSOR);
8813
6.98k
    yyaccept = 4;
8814
6.98k
    yych = *(YYMARKER = ++YYCURSOR);
8815
6.98k
    if (yych == 'A') goto yy816;
8816
4.92k
    if (yych == 'a') goto yy816;
8817
650
    goto yy48;
8818
3.84k
yy771:
8819
3.84k
    YYDEBUG(771, *YYCURSOR);
8820
3.84k
    yyaccept = 4;
8821
3.84k
    yych = *(YYMARKER = ++YYCURSOR);
8822
3.84k
    if (yych == 'T') goto yy817;
8823
1.77k
    if (yych == 't') goto yy817;
8824
531
    goto yy48;
8825
3.49k
yy772:
8826
3.49k
    YYDEBUG(772, *YYCURSOR);
8827
3.49k
    yyaccept = 4;
8828
3.49k
    yych = *(YYMARKER = ++YYCURSOR);
8829
3.49k
    if (yych == '_') goto yy818;
8830
304
    goto yy48;
8831
14.6k
yy773:
8832
14.6k
    YYDEBUG(773, *YYCURSOR);
8833
14.6k
    ++YYCURSOR;
8834
14.6k
    YYFILL(1);
8835
14.6k
    yych = *YYCURSOR;
8836
14.6k
    if (yybm[0+yych] & 128) {
8837
1.32k
      goto yy443;
8838
1.32k
    }
8839
13.3k
    if (yych <= 0x00) goto yy86;
8840
13.1k
    if (yych <= '\r') goto yy709;
8841
354
    goto yy547;
8842
1.48k
yy774:
8843
1.48k
    YYDEBUG(774, *YYCURSOR);
8844
1.48k
    yyaccept = 26;
8845
1.48k
    YYMARKER = ++YYCURSOR;
8846
1.48k
    YYFILL(1);
8847
1.48k
    yych = *YYCURSOR;
8848
1.48k
    if (yybm[0+yych] & 128) {
8849
783
      goto yy443;
8850
783
    }
8851
697
    if (yych <= 0x00) goto yy89;
8852
431
    if (yych <= '\r') goto yy545;
8853
194
    goto yy547;
8854
5.68k
yy775:
8855
5.68k
    YYDEBUG(775, *YYCURSOR);
8856
5.68k
    ++YYCURSOR;
8857
5.68k
    YYFILL(1);
8858
5.68k
    yych = *YYCURSOR;
8859
5.68k
    if (yych <= '\r') {
8860
1.31k
      if (yych <= '\t') {
8861
561
        if (yych <= 0x00) goto yy86;
8862
285
        goto yy443;
8863
753
      } else {
8864
753
        if (yych <= '\n') goto yy545;
8865
474
        if (yych <= '\f') goto yy443;
8866
408
        goto yy545;
8867
474
      }
8868
4.37k
    } else {
8869
4.37k
      if (yych <= '*') {
8870
1.38k
        if (yych <= ')') goto yy443;
8871
934
        goto yy547;
8872
2.99k
      } else {
8873
2.99k
        if (yych == '.') goto yy820;
8874
978
        goto yy443;
8875
2.99k
      }
8876
4.37k
    }
8877
29.8k
yy776:
8878
29.8k
    YYDEBUG(776, *YYCURSOR);
8879
29.8k
    ++YYCURSOR;
8880
29.8k
    YYFILL(1);
8881
29.8k
    yych = *YYCURSOR;
8882
29.8k
    if (yybm[0+yych] & 128) {
8883
7.16k
      goto yy443;
8884
7.16k
    }
8885
22.6k
    if (yych <= 0x00) goto yy86;
8886
22.4k
    if (yych <= '\r') goto yy545;
8887
21.9k
    goto yy821;
8888
21.9k
yy777:
8889
374
    YYDEBUG(777, *YYCURSOR);
8890
374
    ++YYCURSOR;
8891
374
    YYDEBUG(778, *YYCURSOR);
8892
374
    yyleng = YYCURSOR - SCNG(yy_text);
8893
374
#line 1699 "Zend/zend_language_scanner.l"
8894
374
    {
8895
374
  if (PARSER_MODE()) {
8896
96
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
96
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
96
  }
8901
374
  RETURN_TOKEN(T_BOOL_CAST);
8902
374
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
834
yy779:
8905
834
    YYDEBUG(779, *YYCURSOR);
8906
834
    ++YYCURSOR;
8907
834
    YYDEBUG(780, *YYCURSOR);
8908
834
    yyleng = YYCURSOR - SCNG(yy_text);
8909
834
#line 1641 "Zend/zend_language_scanner.l"
8910
834
    {
8911
834
  if (PARSER_MODE()) {
8912
81
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
81
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
81
  }
8917
834
  RETURN_TOKEN(T_INT_CAST);
8918
834
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
2.70k
yy781:
8921
2.70k
    YYDEBUG(781, *YYCURSOR);
8922
2.70k
    yyaccept = 4;
8923
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
8924
2.70k
    if (yych == 'E') goto yy822;
8925
2.14k
    if (yych == 'e') goto yy822;
8926
568
    goto yy48;
8927
4.74k
yy782:
8928
4.74k
    YYDEBUG(782, *YYCURSOR);
8929
4.74k
    yyaccept = 4;
8930
4.74k
    yych = *(YYMARKER = ++YYCURSOR);
8931
4.74k
    if (yych == 'H') goto yy824;
8932
2.89k
    if (yych == 'h') goto yy824;
8933
542
    goto yy48;
8934
1.50k
yy783:
8935
1.50k
    YYDEBUG(783, *YYCURSOR);
8936
1.50k
    yyaccept = 76;
8937
1.50k
    yych = *(YYMARKER = ++YYCURSOR);
8938
1.50k
    if (yybm[256+yych] & 128) {
8939
461
      goto yy47;
8940
461
    }
8941
1.04k
    if (yych == '\\') goto yy164;
8942
1.04k
yy784:
8943
1.04k
    YYDEBUG(784, *YYCURSOR);
8944
1.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8945
1.04k
#line 1521 "Zend/zend_language_scanner.l"
8946
1.04k
    {
8947
1.04k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
1.04k
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
1.72k
yy785:
8951
1.72k
    YYDEBUG(785, *YYCURSOR);
8952
1.72k
    yych = *++YYCURSOR;
8953
1.72k
    if (yych == 'N') goto yy826;
8954
1.48k
    if (yych == 'n') goto yy826;
8955
461
    goto yy86;
8956
3.37k
yy786:
8957
3.37k
    YYDEBUG(786, *YYCURSOR);
8958
3.37k
    yych = *++YYCURSOR;
8959
3.37k
    if (yych == 'E') goto yy827;
8960
2.40k
    if (yych == 'e') goto yy827;
8961
552
    goto yy86;
8962
454k
yy787:
8963
454k
    YYDEBUG(787, *YYCURSOR);
8964
454k
    ++YYCURSOR;
8965
454k
    YYFILL(1);
8966
454k
    yych = *YYCURSOR;
8967
454k
    YYDEBUG(788, *YYCURSOR);
8968
454k
    if (yych <= '@') {
8969
418k
      if (yych <= ' ') {
8970
73.4k
        if (yych <= '\n') {
8971
11.9k
          if (yych <= 0x00) goto yy86;
8972
10.0k
          if (yych <= 0x08) goto yy590;
8973
9.50k
          goto yy787;
8974
61.5k
        } else {
8975
61.5k
          if (yych == '\r') goto yy787;
8976
30.6k
          if (yych <= 0x1F) goto yy590;
8977
29.7k
          goto yy787;
8978
30.6k
        }
8979
344k
      } else {
8980
344k
        if (yych <= ')') {
8981
296k
          if (yych == '#') goto yy828;
8982
14.2k
          goto yy590;
8983
296k
        } else {
8984
48.1k
          if (yych <= '*') goto yy668;
8985
47.7k
          if (yych == '/') goto yy829;
8986
5.59k
          goto yy590;
8987
47.7k
        }
8988
344k
      }
8989
418k
    } else {
8990
35.9k
      if (yych <= '_') {
8991
5.19k
        if (yych <= 'H') {
8992
1.29k
          if (yych == 'E') goto yy831;
8993
838
          goto yy830;
8994
3.90k
        } else {
8995
3.90k
          if (yych <= 'I') goto yy832;
8996
1.53k
          if (yych <= 'Z') goto yy830;
8997
905
          if (yych <= '^') goto yy590;
8998
248
          goto yy830;
8999
905
        }
9000
30.7k
      } else {
9001
30.7k
        if (yych <= 'h') {
9002
12.4k
          if (yych <= '`') goto yy590;
9003
12.1k
          if (yych == 'e') goto yy831;
9004
2.75k
          goto yy830;
9005
18.2k
        } else {
9006
18.2k
          if (yych <= 'i') goto yy832;
9007
7.30k
          if (yych <= 'z') goto yy830;
9008
3.23k
          if (yych <= 0x7F) goto yy590;
9009
1.79k
          goto yy830;
9010
3.23k
        }
9011
30.7k
      }
9012
35.9k
    }
9013
60.8k
yy789:
9014
60.8k
    YYDEBUG(789, *YYCURSOR);
9015
60.8k
    ++YYCURSOR;
9016
60.8k
    YYFILL(1);
9017
60.8k
    yych = *YYCURSOR;
9018
60.8k
    YYDEBUG(790, *YYCURSOR);
9019
60.8k
    if (yych <= '\r') {
9020
12.4k
      if (yych <= '\t') {
9021
1.30k
        if (yych <= 0x00) goto yy86;
9022
417
        goto yy738;
9023
11.1k
      } else {
9024
11.1k
        if (yych <= '\n') goto yy787;
9025
9.99k
        if (yych <= '\f') goto yy738;
9026
9.33k
        goto yy787;
9027
9.99k
      }
9028
48.3k
    } else {
9029
48.3k
      if (yych <= '*') {
9030
19.5k
        if (yych <= ')') goto yy738;
9031
11.5k
        goto yy789;
9032
28.8k
      } else {
9033
28.8k
        if (yych == '/') goto yy588;
9034
7.36k
        goto yy738;
9035
28.8k
      }
9036
48.3k
    }
9037
11.5k
yy791:
9038
11.5k
    YYDEBUG(791, *YYCURSOR);
9039
11.5k
    ++YYCURSOR;
9040
11.5k
    YYFILL(1);
9041
11.5k
    yych = *YYCURSOR;
9042
11.5k
    if (yych <= '\r') {
9043
1.21k
      if (yych <= '\t') {
9044
491
        if (yych <= 0x00) goto yy86;
9045
188
        goto yy586;
9046
726
      } else {
9047
726
        if (yych <= '\n') goto yy495;
9048
381
        if (yych <= '\f') goto yy586;
9049
292
        goto yy495;
9050
381
      }
9051
10.3k
    } else {
9052
10.3k
      if (yych <= 'E') {
9053
1.66k
        if (yych <= 'D') goto yy586;
9054
519
        goto yy833;
9055
8.67k
      } else {
9056
8.67k
        if (yych == 'e') goto yy833;
9057
2.29k
        goto yy586;
9058
8.67k
      }
9059
10.3k
    }
9060
31.0k
yy792:
9061
31.0k
    YYDEBUG(792, *YYCURSOR);
9062
31.0k
    ++YYCURSOR;
9063
31.0k
    YYFILL(1);
9064
31.0k
    yych = *YYCURSOR;
9065
31.0k
    if (yych <= '\r') {
9066
1.41k
      if (yych <= '\t') {
9067
652
        if (yych <= 0x00) goto yy86;
9068
310
        goto yy586;
9069
761
      } else {
9070
761
        if (yych <= '\n') goto yy495;
9071
521
        if (yych <= '\f') goto yy586;
9072
406
        goto yy495;
9073
521
      }
9074
29.6k
    } else {
9075
29.6k
      if (yych <= 'L') {
9076
6.64k
        if (yych <= 'K') goto yy586;
9077
3.97k
        goto yy834;
9078
23.0k
      } else {
9079
23.0k
        if (yych == 'l') goto yy834;
9080
1.59k
        goto yy586;
9081
23.0k
      }
9082
29.6k
    }
9083
6.83k
yy793:
9084
6.83k
    YYDEBUG(793, *YYCURSOR);
9085
6.83k
    yyaccept = 4;
9086
6.83k
    yych = *(YYMARKER = ++YYCURSOR);
9087
6.83k
    if (yych == 'S') goto yy835;
9088
6.31k
    if (yych == 's') goto yy835;
9089
1.29k
    goto yy48;
9090
3.70k
yy794:
9091
3.70k
    YYDEBUG(794, *YYCURSOR);
9092
3.70k
    yyaccept = 4;
9093
3.70k
    yych = *(YYMARKER = ++YYCURSOR);
9094
3.70k
    if (yych == 'N') goto yy837;
9095
3.15k
    if (yych == 'n') goto yy837;
9096
351
    goto yy48;
9097
3.70k
yy795:
9098
3.70k
    YYDEBUG(795, *YYCURSOR);
9099
3.70k
    yyaccept = 4;
9100
3.70k
    yych = *(YYMARKER = ++YYCURSOR);
9101
3.70k
    if (yych == 'F') goto yy838;
9102
3.21k
    if (yych == 'f') goto yy838;
9103
548
    goto yy48;
9104
5.08k
yy796:
9105
5.08k
    YYDEBUG(796, *YYCURSOR);
9106
5.08k
    yyaccept = 77;
9107
5.08k
    yych = *(YYMARKER = ++YYCURSOR);
9108
5.08k
    if (yybm[256+yych] & 128) {
9109
779
      goto yy47;
9110
779
    }
9111
4.30k
    if (yych == '\\') goto yy164;
9112
4.23k
yy797:
9113
4.23k
    YYDEBUG(797, *YYCURSOR);
9114
4.23k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
4.23k
#line 1745 "Zend/zend_language_scanner.l"
9116
4.23k
    {
9117
4.23k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
4.23k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
6.29k
yy798:
9121
6.29k
    YYDEBUG(798, *YYCURSOR);
9122
6.29k
    yyaccept = 78;
9123
6.29k
    yych = *(YYMARKER = ++YYCURSOR);
9124
6.29k
    if (yybm[256+yych] & 128) {
9125
531
      goto yy47;
9126
531
    }
9127
5.76k
    if (yych == '\\') goto yy164;
9128
5.57k
yy799:
9129
5.57k
    YYDEBUG(799, *YYCURSOR);
9130
5.57k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
5.57k
#line 1557 "Zend/zend_language_scanner.l"
9132
5.57k
    {
9133
5.57k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
5.57k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
19.8k
yy800:
9137
19.8k
    YYDEBUG(800, *YYCURSOR);
9138
19.8k
    yyaccept = 79;
9139
19.8k
    yych = *(YYMARKER = ++YYCURSOR);
9140
19.8k
    if (yybm[256+yych] & 128) {
9141
1.68k
      goto yy47;
9142
1.68k
    }
9143
18.1k
    if (yych == '\\') goto yy840;
9144
13.3k
yy801:
9145
13.3k
    YYDEBUG(801, *YYCURSOR);
9146
13.3k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
13.3k
#line 1737 "Zend/zend_language_scanner.l"
9148
13.3k
    {
9149
13.3k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
13.3k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
2.04k
yy802:
9153
2.04k
    YYDEBUG(802, *YYCURSOR);
9154
2.04k
    yych = *++YYCURSOR;
9155
2.04k
    if (yych == 'E') goto yy841;
9156
1.95k
    if (yych == 'e') goto yy841;
9157
969
    goto yy86;
9158
9.26k
yy803:
9159
9.26k
    YYDEBUG(803, *YYCURSOR);
9160
9.26k
    yyaccept = 80;
9161
9.26k
    yych = *(YYMARKER = ++YYCURSOR);
9162
9.26k
    if (yybm[256+yych] & 128) {
9163
721
      goto yy47;
9164
721
    }
9165
8.54k
    if (yych == '(') goto yy842;
9166
6.03k
    if (yych == '\\') goto yy164;
9167
7.82k
yy804:
9168
7.82k
    YYDEBUG(804, *YYCURSOR);
9169
7.82k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
7.82k
#line 1781 "Zend/zend_language_scanner.l"
9171
7.82k
    {
9172
7.82k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
7.82k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.62k
yy805:
9176
1.62k
    YYDEBUG(805, *YYCURSOR);
9177
1.62k
    yych = *++YYCURSOR;
9178
1.62k
    if (yych == 'T') goto yy843;
9179
1.11k
    if (yych == 't') goto yy843;
9180
204
    goto yy86;
9181
3.22k
yy806:
9182
3.22k
    YYDEBUG(806, *YYCURSOR);
9183
3.22k
    yyaccept = 4;
9184
3.22k
    yych = *(YYMARKER = ++YYCURSOR);
9185
3.22k
    if (yych == 'N') goto yy844;
9186
2.78k
    if (yych == 'n') goto yy844;
9187
464
    goto yy48;
9188
6.40k
yy807:
9189
6.40k
    YYDEBUG(807, *YYCURSOR);
9190
6.40k
    yych = *++YYCURSOR;
9191
6.40k
    if (yych == 'M') goto yy845;
9192
4.95k
    if (yych == 'm') goto yy845;
9193
269
    goto yy86;
9194
1.08M
yy808:
9195
1.08M
    YYDEBUG(808, *YYCURSOR);
9196
1.08M
    ++YYCURSOR;
9197
1.08M
    YYFILL(1);
9198
1.08M
    yych = *YYCURSOR;
9199
1.08M
    YYDEBUG(809, *YYCURSOR);
9200
1.08M
    if (yych <= '\f') {
9201
112k
      if (yych <= 0x00) goto yy86;
9202
108k
      if (yych == '\n') goto yy846;
9203
19.7k
      goto yy808;
9204
973k
    } else {
9205
973k
      if (yych <= '\r') goto yy846;
9206
920k
      if (yych == '*') goto yy848;
9207
890k
      goto yy808;
9208
920k
    }
9209
16.8k
yy810:
9210
16.8k
    YYDEBUG(810, *YYCURSOR);
9211
16.8k
    ++YYCURSOR;
9212
16.8k
    YYFILL(1);
9213
16.8k
    yych = *YYCURSOR;
9214
16.8k
    if (yych <= '\r') {
9215
1.68k
      if (yych <= '\t') {
9216
902
        if (yych <= 0x00) goto yy86;
9217
744
        goto yy692;
9218
902
      } else {
9219
786
        if (yych <= '\n') goto yy616;
9220
573
        if (yych <= '\f') goto yy692;
9221
206
        goto yy616;
9222
573
      }
9223
15.1k
    } else {
9224
15.1k
      if (yych <= 'O') {
9225
12.7k
        if (yych <= 'N') goto yy692;
9226
11.6k
        goto yy850;
9227
12.7k
      } else {
9228
2.44k
        if (yych == 'o') goto yy850;
9229
1.10k
        goto yy692;
9230
2.44k
      }
9231
15.1k
    }
9232
6.32k
yy811:
9233
6.32k
    YYDEBUG(811, *YYCURSOR);
9234
6.32k
    yyaccept = 81;
9235
6.32k
    yych = *(YYMARKER = ++YYCURSOR);
9236
6.32k
    if (yybm[256+yych] & 128) {
9237
839
      goto yy47;
9238
839
    }
9239
5.48k
    if (yych == '\\') goto yy164;
9240
5.47k
yy812:
9241
5.47k
    YYDEBUG(812, *YYCURSOR);
9242
5.47k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
5.47k
#line 2252 "Zend/zend_language_scanner.l"
9244
5.47k
    {
9245
5.47k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
5.47k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
16.8k
yy813:
9249
16.8k
    YYDEBUG(813, *YYCURSOR);
9250
16.8k
    yyaccept = 4;
9251
16.8k
    yych = *(YYMARKER = ++YYCURSOR);
9252
16.8k
    if (yych == 'N') goto yy851;
9253
1.98k
    if (yych == 'n') goto yy851;
9254
1.03k
    goto yy48;
9255
4.70k
yy814:
9256
4.70k
    YYDEBUG(814, *YYCURSOR);
9257
4.70k
    yyaccept = 4;
9258
4.70k
    yych = *(YYMARKER = ++YYCURSOR);
9259
4.70k
    if (yych == 'M') goto yy852;
9260
3.87k
    if (yych == 'm') goto yy852;
9261
261
    goto yy48;
9262
10.7k
yy815:
9263
10.7k
    YYDEBUG(815, *YYCURSOR);
9264
10.7k
    yyaccept = 4;
9265
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
9266
10.7k
    if (yych == '_') goto yy853;
9267
175
    goto yy48;
9268
6.33k
yy816:
9269
6.33k
    YYDEBUG(816, *YYCURSOR);
9270
6.33k
    yyaccept = 4;
9271
6.33k
    yych = *(YYMARKER = ++YYCURSOR);
9272
6.33k
    if (yych == 'C') goto yy855;
9273
4.18k
    if (yych == 'c') goto yy855;
9274
803
    goto yy48;
9275
3.31k
yy817:
9276
3.31k
    YYDEBUG(817, *YYCURSOR);
9277
3.31k
    yyaccept = 4;
9278
3.31k
    yych = *(YYMARKER = ++YYCURSOR);
9279
3.31k
    if (yych == 'Y') goto yy856;
9280
804
    if (yych == 'y') goto yy856;
9281
527
    goto yy48;
9282
3.18k
yy818:
9283
3.18k
    YYDEBUG(818, *YYCURSOR);
9284
3.18k
    yyaccept = 82;
9285
3.18k
    yych = *(YYMARKER = ++YYCURSOR);
9286
3.18k
    if (yybm[256+yych] & 128) {
9287
666
      goto yy47;
9288
666
    }
9289
2.52k
    if (yych == '\\') goto yy164;
9290
2.50k
yy819:
9291
2.50k
    YYDEBUG(819, *YYCURSOR);
9292
2.50k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
2.50k
#line 2256 "Zend/zend_language_scanner.l"
9294
2.50k
    {
9295
2.50k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
2.50k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
2.01k
yy820:
9299
2.01k
    YYDEBUG(820, *YYCURSOR);
9300
2.01k
    ++YYCURSOR;
9301
2.01k
    YYFILL(1);
9302
2.01k
    yych = *YYCURSOR;
9303
2.01k
    if (yych <= '\r') {
9304
1.11k
      if (yych <= '\t') {
9305
464
        if (yych <= 0x00) goto yy86;
9306
428
        goto yy443;
9307
646
      } else {
9308
646
        if (yych <= '\n') goto yy545;
9309
496
        if (yych <= '\f') goto yy443;
9310
279
        goto yy545;
9311
496
      }
9312
1.11k
    } else {
9313
903
      if (yych <= '*') {
9314
449
        if (yych <= ')') goto yy443;
9315
228
        goto yy547;
9316
454
      } else {
9317
454
        if (yych == '.') goto yy774;
9318
213
        goto yy443;
9319
454
      }
9320
903
    }
9321
21.9k
yy821:
9322
21.9k
    YYDEBUG(821, *YYCURSOR);
9323
21.9k
    ++YYCURSOR;
9324
21.9k
    YYFILL(1);
9325
21.9k
    yych = *YYCURSOR;
9326
21.9k
    if (yych <= '\r') {
9327
1.29k
      if (yych <= '\t') {
9328
529
        if (yych <= 0x00) goto yy86;
9329
230
        goto yy443;
9330
768
      } else {
9331
768
        if (yych <= '\n') goto yy545;
9332
303
        if (yych <= '\f') goto yy443;
9333
103
        goto yy545;
9334
303
      }
9335
20.6k
    } else {
9336
20.6k
      if (yych <= '*') {
9337
3.77k
        if (yych <= ')') goto yy443;
9338
233
        goto yy547;
9339
16.8k
      } else {
9340
16.8k
        if (yych == '/') goto yy709;
9341
552
        goto yy443;
9342
16.8k
      }
9343
20.6k
    }
9344
2.13k
yy822:
9345
2.13k
    YYDEBUG(822, *YYCURSOR);
9346
2.13k
    yyaccept = 83;
9347
2.13k
    yych = *(YYMARKER = ++YYCURSOR);
9348
2.13k
    if (yybm[256+yych] & 128) {
9349
1.10k
      goto yy47;
9350
1.10k
    }
9351
1.03k
    if (yych == '\\') goto yy164;
9352
998
yy823:
9353
998
    YYDEBUG(823, *YYCURSOR);
9354
998
    yyleng = YYCURSOR - SCNG(yy_text);
9355
998
#line 1501 "Zend/zend_language_scanner.l"
9356
998
    {
9357
998
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
998
}
9359
0
#line 9360 "Zend/zend_language_scanner.c"
9360
4.20k
yy824:
9361
4.20k
    YYDEBUG(824, *YYCURSOR);
9362
4.20k
    yyaccept = 84;
9363
4.20k
    yych = *(YYMARKER = ++YYCURSOR);
9364
4.20k
    if (yybm[256+yych] & 128) {
9365
873
      goto yy47;
9366
873
    }
9367
3.32k
    if (yych == '\\') goto yy164;
9368
3.32k
yy825:
9369
3.32k
    YYDEBUG(825, *YYCURSOR);
9370
3.32k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
3.32k
#line 1493 "Zend/zend_language_scanner.l"
9372
3.32k
    {
9373
3.32k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
3.32k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.26k
yy826:
9377
1.26k
    YYDEBUG(826, *YYCURSOR);
9378
1.26k
    yych = *++YYCURSOR;
9379
1.26k
    if (yych == 'D') goto yy857;
9380
1.03k
    if (yych == 'd') goto yy857;
9381
300
    goto yy86;
9382
2.82k
yy827:
9383
2.82k
    YYDEBUG(827, *YYCURSOR);
9384
2.82k
    yych = *++YYCURSOR;
9385
2.82k
    if (yych == 'M') goto yy858;
9386
1.90k
    if (yych == 'm') goto yy858;
9387
594
    goto yy86;
9388
282k
yy828:
9389
282k
    YYDEBUG(828, *YYCURSOR);
9390
282k
    ++YYCURSOR;
9391
282k
    YYFILL(1);
9392
282k
    yych = *YYCURSOR;
9393
282k
    if (yych <= '\r') {
9394
228k
      if (yych <= '\t') {
9395
5.00k
        if (yych <= 0x00) goto yy86;
9396
4.60k
        goto yy738;
9397
223k
      } else {
9398
223k
        if (yych <= '\n') goto yy859;
9399
61.3k
        if (yych <= '\f') goto yy738;
9400
60.7k
        goto yy859;
9401
61.3k
      }
9402
228k
    } else {
9403
53.4k
      if (yych <= '*') {
9404
9.14k
        if (yych <= ')') goto yy738;
9405
4.63k
        goto yy789;
9406
44.2k
      } else {
9407
44.2k
        if (yych == '[') goto yy590;
9408
43.9k
        goto yy738;
9409
44.2k
      }
9410
53.4k
    }
9411
42.1k
yy829:
9412
42.1k
    YYDEBUG(829, *YYCURSOR);
9413
42.1k
    ++YYCURSOR;
9414
42.1k
    YYFILL(1);
9415
42.1k
    yych = *YYCURSOR;
9416
42.1k
    if (yych <= '*') {
9417
38.7k
      if (yych <= 0x00) goto yy86;
9418
38.4k
      if (yych <= ')') goto yy590;
9419
37.9k
      goto yy861;
9420
38.4k
    } else {
9421
3.38k
      if (yych == '/') goto yy738;
9422
2.74k
      goto yy590;
9423
3.38k
    }
9424
10.3k
yy830:
9425
10.3k
    YYDEBUG(830, *YYCURSOR);
9426
10.3k
    yyaccept = 53;
9427
10.3k
    YYMARKER = ++YYCURSOR;
9428
10.3k
    YYFILL(1);
9429
10.3k
    yych = *YYCURSOR;
9430
10.3k
    if (yych <= 0x00) goto yy583;
9431
9.63k
    if (yych == '*') goto yy668;
9432
9.24k
    goto yy590;
9433
9.80k
yy831:
9434
9.80k
    YYDEBUG(831, *YYCURSOR);
9435
9.80k
    yyaccept = 53;
9436
9.80k
    YYMARKER = ++YYCURSOR;
9437
9.80k
    YYFILL(1);
9438
9.80k
    yych = *YYCURSOR;
9439
9.80k
    if (yych <= 'W') {
9440
3.77k
      if (yych <= 0x00) goto yy583;
9441
3.32k
      if (yych == '*') goto yy668;
9442
1.53k
      goto yy590;
9443
6.02k
    } else {
9444
6.02k
      if (yych <= 'X') goto yy862;
9445
5.54k
      if (yych == 'x') goto yy862;
9446
1.01k
      goto yy590;
9447
5.54k
    }
9448
13.3k
yy832:
9449
13.3k
    YYDEBUG(832, *YYCURSOR);
9450
13.3k
    yyaccept = 53;
9451
13.3k
    YYMARKER = ++YYCURSOR;
9452
13.3k
    YYFILL(1);
9453
13.3k
    yych = *YYCURSOR;
9454
13.3k
    if (yych <= 'L') {
9455
723
      if (yych <= 0x00) goto yy583;
9456
632
      if (yych == '*') goto yy668;
9457
591
      goto yy590;
9458
12.6k
    } else {
9459
12.6k
      if (yych <= 'M') goto yy863;
9460
10.4k
      if (yych == 'm') goto yy863;
9461
895
      goto yy590;
9462
10.4k
    }
9463
6.89k
yy833:
9464
6.89k
    YYDEBUG(833, *YYCURSOR);
9465
6.89k
    ++YYCURSOR;
9466
6.89k
    YYFILL(1);
9467
6.89k
    yych = *YYCURSOR;
9468
6.89k
    if (yych <= '\r') {
9469
1.31k
      if (yych <= '\t') {
9470
288
        if (yych <= 0x00) goto yy86;
9471
97
        goto yy586;
9472
1.02k
      } else {
9473
1.02k
        if (yych <= '\n') goto yy495;
9474
686
        if (yych <= '\f') goto yy586;
9475
442
        goto yy495;
9476
686
      }
9477
5.58k
    } else {
9478
5.58k
      if (yych <= 'N') {
9479
2.77k
        if (yych <= 'M') goto yy586;
9480
1.53k
        goto yy864;
9481
2.80k
      } else {
9482
2.80k
        if (yych == 'n') goto yy864;
9483
494
        goto yy586;
9484
2.80k
      }
9485
5.58k
    }
9486
25.4k
yy834:
9487
25.4k
    YYDEBUG(834, *YYCURSOR);
9488
25.4k
    ++YYCURSOR;
9489
25.4k
    YYFILL(1);
9490
25.4k
    yych = *YYCURSOR;
9491
25.4k
    if (yych <= '\r') {
9492
2.61k
      if (yych <= '\t') {
9493
761
        if (yych <= 0x00) goto yy86;
9494
394
        goto yy586;
9495
1.85k
      } else {
9496
1.85k
        if (yych <= '\n') goto yy495;
9497
1.49k
        if (yych <= '\f') goto yy586;
9498
1.09k
        goto yy495;
9499
1.49k
      }
9500
22.7k
    } else {
9501
22.7k
      if (yych <= 'E') {
9502
4.12k
        if (yych <= 'D') goto yy586;
9503
3.39k
        goto yy865;
9504
18.6k
      } else {
9505
18.6k
        if (yych == 'e') goto yy865;
9506
610
        goto yy586;
9507
18.6k
      }
9508
22.7k
    }
9509
5.54k
yy835:
9510
5.54k
    YYDEBUG(835, *YYCURSOR);
9511
5.54k
    yyaccept = 85;
9512
5.54k
    yych = *(YYMARKER = ++YYCURSOR);
9513
5.54k
    if (yybm[256+yych] & 128) {
9514
665
      goto yy47;
9515
665
    }
9516
4.87k
    if (yych == '\\') goto yy164;
9517
4.86k
yy836:
9518
4.86k
    YYDEBUG(836, *YYCURSOR);
9519
4.86k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
4.86k
#line 1582 "Zend/zend_language_scanner.l"
9521
4.86k
    {
9522
4.86k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
4.86k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
3.35k
yy837:
9526
3.35k
    YYDEBUG(837, *YYCURSOR);
9527
3.35k
    yyaccept = 4;
9528
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
9529
3.35k
    if (yych == 'C') goto yy866;
9530
2.82k
    if (yych == 'c') goto yy866;
9531
243
    goto yy48;
9532
3.16k
yy838:
9533
3.16k
    YYDEBUG(838, *YYCURSOR);
9534
3.16k
    yyaccept = 86;
9535
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
9536
3.16k
    if (yybm[256+yych] & 128) {
9537
404
      goto yy47;
9538
404
    }
9539
2.75k
    if (yych == '\\') goto yy164;
9540
2.75k
yy839:
9541
2.75k
    YYDEBUG(839, *YYCURSOR);
9542
2.75k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
2.75k
#line 1505 "Zend/zend_language_scanner.l"
9544
2.75k
    {
9545
2.75k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
2.75k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
8.13k
yy840:
9549
8.13k
    YYDEBUG(840, *YYCURSOR);
9550
8.13k
    ++YYCURSOR;
9551
8.13k
    YYFILL(1);
9552
8.13k
    yych = *YYCURSOR;
9553
8.13k
    if (yych <= '_') {
9554
2.74k
      if (yych <= '@') goto yy86;
9555
1.80k
      if (yych <= 'Z') goto yy867;
9556
1.29k
      if (yych <= '^') goto yy86;
9557
1.07k
      goto yy867;
9558
5.38k
    } else {
9559
5.38k
      if (yych <= '`') goto yy86;
9560
4.72k
      if (yych <= 'z') goto yy867;
9561
1.18k
      if (yych <= 0x7F) goto yy86;
9562
570
      goto yy867;
9563
1.18k
    }
9564
1.07k
yy841:
9565
1.07k
    YYDEBUG(841, *YYCURSOR);
9566
1.07k
    yych = *++YYCURSOR;
9567
1.07k
    if (yych == 'T') goto yy870;
9568
1.00k
    if (yych == 't') goto yy870;
9569
212
    goto yy86;
9570
2.50k
yy842:
9571
2.50k
    YYDEBUG(842, *YYCURSOR);
9572
2.50k
    yych = *++YYCURSOR;
9573
2.50k
    if (yych == 'S') goto yy871;
9574
1.73k
    if (yych == 's') goto yy871;
9575
321
    goto yy86;
9576
1.41k
yy843:
9577
1.41k
    YYDEBUG(843, *YYCURSOR);
9578
1.41k
    yych = *++YYCURSOR;
9579
1.41k
    if (yych == ')') goto yy872;
9580
349
    goto yy86;
9581
2.76k
yy844:
9582
2.76k
    YYDEBUG(844, *YYCURSOR);
9583
2.76k
    yyaccept = 4;
9584
2.76k
    yych = *(YYMARKER = ++YYCURSOR);
9585
2.76k
    if (yych == 'C') goto yy874;
9586
2.17k
    if (yych == 'c') goto yy874;
9587
233
    goto yy48;
9588
6.13k
yy845:
9589
6.13k
    YYDEBUG(845, *YYCURSOR);
9590
6.13k
    yych = *++YYCURSOR;
9591
6.13k
    if (yych <= '^') {
9592
3.71k
      if (yych <= '9') {
9593
2.86k
        if (yych <= '/') goto yy875;
9594
433
        goto yy86;
9595
2.86k
      } else {
9596
852
        if (yych <= '@') goto yy875;
9597
443
        if (yych <= 'Z') goto yy86;
9598
133
        goto yy875;
9599
443
      }
9600
3.71k
    } else {
9601
2.42k
      if (yych <= '`') {
9602
687
        if (yych <= '_') goto yy86;
9603
402
        goto yy875;
9604
1.73k
      } else {
9605
1.73k
        if (yych <= 'z') goto yy86;
9606
987
        if (yych <= 0x7F) goto yy875;
9607
402
        goto yy86;
9608
987
      }
9609
2.42k
    }
9610
245k
yy846:
9611
245k
    YYDEBUG(846, *YYCURSOR);
9612
245k
    ++YYCURSOR;
9613
245k
    YYFILL(1);
9614
245k
    yych = *YYCURSOR;
9615
245k
    YYDEBUG(847, *YYCURSOR);
9616
245k
    if (yych <= '#') {
9617
179k
      if (yych <= '\f') {
9618
13.8k
        if (yych <= 0x00) goto yy86;
9619
12.8k
        if (yych <= 0x08) goto yy696;
9620
11.5k
        if (yych <= '\n') goto yy846;
9621
287
        goto yy696;
9622
165k
      } else {
9623
165k
        if (yych <= 0x1F) {
9624
30.3k
          if (yych <= '\r') goto yy846;
9625
730
          goto yy696;
9626
134k
        } else {
9627
134k
          if (yych <= ' ') goto yy846;
9628
129k
          if (yych <= '"') goto yy696;
9629
129k
          goto yy877;
9630
129k
        }
9631
165k
      }
9632
179k
    } else {
9633
66.5k
      if (yych <= '/') {
9634
45.5k
        if (yych == '*') goto yy760;
9635
45.0k
        if (yych <= '.') goto yy696;
9636
32.6k
        goto yy878;
9637
45.0k
      } else {
9638
20.9k
        if (yych <= 'F') {
9639
11.6k
          if (yych <= 'E') goto yy696;
9640
7.88k
          goto yy879;
9641
11.6k
        } else {
9642
9.24k
          if (yych == 'f') goto yy879;
9643
8.33k
          goto yy696;
9644
9.24k
        }
9645
20.9k
      }
9646
66.5k
    }
9647
36.4k
yy848:
9648
36.4k
    YYDEBUG(848, *YYCURSOR);
9649
36.4k
    ++YYCURSOR;
9650
36.4k
    YYFILL(1);
9651
36.4k
    yych = *YYCURSOR;
9652
36.4k
    YYDEBUG(849, *YYCURSOR);
9653
36.4k
    if (yych <= '\r') {
9654
9.43k
      if (yych <= '\t') {
9655
1.39k
        if (yych <= 0x00) goto yy86;
9656
921
        goto yy808;
9657
8.03k
      } else {
9658
8.03k
        if (yych <= '\n') goto yy846;
9659
5.56k
        if (yych <= '\f') goto yy808;
9660
5.13k
        goto yy846;
9661
5.56k
      }
9662
26.9k
    } else {
9663
26.9k
      if (yych <= '*') {
9664
8.84k
        if (yych <= ')') goto yy808;
9665
1.32k
        goto yy848;
9666
18.1k
      } else {
9667
18.1k
        if (yych == '/') goto yy694;
9668
4.64k
        goto yy808;
9669
18.1k
      }
9670
26.9k
    }
9671
12.9k
yy850:
9672
12.9k
    YYDEBUG(850, *YYCURSOR);
9673
12.9k
    ++YYCURSOR;
9674
12.9k
    YYFILL(1);
9675
12.9k
    yych = *YYCURSOR;
9676
12.9k
    if (yych <= '\r') {
9677
2.69k
      if (yych <= '\t') {
9678
908
        if (yych <= 0x00) goto yy86;
9679
571
        goto yy692;
9680
1.78k
      } else {
9681
1.78k
        if (yych <= '\n') goto yy616;
9682
1.39k
        if (yych <= '\f') goto yy692;
9683
149
        goto yy616;
9684
1.39k
      }
9685
10.2k
    } else {
9686
10.2k
      if (yych <= 'M') {
9687
7.59k
        if (yych <= 'L') goto yy692;
9688
7.26k
        goto yy880;
9689
7.59k
      } else {
9690
2.67k
        if (yych == 'm') goto yy880;
9691
1.38k
        goto yy692;
9692
2.67k
      }
9693
10.2k
    }
9694
15.7k
yy851:
9695
15.7k
    YYDEBUG(851, *YYCURSOR);
9696
15.7k
    yyaccept = 4;
9697
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
9698
15.7k
    if (yych == '_') goto yy881;
9699
993
    goto yy48;
9700
4.43k
yy852:
9701
4.43k
    YYDEBUG(852, *YYCURSOR);
9702
4.43k
    yyaccept = 4;
9703
4.43k
    yych = *(YYMARKER = ++YYCURSOR);
9704
4.43k
    if (yych == 'P') goto yy882;
9705
3.58k
    if (yych == 'p') goto yy882;
9706
517
    goto yy48;
9707
10.5k
yy853:
9708
10.5k
    YYDEBUG(853, *YYCURSOR);
9709
10.5k
    yyaccept = 87;
9710
10.5k
    yych = *(YYMARKER = ++YYCURSOR);
9711
10.5k
    if (yybm[256+yych] & 128) {
9712
1.03k
      goto yy47;
9713
1.03k
    }
9714
9.49k
    if (yych == '\\') goto yy164;
9715
9.49k
yy854:
9716
9.49k
    YYDEBUG(854, *YYCURSOR);
9717
9.49k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
9.49k
#line 2268 "Zend/zend_language_scanner.l"
9719
9.49k
    {
9720
9.49k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
9.49k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
5.53k
yy855:
9724
5.53k
    YYDEBUG(855, *YYCURSOR);
9725
5.53k
    yyaccept = 4;
9726
5.53k
    yych = *(YYMARKER = ++YYCURSOR);
9727
5.53k
    if (yych == 'E') goto yy883;
9728
3.53k
    if (yych == 'e') goto yy883;
9729
598
    goto yy48;
9730
2.78k
yy856:
9731
2.78k
    YYDEBUG(856, *YYCURSOR);
9732
2.78k
    yyaccept = 4;
9733
2.78k
    yych = *(YYMARKER = ++YYCURSOR);
9734
2.78k
    if (yych == '_') goto yy884;
9735
837
    goto yy48;
9736
1.88k
yy857:
9737
1.88k
    YYDEBUG(857, *YYCURSOR);
9738
1.88k
    yych = *++YYCURSOR;
9739
1.88k
    if (yych == 'S') goto yy885;
9740
1.73k
    if (yych == 's') goto yy885;
9741
1.39k
    goto yy86;
9742
2.22k
yy858:
9743
2.22k
    YYDEBUG(858, *YYCURSOR);
9744
2.22k
    yych = *++YYCURSOR;
9745
2.22k
    if (yych == 'E') goto yy887;
9746
1.54k
    if (yych == 'e') goto yy887;
9747
590
    goto yy86;
9748
329k
yy859:
9749
329k
    YYDEBUG(859, *YYCURSOR);
9750
329k
    ++YYCURSOR;
9751
329k
    YYFILL(1);
9752
329k
    yych = *YYCURSOR;
9753
329k
    YYDEBUG(860, *YYCURSOR);
9754
329k
    if (yych <= '@') {
9755
160k
      if (yych <= 0x1F) {
9756
19.3k
        if (yych <= '\t') {
9757
2.78k
          if (yych <= 0x00) goto yy86;
9758
2.26k
          if (yych <= 0x08) goto yy738;
9759
1.60k
          goto yy859;
9760
16.5k
        } else {
9761
16.5k
          if (yych <= '\n') goto yy787;
9762
14.6k
          if (yych == '\r') goto yy787;
9763
1.51k
          goto yy738;
9764
14.6k
        }
9765
141k
      } else {
9766
141k
        if (yych <= ')') {
9767
72.5k
          if (yych <= ' ') goto yy859;
9768
46.0k
          if (yych == '#') goto yy888;
9769
3.88k
          goto yy738;
9770
68.5k
        } else {
9771
68.5k
          if (yych <= '*') goto yy789;
9772
67.9k
          if (yych == '/') goto yy889;
9773
4.69k
          goto yy738;
9774
67.9k
        }
9775
141k
      }
9776
169k
    } else {
9777
169k
      if (yych <= '_') {
9778
15.4k
        if (yych <= 'H') {
9779
1.41k
          if (yych == 'E') goto yy891;
9780
1.01k
          goto yy890;
9781
14.0k
        } else {
9782
14.0k
          if (yych <= 'I') goto yy892;
9783
5.88k
          if (yych <= 'Z') goto yy890;
9784
4.29k
          if (yych <= '^') goto yy738;
9785
3.97k
          goto yy890;
9786
4.29k
        }
9787
153k
      } else {
9788
153k
        if (yych <= 'h') {
9789
97.6k
          if (yych <= '`') goto yy738;
9790
96.0k
          if (yych == 'e') goto yy891;
9791
1.50k
          goto yy890;
9792
96.0k
        } else {
9793
56.1k
          if (yych <= 'i') goto yy892;
9794
26.0k
          if (yych <= 'z') goto yy890;
9795
20.4k
          if (yych <= 0x7F) goto yy738;
9796
9.96k
          goto yy890;
9797
20.4k
        }
9798
153k
      }
9799
169k
    }
9800
37.9k
yy861:
9801
37.9k
    YYDEBUG(861, *YYCURSOR);
9802
37.9k
    ++YYCURSOR;
9803
37.9k
    YYFILL(1);
9804
37.9k
    yych = *YYCURSOR;
9805
37.9k
    if (yych <= '*') {
9806
2.38k
      if (yych <= 0x00) goto yy86;
9807
2.08k
      if (yych <= ')') goto yy590;
9808
224
      goto yy668;
9809
35.5k
    } else {
9810
35.5k
      if (yych == '/') goto yy787;
9811
442
      goto yy590;
9812
35.5k
    }
9813
5.01k
yy862:
9814
5.01k
    YYDEBUG(862, *YYCURSOR);
9815
5.01k
    ++YYCURSOR;
9816
5.01k
    YYFILL(1);
9817
5.01k
    yych = *YYCURSOR;
9818
5.01k
    if (yych <= 'S') {
9819
551
      if (yych <= 0x00) goto yy86;
9820
388
      if (yych == '*') goto yy668;
9821
308
      goto yy590;
9822
4.46k
    } else {
9823
4.46k
      if (yych <= 'T') goto yy893;
9824
3.32k
      if (yych == 't') goto yy893;
9825
539
      goto yy590;
9826
3.32k
    }
9827
11.7k
yy863:
9828
11.7k
    YYDEBUG(863, *YYCURSOR);
9829
11.7k
    ++YYCURSOR;
9830
11.7k
    YYFILL(1);
9831
11.7k
    yych = *YYCURSOR;
9832
11.7k
    if (yych <= 'O') {
9833
795
      if (yych <= 0x00) goto yy86;
9834
698
      if (yych == '*') goto yy668;
9835
499
      goto yy590;
9836
10.9k
    } else {
9837
10.9k
      if (yych <= 'P') goto yy894;
9838
9.19k
      if (yych == 'p') goto yy894;
9839
1.00k
      goto yy590;
9840
9.19k
    }
9841
3.84k
yy864:
9842
3.84k
    YYDEBUG(864, *YYCURSOR);
9843
3.84k
    ++YYCURSOR;
9844
3.84k
    YYFILL(1);
9845
3.84k
    yych = *YYCURSOR;
9846
3.84k
    if (yych <= '\r') {
9847
624
      if (yych <= '\t') {
9848
284
        if (yych <= 0x00) goto yy86;
9849
234
        goto yy586;
9850
340
      } else {
9851
340
        if (yych <= '\n') goto yy495;
9852
148
        if (yych <= '\f') goto yy586;
9853
81
        goto yy495;
9854
148
      }
9855
3.22k
    } else {
9856
3.22k
      if (yych <= 'D') {
9857
1.24k
        if (yych <= 'C') goto yy586;
9858
470
        goto yy895;
9859
1.97k
      } else {
9860
1.97k
        if (yych == 'd') goto yy895;
9861
211
        goto yy586;
9862
1.97k
      }
9863
3.22k
    }
9864
21.4k
yy865:
9865
21.4k
    YYDEBUG(865, *YYCURSOR);
9866
21.4k
    ++YYCURSOR;
9867
21.4k
    YYFILL(1);
9868
21.4k
    yych = *YYCURSOR;
9869
21.4k
    if (yych <= '\r') {
9870
3.38k
      if (yych <= '\t') {
9871
2.41k
        if (yych <= 0x00) goto yy86;
9872
2.08k
        goto yy586;
9873
2.41k
      } else {
9874
970
        if (yych <= '\n') goto yy495;
9875
528
        if (yych <= '\f') goto yy586;
9876
377
        goto yy495;
9877
528
      }
9878
18.0k
    } else {
9879
18.0k
      if (yych <= 'M') {
9880
2.63k
        if (yych <= 'L') goto yy586;
9881
2.27k
        goto yy896;
9882
15.4k
      } else {
9883
15.4k
        if (yych == 'm') goto yy896;
9884
3.29k
        goto yy586;
9885
15.4k
      }
9886
18.0k
    }
9887
3.11k
yy866:
9888
3.11k
    YYDEBUG(866, *YYCURSOR);
9889
3.11k
    yyaccept = 4;
9890
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
9891
3.11k
    if (yych == 'E') goto yy897;
9892
2.47k
    if (yych == 'e') goto yy897;
9893
824
    goto yy48;
9894
46.8k
yy867:
9895
46.8k
    YYDEBUG(867, *YYCURSOR);
9896
46.8k
    yyaccept = 88;
9897
46.8k
    YYMARKER = ++YYCURSOR;
9898
46.8k
    YYFILL(1);
9899
46.8k
    yych = *YYCURSOR;
9900
46.8k
    YYDEBUG(868, *YYCURSOR);
9901
46.8k
    if (yych <= '\\') {
9902
10.5k
      if (yych <= '@') {
9903
4.61k
        if (yych <= '/') goto yy869;
9904
3.00k
        if (yych <= '9') goto yy867;
9905
5.98k
      } else {
9906
5.98k
        if (yych <= 'Z') goto yy867;
9907
1.96k
        if (yych >= '\\') goto yy840;
9908
1.96k
      }
9909
36.2k
    } else {
9910
36.2k
      if (yych <= '`') {
9911
1.90k
        if (yych == '_') goto yy867;
9912
34.2k
      } else {
9913
34.2k
        if (yych <= 'z') goto yy867;
9914
16.6k
        if (yych >= 0x80) goto yy867;
9915
16.6k
      }
9916
36.2k
    }
9917
4.82k
yy869:
9918
4.82k
    YYDEBUG(869, *YYCURSOR);
9919
4.82k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
4.82k
#line 2438 "Zend/zend_language_scanner.l"
9921
4.82k
    {
9922
4.82k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
4.82k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
867
yy870:
9926
867
    YYDEBUG(870, *YYCURSOR);
9927
867
    yych = *++YYCURSOR;
9928
867
    if (yych == ')') goto yy899;
9929
91
    goto yy86;
9930
2.18k
yy871:
9931
2.18k
    YYDEBUG(871, *YYCURSOR);
9932
2.18k
    yych = *++YYCURSOR;
9933
2.18k
    if (yych == 'E') goto yy901;
9934
1.12k
    if (yych == 'e') goto yy901;
9935
427
    goto yy86;
9936
1.06k
yy872:
9937
1.06k
    YYDEBUG(872, *YYCURSOR);
9938
1.06k
    ++YYCURSOR;
9939
1.06k
    YYDEBUG(873, *YYCURSOR);
9940
1.06k
    yyleng = YYCURSOR - SCNG(yy_text);
9941
1.06k
#line 1785 "Zend/zend_language_scanner.l"
9942
1.06k
    {
9943
1.06k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
1.06k
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
2.53k
yy874:
9947
2.53k
    YYDEBUG(874, *YYCURSOR);
9948
2.53k
    yyaccept = 4;
9949
2.53k
    yych = *(YYMARKER = ++YYCURSOR);
9950
2.53k
    if (yych == 'E') goto yy902;
9951
1.94k
    if (yych == 'e') goto yy902;
9952
433
    goto yy48;
9953
5.22k
yy875:
9954
5.22k
    YYDEBUG(875, *YYCURSOR);
9955
5.22k
    ++YYCURSOR;
9956
24.0k
yy876:
9957
24.0k
    YYDEBUG(876, *YYCURSOR);
9958
24.0k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
24.0k
#line 1427 "Zend/zend_language_scanner.l"
9960
24.0k
    {
9961
24.0k
  yyless(yyleng - 1);
9962
24.0k
  HANDLE_NEWLINES(yytext, yyleng);
9963
24.0k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
24.0k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
129k
yy877:
9967
129k
    YYDEBUG(877, *YYCURSOR);
9968
129k
    ++YYCURSOR;
9969
129k
    YYFILL(1);
9970
129k
    yych = *YYCURSOR;
9971
129k
    if (yych <= '\r') {
9972
99.1k
      if (yych <= '\t') {
9973
1.04k
        if (yych <= 0x00) goto yy86;
9974
643
        goto yy808;
9975
98.1k
      } else {
9976
98.1k
        if (yych <= '\n') goto yy904;
9977
41.5k
        if (yych <= '\f') goto yy808;
9978
41.3k
        goto yy904;
9979
41.5k
      }
9980
99.1k
    } else {
9981
30.7k
      if (yych <= '*') {
9982
6.37k
        if (yych <= ')') goto yy808;
9983
2.20k
        goto yy848;
9984
24.3k
      } else {
9985
24.3k
        if (yych == '[') goto yy696;
9986
24.1k
        goto yy808;
9987
24.3k
      }
9988
30.7k
    }
9989
32.6k
yy878:
9990
32.6k
    YYDEBUG(878, *YYCURSOR);
9991
32.6k
    ++YYCURSOR;
9992
32.6k
    YYFILL(1);
9993
32.6k
    yych = *YYCURSOR;
9994
32.6k
    if (yych <= '*') {
9995
30.5k
      if (yych <= 0x00) goto yy86;
9996
30.2k
      if (yych <= ')') goto yy696;
9997
29.7k
      goto yy906;
9998
30.2k
    } else {
9999
2.14k
      if (yych == '/') goto yy808;
10000
1.87k
      goto yy696;
10001
2.14k
    }
10002
9.49k
yy879:
10003
9.49k
    YYDEBUG(879, *YYCURSOR);
10004
9.49k
    ++YYCURSOR;
10005
9.49k
    YYFILL(1);
10006
9.49k
    yych = *YYCURSOR;
10007
9.49k
    if (yych <= 'Q') {
10008
959
      if (yych <= 0x00) goto yy86;
10009
757
      if (yych == '*') goto yy760;
10010
406
      goto yy696;
10011
8.53k
    } else {
10012
8.53k
      if (yych <= 'R') goto yy907;
10013
1.52k
      if (yych == 'r') goto yy907;
10014
756
      goto yy696;
10015
1.52k
    }
10016
8.55k
yy880:
10017
8.55k
    YYDEBUG(880, *YYCURSOR);
10018
8.55k
    ++YYCURSOR;
10019
8.55k
    YYFILL(1);
10020
8.55k
    yych = *YYCURSOR;
10021
8.55k
    if (yych <= '9') {
10022
5.32k
      if (yych <= '\n') {
10023
2.55k
        if (yych <= 0x00) goto yy875;
10024
2.33k
        if (yych <= '\t') goto yy908;
10025
2.07k
        goto yy909;
10026
2.76k
      } else {
10027
2.76k
        if (yych == '\r') goto yy909;
10028
952
        if (yych <= '/') goto yy908;
10029
225
        goto yy692;
10030
952
      }
10031
5.32k
    } else {
10032
3.23k
      if (yych <= '_') {
10033
1.42k
        if (yych <= '@') goto yy908;
10034
1.11k
        if (yych <= 'Z') goto yy692;
10035
576
        if (yych <= '^') goto yy908;
10036
241
        goto yy692;
10037
1.81k
      } else {
10038
1.81k
        if (yych <= '`') goto yy908;
10039
1.56k
        if (yych <= 'z') goto yy692;
10040
1.32k
        if (yych <= 0x7F) goto yy908;
10041
660
        goto yy692;
10042
1.32k
      }
10043
3.23k
    }
10044
14.7k
yy881:
10045
14.7k
    YYDEBUG(881, *YYCURSOR);
10046
14.7k
    yyaccept = 4;
10047
14.7k
    yych = *(YYMARKER = ++YYCURSOR);
10048
14.7k
    if (yych == '_') goto yy910;
10049
319
    goto yy48;
10050
3.92k
yy882:
10051
3.92k
    YYDEBUG(882, *YYCURSOR);
10052
3.92k
    yyaccept = 4;
10053
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
10054
3.92k
    if (yych == 'I') goto yy912;
10055
3.23k
    if (yych == 'i') goto yy912;
10056
235
    goto yy48;
10057
4.93k
yy883:
10058
4.93k
    YYDEBUG(883, *YYCURSOR);
10059
4.93k
    yyaccept = 4;
10060
4.93k
    yych = *(YYMARKER = ++YYCURSOR);
10061
4.93k
    if (yych == '_') goto yy913;
10062
649
    goto yy48;
10063
1.95k
yy884:
10064
1.95k
    YYDEBUG(884, *YYCURSOR);
10065
1.95k
    yyaccept = 4;
10066
1.95k
    yych = *(YYMARKER = ++YYCURSOR);
10067
1.95k
    if (yych == '_') goto yy914;
10068
235
    goto yy48;
10069
484
yy885:
10070
484
    YYDEBUG(885, *YYCURSOR);
10071
484
    ++YYCURSOR;
10072
3.38k
yy886:
10073
3.38k
    YYDEBUG(886, *YYCURSOR);
10074
3.38k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
3.38k
#line 1569 "Zend/zend_language_scanner.l"
10076
3.38k
    {
10077
3.38k
  yyless(4);
10078
3.38k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
3.38k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.63k
yy887:
10082
1.63k
    YYDEBUG(887, *YYCURSOR);
10083
1.63k
    yych = *++YYCURSOR;
10084
1.63k
    if (yych == 'N') goto yy916;
10085
963
    if (yych == 'n') goto yy916;
10086
427
    goto yy86;
10087
42.1k
yy888:
10088
42.1k
    YYDEBUG(888, *YYCURSOR);
10089
42.1k
    ++YYCURSOR;
10090
42.1k
    YYFILL(1);
10091
42.1k
    yych = *YYCURSOR;
10092
42.1k
    if (yych <= '\f') {
10093
25.1k
      if (yych <= 0x00) goto yy86;
10094
25.1k
      if (yych == '\n') goto yy859;
10095
322
      goto yy738;
10096
25.1k
    } else {
10097
16.9k
      if (yych <= '\r') goto yy859;
10098
15.7k
      if (yych == '*') goto yy789;
10099
15.4k
      goto yy738;
10100
15.7k
    }
10101
63.2k
yy889:
10102
63.2k
    YYDEBUG(889, *YYCURSOR);
10103
63.2k
    ++YYCURSOR;
10104
63.2k
    YYFILL(1);
10105
63.2k
    yych = *YYCURSOR;
10106
63.2k
    if (yych <= '\f') {
10107
1.23k
      if (yych <= 0x00) goto yy86;
10108
687
      if (yych == '\n') goto yy787;
10109
370
      goto yy738;
10110
62.0k
    } else {
10111
62.0k
      if (yych <= '\r') goto yy787;
10112
60.9k
      if (yych == '*') goto yy917;
10113
4.29k
      goto yy738;
10114
60.9k
    }
10115
23.6k
yy890:
10116
23.6k
    YYDEBUG(890, *YYCURSOR);
10117
23.6k
    yyaccept = 53;
10118
23.6k
    YYMARKER = ++YYCURSOR;
10119
23.6k
    YYFILL(1);
10120
23.6k
    yych = *YYCURSOR;
10121
23.6k
    if (yych <= '\f') {
10122
1.70k
      if (yych <= 0x00) goto yy583;
10123
1.35k
      if (yych == '\n') goto yy787;
10124
370
      goto yy738;
10125
21.9k
    } else {
10126
21.9k
      if (yych <= '\r') goto yy787;
10127
21.1k
      if (yych == '*') goto yy789;
10128
20.5k
      goto yy738;
10129
21.1k
    }
10130
94.9k
yy891:
10131
94.9k
    YYDEBUG(891, *YYCURSOR);
10132
94.9k
    yyaccept = 53;
10133
94.9k
    YYMARKER = ++YYCURSOR;
10134
94.9k
    YYFILL(1);
10135
94.9k
    yych = *YYCURSOR;
10136
94.9k
    if (yych <= ')') {
10137
4.74k
      if (yych <= '\n') {
10138
1.93k
        if (yych <= 0x00) goto yy583;
10139
1.76k
        if (yych <= '\t') goto yy738;
10140
553
        goto yy787;
10141
2.81k
      } else {
10142
2.81k
        if (yych == '\r') goto yy787;
10143
2.66k
        goto yy738;
10144
2.81k
      }
10145
90.2k
    } else {
10146
90.2k
      if (yych <= 'X') {
10147
29.2k
        if (yych <= '*') goto yy789;
10148
28.7k
        if (yych <= 'W') goto yy738;
10149
3.64k
        goto yy918;
10150
60.9k
      } else {
10151
60.9k
        if (yych == 'x') goto yy918;
10152
39.0k
        goto yy738;
10153
60.9k
      }
10154
90.2k
    }
10155
38.3k
yy892:
10156
38.3k
    YYDEBUG(892, *YYCURSOR);
10157
38.3k
    yyaccept = 53;
10158
38.3k
    YYMARKER = ++YYCURSOR;
10159
38.3k
    YYFILL(1);
10160
38.3k
    yych = *YYCURSOR;
10161
38.3k
    if (yych <= ')') {
10162
1.54k
      if (yych <= '\n') {
10163
1.01k
        if (yych <= 0x00) goto yy583;
10164
588
        if (yych <= '\t') goto yy738;
10165
172
        goto yy787;
10166
588
      } else {
10167
531
        if (yych == '\r') goto yy787;
10168
287
        goto yy738;
10169
531
      }
10170
36.7k
    } else {
10171
36.7k
      if (yych <= 'M') {
10172
8.10k
        if (yych <= '*') goto yy789;
10173
8.04k
        if (yych <= 'L') goto yy738;
10174
7.64k
        goto yy919;
10175
28.6k
      } else {
10176
28.6k
        if (yych == 'm') goto yy919;
10177
1.40k
        goto yy738;
10178
28.6k
      }
10179
36.7k
    }
10180
3.92k
yy893:
10181
3.92k
    YYDEBUG(893, *YYCURSOR);
10182
3.92k
    ++YYCURSOR;
10183
3.92k
    YYFILL(1);
10184
3.92k
    yych = *YYCURSOR;
10185
3.92k
    if (yych <= 'D') {
10186
703
      if (yych <= 0x00) goto yy86;
10187
468
      if (yych == '*') goto yy668;
10188
268
      goto yy590;
10189
3.22k
    } else {
10190
3.22k
      if (yych <= 'E') goto yy920;
10191
2.97k
      if (yych == 'e') goto yy920;
10192
290
      goto yy590;
10193
2.97k
    }
10194
9.90k
yy894:
10195
9.90k
    YYDEBUG(894, *YYCURSOR);
10196
9.90k
    ++YYCURSOR;
10197
9.90k
    YYFILL(1);
10198
9.90k
    yych = *YYCURSOR;
10199
9.90k
    if (yych <= 'K') {
10200
3.11k
      if (yych <= 0x00) goto yy86;
10201
2.28k
      if (yych == '*') goto yy668;
10202
2.11k
      goto yy590;
10203
6.79k
    } else {
10204
6.79k
      if (yych <= 'L') goto yy921;
10205
5.28k
      if (yych == 'l') goto yy921;
10206
251
      goto yy590;
10207
5.28k
    }
10208
5.53k
yy895:
10209
5.53k
    YYDEBUG(895, *YYCURSOR);
10210
5.53k
    ++YYCURSOR;
10211
5.53k
    YYFILL(1);
10212
5.53k
    yych = *YYCURSOR;
10213
5.53k
    if (yych <= '\r') {
10214
1.42k
      if (yych <= '\t') {
10215
440
        if (yych <= 0x00) goto yy86;
10216
222
        goto yy586;
10217
981
      } else {
10218
981
        if (yych <= '\n') goto yy495;
10219
853
        if (yych <= '\f') goto yy586;
10220
515
        goto yy495;
10221
853
      }
10222
4.11k
    } else {
10223
4.11k
      if (yych <= 'S') {
10224
1.04k
        if (yych <= 'R') goto yy586;
10225
261
        goto yy922;
10226
3.07k
      } else {
10227
3.07k
        if (yych == 's') goto yy922;
10228
262
        goto yy586;
10229
3.07k
      }
10230
4.11k
    }
10231
14.4k
yy896:
10232
14.4k
    YYDEBUG(896, *YYCURSOR);
10233
14.4k
    ++YYCURSOR;
10234
14.4k
    YYFILL(1);
10235
14.4k
    yych = *YYCURSOR;
10236
14.4k
    if (yych <= '\r') {
10237
3.96k
      if (yych <= '\t') {
10238
491
        if (yych <= 0x00) goto yy86;
10239
293
        goto yy586;
10240
3.47k
      } else {
10241
3.47k
        if (yych <= '\n') goto yy495;
10242
3.11k
        if (yych <= '\f') goto yy586;
10243
2.23k
        goto yy495;
10244
3.11k
      }
10245
10.4k
    } else {
10246
10.4k
      if (yych <= 'E') {
10247
2.19k
        if (yych <= 'D') goto yy586;
10248
806
        goto yy923;
10249
8.25k
      } else {
10250
8.25k
        if (yych == 'e') goto yy923;
10251
976
        goto yy586;
10252
8.25k
      }
10253
10.4k
    }
10254
2.28k
yy897:
10255
2.28k
    YYDEBUG(897, *YYCURSOR);
10256
2.28k
    yyaccept = 89;
10257
2.28k
    yych = *(YYMARKER = ++YYCURSOR);
10258
2.28k
    if (yybm[256+yych] & 128) {
10259
784
      goto yy47;
10260
784
    }
10261
1.50k
    if (yych == '\\') goto yy164;
10262
1.48k
yy898:
10263
1.48k
    YYDEBUG(898, *YYCURSOR);
10264
1.48k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
1.48k
#line 1725 "Zend/zend_language_scanner.l"
10266
1.48k
    {
10267
1.48k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
1.48k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
776
yy899:
10271
776
    YYDEBUG(899, *YYCURSOR);
10272
776
    ++YYCURSOR;
10273
776
    YYDEBUG(900, *YYCURSOR);
10274
776
    yyleng = YYCURSOR - SCNG(yy_text);
10275
776
#line 1793 "Zend/zend_language_scanner.l"
10276
776
    {
10277
776
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
776
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
1.76k
yy901:
10281
1.76k
    YYDEBUG(901, *YYCURSOR);
10282
1.76k
    yych = *++YYCURSOR;
10283
1.76k
    if (yych == 'T') goto yy924;
10284
1.54k
    if (yych == 't') goto yy924;
10285
875
    goto yy86;
10286
2.09k
yy902:
10287
2.09k
    YYDEBUG(902, *YYCURSOR);
10288
2.09k
    yyaccept = 90;
10289
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
10290
2.09k
    if (yybm[256+yych] & 128) {
10291
385
      goto yy47;
10292
385
    }
10293
1.71k
    if (yych == '\\') goto yy164;
10294
1.70k
yy903:
10295
1.70k
    YYDEBUG(903, *YYCURSOR);
10296
1.70k
    yyleng = YYCURSOR - SCNG(yy_text);
10297
1.70k
#line 1733 "Zend/zend_language_scanner.l"
10298
1.70k
    {
10299
1.70k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
1.70k
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
128k
yy904:
10303
128k
    YYDEBUG(904, *YYCURSOR);
10304
128k
    ++YYCURSOR;
10305
128k
    YYFILL(1);
10306
128k
    yych = *YYCURSOR;
10307
128k
    YYDEBUG(905, *YYCURSOR);
10308
128k
    if (yych <= '"') {
10309
15.3k
      if (yych <= '\n') {
10310
4.70k
        if (yych <= 0x00) goto yy86;
10311
4.10k
        if (yych <= 0x08) goto yy808;
10312
3.56k
        if (yych <= '\t') goto yy904;
10313
1.82k
        goto yy846;
10314
10.6k
      } else {
10315
10.6k
        if (yych <= '\r') {
10316
8.75k
          if (yych <= '\f') goto yy808;
10317
8.48k
          goto yy846;
10318
8.75k
        } else {
10319
1.93k
          if (yych == ' ') goto yy904;
10320
621
          goto yy808;
10321
1.93k
        }
10322
10.6k
      }
10323
112k
    } else {
10324
112k
      if (yych <= '/') {
10325
48.7k
        if (yych <= ')') {
10326
11.5k
          if (yych <= '#') goto yy925;
10327
5.44k
          goto yy808;
10328
37.1k
        } else {
10329
37.1k
          if (yych <= '*') goto yy848;
10330
36.8k
          if (yych <= '.') goto yy808;
10331
35.7k
          goto yy926;
10332
36.8k
        }
10333
63.9k
      } else {
10334
63.9k
        if (yych <= 'F') {
10335
28.9k
          if (yych <= 'E') goto yy808;
10336
27.2k
          goto yy927;
10337
34.9k
        } else {
10338
34.9k
          if (yych == 'f') goto yy927;
10339
34.6k
          goto yy808;
10340
34.9k
        }
10341
63.9k
      }
10342
112k
    }
10343
29.7k
yy906:
10344
29.7k
    YYDEBUG(906, *YYCURSOR);
10345
29.7k
    ++YYCURSOR;
10346
29.7k
    YYFILL(1);
10347
29.7k
    yych = *YYCURSOR;
10348
29.7k
    if (yych <= '*') {
10349
2.84k
      if (yych <= 0x00) goto yy86;
10350
2.55k
      if (yych <= ')') goto yy696;
10351
310
      goto yy760;
10352
26.8k
    } else {
10353
26.8k
      if (yych == '/') goto yy846;
10354
391
      goto yy696;
10355
26.8k
    }
10356
7.77k
yy907:
10357
7.77k
    YYDEBUG(907, *YYCURSOR);
10358
7.77k
    ++YYCURSOR;
10359
7.77k
    YYFILL(1);
10360
7.77k
    yych = *YYCURSOR;
10361
7.77k
    if (yych <= 'N') {
10362
894
      if (yych <= 0x00) goto yy86;
10363
665
      if (yych == '*') goto yy760;
10364
422
      goto yy696;
10365
6.88k
    } else {
10366
6.88k
      if (yych <= 'O') goto yy928;
10367
1.47k
      if (yych == 'o') goto yy928;
10368
244
      goto yy696;
10369
1.47k
    }
10370
2.54k
yy908:
10371
2.54k
    YYDEBUG(908, *YYCURSOR);
10372
2.54k
    yyaccept = 91;
10373
2.54k
    YYMARKER = ++YYCURSOR;
10374
2.54k
    YYFILL(1);
10375
2.54k
    yych = *YYCURSOR;
10376
2.54k
    if (yych <= '\n') {
10377
1.11k
      if (yych <= 0x00) goto yy876;
10378
965
      if (yych <= '\t') goto yy692;
10379
682
      goto yy616;
10380
1.43k
    } else {
10381
1.43k
      if (yych == '\r') goto yy616;
10382
1.19k
      goto yy692;
10383
1.43k
    }
10384
3.89k
yy909:
10385
3.89k
    YYDEBUG(909, *YYCURSOR);
10386
3.89k
    yyaccept = 91;
10387
3.89k
    YYMARKER = ++YYCURSOR;
10388
3.89k
    YYFILL(5);
10389
3.89k
    yych = *YYCURSOR;
10390
3.89k
    if (yych <= '"') {
10391
2.08k
      if (yych <= '\f') {
10392
1.29k
        if (yych <= 0x08) goto yy876;
10393
882
        if (yych <= '\n') goto yy616;
10394
71
        goto yy876;
10395
882
      } else {
10396
788
        if (yych <= '\r') goto yy616;
10397
670
        if (yych == ' ') goto yy616;
10398
239
        goto yy876;
10399
670
      }
10400
2.08k
    } else {
10401
1.80k
      if (yych <= 'E') {
10402
886
        if (yych <= '#') goto yy618;
10403
643
        if (yych == '/') goto yy619;
10404
368
        goto yy876;
10405
921
      } else {
10406
921
        if (yych <= 'F') goto yy691;
10407
777
        if (yych == 'f') goto yy691;
10408
347
        goto yy876;
10409
777
      }
10410
1.80k
    }
10411
14.4k
yy910:
10412
14.4k
    YYDEBUG(910, *YYCURSOR);
10413
14.4k
    yyaccept = 92;
10414
14.4k
    yych = *(YYMARKER = ++YYCURSOR);
10415
14.4k
    if (yybm[256+yych] & 128) {
10416
574
      goto yy47;
10417
574
    }
10418
13.8k
    if (yych == '\\') goto yy164;
10419
13.8k
yy911:
10420
13.8k
    YYDEBUG(911, *YYCURSOR);
10421
13.8k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
13.8k
#line 2260 "Zend/zend_language_scanner.l"
10423
13.8k
    {
10424
13.8k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
13.8k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
3.68k
yy912:
10428
3.68k
    YYDEBUG(912, *YYCURSOR);
10429
3.68k
    yyaccept = 4;
10430
3.68k
    yych = *(YYMARKER = ++YYCURSOR);
10431
3.68k
    if (yych == 'L') goto yy929;
10432
3.26k
    if (yych == 'l') goto yy929;
10433
804
    goto yy48;
10434
4.28k
yy913:
10435
4.28k
    YYDEBUG(913, *YYCURSOR);
10436
4.28k
    yyaccept = 4;
10437
4.28k
    yych = *(YYMARKER = ++YYCURSOR);
10438
4.28k
    if (yych == '_') goto yy930;
10439
795
    goto yy48;
10440
1.71k
yy914:
10441
1.71k
    YYDEBUG(914, *YYCURSOR);
10442
1.71k
    yyaccept = 93;
10443
1.71k
    yych = *(YYMARKER = ++YYCURSOR);
10444
1.71k
    if (yybm[256+yych] & 128) {
10445
478
      goto yy47;
10446
478
    }
10447
1.23k
    if (yych == '\\') goto yy164;
10448
1.23k
yy915:
10449
1.23k
    YYDEBUG(915, *YYCURSOR);
10450
1.23k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.23k
#line 2264 "Zend/zend_language_scanner.l"
10452
1.23k
    {
10453
1.23k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.23k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
1.21k
yy916:
10457
1.21k
    YYDEBUG(916, *YYCURSOR);
10458
1.21k
    yych = *++YYCURSOR;
10459
1.21k
    if (yych == 'T') goto yy857;
10460
722
    if (yych == 't') goto yy857;
10461
289
    goto yy86;
10462
56.6k
yy917:
10463
56.6k
    YYDEBUG(917, *YYCURSOR);
10464
56.6k
    ++YYCURSOR;
10465
56.6k
    YYFILL(1);
10466
56.6k
    yych = *YYCURSOR;
10467
56.6k
    if (yych <= '\r') {
10468
2.05k
      if (yych <= '\t') {
10469
619
        if (yych <= 0x00) goto yy86;
10470
235
        goto yy738;
10471
1.43k
      } else {
10472
1.43k
        if (yych <= '\n') goto yy787;
10473
728
        if (yych <= '\f') goto yy738;
10474
514
        goto yy787;
10475
728
      }
10476
54.6k
    } else {
10477
54.6k
      if (yych <= '*') {
10478
1.85k
        if (yych <= ')') goto yy738;
10479
466
        goto yy789;
10480
52.7k
      } else {
10481
52.7k
        if (yych == '/') goto yy859;
10482
450
        goto yy738;
10483
52.7k
      }
10484
54.6k
    }
10485
25.5k
yy918:
10486
25.5k
    YYDEBUG(918, *YYCURSOR);
10487
25.5k
    ++YYCURSOR;
10488
25.5k
    YYFILL(1);
10489
25.5k
    yych = *YYCURSOR;
10490
25.5k
    if (yych <= ')') {
10491
1.44k
      if (yych <= '\n') {
10492
753
        if (yych <= 0x00) goto yy86;
10493
478
        if (yych <= '\t') goto yy738;
10494
225
        goto yy787;
10495
696
      } else {
10496
696
        if (yych == '\r') goto yy787;
10497
622
        goto yy738;
10498
696
      }
10499
24.0k
    } else {
10500
24.0k
      if (yych <= 'T') {
10501
4.95k
        if (yych <= '*') goto yy789;
10502
4.85k
        if (yych <= 'S') goto yy738;
10503
4.00k
        goto yy932;
10504
19.1k
      } else {
10505
19.1k
        if (yych == 't') goto yy932;
10506
11.1k
        goto yy738;
10507
19.1k
      }
10508
24.0k
    }
10509
34.9k
yy919:
10510
34.9k
    YYDEBUG(919, *YYCURSOR);
10511
34.9k
    ++YYCURSOR;
10512
34.9k
    YYFILL(1);
10513
34.9k
    yych = *YYCURSOR;
10514
34.9k
    if (yych <= ')') {
10515
1.41k
      if (yych <= '\n') {
10516
1.03k
        if (yych <= 0x00) goto yy86;
10517
958
        if (yych <= '\t') goto yy738;
10518
159
        goto yy787;
10519
958
      } else {
10520
382
        if (yych == '\r') goto yy787;
10521
247
        goto yy738;
10522
382
      }
10523
33.4k
    } else {
10524
33.4k
      if (yych <= 'P') {
10525
8.35k
        if (yych <= '*') goto yy789;
10526
8.05k
        if (yych <= 'O') goto yy738;
10527
5.83k
        goto yy933;
10528
25.1k
      } else {
10529
25.1k
        if (yych == 'p') goto yy933;
10530
1.04k
        goto yy738;
10531
25.1k
      }
10532
33.4k
    }
10533
2.93k
yy920:
10534
2.93k
    YYDEBUG(920, *YYCURSOR);
10535
2.93k
    ++YYCURSOR;
10536
2.93k
    YYFILL(1);
10537
2.93k
    yych = *YYCURSOR;
10538
2.93k
    if (yych <= 'M') {
10539
537
      if (yych <= 0x00) goto yy86;
10540
321
      if (yych == '*') goto yy668;
10541
252
      goto yy590;
10542
2.39k
    } else {
10543
2.39k
      if (yych <= 'N') goto yy934;
10544
1.81k
      if (yych == 'n') goto yy934;
10545
112
      goto yy590;
10546
1.81k
    }
10547
6.54k
yy921:
10548
6.54k
    YYDEBUG(921, *YYCURSOR);
10549
6.54k
    ++YYCURSOR;
10550
6.54k
    YYFILL(1);
10551
6.54k
    yych = *YYCURSOR;
10552
6.54k
    if (yych <= 'D') {
10553
828
      if (yych <= 0x00) goto yy86;
10554
618
      if (yych == '*') goto yy668;
10555
372
      goto yy590;
10556
5.71k
    } else {
10557
5.71k
      if (yych <= 'E') goto yy935;
10558
3.96k
      if (yych == 'e') goto yy935;
10559
207
      goto yy590;
10560
3.96k
    }
10561
3.07k
yy922:
10562
3.07k
    YYDEBUG(922, *YYCURSOR);
10563
3.07k
    yyaccept = 94;
10564
3.07k
    YYMARKER = ++YYCURSOR;
10565
3.07k
    YYFILL(1);
10566
3.07k
    yych = *YYCURSOR;
10567
3.07k
    if (yych <= '\n') {
10568
1.07k
      if (yych <= 0x00) goto yy886;
10569
507
      if (yych <= '\t') goto yy586;
10570
210
      goto yy495;
10571
1.99k
    } else {
10572
1.99k
      if (yych == '\r') goto yy495;
10573
1.72k
      goto yy586;
10574
1.99k
    }
10575
8.08k
yy923:
10576
8.08k
    YYDEBUG(923, *YYCURSOR);
10577
8.08k
    ++YYCURSOR;
10578
8.08k
    YYFILL(1);
10579
8.08k
    yych = *YYCURSOR;
10580
8.08k
    if (yych <= '\r') {
10581
1.87k
      if (yych <= '\t') {
10582
1.03k
        if (yych <= 0x00) goto yy86;
10583
821
        goto yy586;
10584
1.03k
      } else {
10585
847
        if (yych <= '\n') goto yy495;
10586
596
        if (yych <= '\f') goto yy586;
10587
309
        goto yy495;
10588
596
      }
10589
6.20k
    } else {
10590
6.20k
      if (yych <= 'N') {
10591
1.20k
        if (yych <= 'M') goto yy586;
10592
669
        goto yy936;
10593
5.00k
      } else {
10594
5.00k
        if (yych == 'n') goto yy936;
10595
674
        goto yy586;
10596
5.00k
      }
10597
6.20k
    }
10598
886
yy924:
10599
886
    YYDEBUG(924, *YYCURSOR);
10600
886
    yych = *++YYCURSOR;
10601
886
    if (yych == ')') goto yy937;
10602
274
    goto yy86;
10603
6.10k
yy925:
10604
6.10k
    YYDEBUG(925, *YYCURSOR);
10605
6.10k
    ++YYCURSOR;
10606
6.10k
    YYFILL(1);
10607
6.10k
    yych = *YYCURSOR;
10608
6.10k
    if (yych <= '\f') {
10609
1.89k
      if (yych <= 0x00) goto yy86;
10610
1.81k
      if (yych == '\n') goto yy904;
10611
262
      goto yy808;
10612
4.21k
    } else {
10613
4.21k
      if (yych <= '\r') goto yy904;
10614
2.37k
      if (yych == '*') goto yy848;
10615
1.88k
      goto yy808;
10616
2.37k
    }
10617
35.7k
yy926:
10618
35.7k
    YYDEBUG(926, *YYCURSOR);
10619
35.7k
    ++YYCURSOR;
10620
35.7k
    YYFILL(1);
10621
35.7k
    yych = *YYCURSOR;
10622
35.7k
    if (yych <= '\f') {
10623
895
      if (yych <= 0x00) goto yy86;
10624
668
      if (yych == '\n') goto yy846;
10625
214
      goto yy808;
10626
34.8k
    } else {
10627
34.8k
      if (yych <= '\r') goto yy846;
10628
33.9k
      if (yych == '*') goto yy939;
10629
2.77k
      goto yy808;
10630
33.9k
    }
10631
27.6k
yy927:
10632
27.6k
    YYDEBUG(927, *YYCURSOR);
10633
27.6k
    ++YYCURSOR;
10634
27.6k
    YYFILL(1);
10635
27.6k
    yych = *YYCURSOR;
10636
27.6k
    if (yych <= ')') {
10637
4.67k
      if (yych <= '\n') {
10638
4.28k
        if (yych <= 0x00) goto yy86;
10639
3.94k
        if (yych <= '\t') goto yy808;
10640
3.67k
        goto yy846;
10641
3.94k
      } else {
10642
398
        if (yych == '\r') goto yy846;
10643
104
        goto yy808;
10644
398
      }
10645
22.9k
    } else {
10646
22.9k
      if (yych <= 'R') {
10647
17.3k
        if (yych <= '*') goto yy848;
10648
17.1k
        if (yych <= 'Q') goto yy808;
10649
16.7k
        goto yy940;
10650
17.1k
      } else {
10651
5.64k
        if (yych == 'r') goto yy940;
10652
1.85k
        goto yy808;
10653
5.64k
      }
10654
22.9k
    }
10655
6.63k
yy928:
10656
6.63k
    YYDEBUG(928, *YYCURSOR);
10657
6.63k
    ++YYCURSOR;
10658
6.63k
    YYFILL(1);
10659
6.63k
    yych = *YYCURSOR;
10660
6.63k
    if (yych <= 'L') {
10661
729
      if (yych <= 0x00) goto yy86;
10662
520
      if (yych == '*') goto yy760;
10663
311
      goto yy696;
10664
5.91k
    } else {
10665
5.91k
      if (yych <= 'M') goto yy941;
10666
1.15k
      if (yych == 'm') goto yy941;
10667
72
      goto yy696;
10668
1.15k
    }
10669
2.88k
yy929:
10670
2.88k
    YYDEBUG(929, *YYCURSOR);
10671
2.88k
    yyaccept = 4;
10672
2.88k
    yych = *(YYMARKER = ++YYCURSOR);
10673
2.88k
    if (yych == 'E') goto yy942;
10674
2.67k
    if (yych == 'e') goto yy942;
10675
638
    goto yy48;
10676
3.48k
yy930:
10677
3.48k
    YYDEBUG(930, *YYCURSOR);
10678
3.48k
    yyaccept = 95;
10679
3.48k
    yych = *(YYMARKER = ++YYCURSOR);
10680
3.48k
    if (yybm[256+yych] & 128) {
10681
204
      goto yy47;
10682
204
    }
10683
3.28k
    if (yych == '\\') goto yy164;
10684
3.28k
yy931:
10685
3.28k
    YYDEBUG(931, *YYCURSOR);
10686
3.28k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
3.28k
#line 2284 "Zend/zend_language_scanner.l"
10688
3.28k
    {
10689
3.28k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
3.28k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
11.9k
yy932:
10693
11.9k
    YYDEBUG(932, *YYCURSOR);
10694
11.9k
    ++YYCURSOR;
10695
11.9k
    YYFILL(1);
10696
11.9k
    yych = *YYCURSOR;
10697
11.9k
    if (yych <= ')') {
10698
1.32k
      if (yych <= '\n') {
10699
903
        if (yych <= 0x00) goto yy86;
10700
837
        if (yych <= '\t') goto yy738;
10701
595
        goto yy787;
10702
837
      } else {
10703
421
        if (yych == '\r') goto yy787;
10704
189
        goto yy738;
10705
421
      }
10706
10.6k
    } else {
10707
10.6k
      if (yych <= 'E') {
10708
1.09k
        if (yych <= '*') goto yy789;
10709
840
        if (yych <= 'D') goto yy738;
10710
610
        goto yy943;
10711
9.55k
      } else {
10712
9.55k
        if (yych == 'e') goto yy943;
10713
738
        goto yy738;
10714
9.55k
      }
10715
10.6k
    }
10716
29.9k
yy933:
10717
29.9k
    YYDEBUG(933, *YYCURSOR);
10718
29.9k
    ++YYCURSOR;
10719
29.9k
    YYFILL(1);
10720
29.9k
    yych = *YYCURSOR;
10721
29.9k
    if (yych <= ')') {
10722
1.20k
      if (yych <= '\n') {
10723
546
        if (yych <= 0x00) goto yy86;
10724
354
        if (yych <= '\t') goto yy738;
10725
78
        goto yy787;
10726
661
      } else {
10727
661
        if (yych == '\r') goto yy787;
10728
254
        goto yy738;
10729
661
      }
10730
28.7k
    } else {
10731
28.7k
      if (yych <= 'L') {
10732
4.64k
        if (yych <= '*') goto yy789;
10733
4.43k
        if (yych <= 'K') goto yy738;
10734
3.96k
        goto yy944;
10735
24.0k
      } else {
10736
24.0k
        if (yych == 'l') goto yy944;
10737
1.82k
        goto yy738;
10738
24.0k
      }
10739
28.7k
    }
10740
2.28k
yy934:
10741
2.28k
    YYDEBUG(934, *YYCURSOR);
10742
2.28k
    ++YYCURSOR;
10743
2.28k
    YYFILL(1);
10744
2.28k
    yych = *YYCURSOR;
10745
2.28k
    if (yych <= 'C') {
10746
723
      if (yych <= 0x00) goto yy86;
10747
486
      if (yych == '*') goto yy668;
10748
273
      goto yy590;
10749
1.56k
    } else {
10750
1.56k
      if (yych <= 'D') goto yy945;
10751
1.33k
      if (yych == 'd') goto yy945;
10752
286
      goto yy590;
10753
1.33k
    }
10754
5.50k
yy935:
10755
5.50k
    YYDEBUG(935, *YYCURSOR);
10756
5.50k
    ++YYCURSOR;
10757
5.50k
    YYFILL(1);
10758
5.50k
    yych = *YYCURSOR;
10759
5.50k
    if (yych <= 'L') {
10760
829
      if (yych <= 0x00) goto yy86;
10761
621
      if (yych == '*') goto yy668;
10762
600
      goto yy590;
10763
4.67k
    } else {
10764
4.67k
      if (yych <= 'M') goto yy946;
10765
3.65k
      if (yych == 'm') goto yy946;
10766
562
      goto yy590;
10767
3.65k
    }
10768
4.99k
yy936:
10769
4.99k
    YYDEBUG(936, *YYCURSOR);
10770
4.99k
    ++YYCURSOR;
10771
4.99k
    YYFILL(1);
10772
4.99k
    yych = *YYCURSOR;
10773
4.99k
    if (yych <= '\r') {
10774
916
      if (yych <= '\t') {
10775
281
        if (yych <= 0x00) goto yy86;
10776
70
        goto yy586;
10777
635
      } else {
10778
635
        if (yych <= '\n') goto yy495;
10779
465
        if (yych <= '\f') goto yy586;
10780
244
        goto yy495;
10781
465
      }
10782
4.08k
    } else {
10783
4.08k
      if (yych <= 'T') {
10784
794
        if (yych <= 'S') goto yy586;
10785
253
        goto yy895;
10786
3.28k
      } else {
10787
3.28k
        if (yych == 't') goto yy895;
10788
241
        goto yy586;
10789
3.28k
      }
10790
4.08k
    }
10791
612
yy937:
10792
612
    YYDEBUG(937, *YYCURSOR);
10793
612
    ++YYCURSOR;
10794
612
    YYDEBUG(938, *YYCURSOR);
10795
612
    yyleng = YYCURSOR - SCNG(yy_text);
10796
612
#line 1789 "Zend/zend_language_scanner.l"
10797
612
    {
10798
612
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
612
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
31.2k
yy939:
10802
31.2k
    YYDEBUG(939, *YYCURSOR);
10803
31.2k
    ++YYCURSOR;
10804
31.2k
    YYFILL(1);
10805
31.2k
    yych = *YYCURSOR;
10806
31.2k
    if (yych <= '\r') {
10807
4.94k
      if (yych <= '\t') {
10808
2.84k
        if (yych <= 0x00) goto yy86;
10809
2.50k
        goto yy808;
10810
2.84k
      } else {
10811
2.09k
        if (yych <= '\n') goto yy846;
10812
1.13k
        if (yych <= '\f') goto yy808;
10813
914
        goto yy846;
10814
1.13k
      }
10815
26.2k
    } else {
10816
26.2k
      if (yych <= '*') {
10817
847
        if (yych <= ')') goto yy808;
10818
230
        goto yy848;
10819
25.4k
      } else {
10820
25.4k
        if (yych == '/') goto yy904;
10821
1.63k
        goto yy808;
10822
25.4k
      }
10823
26.2k
    }
10824
20.5k
yy940:
10825
20.5k
    YYDEBUG(940, *YYCURSOR);
10826
20.5k
    ++YYCURSOR;
10827
20.5k
    YYFILL(1);
10828
20.5k
    yych = *YYCURSOR;
10829
20.5k
    if (yych <= ')') {
10830
1.09k
      if (yych <= '\n') {
10831
788
        if (yych <= 0x00) goto yy86;
10832
492
        if (yych <= '\t') goto yy808;
10833
219
        goto yy846;
10834
492
      } else {
10835
310
        if (yych == '\r') goto yy846;
10836
235
        goto yy808;
10837
310
      }
10838
19.4k
    } else {
10839
19.4k
      if (yych <= 'O') {
10840
15.7k
        if (yych <= '*') goto yy848;
10841
15.1k
        if (yych <= 'N') goto yy808;
10842
15.0k
        goto yy947;
10843
15.1k
      } else {
10844
3.72k
        if (yych == 'o') goto yy947;
10845
724
        goto yy808;
10846
3.72k
      }
10847
19.4k
    }
10848
5.83k
yy941:
10849
5.83k
    YYDEBUG(941, *YYCURSOR);
10850
5.83k
    ++YYCURSOR;
10851
5.83k
    YYFILL(1);
10852
5.83k
    yych = *YYCURSOR;
10853
5.83k
    if (yych <= '@') {
10854
3.91k
      if (yych <= '*') {
10855
3.24k
        if (yych <= 0x00) goto yy875;
10856
2.47k
        if (yych <= ')') goto yy948;
10857
1.06k
        goto yy949;
10858
2.47k
      } else {
10859
668
        if (yych <= '/') goto yy948;
10860
395
        if (yych <= '9') goto yy696;
10861
217
        goto yy948;
10862
395
      }
10863
3.91k
    } else {
10864
1.92k
      if (yych <= '_') {
10865
683
        if (yych <= 'Z') goto yy696;
10866
428
        if (yych <= '^') goto yy948;
10867
200
        goto yy696;
10868
1.24k
      } else {
10869
1.24k
        if (yych <= '`') goto yy948;
10870
735
        if (yych <= 'z') goto yy696;
10871
493
        if (yych <= 0x7F) goto yy948;
10872
195
        goto yy696;
10873
493
      }
10874
1.92k
    }
10875
2.24k
yy942:
10876
2.24k
    YYDEBUG(942, *YYCURSOR);
10877
2.24k
    yyaccept = 4;
10878
2.24k
    yych = *(YYMARKER = ++YYCURSOR);
10879
2.24k
    if (yych == 'R') goto yy950;
10880
1.86k
    if (yych == 'r') goto yy950;
10881
250
    goto yy48;
10882
9.43k
yy943:
10883
9.43k
    YYDEBUG(943, *YYCURSOR);
10884
9.43k
    ++YYCURSOR;
10885
9.43k
    YYFILL(1);
10886
9.43k
    yych = *YYCURSOR;
10887
9.43k
    if (yych <= ')') {
10888
2.38k
      if (yych <= '\n') {
10889
1.63k
        if (yych <= 0x00) goto yy86;
10890
1.28k
        if (yych <= '\t') goto yy738;
10891
1.06k
        goto yy787;
10892
1.28k
      } else {
10893
745
        if (yych == '\r') goto yy787;
10894
282
        goto yy738;
10895
745
      }
10896
7.04k
    } else {
10897
7.04k
      if (yych <= 'N') {
10898
3.78k
        if (yych <= '*') goto yy789;
10899
2.25k
        if (yych <= 'M') goto yy738;
10900
1.38k
        goto yy952;
10901
3.25k
      } else {
10902
3.25k
        if (yych == 'n') goto yy952;
10903
567
        goto yy738;
10904
3.25k
      }
10905
7.04k
    }
10906
26.2k
yy944:
10907
26.2k
    YYDEBUG(944, *YYCURSOR);
10908
26.2k
    ++YYCURSOR;
10909
26.2k
    YYFILL(1);
10910
26.2k
    yych = *YYCURSOR;
10911
26.2k
    if (yych <= ')') {
10912
1.80k
      if (yych <= '\n') {
10913
1.09k
        if (yych <= 0x00) goto yy86;
10914
881
        if (yych <= '\t') goto yy738;
10915
533
        goto yy787;
10916
881
      } else {
10917
708
        if (yych == '\r') goto yy787;
10918
410
        goto yy738;
10919
708
      }
10920
24.4k
    } else {
10921
24.4k
      if (yych <= 'E') {
10922
4.01k
        if (yych <= '*') goto yy789;
10923
3.79k
        if (yych <= 'D') goto yy738;
10924
3.35k
        goto yy953;
10925
20.4k
      } else {
10926
20.4k
        if (yych == 'e') goto yy953;
10927
598
        goto yy738;
10928
20.4k
      }
10929
24.4k
    }
10930
2.01k
yy945:
10931
2.01k
    YYDEBUG(945, *YYCURSOR);
10932
2.01k
    ++YYCURSOR;
10933
2.01k
    YYFILL(1);
10934
2.01k
    yych = *YYCURSOR;
10935
2.01k
    if (yych <= 'R') {
10936
1.10k
      if (yych <= 0x00) goto yy86;
10937
860
      if (yych == '*') goto yy668;
10938
645
      goto yy590;
10939
917
    } else {
10940
917
      if (yych <= 'S') goto yy954;
10941
698
      if (yych == 's') goto yy954;
10942
375
      goto yy590;
10943
698
    }
10944
4.11k
yy946:
10945
4.11k
    YYDEBUG(946, *YYCURSOR);
10946
4.11k
    ++YYCURSOR;
10947
4.11k
    YYFILL(1);
10948
4.11k
    yych = *YYCURSOR;
10949
4.11k
    if (yych <= 'D') {
10950
691
      if (yych <= 0x00) goto yy86;
10951
475
      if (yych == '*') goto yy668;
10952
245
      goto yy590;
10953
3.42k
    } else {
10954
3.42k
      if (yych <= 'E') goto yy955;
10955
2.49k
      if (yych == 'e') goto yy955;
10956
337
      goto yy590;
10957
2.49k
    }
10958
18.0k
yy947:
10959
18.0k
    YYDEBUG(947, *YYCURSOR);
10960
18.0k
    ++YYCURSOR;
10961
18.0k
    YYFILL(1);
10962
18.0k
    yych = *YYCURSOR;
10963
18.0k
    if (yych <= ')') {
10964
929
      if (yych <= '\n') {
10965
603
        if (yych <= 0x00) goto yy86;
10966
376
        if (yych <= '\t') goto yy808;
10967
204
        goto yy846;
10968
376
      } else {
10969
326
        if (yych == '\r') goto yy846;
10970
80
        goto yy808;
10971
326
      }
10972
17.0k
    } else {
10973
17.0k
      if (yych <= 'M') {
10974
12.9k
        if (yych <= '*') goto yy848;
10975
12.7k
        if (yych <= 'L') goto yy808;
10976
12.4k
        goto yy956;
10977
12.7k
      } else {
10978
4.09k
        if (yych == 'm') goto yy956;
10979
752
        goto yy808;
10980
4.09k
      }
10981
17.0k
    }
10982
2.93k
yy948:
10983
2.93k
    YYDEBUG(948, *YYCURSOR);
10984
2.93k
    yyaccept = 91;
10985
2.93k
    YYMARKER = ++YYCURSOR;
10986
2.93k
    YYFILL(1);
10987
2.93k
    yych = *YYCURSOR;
10988
2.93k
    if (yych <= 0x00) goto yy876;
10989
1.85k
    if (yych == '*') goto yy760;
10990
1.49k
    goto yy696;
10991
1.49k
yy949:
10992
1.06k
    YYDEBUG(949, *YYCURSOR);
10993
1.06k
    yyaccept = 91;
10994
1.06k
    YYMARKER = ++YYCURSOR;
10995
1.06k
    YYFILL(1);
10996
1.06k
    yych = *YYCURSOR;
10997
1.06k
    if (yych <= '*') {
10998
767
      if (yych <= 0x00) goto yy876;
10999
508
      if (yych <= ')') goto yy696;
11000
136
      goto yy760;
11001
508
    } else {
11002
295
      if (yych == '/') goto yy616;
11003
104
      goto yy696;
11004
295
    }
11005
1.99k
yy950:
11006
1.99k
    YYDEBUG(950, *YYCURSOR);
11007
1.99k
    yyaccept = 96;
11008
1.99k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.99k
    if (yybm[256+yych] & 128) {
11010
588
      goto yy47;
11011
588
    }
11012
1.40k
    if (yych == '\\') goto yy164;
11013
1.24k
yy951:
11014
1.24k
    YYDEBUG(951, *YYCURSOR);
11015
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
11016
1.24k
#line 1761 "Zend/zend_language_scanner.l"
11017
1.24k
    {
11018
1.24k
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
1.24k
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
4.08k
yy952:
11022
4.08k
    YYDEBUG(952, *YYCURSOR);
11023
4.08k
    ++YYCURSOR;
11024
4.08k
    YYFILL(1);
11025
4.08k
    yych = *YYCURSOR;
11026
4.08k
    if (yych <= ')') {
11027
1.05k
      if (yych <= '\n') {
11028
658
        if (yych <= 0x00) goto yy86;
11029
592
        if (yych <= '\t') goto yy738;
11030
223
        goto yy787;
11031
592
      } else {
11032
400
        if (yych == '\r') goto yy787;
11033
206
        goto yy738;
11034
400
      }
11035
3.02k
    } else {
11036
3.02k
      if (yych <= 'D') {
11037
649
        if (yych <= '*') goto yy789;
11038
443
        if (yych <= 'C') goto yy738;
11039
289
        goto yy957;
11040
2.37k
      } else {
11041
2.37k
        if (yych == 'd') goto yy957;
11042
1.29k
        goto yy738;
11043
2.37k
      }
11044
3.02k
    }
11045
23.1k
yy953:
11046
23.1k
    YYDEBUG(953, *YYCURSOR);
11047
23.1k
    ++YYCURSOR;
11048
23.1k
    YYFILL(1);
11049
23.1k
    yych = *YYCURSOR;
11050
23.1k
    if (yych <= ')') {
11051
5.06k
      if (yych <= '\n') {
11052
3.79k
        if (yych <= 0x00) goto yy86;
11053
3.62k
        if (yych <= '\t') goto yy738;
11054
3.40k
        goto yy787;
11055
3.62k
      } else {
11056
1.27k
        if (yych == '\r') goto yy787;
11057
937
        goto yy738;
11058
1.27k
      }
11059
18.1k
    } else {
11060
18.1k
      if (yych <= 'M') {
11061
3.04k
        if (yych <= '*') goto yy789;
11062
1.79k
        if (yych <= 'L') goto yy738;
11063
1.54k
        goto yy958;
11064
15.0k
      } else {
11065
15.0k
        if (yych == 'm') goto yy958;
11066
677
        goto yy738;
11067
15.0k
      }
11068
18.1k
    }
11069
542
yy954:
11070
542
    YYDEBUG(954, *YYCURSOR);
11071
542
    yyaccept = 94;
11072
542
    YYMARKER = ++YYCURSOR;
11073
542
    YYFILL(1);
11074
542
    yych = *YYCURSOR;
11075
542
    if (yych <= 0x00) goto yy886;
11076
376
    if (yych == '*') goto yy668;
11077
179
    goto yy590;
11078
3.08k
yy955:
11079
3.08k
    YYDEBUG(955, *YYCURSOR);
11080
3.08k
    ++YYCURSOR;
11081
3.08k
    YYFILL(1);
11082
3.08k
    yych = *YYCURSOR;
11083
3.08k
    if (yych <= 'M') {
11084
878
      if (yych <= 0x00) goto yy86;
11085
610
      if (yych == '*') goto yy668;
11086
401
      goto yy590;
11087
2.21k
    } else {
11088
2.21k
      if (yych <= 'N') goto yy959;
11089
1.37k
      if (yych == 'n') goto yy959;
11090
356
      goto yy590;
11091
1.37k
    }
11092
15.8k
yy956:
11093
15.8k
    YYDEBUG(956, *YYCURSOR);
11094
15.8k
    ++YYCURSOR;
11095
15.8k
    YYFILL(1);
11096
15.8k
    yych = *YYCURSOR;
11097
15.8k
    if (yych <= '/') {
11098
12.1k
      if (yych <= '\f') {
11099
4.33k
        if (yych <= 0x00) goto yy875;
11100
4.06k
        if (yych == '\n') goto yy961;
11101
514
        goto yy960;
11102
7.77k
      } else {
11103
7.77k
        if (yych <= '\r') goto yy961;
11104
4.88k
        if (yych == '*') goto yy962;
11105
1.34k
        goto yy960;
11106
4.88k
      }
11107
12.1k
    } else {
11108
3.72k
      if (yych <= '^') {
11109
1.29k
        if (yych <= '9') goto yy808;
11110
1.22k
        if (yych <= '@') goto yy960;
11111
1.02k
        if (yych <= 'Z') goto yy808;
11112
825
        goto yy960;
11113
2.42k
      } else {
11114
2.42k
        if (yych <= '`') {
11115
1.58k
          if (yych <= '_') goto yy808;
11116
1.33k
          goto yy960;
11117
1.58k
        } else {
11118
845
          if (yych <= 'z') goto yy808;
11119
384
          if (yych <= 0x7F) goto yy960;
11120
176
          goto yy808;
11121
384
        }
11122
2.42k
      }
11123
3.72k
    }
11124
5.45k
yy957:
11125
5.45k
    YYDEBUG(957, *YYCURSOR);
11126
5.45k
    ++YYCURSOR;
11127
5.45k
    YYFILL(1);
11128
5.45k
    yych = *YYCURSOR;
11129
5.45k
    if (yych <= ')') {
11130
1.37k
      if (yych <= '\n') {
11131
882
        if (yych <= 0x00) goto yy86;
11132
671
        if (yych <= '\t') goto yy738;
11133
296
        goto yy787;
11134
671
      } else {
11135
491
        if (yych == '\r') goto yy787;
11136
242
        goto yy738;
11137
491
      }
11138
4.08k
    } else {
11139
4.08k
      if (yych <= 'S') {
11140
2.17k
        if (yych <= '*') goto yy789;
11141
1.97k
        if (yych <= 'R') goto yy738;
11142
141
        goto yy963;
11143
1.97k
      } else {
11144
1.90k
        if (yych == 's') goto yy963;
11145
459
        goto yy738;
11146
1.90k
      }
11147
4.08k
    }
11148
15.9k
yy958:
11149
15.9k
    YYDEBUG(958, *YYCURSOR);
11150
15.9k
    ++YYCURSOR;
11151
15.9k
    YYFILL(1);
11152
15.9k
    yych = *YYCURSOR;
11153
15.9k
    if (yych <= ')') {
11154
3.25k
      if (yych <= '\n') {
11155
872
        if (yych <= 0x00) goto yy86;
11156
675
        if (yych <= '\t') goto yy738;
11157
259
        goto yy787;
11158
2.38k
      } else {
11159
2.38k
        if (yych == '\r') goto yy787;
11160
474
        goto yy738;
11161
2.38k
      }
11162
12.6k
    } else {
11163
12.6k
      if (yych <= 'E') {
11164
1.35k
        if (yych <= '*') goto yy789;
11165
1.13k
        if (yych <= 'D') goto yy738;
11166
678
        goto yy964;
11167
11.3k
      } else {
11168
11.3k
        if (yych == 'e') goto yy964;
11169
407
        goto yy738;
11170
11.3k
      }
11171
12.6k
    }
11172
1.85k
yy959:
11173
1.85k
    YYDEBUG(959, *YYCURSOR);
11174
1.85k
    ++YYCURSOR;
11175
1.85k
    YYFILL(1);
11176
1.85k
    yych = *YYCURSOR;
11177
1.85k
    if (yych <= 'S') {
11178
897
      if (yych <= 0x00) goto yy86;
11179
613
      if (yych == '*') goto yy668;
11180
542
      goto yy590;
11181
958
    } else {
11182
958
      if (yych <= 'T') goto yy945;
11183
889
      if (yych == 't') goto yy945;
11184
217
      goto yy590;
11185
889
    }
11186
4.41k
yy960:
11187
4.41k
    YYDEBUG(960, *YYCURSOR);
11188
4.41k
    yyaccept = 91;
11189
4.41k
    YYMARKER = ++YYCURSOR;
11190
4.41k
    YYFILL(1);
11191
4.41k
    yych = *YYCURSOR;
11192
4.41k
    if (yych <= '\f') {
11193
2.35k
      if (yych <= 0x00) goto yy876;
11194
2.06k
      if (yych == '\n') goto yy846;
11195
195
      goto yy808;
11196
2.06k
    } else {
11197
2.05k
      if (yych <= '\r') goto yy846;
11198
1.99k
      if (yych == '*') goto yy848;
11199
1.69k
      goto yy808;
11200
1.99k
    }
11201
6.43k
yy961:
11202
6.43k
    YYDEBUG(961, *YYCURSOR);
11203
6.43k
    yyaccept = 91;
11204
6.43k
    YYMARKER = ++YYCURSOR;
11205
6.43k
    YYFILL(1);
11206
6.43k
    yych = *YYCURSOR;
11207
6.43k
    if (yych <= '#') {
11208
4.35k
      if (yych <= '\f') {
11209
1.29k
        if (yych <= 0x00) goto yy876;
11210
1.03k
        if (yych <= 0x08) goto yy696;
11211
473
        if (yych <= '\n') goto yy846;
11212
259
        goto yy696;
11213
3.05k
      } else {
11214
3.05k
        if (yych <= 0x1F) {
11215
1.15k
          if (yych <= '\r') goto yy846;
11216
533
          goto yy696;
11217
1.90k
        } else {
11218
1.90k
          if (yych <= ' ') goto yy846;
11219
1.21k
          if (yych <= '"') goto yy696;
11220
911
          goto yy877;
11221
1.21k
        }
11222
3.05k
      }
11223
4.35k
    } else {
11224
2.08k
      if (yych <= '/') {
11225
345
        if (yych == '*') goto yy760;
11226
142
        if (yych <= '.') goto yy696;
11227
58
        goto yy878;
11228
1.73k
      } else {
11229
1.73k
        if (yych <= 'F') {
11230
405
          if (yych <= 'E') goto yy696;
11231
215
          goto yy879;
11232
1.33k
        } else {
11233
1.33k
          if (yych == 'f') goto yy879;
11234
849
          goto yy696;
11235
1.33k
        }
11236
1.73k
      }
11237
2.08k
    }
11238
3.53k
yy962:
11239
3.53k
    YYDEBUG(962, *YYCURSOR);
11240
3.53k
    yyaccept = 91;
11241
3.53k
    YYMARKER = ++YYCURSOR;
11242
3.53k
    YYFILL(1);
11243
3.53k
    yych = *YYCURSOR;
11244
3.53k
    if (yych <= '\r') {
11245
2.35k
      if (yych <= '\t') {
11246
280
        if (yych <= 0x00) goto yy876;
11247
57
        goto yy808;
11248
2.07k
      } else {
11249
2.07k
        if (yych <= '\n') goto yy846;
11250
556
        if (yych <= '\f') goto yy808;
11251
345
        goto yy846;
11252
556
      }
11253
2.35k
    } else {
11254
1.18k
      if (yych <= '*') {
11255
499
        if (yych <= ')') goto yy808;
11256
256
        goto yy848;
11257
684
      } else {
11258
684
        if (yych == '/') goto yy694;
11259
454
        goto yy808;
11260
684
      }
11261
1.18k
    }
11262
1.58k
yy963:
11263
1.58k
    YYDEBUG(963, *YYCURSOR);
11264
1.58k
    yyaccept = 94;
11265
1.58k
    YYMARKER = ++YYCURSOR;
11266
1.58k
    YYFILL(1);
11267
1.58k
    yych = *YYCURSOR;
11268
1.58k
    if (yych <= '\f') {
11269
896
      if (yych <= 0x00) goto yy886;
11270
677
      if (yych == '\n') goto yy787;
11271
421
      goto yy738;
11272
692
    } else {
11273
692
      if (yych <= '\r') goto yy787;
11274
601
      if (yych == '*') goto yy789;
11275
396
      goto yy738;
11276
601
    }
11277
11.5k
yy964:
11278
11.5k
    YYDEBUG(964, *YYCURSOR);
11279
11.5k
    ++YYCURSOR;
11280
11.5k
    YYFILL(1);
11281
11.5k
    yych = *YYCURSOR;
11282
11.5k
    if (yych <= ')') {
11283
1.76k
      if (yych <= '\n') {
11284
1.19k
        if (yych <= 0x00) goto yy86;
11285
1.01k
        if (yych <= '\t') goto yy738;
11286
493
        goto yy787;
11287
1.01k
      } else {
11288
569
        if (yych == '\r') goto yy787;
11289
434
        goto yy738;
11290
569
      }
11291
9.81k
    } else {
11292
9.81k
      if (yych <= 'N') {
11293
1.70k
        if (yych <= '*') goto yy789;
11294
1.50k
        if (yych <= 'M') goto yy738;
11295
8.11k
      } else {
11296
8.11k
        if (yych != 'n') goto yy738;
11297
8.11k
      }
11298
9.81k
    }
11299
6.18k
    YYDEBUG(965, *YYCURSOR);
11300
6.18k
    ++YYCURSOR;
11301
6.18k
    YYFILL(1);
11302
6.18k
    yych = *YYCURSOR;
11303
6.18k
    if (yych <= ')') {
11304
993
      if (yych <= '\n') {
11305
593
        if (yych <= 0x00) goto yy86;
11306
419
        if (yych <= '\t') goto yy738;
11307
208
        goto yy787;
11308
419
      } else {
11309
400
        if (yych == '\r') goto yy787;
11310
205
        goto yy738;
11311
400
      }
11312
5.19k
    } else {
11313
5.19k
      if (yych <= 'T') {
11314
1.40k
        if (yych <= '*') goto yy789;
11315
1.13k
        if (yych <= 'S') goto yy738;
11316
535
        goto yy957;
11317
3.79k
      } else {
11318
3.79k
        if (yych == 't') goto yy957;
11319
243
        goto yy738;
11320
3.79k
      }
11321
5.19k
    }
11322
6.18k
  }
11323
/* *********************************** */
11324
405k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
405k
  {
11326
405k
    static const unsigned char yybm[] = {
11327
405k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
405k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
405k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
405k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
405k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
405k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
405k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
405k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
405k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
405k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
405k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
405k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
405k
    };
11360
405k
    YYDEBUG(966, *YYCURSOR);
11361
405k
    YYFILL(4);
11362
405k
    yych = *YYCURSOR;
11363
405k
    if (yybm[0+yych] & 64) {
11364
5.32k
      goto yy970;
11365
5.32k
    }
11366
399k
    if (yych <= '?') {
11367
139k
      if (yych <= '-') {
11368
63.5k
        if (yych == '#') goto yy973;
11369
60.5k
        if (yych >= '-') goto yy975;
11370
76.1k
      } else {
11371
76.1k
        if (yych == '/') goto yy976;
11372
67.1k
        if (yych >= '?') goto yy977;
11373
67.1k
      }
11374
260k
    } else {
11375
260k
      if (yych <= '_') {
11376
54.4k
        if (yych <= '@') goto yy968;
11377
54.2k
        if (yych <= 'Z') goto yy978;
11378
22.7k
        if (yych >= '_') goto yy978;
11379
205k
      } else {
11380
205k
        if (yych <= '`') goto yy968;
11381
204k
        if (yych <= 'z') goto yy978;
11382
20.3k
        if (yych >= 0x80) goto yy978;
11383
20.3k
      }
11384
260k
    }
11385
33.1k
yy968:
11386
33.1k
    YYDEBUG(968, *YYCURSOR);
11387
33.1k
    ++YYCURSOR;
11388
35.4k
yy969:
11389
35.4k
    YYDEBUG(969, *YYCURSOR);
11390
35.4k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
35.4k
#line 2519 "Zend/zend_language_scanner.l"
11392
35.4k
    {
11393
35.4k
  yyless(0);
11394
35.4k
  yy_pop_state();
11395
35.4k
  goto restart;
11396
33.1k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
9.82k
yy970:
11399
9.82k
    YYDEBUG(970, *YYCURSOR);
11400
9.82k
    ++YYCURSOR;
11401
9.82k
    YYFILL(1);
11402
9.82k
    yych = *YYCURSOR;
11403
9.82k
    YYDEBUG(971, *YYCURSOR);
11404
9.82k
    if (yybm[0+yych] & 64) {
11405
4.49k
      goto yy970;
11406
4.49k
    }
11407
5.32k
    YYDEBUG(972, *YYCURSOR);
11408
5.32k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
5.32k
#line 1596 "Zend/zend_language_scanner.l"
11410
5.32k
    {
11411
5.32k
  goto return_whitespace;
11412
9.82k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
4.31k
yy973:
11415
4.31k
    YYDEBUG(973, *YYCURSOR);
11416
4.31k
    ++YYCURSOR;
11417
4.31k
    YYDEBUG(974, *YYCURSOR);
11418
4.31k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
4.31k
#line 2459 "Zend/zend_language_scanner.l"
11420
4.31k
    {
11421
182k
  while (YYCURSOR < YYLIMIT) {
11422
181k
    switch (*YYCURSOR++) {
11423
767
      case '\r':
11424
3.43k
      case '\n':
11425
3.43k
        YYCURSOR--;
11426
3.43k
        break;
11427
2.68k
      case '?':
11428
2.68k
        if (*YYCURSOR == '>') {
11429
294
          YYCURSOR--;
11430
294
          break;
11431
294
        }
11432
2.38k
        ZEND_FALLTHROUGH;
11433
177k
      default:
11434
177k
        continue;
11435
181k
    }
11436
11437
3.72k
    break;
11438
181k
  }
11439
11440
4.31k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
4.31k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
4.31k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
47.5k
yy975:
11445
47.5k
    YYDEBUG(975, *YYCURSOR);
11446
47.5k
    yych = *++YYCURSOR;
11447
47.5k
    if (yych == '>') goto yy981;
11448
345
    goto yy969;
11449
8.97k
yy976:
11450
8.97k
    YYDEBUG(976, *YYCURSOR);
11451
8.97k
    yych = *++YYCURSOR;
11452
8.97k
    if (yych == '*') goto yy983;
11453
2.26k
    if (yych == '/') goto yy973;
11454
867
    goto yy969;
11455
65.2k
yy977:
11456
65.2k
    YYDEBUG(977, *YYCURSOR);
11457
65.2k
    yyaccept = 0;
11458
65.2k
    yych = *(YYMARKER = ++YYCURSOR);
11459
65.2k
    if (yych == '-') goto yy985;
11460
806
    goto yy969;
11461
1.07M
yy978:
11462
1.07M
    YYDEBUG(978, *YYCURSOR);
11463
1.07M
    ++YYCURSOR;
11464
1.07M
    YYFILL(1);
11465
1.07M
    yych = *YYCURSOR;
11466
1.07M
    YYDEBUG(979, *YYCURSOR);
11467
1.07M
    if (yybm[0+yych] & 128) {
11468
836k
      goto yy978;
11469
836k
    }
11470
241k
    YYDEBUG(980, *YYCURSOR);
11471
241k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
241k
#line 1608 "Zend/zend_language_scanner.l"
11473
241k
    {
11474
241k
  yy_pop_state();
11475
241k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
241k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
47.2k
yy981:
11479
47.2k
    YYDEBUG(981, *YYCURSOR);
11480
47.2k
    ++YYCURSOR;
11481
47.2k
    YYDEBUG(982, *YYCURSOR);
11482
47.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
47.2k
#line 1600 "Zend/zend_language_scanner.l"
11484
47.2k
    {
11485
47.2k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
47.2k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
6.70k
yy983:
11489
6.70k
    YYDEBUG(983, *YYCURSOR);
11490
6.70k
    yyaccept = 1;
11491
6.70k
    yych = *(YYMARKER = ++YYCURSOR);
11492
6.70k
    if (yych == '*') goto yy987;
11493
6.70k
yy984:
11494
6.70k
    YYDEBUG(984, *YYCURSOR);
11495
6.70k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
6.70k
#line 2483 "Zend/zend_language_scanner.l"
11497
6.70k
    {
11498
6.70k
  int doc_com;
11499
11500
6.70k
  if (yyleng > 2) {
11501
1.64k
    doc_com = 1;
11502
1.64k
    RESET_DOC_COMMENT();
11503
5.06k
  } else {
11504
5.06k
    doc_com = 0;
11505
5.06k
  }
11506
11507
362k
  while (YYCURSOR < YYLIMIT) {
11508
361k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
5.74k
      break;
11510
5.74k
    }
11511
361k
  }
11512
11513
6.70k
  if (YYCURSOR < YYLIMIT) {
11514
5.74k
    YYCURSOR++;
11515
5.74k
  } else {
11516
956
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
956
    if (PARSER_MODE()) {
11518
51
      RETURN_TOKEN(T_ERROR);
11519
51
    }
11520
956
  }
11521
11522
6.65k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
6.65k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
6.65k
  if (doc_com) {
11526
1.61k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
1.61k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
1.61k
  }
11529
11530
5.03k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
5.03k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
64.4k
yy985:
11534
64.4k
    YYDEBUG(985, *YYCURSOR);
11535
64.4k
    yych = *++YYCURSOR;
11536
64.4k
    if (yych == '>') goto yy988;
11537
3.74k
yy986:
11538
3.74k
    YYDEBUG(986, *YYCURSOR);
11539
3.74k
    YYCURSOR = YYMARKER;
11540
3.74k
    if (yyaccept == 0) {
11541
301
      goto yy969;
11542
3.44k
    } else {
11543
3.44k
      goto yy984;
11544
3.44k
    }
11545
5.09k
yy987:
11546
5.09k
    YYDEBUG(987, *YYCURSOR);
11547
5.09k
    yych = *++YYCURSOR;
11548
5.09k
    if (yych <= '\f') {
11549
2.33k
      if (yych <= 0x08) goto yy986;
11550
2.25k
      if (yych <= '\n') goto yy990;
11551
1.57k
      goto yy986;
11552
2.75k
    } else {
11553
2.75k
      if (yych <= '\r') goto yy990;
11554
2.57k
      if (yych == ' ') goto yy990;
11555
1.78k
      goto yy986;
11556
2.57k
    }
11557
64.1k
yy988:
11558
64.1k
    YYDEBUG(988, *YYCURSOR);
11559
64.1k
    ++YYCURSOR;
11560
64.1k
    YYDEBUG(989, *YYCURSOR);
11561
64.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
64.1k
#line 1604 "Zend/zend_language_scanner.l"
11563
64.1k
    {
11564
64.1k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
64.1k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
2.63k
yy990:
11568
2.63k
    YYDEBUG(990, *YYCURSOR);
11569
2.63k
    ++YYCURSOR;
11570
2.63k
    YYFILL(1);
11571
2.63k
    yych = *YYCURSOR;
11572
2.63k
    YYDEBUG(991, *YYCURSOR);
11573
2.63k
    if (yych <= '\f') {
11574
607
      if (yych <= 0x08) goto yy984;
11575
480
      if (yych <= '\n') goto yy990;
11576
285
      goto yy984;
11577
2.02k
    } else {
11578
2.02k
      if (yych <= '\r') goto yy990;
11579
1.50k
      if (yych == ' ') goto yy990;
11580
1.23k
      goto yy984;
11581
1.50k
    }
11582
2.63k
  }
11583
/* *********************************** */
11584
191k
yyc_ST_BACKQUOTE:
11585
191k
  {
11586
191k
    static const unsigned char yybm[] = {
11587
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
191k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
191k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
191k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
191k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
191k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
191k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
191k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
191k
    };
11620
191k
    YYDEBUG(992, *YYCURSOR);
11621
191k
    YYFILL(2);
11622
191k
    yych = *YYCURSOR;
11623
191k
    if (yych <= '_') {
11624
149k
      if (yych == '$') goto yy996;
11625
149k
    } else {
11626
42.3k
      if (yych <= '`') goto yy997;
11627
15.5k
      if (yych == '{') goto yy999;
11628
15.5k
    }
11629
78.4k
    YYDEBUG(994, *YYCURSOR);
11630
78.4k
    ++YYCURSOR;
11631
83.6k
yy995:
11632
83.6k
    YYDEBUG(995, *YYCURSOR);
11633
83.6k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
83.6k
#line 2918 "Zend/zend_language_scanner.l"
11635
83.6k
    {
11636
83.6k
  if (YYCURSOR > YYLIMIT) {
11637
6.29k
    RETURN_END_TOKEN;
11638
6.29k
  }
11639
77.3k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
2.17k
    YYCURSOR++;
11641
2.17k
  }
11642
11643
3.53M
  while (YYCURSOR < YYLIMIT) {
11644
3.53M
    switch (*YYCURSOR++) {
11645
15.1k
      case '`':
11646
15.1k
        break;
11647
78.6k
      case '$':
11648
78.6k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
54.6k
          break;
11650
54.6k
        }
11651
24.0k
        continue;
11652
24.0k
      case '{':
11653
18.9k
        if (*YYCURSOR == '$') {
11654
1.39k
          break;
11655
1.39k
        }
11656
17.5k
        continue;
11657
24.1k
      case '\\':
11658
24.1k
        if (YYCURSOR < YYLIMIT) {
11659
23.6k
          YYCURSOR++;
11660
23.6k
        }
11661
24.1k
        ZEND_FALLTHROUGH;
11662
3.42M
      default:
11663
3.42M
        continue;
11664
3.53M
    }
11665
11666
71.2k
    YYCURSOR--;
11667
71.2k
    break;
11668
3.53M
  }
11669
11670
77.3k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
77.3k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
77.3k
   || !PARSER_MODE()) {
11674
77.3k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
77.3k
  } else {
11676
6
    RETURN_TOKEN(T_ERROR);
11677
6
  }
11678
77.3k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
84.0k
yy996:
11681
84.0k
    YYDEBUG(996, *YYCURSOR);
11682
84.0k
    yych = *++YYCURSOR;
11683
84.0k
    if (yych <= '_') {
11684
10.5k
      if (yych <= '@') goto yy995;
11685
8.25k
      if (yych <= 'Z') goto yy1000;
11686
4.28k
      if (yych <= '^') goto yy995;
11687
3.04k
      goto yy1000;
11688
73.5k
    } else {
11689
73.5k
      if (yych <= 'z') {
11690
28.7k
        if (yych <= '`') goto yy995;
11691
28.3k
        goto yy1000;
11692
44.7k
      } else {
11693
44.7k
        if (yych <= '{') goto yy1003;
11694
7.82k
        if (yych <= 0x7F) goto yy995;
11695
7.50k
        goto yy1000;
11696
7.82k
      }
11697
73.5k
    }
11698
26.8k
yy997:
11699
26.8k
    YYDEBUG(997, *YYCURSOR);
11700
26.8k
    ++YYCURSOR;
11701
26.8k
    YYDEBUG(998, *YYCURSOR);
11702
26.8k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
26.8k
#line 2858 "Zend/zend_language_scanner.l"
11704
26.8k
    {
11705
26.8k
  BEGIN(ST_IN_SCRIPTING);
11706
26.8k
  RETURN_TOKEN('`');
11707
26.8k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
2.55k
yy999:
11710
2.55k
    YYDEBUG(999, *YYCURSOR);
11711
2.55k
    yych = *++YYCURSOR;
11712
2.55k
    if (yych == '$') goto yy1005;
11713
1.03k
    goto yy995;
11714
148k
yy1000:
11715
148k
    YYDEBUG(1000, *YYCURSOR);
11716
148k
    YYMARKER = ++YYCURSOR;
11717
148k
    YYFILL(4);
11718
148k
    yych = *YYCURSOR;
11719
148k
    YYDEBUG(1001, *YYCURSOR);
11720
148k
    if (yybm[0+yych] & 128) {
11721
105k
      goto yy1000;
11722
105k
    }
11723
42.8k
    if (yych <= '>') {
11724
27.8k
      if (yych == '-') goto yy1007;
11725
27.8k
    } else {
11726
15.0k
      if (yych <= '?') goto yy1009;
11727
4.47k
      if (yych <= '@') goto yy1002;
11728
4.40k
      if (yych <= '[') goto yy1010;
11729
4.40k
    }
11730
34.1k
yy1002:
11731
34.1k
    YYDEBUG(1002, *YYCURSOR);
11732
34.1k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
34.1k
#line 2416 "Zend/zend_language_scanner.l"
11734
34.1k
    {
11735
34.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
34.1k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
36.9k
yy1003:
11739
36.9k
    YYDEBUG(1003, *YYCURSOR);
11740
36.9k
    ++YYCURSOR;
11741
36.9k
    YYDEBUG(1004, *YYCURSOR);
11742
36.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
36.9k
#line 1980 "Zend/zend_language_scanner.l"
11744
36.9k
    {
11745
36.9k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
36.9k
  enter_nesting('{');
11747
36.9k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
36.9k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
1.52k
yy1005:
11751
1.52k
    YYDEBUG(1005, *YYCURSOR);
11752
1.52k
    ++YYCURSOR;
11753
1.52k
    YYDEBUG(1006, *YYCURSOR);
11754
1.52k
    yyleng = YYCURSOR - SCNG(yy_text);
11755
1.52k
#line 2845 "Zend/zend_language_scanner.l"
11756
1.52k
    {
11757
1.52k
  yy_push_state(ST_IN_SCRIPTING);
11758
1.52k
  yyless(1);
11759
1.52k
  enter_nesting('{');
11760
1.52k
  RETURN_TOKEN(T_CURLY_OPEN);
11761
1.52k
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
7.20k
yy1007:
11764
7.20k
    YYDEBUG(1007, *YYCURSOR);
11765
7.20k
    yych = *++YYCURSOR;
11766
7.20k
    if (yych == '>') goto yy1012;
11767
10.6k
yy1008:
11768
10.6k
    YYDEBUG(1008, *YYCURSOR);
11769
10.6k
    YYCURSOR = YYMARKER;
11770
10.6k
    goto yy1002;
11771
10.5k
yy1009:
11772
10.5k
    YYDEBUG(1009, *YYCURSOR);
11773
10.5k
    yych = *++YYCURSOR;
11774
10.5k
    if (yych == '-') goto yy1013;
11775
4.00k
    goto yy1008;
11776
4.00k
yy1010:
11777
1.61k
    YYDEBUG(1010, *YYCURSOR);
11778
1.61k
    ++YYCURSOR;
11779
1.61k
    YYDEBUG(1011, *YYCURSOR);
11780
1.61k
    yyleng = YYCURSOR - SCNG(yy_text);
11781
1.61k
#line 2410 "Zend/zend_language_scanner.l"
11782
1.61k
    {
11783
1.61k
  yyless(yyleng - 1);
11784
1.61k
  yy_push_state(ST_VAR_OFFSET);
11785
1.61k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
1.61k
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
5.63k
yy1012:
11789
5.63k
    YYDEBUG(1012, *YYCURSOR);
11790
5.63k
    yych = *++YYCURSOR;
11791
5.63k
    if (yych <= '_') {
11792
1.48k
      if (yych <= '@') goto yy1008;
11793
937
      if (yych <= 'Z') goto yy1014;
11794
382
      if (yych <= '^') goto yy1008;
11795
266
      goto yy1014;
11796
4.14k
    } else {
11797
4.14k
      if (yych <= '`') goto yy1008;
11798
3.89k
      if (yych <= 'z') goto yy1014;
11799
1.54k
      if (yych <= 0x7F) goto yy1008;
11800
666
      goto yy1014;
11801
1.54k
    }
11802
6.58k
yy1013:
11803
6.58k
    YYDEBUG(1013, *YYCURSOR);
11804
6.58k
    yych = *++YYCURSOR;
11805
6.58k
    if (yych == '>') goto yy1016;
11806
1.35k
    goto yy1008;
11807
3.84k
yy1014:
11808
3.84k
    YYDEBUG(1014, *YYCURSOR);
11809
3.84k
    ++YYCURSOR;
11810
3.84k
    YYDEBUG(1015, *YYCURSOR);
11811
3.84k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
3.84k
#line 2396 "Zend/zend_language_scanner.l"
11813
3.84k
    {
11814
3.84k
  yyless(yyleng - 3);
11815
3.84k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
3.84k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
3.84k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
5.23k
yy1016:
11820
5.23k
    YYDEBUG(1016, *YYCURSOR);
11821
5.23k
    yych = *++YYCURSOR;
11822
5.23k
    if (yych <= '_') {
11823
1.39k
      if (yych <= '@') goto yy1008;
11824
893
      if (yych <= 'Z') goto yy1017;
11825
812
      if (yych <= '^') goto yy1008;
11826
3.83k
    } else {
11827
3.83k
      if (yych <= '`') goto yy1008;
11828
3.53k
      if (yych <= 'z') goto yy1017;
11829
1.06k
      if (yych <= 0x7F) goto yy1008;
11830
1.06k
    }
11831
3.27k
yy1017:
11832
3.27k
    YYDEBUG(1017, *YYCURSOR);
11833
3.27k
    ++YYCURSOR;
11834
3.27k
    YYDEBUG(1018, *YYCURSOR);
11835
3.27k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
3.27k
#line 2402 "Zend/zend_language_scanner.l"
11837
3.27k
    {
11838
3.27k
  yyless(yyleng - 4);
11839
3.27k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
3.27k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
3.27k
}
11842
3.27k
#line 11843 "Zend/zend_language_scanner.c"
11843
3.27k
  }
11844
/* *********************************** */
11845
575k
yyc_ST_DOUBLE_QUOTES:
11846
575k
  {
11847
575k
    static const unsigned char yybm[] = {
11848
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
575k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
575k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
575k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
575k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
575k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
575k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
575k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
575k
    };
11881
575k
    YYDEBUG(1019, *YYCURSOR);
11882
575k
    YYFILL(2);
11883
575k
    yych = *YYCURSOR;
11884
575k
    if (yych <= '#') {
11885
112k
      if (yych == '"') goto yy1023;
11886
463k
    } else {
11887
463k
      if (yych <= '$') goto yy1025;
11888
217k
      if (yych == '{') goto yy1026;
11889
217k
    }
11890
279k
    YYDEBUG(1021, *YYCURSOR);
11891
279k
    ++YYCURSOR;
11892
285k
yy1022:
11893
285k
    YYDEBUG(1022, *YYCURSOR);
11894
285k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
285k
#line 2864 "Zend/zend_language_scanner.l"
11896
285k
    {
11897
285k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
82.8k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
82.8k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
82.8k
    goto double_quotes_scan_done;
11902
82.8k
  }
11903
11904
202k
  if (YYCURSOR > YYLIMIT) {
11905
12.5k
    RETURN_END_TOKEN;
11906
12.5k
  }
11907
190k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
8.74k
    YYCURSOR++;
11909
8.74k
  }
11910
11911
5.05M
  while (YYCURSOR < YYLIMIT) {
11912
5.05M
    switch (*YYCURSOR++) {
11913
38.4k
      case '"':
11914
38.4k
        break;
11915
172k
      case '$':
11916
172k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
147k
          break;
11918
147k
        }
11919
25.1k
        continue;
11920
25.1k
      case '{':
11921
15.0k
        if (*YYCURSOR == '$') {
11922
1.69k
          break;
11923
1.69k
        }
11924
13.3k
        continue;
11925
38.8k
      case '\\':
11926
38.8k
        if (YYCURSOR < YYLIMIT) {
11927
38.5k
          YYCURSOR++;
11928
38.5k
        }
11929
38.8k
        ZEND_FALLTHROUGH;
11930
4.82M
      default:
11931
4.82M
        continue;
11932
5.05M
    }
11933
11934
187k
    YYCURSOR--;
11935
187k
    break;
11936
5.05M
  }
11937
11938
273k
double_quotes_scan_done:
11939
273k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
273k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
273k
   || !PARSER_MODE()) {
11943
273k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
273k
  } else {
11945
51
    RETURN_TOKEN(T_ERROR);
11946
51
  }
11947
273k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
43.5k
yy1023:
11950
43.5k
    YYDEBUG(1023, *YYCURSOR);
11951
43.5k
    ++YYCURSOR;
11952
43.5k
    YYDEBUG(1024, *YYCURSOR);
11953
43.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
43.5k
#line 2853 "Zend/zend_language_scanner.l"
11955
43.5k
    {
11956
43.5k
  BEGIN(ST_IN_SCRIPTING);
11957
43.5k
  RETURN_TOKEN('"');
11958
43.5k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
245k
yy1025:
11961
245k
    YYDEBUG(1025, *YYCURSOR);
11962
245k
    yych = *++YYCURSOR;
11963
245k
    if (yych <= '_') {
11964
31.6k
      if (yych <= '@') goto yy1022;
11965
28.8k
      if (yych <= 'Z') goto yy1027;
11966
5.97k
      if (yych <= '^') goto yy1022;
11967
5.54k
      goto yy1027;
11968
214k
    } else {
11969
214k
      if (yych <= 'z') {
11970
155k
        if (yych <= '`') goto yy1022;
11971
155k
        goto yy1027;
11972
155k
      } else {
11973
58.1k
        if (yych <= '{') goto yy1030;
11974
18.6k
        if (yych <= 0x7F) goto yy1022;
11975
18.2k
        goto yy1027;
11976
18.6k
      }
11977
214k
    }
11978
7.08k
yy1026:
11979
7.08k
    YYDEBUG(1026, *YYCURSOR);
11980
7.08k
    yych = *++YYCURSOR;
11981
7.08k
    if (yych == '$') goto yy1032;
11982
2.35k
    goto yy1022;
11983
664k
yy1027:
11984
664k
    YYDEBUG(1027, *YYCURSOR);
11985
664k
    YYMARKER = ++YYCURSOR;
11986
664k
    YYFILL(4);
11987
664k
    yych = *YYCURSOR;
11988
664k
    YYDEBUG(1028, *YYCURSOR);
11989
664k
    if (yybm[0+yych] & 128) {
11990
462k
      goto yy1027;
11991
462k
    }
11992
202k
    if (yych <= '>') {
11993
111k
      if (yych == '-') goto yy1034;
11994
111k
    } else {
11995
90.3k
      if (yych <= '?') goto yy1036;
11996
20.7k
      if (yych <= '@') goto yy1029;
11997
20.3k
      if (yych <= '[') goto yy1037;
11998
20.3k
    }
11999
154k
yy1029:
12000
154k
    YYDEBUG(1029, *YYCURSOR);
12001
154k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
154k
#line 2416 "Zend/zend_language_scanner.l"
12003
154k
    {
12004
154k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
154k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
39.5k
yy1030:
12008
39.5k
    YYDEBUG(1030, *YYCURSOR);
12009
39.5k
    ++YYCURSOR;
12010
39.5k
    YYDEBUG(1031, *YYCURSOR);
12011
39.5k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
39.5k
#line 1980 "Zend/zend_language_scanner.l"
12013
39.5k
    {
12014
39.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
39.5k
  enter_nesting('{');
12016
39.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
39.5k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
4.73k
yy1032:
12020
4.73k
    YYDEBUG(1032, *YYCURSOR);
12021
4.73k
    ++YYCURSOR;
12022
4.73k
    YYDEBUG(1033, *YYCURSOR);
12023
4.73k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
4.73k
#line 2845 "Zend/zend_language_scanner.l"
12025
4.73k
    {
12026
4.73k
  yy_push_state(ST_IN_SCRIPTING);
12027
4.73k
  yyless(1);
12028
4.73k
  enter_nesting('{');
12029
4.73k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
4.73k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
19.0k
yy1034:
12033
19.0k
    YYDEBUG(1034, *YYCURSOR);
12034
19.0k
    yych = *++YYCURSOR;
12035
19.0k
    if (yych == '>') goto yy1039;
12036
47.1k
yy1035:
12037
47.1k
    YYDEBUG(1035, *YYCURSOR);
12038
47.1k
    YYCURSOR = YYMARKER;
12039
47.1k
    goto yy1029;
12040
69.6k
yy1036:
12041
69.6k
    YYDEBUG(1036, *YYCURSOR);
12042
69.6k
    yych = *++YYCURSOR;
12043
69.6k
    if (yych == '-') goto yy1040;
12044
35.3k
    goto yy1035;
12045
35.3k
yy1037:
12046
6.44k
    YYDEBUG(1037, *YYCURSOR);
12047
6.44k
    ++YYCURSOR;
12048
6.44k
    YYDEBUG(1038, *YYCURSOR);
12049
6.44k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
6.44k
#line 2410 "Zend/zend_language_scanner.l"
12051
6.44k
    {
12052
6.44k
  yyless(yyleng - 1);
12053
6.44k
  yy_push_state(ST_VAR_OFFSET);
12054
6.44k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
6.44k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
14.7k
yy1039:
12058
14.7k
    YYDEBUG(1039, *YYCURSOR);
12059
14.7k
    yych = *++YYCURSOR;
12060
14.7k
    if (yych <= '_') {
12061
9.53k
      if (yych <= '@') goto yy1035;
12062
8.46k
      if (yych <= 'Z') goto yy1041;
12063
661
      if (yych <= '^') goto yy1035;
12064
320
      goto yy1041;
12065
5.17k
    } else {
12066
5.17k
      if (yych <= '`') goto yy1035;
12067
5.12k
      if (yych <= 'z') goto yy1041;
12068
1.26k
      if (yych <= 0x7F) goto yy1035;
12069
811
      goto yy1041;
12070
1.26k
    }
12071
34.2k
yy1040:
12072
34.2k
    YYDEBUG(1040, *YYCURSOR);
12073
34.2k
    yych = *++YYCURSOR;
12074
34.2k
    if (yych == '>') goto yy1043;
12075
1.36k
    goto yy1035;
12076
12.8k
yy1041:
12077
12.8k
    YYDEBUG(1041, *YYCURSOR);
12078
12.8k
    ++YYCURSOR;
12079
12.8k
    YYDEBUG(1042, *YYCURSOR);
12080
12.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
12.8k
#line 2396 "Zend/zend_language_scanner.l"
12082
12.8k
    {
12083
12.8k
  yyless(yyleng - 3);
12084
12.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
12.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
12.8k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
32.9k
yy1043:
12089
32.9k
    YYDEBUG(1043, *YYCURSOR);
12090
32.9k
    yych = *++YYCURSOR;
12091
32.9k
    if (yych <= '_') {
12092
5.60k
      if (yych <= '@') goto yy1035;
12093
4.52k
      if (yych <= 'Z') goto yy1044;
12094
4.28k
      if (yych <= '^') goto yy1035;
12095
27.2k
    } else {
12096
27.2k
      if (yych <= '`') goto yy1035;
12097
26.8k
      if (yych <= 'z') goto yy1044;
12098
1.18k
      if (yych <= 0x7F) goto yy1035;
12099
1.18k
    }
12100
28.7k
yy1044:
12101
28.7k
    YYDEBUG(1044, *YYCURSOR);
12102
28.7k
    ++YYCURSOR;
12103
28.7k
    YYDEBUG(1045, *YYCURSOR);
12104
28.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
28.7k
#line 2402 "Zend/zend_language_scanner.l"
12106
28.7k
    {
12107
28.7k
  yyless(yyleng - 4);
12108
28.7k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
28.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
28.7k
}
12111
28.7k
#line 12112 "Zend/zend_language_scanner.c"
12112
28.7k
  }
12113
/* *********************************** */
12114
5.07M
yyc_ST_HEREDOC:
12115
5.07M
  {
12116
5.07M
    static const unsigned char yybm[] = {
12117
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
5.07M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
5.07M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
5.07M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
5.07M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
5.07M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
5.07M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
5.07M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
5.07M
    };
12150
5.07M
    YYDEBUG(1046, *YYCURSOR);
12151
5.07M
    YYFILL(2);
12152
5.07M
    yych = *YYCURSOR;
12153
5.07M
    if (yych == '$') goto yy1050;
12154
907k
    if (yych == '{') goto yy1051;
12155
839k
    YYDEBUG(1048, *YYCURSOR);
12156
839k
    ++YYCURSOR;
12157
1.05M
yy1049:
12158
1.05M
    YYDEBUG(1049, *YYCURSOR);
12159
1.05M
    yyleng = YYCURSOR - SCNG(yy_text);
12160
1.05M
#line 2964 "Zend/zend_language_scanner.l"
12161
1.05M
    {
12162
1.05M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
1.05M
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
1.05M
  if (YYCURSOR > YYLIMIT) {
12166
21.4k
    RETURN_END_TOKEN;
12167
21.4k
  }
12168
12169
1.03M
  YYCURSOR--;
12170
12171
25.3M
  while (YYCURSOR < YYLIMIT) {
12172
25.3M
    switch (*YYCURSOR++) {
12173
153k
      case '\r':
12174
153k
        if (*YYCURSOR == '\n') {
12175
16.7k
          YYCURSOR++;
12176
16.7k
        }
12177
153k
        ZEND_FALLTHROUGH;
12178
1.45M
      case '\n':
12179
1.45M
        indentation = spacing = 0;
12180
12181
1.94M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
492k
          if (*YYCURSOR == '\t') {
12183
10.4k
            spacing |= HEREDOC_USING_TABS;
12184
481k
          } else {
12185
481k
            spacing |= HEREDOC_USING_SPACES;
12186
481k
          }
12187
492k
          ++YYCURSOR;
12188
492k
          ++indentation;
12189
492k
        }
12190
12191
1.45M
        if (YYCURSOR == YYLIMIT) {
12192
1.81k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
1.81k
          HANDLE_NEWLINES(yytext, yyleng);
12194
1.81k
          ZVAL_NULL(zendlval);
12195
1.81k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
1.81k
        }
12197
12198
        /* Check for ending label on the next line */
12199
1.45M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
25.0k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
11.0k
            continue;
12202
11.0k
          }
12203
12204
13.9k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
21
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
21
            if (PARSER_MODE()) {
12207
6
              RETURN_TOKEN(T_ERROR);
12208
6
            }
12209
21
          }
12210
12211
          /* newline before label will be subtracted from returned text, but
12212
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
12213
13.9k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
174
            newline = 2; /* Windows newline */
12215
13.7k
          } else {
12216
13.7k
            newline = 1;
12217
13.7k
          }
12218
12219
13.9k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
13.9k
          if (SCNG(heredoc_scan_ahead)) {
12222
8.75k
            SCNG(heredoc_indentation) = indentation;
12223
8.75k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
8.75k
          } else {
12225
5.21k
            YYCURSOR -= indentation;
12226
5.21k
          }
12227
12228
13.9k
          BEGIN(ST_END_HEREDOC);
12229
12230
13.9k
          goto heredoc_scan_done;
12231
13.9k
        }
12232
1.42M
        continue;
12233
1.42M
      case '$':
12234
1.32M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
988k
          break;
12236
988k
        }
12237
333k
        continue;
12238
333k
      case '{':
12239
280k
        if (*YYCURSOR == '$') {
12240
10.7k
          break;
12241
10.7k
        }
12242
269k
        continue;
12243
269k
      case '\\':
12244
109k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
106k
          YYCURSOR++;
12246
106k
        }
12247
109k
        ZEND_FALLTHROUGH;
12248
22.3M
      default:
12249
22.3M
        continue;
12250
25.3M
    }
12251
12252
999k
    YYCURSOR--;
12253
999k
    break;
12254
25.3M
  }
12255
12256
1.03M
heredoc_scan_done:
12257
12258
1.03M
  yyleng = YYCURSOR - SCNG(yy_text);
12259
1.03M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
1.03M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
96.9k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
96.9k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
96.9k
    if (!strip_multiline_string_indentation(
12266
96.9k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
96.9k
        newline_at_start, newline != 0)) {
12268
52
      RETURN_TOKEN(T_ERROR);
12269
52
    }
12270
12271
96.9k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
14
      zend_string_efree(copy);
12273
14
      RETURN_TOKEN(T_ERROR);
12274
14
    }
12275
12276
96.9k
    zend_string_efree(copy);
12277
933k
  } else {
12278
933k
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
933k
  }
12280
12281
1.03M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
1.03M
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
4.16M
yy1050:
12285
4.16M
    YYDEBUG(1050, *YYCURSOR);
12286
4.16M
    yych = *++YYCURSOR;
12287
4.16M
    if (yych <= '_') {
12288
203k
      if (yych <= '@') goto yy1049;
12289
46.1k
      if (yych <= 'Z') goto yy1052;
12290
15.2k
      if (yych <= '^') goto yy1049;
12291
8.69k
      goto yy1052;
12292
3.96M
    } else {
12293
3.96M
      if (yych <= 'z') {
12294
274k
        if (yych <= '`') goto yy1049;
12295
272k
        goto yy1052;
12296
3.69M
      } else {
12297
3.69M
        if (yych <= '{') goto yy1055;
12298
143k
        if (yych <= 0x7F) goto yy1049;
12299
138k
        goto yy1052;
12300
143k
      }
12301
3.96M
    }
12302
67.3k
yy1051:
12303
67.3k
    YYDEBUG(1051, *YYCURSOR);
12304
67.3k
    yych = *++YYCURSOR;
12305
67.3k
    if (yych == '$') goto yy1057;
12306
42.7k
    goto yy1049;
12307
1.39M
yy1052:
12308
1.39M
    YYDEBUG(1052, *YYCURSOR);
12309
1.39M
    YYMARKER = ++YYCURSOR;
12310
1.39M
    YYFILL(4);
12311
1.39M
    yych = *YYCURSOR;
12312
1.39M
    YYDEBUG(1053, *YYCURSOR);
12313
1.39M
    if (yybm[0+yych] & 128) {
12314
947k
      goto yy1052;
12315
947k
    }
12316
450k
    if (yych <= '>') {
12317
325k
      if (yych == '-') goto yy1059;
12318
325k
    } else {
12319
124k
      if (yych <= '?') goto yy1061;
12320
45.8k
      if (yych <= '@') goto yy1054;
12321
44.8k
      if (yych <= '[') goto yy1062;
12322
44.8k
    }
12323
372k
yy1054:
12324
372k
    YYDEBUG(1054, *YYCURSOR);
12325
372k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
372k
#line 2416 "Zend/zend_language_scanner.l"
12327
372k
    {
12328
372k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
372k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
3.54M
yy1055:
12332
3.54M
    YYDEBUG(1055, *YYCURSOR);
12333
3.54M
    ++YYCURSOR;
12334
3.54M
    YYDEBUG(1056, *YYCURSOR);
12335
3.54M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
3.54M
#line 1980 "Zend/zend_language_scanner.l"
12337
3.54M
    {
12338
3.54M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
3.54M
  enter_nesting('{');
12340
3.54M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
3.54M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
24.6k
yy1057:
12344
24.6k
    YYDEBUG(1057, *YYCURSOR);
12345
24.6k
    ++YYCURSOR;
12346
24.6k
    YYDEBUG(1058, *YYCURSOR);
12347
24.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
24.6k
#line 2845 "Zend/zend_language_scanner.l"
12349
24.6k
    {
12350
24.6k
  yy_push_state(ST_IN_SCRIPTING);
12351
24.6k
  yyless(1);
12352
24.6k
  enter_nesting('{');
12353
24.6k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
24.6k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
37.5k
yy1059:
12357
37.5k
    YYDEBUG(1059, *YYCURSOR);
12358
37.5k
    yych = *++YYCURSOR;
12359
37.5k
    if (yych == '>') goto yy1064;
12360
54.0k
yy1060:
12361
54.0k
    YYDEBUG(1060, *YYCURSOR);
12362
54.0k
    YYCURSOR = YYMARKER;
12363
54.0k
    goto yy1054;
12364
78.8k
yy1061:
12365
78.8k
    YYDEBUG(1061, *YYCURSOR);
12366
78.8k
    yych = *++YYCURSOR;
12367
78.8k
    if (yych == '-') goto yy1065;
12368
38.6k
    goto yy1060;
12369
38.6k
yy1062:
12370
14.8k
    YYDEBUG(1062, *YYCURSOR);
12371
14.8k
    ++YYCURSOR;
12372
14.8k
    YYDEBUG(1063, *YYCURSOR);
12373
14.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
14.8k
#line 2410 "Zend/zend_language_scanner.l"
12375
14.8k
    {
12376
14.8k
  yyless(yyleng - 1);
12377
14.8k
  yy_push_state(ST_VAR_OFFSET);
12378
14.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
14.8k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
33.5k
yy1064:
12382
33.5k
    YYDEBUG(1064, *YYCURSOR);
12383
33.5k
    yych = *++YYCURSOR;
12384
33.5k
    if (yych <= '_') {
12385
22.6k
      if (yych <= '@') goto yy1060;
12386
21.1k
      if (yych <= 'Z') goto yy1066;
12387
1.21k
      if (yych <= '^') goto yy1060;
12388
830
      goto yy1066;
12389
10.9k
    } else {
12390
10.9k
      if (yych <= '`') goto yy1060;
12391
10.6k
      if (yych <= 'z') goto yy1066;
12392
2.84k
      if (yych <= 0x7F) goto yy1060;
12393
1.73k
      goto yy1066;
12394
2.84k
    }
12395
40.1k
yy1065:
12396
40.1k
    YYDEBUG(1065, *YYCURSOR);
12397
40.1k
    yych = *++YYCURSOR;
12398
40.1k
    if (yych == '>') goto yy1068;
12399
2.65k
    goto yy1060;
12400
30.2k
yy1066:
12401
30.2k
    YYDEBUG(1066, *YYCURSOR);
12402
30.2k
    ++YYCURSOR;
12403
30.2k
    YYDEBUG(1067, *YYCURSOR);
12404
30.2k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
30.2k
#line 2396 "Zend/zend_language_scanner.l"
12406
30.2k
    {
12407
30.2k
  yyless(yyleng - 3);
12408
30.2k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
30.2k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
30.2k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
37.5k
yy1068:
12413
37.5k
    YYDEBUG(1068, *YYCURSOR);
12414
37.5k
    yych = *++YYCURSOR;
12415
37.5k
    if (yych <= '_') {
12416
6.86k
      if (yych <= '@') goto yy1060;
12417
4.21k
      if (yych <= 'Z') goto yy1069;
12418
3.97k
      if (yych <= '^') goto yy1060;
12419
30.6k
    } else {
12420
30.6k
      if (yych <= '`') goto yy1060;
12421
29.8k
      if (yych <= 'z') goto yy1069;
12422
1.13k
      if (yych <= 0x7F) goto yy1060;
12423
1.13k
    }
12424
32.0k
yy1069:
12425
32.0k
    YYDEBUG(1069, *YYCURSOR);
12426
32.0k
    ++YYCURSOR;
12427
32.0k
    YYDEBUG(1070, *YYCURSOR);
12428
32.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
32.0k
#line 2402 "Zend/zend_language_scanner.l"
12430
32.0k
    {
12431
32.0k
  yyless(yyleng - 4);
12432
32.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
32.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
32.0k
}
12435
32.0k
#line 12436 "Zend/zend_language_scanner.c"
12436
32.0k
  }
12437
/* *********************************** */
12438
3.62M
yyc_ST_LOOKING_FOR_VARNAME:
12439
3.62M
  {
12440
3.62M
    static const unsigned char yybm[] = {
12441
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.62M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
3.62M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
3.62M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.62M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
3.62M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.62M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.62M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.62M
    };
12474
3.62M
    YYDEBUG(1071, *YYCURSOR);
12475
3.62M
    YYFILL(2);
12476
3.62M
    yych = *YYCURSOR;
12477
3.62M
    if (yych <= '_') {
12478
3.50M
      if (yych <= '@') goto yy1073;
12479
25.9k
      if (yych <= 'Z') goto yy1075;
12480
13.2k
      if (yych >= '_') goto yy1075;
12481
123k
    } else {
12482
123k
      if (yych <= '`') goto yy1073;
12483
102k
      if (yych <= 'z') goto yy1075;
12484
29.9k
      if (yych >= 0x80) goto yy1075;
12485
29.9k
    }
12486
3.50M
yy1073:
12487
3.50M
    YYDEBUG(1073, *YYCURSOR);
12488
3.50M
    ++YYCURSOR;
12489
3.61M
yy1074:
12490
3.61M
    YYDEBUG(1074, *YYCURSOR);
12491
3.61M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
3.61M
#line 2003 "Zend/zend_language_scanner.l"
12493
3.61M
    {
12494
3.61M
  yyless(0);
12495
3.61M
  yy_pop_state();
12496
3.61M
  yy_push_state(ST_IN_SCRIPTING);
12497
3.61M
  goto restart;
12498
3.50M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
118k
yy1075:
12501
118k
    YYDEBUG(1075, *YYCURSOR);
12502
118k
    yych = *(YYMARKER = ++YYCURSOR);
12503
118k
    if (yych <= '_') {
12504
46.7k
      if (yych <= '@') {
12505
27.9k
        if (yych <= '/') goto yy1074;
12506
13.9k
        if (yych <= '9') goto yy1077;
12507
12.5k
        goto yy1074;
12508
18.7k
      } else {
12509
18.7k
        if (yych <= '[') goto yy1077;
12510
7.78k
        if (yych <= '^') goto yy1074;
12511
7.15k
        goto yy1077;
12512
7.78k
      }
12513
71.4k
    } else {
12514
71.4k
      if (yych <= '|') {
12515
57.8k
        if (yych <= '`') goto yy1074;
12516
57.7k
        if (yych <= 'z') goto yy1077;
12517
817
        goto yy1074;
12518
57.7k
      } else {
12519
13.5k
        if (yych <= '}') goto yy1077;
12520
11.5k
        if (yych <= 0x7F) goto yy1074;
12521
11.0k
        goto yy1077;
12522
11.5k
      }
12523
71.4k
    }
12524
487k
yy1076:
12525
487k
    YYDEBUG(1076, *YYCURSOR);
12526
487k
    ++YYCURSOR;
12527
487k
    YYFILL(1);
12528
487k
    yych = *YYCURSOR;
12529
576k
yy1077:
12530
576k
    YYDEBUG(1077, *YYCURSOR);
12531
576k
    if (yybm[0+yych] & 128) {
12532
487k
      goto yy1076;
12533
487k
    }
12534
89.5k
    if (yych <= '@') goto yy1078;
12535
13.5k
    if (yych <= '[') goto yy1079;
12536
11.5k
    if (yych == '}') goto yy1079;
12537
84.9k
yy1078:
12538
84.9k
    YYDEBUG(1078, *YYCURSOR);
12539
84.9k
    YYCURSOR = YYMARKER;
12540
84.9k
    goto yy1074;
12541
4.67k
yy1079:
12542
4.67k
    YYDEBUG(1079, *YYCURSOR);
12543
4.67k
    ++YYCURSOR;
12544
4.67k
    YYDEBUG(1080, *YYCURSOR);
12545
4.67k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
4.67k
#line 1995 "Zend/zend_language_scanner.l"
12547
4.67k
    {
12548
4.67k
  yyless(yyleng - 1);
12549
4.67k
  yy_pop_state();
12550
4.67k
  yy_push_state(ST_IN_SCRIPTING);
12551
4.67k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
4.67k
}
12553
4.67k
#line 12554 "Zend/zend_language_scanner.c"
12554
4.67k
  }
12555
/* *********************************** */
12556
207k
yyc_ST_VAR_OFFSET:
12557
207k
  {
12558
207k
    static const unsigned char yybm[] = {
12559
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
207k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
207k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
207k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
207k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
207k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
207k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
207k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
207k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
207k
    };
12592
207k
    YYDEBUG(1081, *YYCURSOR);
12593
207k
    YYFILL(2);
12594
207k
    yych = *YYCURSOR;
12595
207k
    if (yych <= '0') {
12596
90.9k
      if (yych <= ' ') {
12597
35.3k
        if (yych <= '\f') {
12598
27.3k
          if (yych <= 0x08) goto yy1083;
12599
5.78k
          if (yych <= '\n') goto yy1085;
12600
7.98k
        } else {
12601
7.98k
          if (yych <= '\r') goto yy1085;
12602
7.08k
          if (yych >= ' ') goto yy1085;
12603
7.08k
        }
12604
55.6k
      } else {
12605
55.6k
        if (yych <= '$') {
12606
22.8k
          if (yych <= '"') goto yy1087;
12607
18.2k
          if (yych <= '#') goto yy1085;
12608
17.4k
          goto yy1089;
12609
32.7k
        } else {
12610
32.7k
          if (yych == '\'') goto yy1085;
12611
32.2k
          if (yych <= '/') goto yy1087;
12612
15.2k
          goto yy1090;
12613
32.2k
        }
12614
55.6k
      }
12615
116k
    } else {
12616
116k
      if (yych <= ']') {
12617
82.3k
        if (yych <= 'Z') {
12618
39.9k
          if (yych <= '9') goto yy1092;
12619
29.5k
          if (yych <= '@') goto yy1087;
12620
5.72k
          goto yy1094;
12621
42.4k
        } else {
12622
42.4k
          if (yych <= '[') goto yy1087;
12623
12.1k
          if (yych <= '\\') goto yy1085;
12624
11.8k
          goto yy1097;
12625
12.1k
        }
12626
82.3k
      } else {
12627
34.6k
        if (yych <= '`') {
12628
6.16k
          if (yych == '_') goto yy1094;
12629
2.98k
          goto yy1087;
12630
28.4k
        } else {
12631
28.4k
          if (yych <= 'z') goto yy1094;
12632
16.2k
          if (yych <= '~') goto yy1087;
12633
9.30k
          if (yych >= 0x80) goto yy1094;
12634
9.30k
        }
12635
34.6k
      }
12636
116k
    }
12637
28.9k
yy1083:
12638
28.9k
    YYDEBUG(1083, *YYCURSOR);
12639
28.9k
    ++YYCURSOR;
12640
28.9k
    YYDEBUG(1084, *YYCURSOR);
12641
28.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
28.9k
#line 3179 "Zend/zend_language_scanner.l"
12643
28.9k
    {
12644
28.9k
  if (YYCURSOR > YYLIMIT) {
12645
1.40k
    RETURN_END_TOKEN;
12646
1.40k
  }
12647
12648
27.5k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
27.5k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
9.23k
yy1085:
12652
9.23k
    YYDEBUG(1085, *YYCURSOR);
12653
9.23k
    ++YYCURSOR;
12654
9.23k
    YYDEBUG(1086, *YYCURSOR);
12655
9.23k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
9.23k
#line 2430 "Zend/zend_language_scanner.l"
12657
9.23k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
9.23k
  yyless(0);
12660
9.23k
  yy_pop_state();
12661
9.23k
  ZVAL_NULL(zendlval);
12662
9.23k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
9.23k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
85.6k
yy1087:
12666
85.6k
    YYDEBUG(1087, *YYCURSOR);
12667
85.6k
    ++YYCURSOR;
12668
94.9k
yy1088:
12669
94.9k
    YYDEBUG(1088, *YYCURSOR);
12670
94.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
94.9k
#line 2425 "Zend/zend_language_scanner.l"
12672
94.9k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
94.9k
  RETURN_TOKEN(yytext[0]);
12675
94.9k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
17.4k
yy1089:
12678
17.4k
    YYDEBUG(1089, *YYCURSOR);
12679
17.4k
    yych = *++YYCURSOR;
12680
17.4k
    if (yych <= '_') {
12681
5.88k
      if (yych <= '@') goto yy1088;
12682
1.60k
      if (yych <= 'Z') goto yy1099;
12683
826
      if (yych <= '^') goto yy1088;
12684
388
      goto yy1099;
12685
11.5k
    } else {
12686
11.5k
      if (yych <= '`') goto yy1088;
12687
11.0k
      if (yych <= 'z') goto yy1099;
12688
5.33k
      if (yych <= 0x7F) goto yy1088;
12689
1.31k
      goto yy1099;
12690
5.33k
    }
12691
15.2k
yy1090:
12692
15.2k
    YYDEBUG(1090, *YYCURSOR);
12693
15.2k
    yyaccept = 0;
12694
15.2k
    yych = *(YYMARKER = ++YYCURSOR);
12695
15.2k
    if (yych <= 'X') {
12696
5.81k
      if (yych <= 'B') {
12697
3.84k
        if (yych <= '/') goto yy1091;
12698
3.02k
        if (yych <= '9') goto yy1102;
12699
1.76k
        if (yych >= 'B') goto yy1105;
12700
1.96k
      } else {
12701
1.96k
        if (yych == 'O') goto yy1107;
12702
1.68k
        if (yych >= 'X') goto yy1108;
12703
1.68k
      }
12704
9.39k
    } else {
12705
9.39k
      if (yych <= 'b') {
12706
5.02k
        if (yych == '_') goto yy1109;
12707
4.25k
        if (yych >= 'b') goto yy1105;
12708
4.36k
      } else {
12709
4.36k
        if (yych <= 'o') {
12710
1.17k
          if (yych >= 'o') goto yy1107;
12711
3.19k
        } else {
12712
3.19k
          if (yych == 'x') goto yy1108;
12713
3.19k
        }
12714
4.36k
      }
12715
9.39k
    }
12716
20.9k
yy1091:
12717
20.9k
    YYDEBUG(1091, *YYCURSOR);
12718
20.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
20.9k
#line 2207 "Zend/zend_language_scanner.l"
12720
20.9k
    { /* Offset could be treated as a long */
12721
20.9k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
20.2k
    char *end;
12723
20.2k
    errno = 0;
12724
20.2k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
20.2k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
20.2k
    ZEND_ASSERT(end == yytext + yyleng);
12729
20.2k
  } else {
12730
734
string:
12731
734
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
734
  }
12733
20.9k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
20.9k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
57.4k
yy1092:
12737
57.4k
    YYDEBUG(1092, *YYCURSOR);
12738
57.4k
    yyaccept = 0;
12739
57.4k
    YYMARKER = ++YYCURSOR;
12740
57.4k
    YYFILL(1);
12741
57.4k
    yych = *YYCURSOR;
12742
57.4k
    YYDEBUG(1093, *YYCURSOR);
12743
57.4k
    if (yybm[0+yych] & 8) {
12744
47.0k
      goto yy1092;
12745
47.0k
    }
12746
10.3k
    if (yych == '_') goto yy1109;
12747
9.00k
    goto yy1091;
12748
120k
yy1094:
12749
120k
    YYDEBUG(1094, *YYCURSOR);
12750
120k
    ++YYCURSOR;
12751
120k
    YYFILL(1);
12752
120k
    yych = *YYCURSOR;
12753
120k
    YYDEBUG(1095, *YYCURSOR);
12754
120k
    if (yybm[0+yych] & 16) {
12755
91.6k
      goto yy1094;
12756
91.6k
    }
12757
29.3k
    YYDEBUG(1096, *YYCURSOR);
12758
29.3k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
29.3k
#line 2454 "Zend/zend_language_scanner.l"
12760
29.3k
    {
12761
29.3k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
29.3k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
11.8k
yy1097:
12765
11.8k
    YYDEBUG(1097, *YYCURSOR);
12766
11.8k
    ++YYCURSOR;
12767
11.8k
    YYDEBUG(1098, *YYCURSOR);
12768
11.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
11.8k
#line 2420 "Zend/zend_language_scanner.l"
12770
11.8k
    {
12771
11.8k
  yy_pop_state();
12772
11.8k
  RETURN_TOKEN(']');
12773
11.8k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
31.8k
yy1099:
12776
31.8k
    YYDEBUG(1099, *YYCURSOR);
12777
31.8k
    ++YYCURSOR;
12778
31.8k
    YYFILL(1);
12779
31.8k
    yych = *YYCURSOR;
12780
31.8k
    YYDEBUG(1100, *YYCURSOR);
12781
31.8k
    if (yych <= '^') {
12782
10.2k
      if (yych <= '9') {
12783
2.95k
        if (yych >= '0') goto yy1099;
12784
7.33k
      } else {
12785
7.33k
        if (yych <= '@') goto yy1101;
12786
5.56k
        if (yych <= 'Z') goto yy1099;
12787
5.56k
      }
12788
21.5k
    } else {
12789
21.5k
      if (yych <= '`') {
12790
1.45k
        if (yych <= '_') goto yy1099;
12791
20.1k
      } else {
12792
20.1k
        if (yych <= 'z') goto yy1099;
12793
13.0k
        if (yych >= 0x80) goto yy1099;
12794
13.0k
      }
12795
21.5k
    }
12796
8.17k
yy1101:
12797
8.17k
    YYDEBUG(1101, *YYCURSOR);
12798
8.17k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
8.17k
#line 2416 "Zend/zend_language_scanner.l"
12800
8.17k
    {
12801
8.17k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
8.17k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
6.23k
yy1102:
12805
6.23k
    YYDEBUG(1102, *YYCURSOR);
12806
6.23k
    yyaccept = 1;
12807
6.23k
    YYMARKER = ++YYCURSOR;
12808
6.23k
    YYFILL(1);
12809
6.23k
    yych = *YYCURSOR;
12810
6.23k
    YYDEBUG(1103, *YYCURSOR);
12811
6.23k
    if (yych <= '/') goto yy1104;
12812
5.78k
    if (yych <= '9') goto yy1102;
12813
1.36k
    if (yych == '_') goto yy1109;
12814
4.59k
yy1104:
12815
4.59k
    YYDEBUG(1104, *YYCURSOR);
12816
4.59k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
4.59k
#line 2223 "Zend/zend_language_scanner.l"
12818
4.59k
    { /* Offset must be treated as a string */
12819
4.59k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
4.59k
  } else {
12822
4.59k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
4.59k
  }
12824
4.59k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
4.59k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
1.78k
yy1105:
12828
1.78k
    YYDEBUG(1105, *YYCURSOR);
12829
1.78k
    ++YYCURSOR;
12830
1.78k
    YYFILL(1);
12831
1.78k
    yych = *YYCURSOR;
12832
1.78k
    if (yybm[0+yych] & 32) {
12833
959
      goto yy1110;
12834
959
    }
12835
3.69k
yy1106:
12836
3.69k
    YYDEBUG(1106, *YYCURSOR);
12837
3.69k
    YYCURSOR = YYMARKER;
12838
3.69k
    if (yyaccept == 0) {
12839
3.05k
      goto yy1091;
12840
3.05k
    } else {
12841
635
      goto yy1104;
12842
635
    }
12843
1.00k
yy1107:
12844
1.00k
    YYDEBUG(1107, *YYCURSOR);
12845
1.00k
    ++YYCURSOR;
12846
1.00k
    YYFILL(1);
12847
1.00k
    yych = *YYCURSOR;
12848
1.00k
    if (yybm[0+yych] & 64) {
12849
651
      goto yy1112;
12850
651
    }
12851
358
    goto yy1106;
12852
2.49k
yy1108:
12853
2.49k
    YYDEBUG(1108, *YYCURSOR);
12854
2.49k
    ++YYCURSOR;
12855
2.49k
    YYFILL(1);
12856
2.49k
    yych = *YYCURSOR;
12857
2.49k
    if (yybm[0+yych] & 128) {
12858
1.96k
      goto yy1114;
12859
1.96k
    }
12860
527
    goto yy1106;
12861
2.53k
yy1109:
12862
2.53k
    YYDEBUG(1109, *YYCURSOR);
12863
2.53k
    ++YYCURSOR;
12864
2.53k
    YYFILL(1);
12865
2.53k
    yych = *YYCURSOR;
12866
2.53k
    if (yych <= '/') goto yy1106;
12867
1.84k
    if (yych <= '9') goto yy1102;
12868
1.28k
    goto yy1106;
12869
1.28k
yy1110:
12870
1.23k
    YYDEBUG(1110, *YYCURSOR);
12871
1.23k
    yyaccept = 1;
12872
1.23k
    YYMARKER = ++YYCURSOR;
12873
1.23k
    YYFILL(1);
12874
1.23k
    yych = *YYCURSOR;
12875
1.23k
    YYDEBUG(1111, *YYCURSOR);
12876
1.23k
    if (yybm[0+yych] & 32) {
12877
278
      goto yy1110;
12878
278
    }
12879
959
    if (yych == '_') goto yy1105;
12880
703
    goto yy1104;
12881
1.05k
yy1112:
12882
1.05k
    YYDEBUG(1112, *YYCURSOR);
12883
1.05k
    yyaccept = 1;
12884
1.05k
    YYMARKER = ++YYCURSOR;
12885
1.05k
    YYFILL(1);
12886
1.05k
    yych = *YYCURSOR;
12887
1.05k
    YYDEBUG(1113, *YYCURSOR);
12888
1.05k
    if (yybm[0+yych] & 64) {
12889
407
      goto yy1112;
12890
407
    }
12891
651
    if (yych == '_') goto yy1107;
12892
317
    goto yy1104;
12893
4.96k
yy1114:
12894
4.96k
    YYDEBUG(1114, *YYCURSOR);
12895
4.96k
    yyaccept = 1;
12896
4.96k
    YYMARKER = ++YYCURSOR;
12897
4.96k
    YYFILL(1);
12898
4.96k
    yych = *YYCURSOR;
12899
4.96k
    YYDEBUG(1115, *YYCURSOR);
12900
4.96k
    if (yybm[0+yych] & 128) {
12901
2.99k
      goto yy1114;
12902
2.99k
    }
12903
1.96k
    if (yych == '_') goto yy1108;
12904
1.52k
    goto yy1104;
12905
1.96k
  }
12906
/* *********************************** */
12907
1.52k
yyc_SHEBANG:
12908
0
  {
12909
0
    static const unsigned char yybm[] = {
12910
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12911
0
      128, 128,   0, 128, 128, 128, 128, 128, 
12912
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12913
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12914
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12915
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12916
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12917
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12918
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12919
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12920
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12921
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12922
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12923
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12924
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12925
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12926
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12927
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12928
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12929
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12930
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12931
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12932
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12933
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12934
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12935
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12936
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12937
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12938
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12939
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12940
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12941
0
      128, 128, 128, 128, 128, 128, 128, 128, 
12942
0
    };
12943
0
    YYDEBUG(1116, *YYCURSOR);
12944
0
    YYFILL(2);
12945
0
    yych = *YYCURSOR;
12946
0
    if (yych == '#') goto yy1120;
12947
0
    YYDEBUG(1118, *YYCURSOR);
12948
0
    ++YYCURSOR;
12949
0
yy1119:
12950
0
    YYDEBUG(1119, *YYCURSOR);
12951
0
    yyleng = YYCURSOR - SCNG(yy_text);
12952
0
#line 2294 "Zend/zend_language_scanner.l"
12953
0
    {
12954
0
  yyless(0);
12955
0
  BEGIN(INITIAL);
12956
0
  goto restart;
12957
0
}
12958
0
#line 12959 "Zend/zend_language_scanner.c"
12959
0
yy1120:
12960
0
    YYDEBUG(1120, *YYCURSOR);
12961
0
    yych = *++YYCURSOR;
12962
0
    if (yych != '!') goto yy1119;
12963
0
yy1121:
12964
0
    YYDEBUG(1121, *YYCURSOR);
12965
0
    ++YYCURSOR;
12966
0
    YYFILL(1);
12967
0
    yych = *YYCURSOR;
12968
0
    YYDEBUG(1122, *YYCURSOR);
12969
0
    if (yybm[0+yych] & 128) {
12970
0
      goto yy1121;
12971
0
    }
12972
0
    YYDEBUG(1123, *YYCURSOR);
12973
0
    ++YYCURSOR;
12974
0
    YYDEBUG(1124, *YYCURSOR);
12975
0
    yyleng = YYCURSOR - SCNG(yy_text);
12976
0
#line 2288 "Zend/zend_language_scanner.l"
12977
0
    {
12978
0
  CG(zend_lineno)++;
12979
0
  BEGIN(INITIAL);
12980
0
  goto restart;
12981
0
}
12982
0
#line 12983 "Zend/zend_language_scanner.c"
12983
0
  }
12984
/* *********************************** */
12985
424k
yyc_INITIAL:
12986
424k
  YYDEBUG(1125, *YYCURSOR);
12987
424k
  YYFILL(7);
12988
424k
  yych = *YYCURSOR;
12989
424k
  if (yych == '<') goto yy1129;
12990
199k
  YYDEBUG(1127, *YYCURSOR);
12991
199k
  ++YYCURSOR;
12992
208k
yy1128:
12993
208k
  YYDEBUG(1128, *YYCURSOR);
12994
208k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
208k
#line 2340 "Zend/zend_language_scanner.l"
12996
208k
  {
12997
208k
  if (YYCURSOR > YYLIMIT) {
12998
63.3k
    RETURN_END_TOKEN;
12999
63.3k
  }
13000
13001
145k
inline_char_handler:
13002
13003
302k
  while (1) {
13004
302k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
302k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
302k
    if (YYCURSOR >= YYLIMIT) {
13009
27.0k
      break;
13010
27.0k
    }
13011
13012
275k
    if (*YYCURSOR == '?') {
13013
118k
      if (CG(short_tags) /* <? */
13014
0
        || (*(YYCURSOR + 1) == '=') /* <?= */
13015
0
        || (!strncasecmp((char*)YYCURSOR + 1, "php", 3) && /* <?php[ \t\r\n] */
13016
0
          (YYCURSOR + 4 == YYLIMIT ||
13017
0
          YYCURSOR[4] == ' ' || YYCURSOR[4] == '\t' ||
13018
0
          YYCURSOR[4] == '\n' || YYCURSOR[4] == '\r'))
13019
118k
      ) {
13020
118k
        YYCURSOR--;
13021
118k
        break;
13022
118k
      }
13023
118k
    }
13024
275k
  }
13025
13026
145k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
145k
  if (SCNG(output_filter)) {
13029
0
    size_t readsize;
13030
0
    char *s = NULL;
13031
0
    size_t sz = 0;
13032
    // TODO: avoid reallocation ???
13033
0
    readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
13034
0
    ZVAL_STRINGL(zendlval, s, sz);
13035
0
    efree(s);
13036
0
    if (readsize < yyleng) {
13037
0
      yyless(readsize);
13038
0
    }
13039
145k
  } else if (yyleng == 1) {
13040
14.7k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
130k
  } else {
13042
130k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
130k
  }
13044
145k
  HANDLE_NEWLINES(yytext, yyleng);
13045
145k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
145k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
224k
yy1129:
13049
224k
  YYDEBUG(1129, *YYCURSOR);
13050
224k
  yych = *++YYCURSOR;
13051
224k
  if (yych != '?') goto yy1128;
13052
215k
  YYDEBUG(1130, *YYCURSOR);
13053
215k
  yych = *(YYMARKER = ++YYCURSOR);
13054
215k
  if (yych <= 'O') {
13055
58.9k
    if (yych == '=') goto yy1132;
13056
156k
  } else {
13057
156k
    if (yych <= 'P') goto yy1134;
13058
155k
    if (yych == 'p') goto yy1134;
13059
155k
  }
13060
121k
yy1131:
13061
121k
  YYDEBUG(1131, *YYCURSOR);
13062
121k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
121k
#line 2331 "Zend/zend_language_scanner.l"
13064
121k
  {
13065
121k
  if (CG(short_tags)) {
13066
121k
    BEGIN(ST_IN_SCRIPTING);
13067
121k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
121k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
121k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
1.88k
yy1132:
13074
1.88k
  YYDEBUG(1132, *YYCURSOR);
13075
1.88k
  ++YYCURSOR;
13076
1.88k
  YYDEBUG(1133, *YYCURSOR);
13077
1.88k
  yyleng = YYCURSOR - SCNG(yy_text);
13078
1.88k
#line 2300 "Zend/zend_language_scanner.l"
13079
1.88k
  {
13080
1.88k
  BEGIN(ST_IN_SCRIPTING);
13081
1.88k
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
1.08k
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
1.08k
  }
13085
806
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
806
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
97.9k
yy1134:
13089
97.9k
  YYDEBUG(1134, *YYCURSOR);
13090
97.9k
  yych = *++YYCURSOR;
13091
97.9k
  if (yych == 'H') goto yy1136;
13092
96.4k
  if (yych == 'h') goto yy1136;
13093
6.38k
yy1135:
13094
6.38k
  YYDEBUG(1135, *YYCURSOR);
13095
6.38k
  YYCURSOR = YYMARKER;
13096
6.38k
  goto yy1131;
13097
93.9k
yy1136:
13098
93.9k
  YYDEBUG(1136, *YYCURSOR);
13099
93.9k
  yych = *++YYCURSOR;
13100
93.9k
  if (yych == 'P') goto yy1137;
13101
93.2k
  if (yych != 'p') goto yy1135;
13102
91.5k
yy1137:
13103
91.5k
  YYDEBUG(1137, *YYCURSOR);
13104
91.5k
  yych = *++YYCURSOR;
13105
91.5k
  if (yych <= '\f') {
13106
80.6k
    if (yych <= 0x08) goto yy1138;
13107
79.8k
    if (yych <= '\n') goto yy1139;
13108
79.8k
  } else {
13109
10.9k
    if (yych <= '\r') goto yy1141;
13110
10.2k
    if (yych == ' ') goto yy1139;
13111
10.2k
  }
13112
3.67k
yy1138:
13113
3.67k
  YYDEBUG(1138, *YYCURSOR);
13114
3.67k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
3.67k
#line 2316 "Zend/zend_language_scanner.l"
13116
3.67k
  {
13117
  /* Allow <?php followed by end of file. */
13118
3.67k
  if (YYCURSOR == YYLIMIT) {
13119
404
    BEGIN(ST_IN_SCRIPTING);
13120
404
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
404
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
3.27k
  if (CG(short_tags)) {
13124
3.27k
    yyless(2);
13125
3.27k
    BEGIN(ST_IN_SCRIPTING);
13126
3.27k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
3.27k
  }
13128
0
  goto inline_char_handler;
13129
3.27k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
87.6k
yy1139:
13132
87.6k
  YYDEBUG(1139, *YYCURSOR);
13133
87.6k
  ++YYCURSOR;
13134
87.9k
yy1140:
13135
87.9k
  YYDEBUG(1140, *YYCURSOR);
13136
87.9k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
87.9k
#line 2310 "Zend/zend_language_scanner.l"
13138
87.9k
  {
13139
87.9k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
87.9k
  BEGIN(ST_IN_SCRIPTING);
13141
87.9k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
87.9k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
676
yy1141:
13145
676
  YYDEBUG(1141, *YYCURSOR);
13146
676
  yych = *++YYCURSOR;
13147
676
  if (yych == '\n') goto yy1139;
13148
278
  goto yy1140;
13149
/* *********************************** */
13150
23.3k
yyc_ST_END_HEREDOC:
13151
23.3k
  YYDEBUG(1142, *YYCURSOR);
13152
23.3k
  YYFILL(1);
13153
23.3k
  yych = *YYCURSOR;
13154
23.3k
  YYDEBUG(1144, *YYCURSOR);
13155
23.3k
  ++YYCURSOR;
13156
23.3k
  YYDEBUG(1145, *YYCURSOR);
13157
23.3k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
23.3k
#line 2831 "Zend/zend_language_scanner.l"
13159
23.3k
  {
13160
23.3k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
23.3k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
23.3k
  YYCURSOR += yyleng - 1;
13164
13165
23.3k
  heredoc_label_dtor(heredoc_label);
13166
23.3k
  efree(heredoc_label);
13167
13168
23.3k
  BEGIN(ST_IN_SCRIPTING);
13169
23.3k
  RETURN_TOKEN(T_END_HEREDOC);
13170
23.3k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
9.84k
yyc_ST_NOWDOC:
13174
9.84k
  YYDEBUG(1146, *YYCURSOR);
13175
9.84k
  YYFILL(1);
13176
9.84k
  yych = *YYCURSOR;
13177
9.84k
  YYDEBUG(1148, *YYCURSOR);
13178
9.84k
  ++YYCURSOR;
13179
9.84k
  YYDEBUG(1149, *YYCURSOR);
13180
9.84k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
9.84k
#line 3088 "Zend/zend_language_scanner.l"
13182
9.84k
  {
13183
9.84k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
9.84k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
9.84k
  if (YYCURSOR > YYLIMIT) {
13187
2.23k
    RETURN_END_TOKEN;
13188
2.23k
  }
13189
13190
7.60k
  YYCURSOR--;
13191
13192
1.99M
  while (YYCURSOR < YYLIMIT) {
13193
1.99M
    switch (*YYCURSOR++) {
13194
14.7k
      case '\r':
13195
14.7k
        if (*YYCURSOR == '\n') {
13196
1.15k
          YYCURSOR++;
13197
1.15k
        }
13198
14.7k
        ZEND_FALLTHROUGH;
13199
106k
      case '\n':
13200
106k
        indentation = spacing = 0;
13201
13202
151k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
45.2k
          if (*YYCURSOR == '\t') {
13204
816
            spacing |= HEREDOC_USING_TABS;
13205
44.3k
          } else {
13206
44.3k
            spacing |= HEREDOC_USING_SPACES;
13207
44.3k
          }
13208
45.2k
          ++YYCURSOR;
13209
45.2k
          ++indentation;
13210
45.2k
        }
13211
13212
106k
        if (YYCURSOR == YYLIMIT) {
13213
717
          yyleng = YYCURSOR - SCNG(yy_text);
13214
717
          HANDLE_NEWLINES(yytext, yyleng);
13215
717
          ZVAL_NULL(zendlval);
13216
717
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
717
        }
13218
13219
        /* Check for ending label on the next line */
13220
105k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
6.54k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
1.19k
            continue;
13223
1.19k
          }
13224
13225
5.34k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
78
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
78
            if (PARSER_MODE()) {
13228
6
              RETURN_TOKEN(T_ERROR);
13229
6
            }
13230
78
          }
13231
13232
          /* newline before label will be subtracted from returned text, but
13233
           * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
13234
5.34k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
169
            newline = 2; /* Windows newline */
13236
5.17k
          } else {
13237
5.17k
            newline = 1;
13238
5.17k
          }
13239
13240
5.34k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
5.34k
          YYCURSOR -= indentation;
13243
5.34k
          heredoc_label->indentation = indentation;
13244
13245
5.34k
          BEGIN(ST_END_HEREDOC);
13246
13247
5.34k
          goto nowdoc_scan_done;
13248
5.34k
        }
13249
99.1k
        ZEND_FALLTHROUGH;
13250
1.98M
      default:
13251
1.98M
        continue;
13252
1.99M
    }
13253
1.99M
  }
13254
13255
6.88k
nowdoc_scan_done:
13256
6.88k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
6.88k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
6.88k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
1.41k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
1.41k
    if (!strip_multiline_string_indentation(
13262
1.41k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
1.41k
        newline_at_start, newline != 0)) {
13264
40
      RETURN_TOKEN(T_ERROR);
13265
40
    }
13266
1.41k
  }
13267
13268
6.84k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
6.84k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
6.84k
}
13271
6.84k
#line 13272 "Zend/zend_language_scanner.c"
13272
6.84k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
6.19M
emit_token_with_str:
13277
6.19M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
9.46M
emit_token_with_val:
13280
9.46M
  if (PARSER_MODE()) {
13281
3.41M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
3.41M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
3.41M
  }
13284
13285
34.9M
emit_token:
13286
34.9M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
34.9M
  return token;
13290
13291
1.23M
emit_token_with_ident:
13292
1.23M
  if (PARSER_MODE()) {
13293
643k
    elem->ident = SCNG(yy_text);
13294
643k
  }
13295
1.23M
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
1.23M
  return token;
13299
13300
5.87M
return_whitespace:
13301
5.87M
  HANDLE_NEWLINES(yytext, yyleng);
13302
5.87M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
5.87M
  if (PARSER_MODE()) {
13306
2.71M
    start_line = CG(zend_lineno);
13307
2.71M
    goto restart;
13308
3.15M
  } else {
13309
3.15M
    return T_WHITESPACE;
13310
3.15M
  }
13311
13312
255k
skip_token:
13313
255k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
255k
  start_line = CG(zend_lineno);
13317
255k
  goto restart;
13318
5.87M
}