Coverage Report

Created: 2025-12-14 06:10

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 (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Marcus Boerger <helly@php.net>                              |
18
   |          Nuno Lopes <nlopess@php.net>                                |
19
   |          Scott MacVicar <scottmac@php.net>                           |
20
   | Flex version authors:                                                |
21
   |          Andi Gutmans <andi@php.net>                                 |
22
   |          Zeev Suraski <zeev@php.net>                                 |
23
   +----------------------------------------------------------------------+
24
*/
25
26
#if 0
27
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
28
#else
29
# define YYDEBUG(s, c)
30
#endif
31
32
#include "zend_language_scanner_defs.h"
33
34
#include <errno.h>
35
#include <stdint.h>
36
#include "zend.h"
37
#ifdef ZEND_WIN32
38
# include <Winuser.h>
39
#endif
40
#include "zend_alloc.h"
41
#include <zend_language_parser.h>
42
#include "zend_compile.h"
43
#include "zend_language_scanner.h"
44
#include "zend_highlight.h"
45
#include "zend_constants.h"
46
#include "zend_variables.h"
47
#include "zend_operators.h"
48
#include "zend_API.h"
49
#include "zend_strtod.h"
50
#include "zend_exceptions.h"
51
#include "zend_virtual_cwd.h"
52
53
52.4M
#define YYCTYPE   unsigned char
54
128M
#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
55
869M
#define YYCURSOR  SCNG(yy_cursor)
56
278M
#define YYLIMIT   SCNG(yy_limit)
57
49.9M
#define YYMARKER  SCNG(yy_marker)
58
59
173M
#define YYGETCONDITION()  SCNG(yy_state)
60
18.5M
#define YYSETCONDITION(s) SCNG(yy_state) = s
61
62
#define STATE(name)  yyc##name
63
64
/* emulate flex constructs */
65
4.53M
#define BEGIN(state) YYSETCONDITION(STATE(state))
66
357k
#define YYSTATE      YYGETCONDITION()
67
19.5M
#define yytext       ((char*)SCNG(yy_text))
68
69.7M
#define yyleng       SCNG(yy_leng)
69
4.26M
#define yyless(x)    do { YYCURSOR = (unsigned char*)yytext + x; \
70
4.26M
                          yyleng   = (unsigned int)x; } while(0)
71
#define yymore()     goto yymore_restart
72
73
/* perform sanity check. If this message is triggered you should
74
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
75
#define YYMAXFILL 16
76
77
#if ZEND_MMAP_AHEAD < YYMAXFILL
78
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
79
#endif
80
81
#include <stdarg.h>
82
83
#ifdef HAVE_UNISTD_H
84
# include <unistd.h>
85
#endif
86
87
/* Globals Macros */
88
1.71G
#define SCNG  LANG_SCNG
89
#ifdef ZTS
90
ZEND_API ts_rsrc_id language_scanner_globals_id;
91
ZEND_API size_t language_scanner_globals_offset;
92
#else
93
ZEND_API zend_php_scanner_globals language_scanner_globals;
94
#endif
95
96
8.41M
#define HANDLE_NEWLINES(s, l)                         \
97
8.41M
do {                                     \
98
8.41M
  char *p = (s), *boundary = p+(l);                     \
99
8.41M
                                        \
100
77.2M
  while (p<boundary) {                           \
101
68.8M
    if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) {         \
102
6.93M
      CG(zend_lineno)++;                          \
103
6.93M
    }                                    \
104
68.8M
    p++;                                  \
105
68.8M
  }                                      \
106
8.41M
} while (0)
107
108
362k
#define HANDLE_NEWLINE(c) \
109
362k
{ \
110
362k
  if (c == '\n' || c == '\r') { \
111
109k
    CG(zend_lineno)++; \
112
109k
  } \
113
362k
}
114
115
/* To save initial string length after scanning to first variable */
116
219k
#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
117
515k
#define GET_DOUBLE_QUOTES_SCANNED_LENGTH()    SCNG(scanned_string_len)
118
119
10.4M
#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x80)
120
56.0k
#define IS_LABEL_SUCCESSOR(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9') || (c) == '_' || (c) >= 0x80)
121
122
179k
#define ZEND_IS_OCT(c)  ((c)>='0' && (c)<='7')
123
22.7k
#define ZEND_IS_HEX(c)  (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
124
125
126
static void strip_underscores(char *str, size_t *len)
127
6.27k
{
128
6.27k
  char *src = str, *dest = str;
129
108k
  while (*src != '\0') {
130
102k
    if (*src != '_') {
131
94.7k
      *dest = *src;
132
94.7k
      dest++;
133
94.7k
    } else {
134
7.58k
      --(*len);
135
7.58k
    }
136
102k
    src++;
137
102k
  }
138
6.27k
  *dest = '\0';
139
6.27k
}
140
141
static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
142
0
{
143
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
144
0
  ZEND_ASSERT(internal_encoding);
145
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding));
146
0
}
147
148
static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
149
0
{
150
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding));
151
0
}
152
153
static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
154
0
{
155
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
156
0
LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8);
157
0
}
158
159
static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length)
160
0
{
161
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
162
0
  ZEND_ASSERT(internal_encoding);
163
0
  return zend_multibyte_encoding_converter(to, to_length, from, from_length,
164
0
internal_encoding, zend_multibyte_encoding_utf8);
165
0
}
166
167
168
static void _yy_push_state(int new_state)
169
9.11M
{
170
9.11M
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
171
9.11M
  YYSETCONDITION(new_state);
172
9.11M
}
173
174
9.11M
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
175
176
static void yy_pop_state(void)
177
4.55M
{
178
4.55M
  int *stack_state = zend_stack_top(&SCNG(state_stack));
179
4.55M
  YYSETCONDITION(*stack_state);
180
4.55M
  zend_stack_del_top(&SCNG(state_stack));
181
4.55M
}
182
183
static void yy_scan_buffer(char *str, size_t len)
184
168k
{
185
168k
  YYCURSOR       = (YYCTYPE*)str;
186
168k
  YYLIMIT        = YYCURSOR + len;
187
168k
  if (!SCNG(yy_start)) {
188
27.2k
    SCNG(yy_start) = YYCURSOR;
189
27.2k
  }
190
168k
}
191
192
void startup_scanner(void)
193
306k
{
194
306k
  CG(parse_error) = 0;
195
306k
  CG(doc_comment) = NULL;
196
306k
  CG(extra_fn_flags) = 0;
197
306k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
198
306k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
199
306k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
200
306k
  SCNG(heredoc_scan_ahead) = 0;
201
306k
}
202
203
6.30M
static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
204
6.30M
    efree(heredoc_label->label);
205
6.30M
}
206
207
void shutdown_scanner(void)
208
306k
{
209
306k
  CG(parse_error) = 0;
210
306k
  RESET_DOC_COMMENT();
211
306k
  zend_stack_destroy(&SCNG(state_stack));
212
306k
  zend_stack_destroy(&SCNG(nest_location_stack));
213
306k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
214
306k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
215
306k
  SCNG(heredoc_scan_ahead) = 0;
216
306k
  SCNG(on_event) = NULL;
217
306k
  SCNG(on_event_context) = NULL;
218
306k
}
219
220
ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state)
221
357k
{
222
357k
  lex_state->yy_leng   = SCNG(yy_leng);
223
357k
  lex_state->yy_start  = SCNG(yy_start);
224
357k
  lex_state->yy_text   = SCNG(yy_text);
225
357k
  lex_state->yy_cursor = SCNG(yy_cursor);
226
357k
  lex_state->yy_marker = SCNG(yy_marker);
227
357k
  lex_state->yy_limit  = SCNG(yy_limit);
228
229
357k
  lex_state->state_stack = SCNG(state_stack);
230
357k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
231
232
357k
  lex_state->nest_location_stack = SCNG(nest_location_stack);
233
357k
  zend_stack_init(&SCNG(nest_location_stack), sizeof(zend_nest_location));
234
235
357k
  lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
236
357k
  zend_ptr_stack_init(&SCNG(heredoc_label_stack));
237
238
357k
  lex_state->in = SCNG(yy_in);
239
357k
  lex_state->yy_state = YYSTATE;
240
357k
  lex_state->filename = CG(compiled_filename);
241
357k
  lex_state->lineno = CG(zend_lineno);
242
357k
  CG(compiled_filename) = NULL;
243
244
357k
  lex_state->script_org = SCNG(script_org);
245
357k
  lex_state->script_org_size = SCNG(script_org_size);
246
357k
  lex_state->script_filtered = SCNG(script_filtered);
247
357k
  lex_state->script_filtered_size = SCNG(script_filtered_size);
248
357k
  lex_state->input_filter = SCNG(input_filter);
249
357k
  lex_state->output_filter = SCNG(output_filter);
250
357k
  lex_state->script_encoding = SCNG(script_encoding);
251
252
357k
  lex_state->on_event = SCNG(on_event);
253
357k
  lex_state->on_event_context = SCNG(on_event_context);
254
255
357k
  lex_state->ast = CG(ast);
256
357k
  lex_state->ast_arena = CG(ast_arena);
257
357k
}
258
259
ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state)
260
350k
{
261
350k
  SCNG(yy_leng)   = lex_state->yy_leng;
262
350k
  SCNG(yy_start)  = lex_state->yy_start;
263
350k
  SCNG(yy_text)   = lex_state->yy_text;
264
350k
  SCNG(yy_cursor) = lex_state->yy_cursor;
265
350k
  SCNG(yy_marker) = lex_state->yy_marker;
266
350k
  SCNG(yy_limit)  = lex_state->yy_limit;
267
268
350k
  zend_stack_destroy(&SCNG(state_stack));
269
350k
  SCNG(state_stack) = lex_state->state_stack;
270
271
350k
  zend_stack_destroy(&SCNG(nest_location_stack));
272
350k
  SCNG(nest_location_stack) = lex_state->nest_location_stack;
273
274
350k
  zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
275
350k
  zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
276
350k
  SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
277
278
350k
  SCNG(yy_in) = lex_state->in;
279
350k
  YYSETCONDITION(lex_state->yy_state);
280
350k
  CG(zend_lineno) = lex_state->lineno;
281
350k
  zend_restore_compiled_filename(lex_state->filename);
282
283
350k
  if (SCNG(script_filtered) && SCNG(script_filtered) != lex_state->script_filtered) {
284
0
    efree(SCNG(script_filtered));
285
0
    SCNG(script_filtered) = NULL;
286
0
  }
287
350k
  SCNG(script_org) = lex_state->script_org;
288
350k
  SCNG(script_org_size) = lex_state->script_org_size;
289
350k
  SCNG(script_filtered) = lex_state->script_filtered;
290
350k
  SCNG(script_filtered_size) = lex_state->script_filtered_size;
291
350k
  SCNG(input_filter) = lex_state->input_filter;
292
350k
  SCNG(output_filter) = lex_state->output_filter;
293
350k
  SCNG(script_encoding) = lex_state->script_encoding;
294
295
350k
  SCNG(on_event) = lex_state->on_event;
296
350k
  SCNG(on_event_context) = lex_state->on_event_context;
297
298
350k
  CG(ast) = lex_state->ast;
299
350k
  CG(ast_arena) = lex_state->ast_arena;
300
301
350k
  RESET_DOC_COMMENT();
302
350k
}
303
304
ZEND_API zend_result zend_lex_tstring(zval *zv, unsigned char *ident)
305
16.5k
{
306
16.5k
  unsigned char *end = ident;
307
103k
  while ((*end >= 'a' && *end <= 'z') || (*end >= 'A' && *end <= 'Z') || *end == '_') {
308
87.3k
    end++;
309
87.3k
  }
310
311
16.5k
  size_t length = end - ident;
312
16.5k
  if (length == 0) {
313
10
    ZEND_ASSERT(ident[0] == '<' && ident[1] == '?' && ident[2] == '=');
314
10
    zend_throw_exception(zend_ce_parse_error, "Cannot use \"<?=\" as an identifier", 0);
315
10
    return FAILURE;
316
10
  }
317
318
16.5k
  if (SCNG(on_event)) {
319
0
    SCNG(on_event)(ON_FEEDBACK, T_STRING, 0, (char *) ident, length, SCNG(on_event_context));
320
0
  }
321
322
16.5k
  ZVAL_STRINGL(zv, (char *) ident, length);
323
16.5k
  return SUCCESS;
324
16.5k
}
325
326
0
#define BOM_UTF32_BE  "\x00\x00\xfe\xff"
327
0
#define BOM_UTF32_LE  "\xff\xfe\x00\x00"
328
0
#define BOM_UTF16_BE  "\xfe\xff"
329
0
#define BOM_UTF16_LE  "\xff\xfe"
330
0
#define BOM_UTF8    "\xef\xbb\xbf"
331
332
static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size)
333
0
{
334
0
  const unsigned char *p;
335
0
  int wchar_size = 2;
336
0
  int le = 0;
337
338
  /* utf-16 or utf-32? */
339
0
  p = script;
340
0
  assert(p >= script);
341
0
  while ((size_t)(p-script) < script_size) {
342
0
    p = memchr(p, 0, script_size-(p-script)-2);
343
0
    if (!p) {
344
0
      break;
345
0
    }
346
0
    if (*(p+1) == '\0' && *(p+2) == '\0') {
347
0
      wchar_size = 4;
348
0
      break;
349
0
    }
350
351
    /* searching for UTF-32 specific byte orders, so this will do */
352
0
    p += 4;
353
0
  }
354
355
  /* BE or LE? */
356
0
  p = script;
357
0
  assert(p >= script);
358
0
  while ((size_t)(p-script) < script_size) {
359
0
    if (*p == '\0' && *(p+wchar_size-1) != '\0') {
360
      /* BE */
361
0
      le = 0;
362
0
      break;
363
0
    } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
364
      /* LE* */
365
0
      le = 1;
366
0
      break;
367
0
    }
368
0
    p += wchar_size;
369
0
  }
370
371
0
  if (wchar_size == 2) {
372
0
    return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
373
0
  } else {
374
0
    return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
375
0
  }
376
377
0
  return NULL;
378
0
}
379
380
static const zend_encoding* zend_multibyte_detect_unicode(void)
381
0
{
382
0
  const zend_encoding *script_encoding = NULL;
383
0
  int bom_size;
384
0
  unsigned char *pos1, *pos2;
385
386
0
  if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
387
0
    return NULL;
388
0
  }
389
390
  /* check out BOM */
391
0
  if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
392
0
    script_encoding = zend_multibyte_encoding_utf32be;
393
0
    bom_size = sizeof(BOM_UTF32_BE)-1;
394
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
395
0
    script_encoding = zend_multibyte_encoding_utf32le;
396
0
    bom_size = sizeof(BOM_UTF32_LE)-1;
397
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
398
0
    script_encoding = zend_multibyte_encoding_utf16be;
399
0
    bom_size = sizeof(BOM_UTF16_BE)-1;
400
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
401
0
    script_encoding = zend_multibyte_encoding_utf16le;
402
0
    bom_size = sizeof(BOM_UTF16_LE)-1;
403
0
  } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
404
0
    script_encoding = zend_multibyte_encoding_utf8;
405
0
    bom_size = sizeof(BOM_UTF8)-1;
406
0
  }
407
408
0
  if (script_encoding) {
409
    /* remove BOM */
410
0
    LANG_SCNG(script_org) += bom_size;
411
0
    LANG_SCNG(script_org_size) -= bom_size;
412
413
0
    return script_encoding;
414
0
  }
415
416
  /* script contains NULL bytes -> auto-detection */
417
0
  if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
418
    /* check if the NULL byte is after the __HALT_COMPILER(); */
419
0
    pos2 = LANG_SCNG(script_org);
420
421
0
    while ((size_t)(pos1 - pos2) >= sizeof("__HALT_COMPILER();")-1) {
422
0
      pos2 = memchr(pos2, '_', pos1 - pos2);
423
0
      if (!pos2) break;
424
0
      pos2++;
425
0
      if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
426
0
        pos2 += sizeof("_HALT_COMPILER")-1;
427
0
        while (*pos2 == ' '  ||
428
0
             *pos2 == '\t' ||
429
0
             *pos2 == '\r' ||
430
0
             *pos2 == '\n') {
431
0
          pos2++;
432
0
        }
433
0
        if (*pos2 == '(') {
434
0
          pos2++;
435
0
          while (*pos2 == ' '  ||
436
0
               *pos2 == '\t' ||
437
0
               *pos2 == '\r' ||
438
0
               *pos2 == '\n') {
439
0
            pos2++;
440
0
          }
441
0
          if (*pos2 == ')') {
442
0
            pos2++;
443
0
            while (*pos2 == ' '  ||
444
0
                 *pos2 == '\t' ||
445
0
                 *pos2 == '\r' ||
446
0
                 *pos2 == '\n') {
447
0
              pos2++;
448
0
            }
449
0
            if (*pos2 == ';') {
450
0
              return NULL;
451
0
            }
452
0
          }
453
0
        }
454
0
      }
455
0
    }
456
    /* make best effort if BOM is missing */
457
0
    return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size));
458
0
  }
459
460
0
  return NULL;
461
0
}
462
463
static const zend_encoding* zend_multibyte_find_script_encoding(void)
464
0
{
465
0
  const zend_encoding *script_encoding;
466
467
0
  if (CG(detect_unicode)) {
468
    /* check out bom(byte order mark) and see if containing wchars */
469
0
    script_encoding = zend_multibyte_detect_unicode();
470
0
    if (script_encoding != NULL) {
471
      /* bom or wchar detection is prior to 'script_encoding' option */
472
0
      return script_encoding;
473
0
    }
474
0
  }
475
476
  /* if no script_encoding specified, just leave alone */
477
0
  if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
478
0
    return NULL;
479
0
  }
480
481
  /* if multiple encodings specified, detect automagically */
482
0
  if (CG(script_encoding_list_size) > 1) {
483
0
    return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size));
484
0
  }
485
486
0
  return CG(script_encoding_list)[0];
487
0
}
488
489
ZEND_API zend_result zend_multibyte_set_filter(const zend_encoding *onetime_encoding)
490
0
{
491
0
  const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding();
492
0
  const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding();
493
494
0
  if (!script_encoding) {
495
0
    return FAILURE;
496
0
  }
497
498
  /* judge input/output filter */
499
0
  LANG_SCNG(script_encoding) = script_encoding;
500
0
  LANG_SCNG(input_filter) = NULL;
501
0
  LANG_SCNG(output_filter) = NULL;
502
503
0
  if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
504
0
    if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
505
      /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
506
0
      LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
507
0
      LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
508
0
    } else {
509
0
      LANG_SCNG(input_filter) = NULL;
510
0
      LANG_SCNG(output_filter) = NULL;
511
0
    }
512
0
    return SUCCESS;
513
0
  }
514
515
0
  if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
516
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
517
0
    LANG_SCNG(output_filter) = NULL;
518
0
  } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
519
0
    LANG_SCNG(input_filter) = NULL;
520
0
    LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
521
0
  } else {
522
    /* both script and internal encodings are incompatible w/ flex */
523
0
    LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
524
0
    LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
525
0
  }
526
527
0
  return SUCCESS;
528
0
}
529
530
ZEND_API zend_result open_file_for_scanning(zend_file_handle *file_handle)
531
142k
{
532
142k
  char *buf;
533
142k
  size_t size;
534
142k
  zend_string *compiled_filename;
535
536
142k
  if (zend_stream_fixup(file_handle, &buf, &size) == FAILURE) {
537
    /* Still add it to open_files to make destroy_file_handle work */
538
734
    zend_llist_add_element(&CG(open_files), file_handle);
539
734
    file_handle->in_list = 1;
540
734
    return FAILURE;
541
734
  }
542
543
141k
  ZEND_ASSERT(!EG(exception) && "stream_fixup() should have failed");
544
141k
  zend_llist_add_element(&CG(open_files), file_handle);
545
141k
  file_handle->in_list = 1;
546
547
  /* Reset the scanner for scanning the new file */
548
141k
  SCNG(yy_in) = file_handle;
549
141k
  SCNG(yy_start) = NULL;
550
551
141k
  if (size != (size_t)-1) {
552
141k
    if (CG(multibyte)) {
553
0
      SCNG(script_org) = (unsigned char*)buf;
554
0
      SCNG(script_org_size) = size;
555
0
      SCNG(script_filtered) = NULL;
556
557
0
      zend_multibyte_set_filter(NULL);
558
559
0
      if (SCNG(input_filter)) {
560
0
        if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
561
0
          zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
562
0
              "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
563
0
        }
564
0
        buf = (char*)SCNG(script_filtered);
565
0
        size = SCNG(script_filtered_size);
566
0
      }
567
0
    }
568
141k
    SCNG(yy_start) = (unsigned char *)buf;
569
141k
    yy_scan_buffer(buf, size);
570
141k
  } else {
571
0
    zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
572
0
  }
573
574
141k
  if (CG(skip_shebang)) {
575
0
    BEGIN(SHEBANG);
576
141k
  } else {
577
141k
    BEGIN(INITIAL);
578
141k
  }
579
580
141k
  if (file_handle->opened_path) {
581
44
    compiled_filename = zend_string_copy(file_handle->opened_path);
582
141k
  } else {
583
141k
    compiled_filename = zend_string_copy(file_handle->filename);
584
141k
  }
585
586
141k
  zend_set_compiled_filename(compiled_filename);
587
141k
  zend_string_release_ex(compiled_filename, 0);
588
589
141k
  SCNG(on_event) = NULL;
590
141k
  SCNG(on_event_context) = NULL;
591
141k
  RESET_DOC_COMMENT();
592
141k
  CG(zend_lineno) = 1;
593
141k
  CG(increment_lineno) = 0;
594
141k
  return SUCCESS;
595
141k
}
596
597
static zend_op_array *zend_compile(int type)
598
145k
{
599
145k
  zend_op_array *op_array = NULL;
600
145k
  bool original_in_compilation = CG(in_compilation);
601
602
145k
  CG(in_compilation) = 1;
603
145k
  CG(ast) = NULL;
604
145k
  CG(ast_arena) = zend_arena_create(1024 * 32);
605
606
145k
  if (!zendparse()) {
607
100k
    uint32_t last_lineno = CG(zend_lineno);
608
100k
    zend_file_context original_file_context;
609
100k
    zend_oparray_context original_oparray_context;
610
100k
    zend_op_array *original_active_op_array = CG(active_op_array);
611
612
100k
    op_array = emalloc(sizeof(zend_op_array));
613
100k
    init_op_array(op_array, type, INITIAL_OP_ARRAY_SIZE);
614
100k
    CG(active_op_array) = op_array;
615
616
    /* Use heap to not waste arena memory */
617
100k
    op_array->fn_flags |= ZEND_ACC_HEAP_RT_CACHE;
618
619
100k
    if (zend_ast_process) {
620
0
      zend_ast_process(CG(ast));
621
0
    }
622
623
100k
    zend_file_context_begin(&original_file_context);
624
100k
    zend_oparray_context_begin(&original_oparray_context, op_array);
625
100k
    zend_compile_top_stmt(CG(ast));
626
100k
    CG(zend_lineno) = last_lineno;
627
100k
    zend_emit_final_return(type == ZEND_USER_FUNCTION);
628
100k
    op_array->line_start = 1;
629
100k
    op_array->line_end = last_lineno;
630
100k
    pass_two(op_array);
631
100k
    zend_oparray_context_end(&original_oparray_context);
632
100k
    zend_file_context_end(&original_file_context);
633
634
100k
    CG(active_op_array) = original_active_op_array;
635
100k
  }
636
637
145k
  zend_ast_destroy(CG(ast));
638
145k
  zend_arena_destroy(CG(ast_arena));
639
640
145k
  CG(in_compilation) = original_in_compilation;
641
642
145k
  return op_array;
643
145k
}
644
645
ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type)
646
142k
{
647
142k
  zend_lex_state original_lex_state;
648
142k
  zend_op_array *op_array = NULL;
649
142k
  zend_save_lexical_state(&original_lex_state);
650
651
142k
  if (open_file_for_scanning(file_handle)==FAILURE) {
652
734
    if (!EG(exception)) {
653
701
      if (type==ZEND_REQUIRE) {
654
681
        zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, ZSTR_VAL(file_handle->filename));
655
681
      } else {
656
20
        zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, ZSTR_VAL(file_handle->filename));
657
20
      }
658
701
    }
659
141k
  } else {
660
141k
    bool orig_record_errors = EG(record_errors);
661
141k
    if (!orig_record_errors) {
662
48
      zend_begin_record_errors();
663
48
    }
664
665
141k
    op_array = zend_compile(ZEND_USER_FUNCTION);
666
667
141k
    if (!orig_record_errors) {
668
48
      zend_emit_recorded_errors();
669
48
      zend_free_recorded_errors();
670
48
    }
671
141k
  }
672
673
142k
  zend_restore_lexical_state(&original_lex_state);
674
142k
  return op_array;
675
142k
}
676
677
ZEND_API zend_ast *zend_compile_string_to_ast(
678
12
    zend_string *code, zend_arena **ast_arena, zend_string *filename) {
679
12
  zval code_zv;
680
12
  bool original_in_compilation;
681
12
  zend_lex_state original_lex_state;
682
12
  zend_ast *ast;
683
684
12
  ZVAL_STR_COPY(&code_zv, code);
685
686
12
  original_in_compilation = CG(in_compilation);
687
12
  CG(in_compilation) = 1;
688
689
12
  zend_save_lexical_state(&original_lex_state);
690
12
  zend_prepare_string_for_scanning(&code_zv, filename);
691
12
  CG(ast) = NULL;
692
12
  CG(ast_arena) = zend_arena_create(1024 * 32);
693
12
  LANG_SCNG(yy_state) = yycINITIAL;
694
695
12
  if (zendparse() != 0) {
696
0
    zend_ast_destroy(CG(ast));
697
0
    zend_arena_destroy(CG(ast_arena));
698
0
    CG(ast) = NULL;
699
0
  }
700
701
  /* restore_lexical_state changes CG(ast) and CG(ast_arena) */
702
12
  ast = CG(ast);
703
12
  *ast_arena = CG(ast_arena);
704
705
12
  zend_restore_lexical_state(&original_lex_state);
706
12
  CG(in_compilation) = original_in_compilation;
707
708
12
  zval_ptr_dtor_str(&code_zv);
709
710
12
  return ast;
711
12
}
712
713
zend_op_array *compile_filename(int type, zend_string *filename)
714
90.9k
{
715
90.9k
  zend_file_handle file_handle;
716
90.9k
  zend_op_array *retval;
717
90.9k
  zend_string *opened_path = NULL;
718
719
90.9k
  zend_stream_init_filename_ex(&file_handle, filename);
720
721
90.9k
  retval = zend_compile_file(&file_handle, type);
722
90.9k
  if (retval && file_handle.handle.stream.handle) {
723
45
    if (!file_handle.opened_path) {
724
2
      file_handle.opened_path = opened_path = zend_string_copy(filename);
725
2
    }
726
727
45
    zend_hash_add_empty_element(&EG(included_files), file_handle.opened_path);
728
729
45
    if (opened_path) {
730
2
      zend_string_release_ex(opened_path, 0);
731
2
    }
732
45
  }
733
90.9k
  zend_destroy_file_handle(&file_handle);
734
735
90.9k
  return retval;
736
90.9k
}
737
738
ZEND_API void zend_prepare_string_for_scanning(zval *str, zend_string *filename)
739
27.2k
{
740
27.2k
  char *buf;
741
27.2k
  size_t size, old_len;
742
743
  /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
744
27.2k
  old_len = Z_STRLEN_P(str);
745
27.2k
  Z_STR_P(str) = zend_string_extend(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
746
27.2k
  Z_TYPE_INFO_P(str) = IS_STRING_EX;
747
27.2k
  memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
748
749
27.2k
  SCNG(yy_in) = NULL;
750
27.2k
  SCNG(yy_start) = NULL;
751
752
27.2k
  buf = Z_STRVAL_P(str);
753
27.2k
  size = old_len;
754
755
27.2k
  if (CG(multibyte)) {
756
0
    SCNG(script_org) = (unsigned char*)buf;
757
0
    SCNG(script_org_size) = size;
758
0
    SCNG(script_filtered) = NULL;
759
760
0
    zend_multibyte_set_filter(zend_multibyte_get_internal_encoding());
761
762
0
    if (SCNG(input_filter)) {
763
0
      if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size))) {
764
0
        zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
765
0
            "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
766
0
      }
767
0
      buf = (char*)SCNG(script_filtered);
768
0
      size = SCNG(script_filtered_size);
769
0
    }
770
0
  }
771
772
27.2k
  yy_scan_buffer(buf, size);
773
27.2k
  zend_set_compiled_filename(filename);
774
27.2k
  CG(zend_lineno) = 1;
775
27.2k
  CG(increment_lineno) = 0;
776
27.2k
  SCNG(on_event) = NULL;
777
27.2k
  SCNG(on_event_context) = NULL;
778
27.2k
  RESET_DOC_COMMENT();
779
27.2k
}
780
781
782
ZEND_API size_t zend_get_scanned_file_offset(void)
783
67
{
784
67
  size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
785
67
  if (SCNG(input_filter)) {
786
0
    size_t original_offset = offset, length = 0;
787
0
    do {
788
0
      unsigned char *p = NULL;
789
0
      if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset)) {
790
0
        return (size_t)-1;
791
0
      }
792
0
      efree(p);
793
0
      if (length > original_offset) {
794
0
        offset--;
795
0
      } else if (length < original_offset) {
796
0
        offset++;
797
0
      }
798
0
    } while (original_offset != length);
799
0
  }
800
67
  return offset;
801
67
}
802
803
zend_op_array *compile_string(zend_string *source_string, const char *filename, zend_compile_position position)
804
4.18k
{
805
4.18k
  zend_lex_state original_lex_state;
806
4.18k
  zend_op_array *op_array = NULL;
807
4.18k
  zval tmp;
808
4.18k
  zend_string *filename_str;
809
810
4.18k
  if (ZSTR_LEN(source_string) == 0) {
811
70
    return NULL;
812
70
  }
813
814
4.11k
  ZVAL_STR_COPY(&tmp, source_string);
815
816
4.11k
  zend_save_lexical_state(&original_lex_state);
817
4.11k
  filename_str = zend_string_init(filename, strlen(filename), 0);
818
4.11k
  zend_prepare_string_for_scanning(&tmp, filename_str);
819
4.11k
  zend_string_release(filename_str);
820
821
4.11k
  switch (position) {
822
0
    case ZEND_COMPILE_POSITION_AT_SHEBANG:
823
0
      BEGIN(SHEBANG);
824
0
      break;
825
0
    case ZEND_COMPILE_POSITION_AT_OPEN_TAG:
826
0
      BEGIN(INITIAL);
827
0
      break;
828
4.11k
    case ZEND_COMPILE_POSITION_AFTER_OPEN_TAG:
829
4.11k
      BEGIN(ST_IN_SCRIPTING);
830
4.11k
      break;
831
4.11k
  }
832
833
4.11k
  op_array = zend_compile(ZEND_EVAL_CODE);
834
835
4.11k
  zend_restore_lexical_state(&original_lex_state);
836
4.11k
  zval_ptr_dtor(&tmp);
837
838
4.11k
  return op_array;
839
4.11k
}
840
841
842
zend_result highlight_file(const char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini)
843
0
{
844
0
  zend_lex_state original_lex_state;
845
0
  zend_file_handle file_handle;
846
847
0
  zend_stream_init_filename(&file_handle, filename);
848
0
  zend_save_lexical_state(&original_lex_state);
849
0
  if (open_file_for_scanning(&file_handle)==FAILURE) {
850
0
    zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
851
0
    zend_destroy_file_handle(&file_handle);
852
0
    zend_restore_lexical_state(&original_lex_state);
853
0
    return FAILURE;
854
0
  }
855
0
  zend_highlight(syntax_highlighter_ini);
856
0
  if (SCNG(script_filtered)) {
857
0
    efree(SCNG(script_filtered));
858
0
    SCNG(script_filtered) = NULL;
859
0
  }
860
0
  zend_destroy_file_handle(&file_handle);
861
0
  zend_restore_lexical_state(&original_lex_state);
862
0
  return SUCCESS;
863
0
}
864
865
void highlight_string(zend_string *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, const char *filename)
866
23.1k
{
867
23.1k
  zend_lex_state original_lex_state;
868
23.1k
  zval str_zv;
869
23.1k
  zend_string *filename_str = zend_string_init(filename, strlen(filename), 0);
870
23.1k
  ZVAL_STR_COPY(&str_zv, str);
871
23.1k
  zend_save_lexical_state(&original_lex_state);
872
23.1k
  zend_prepare_string_for_scanning(&str_zv, filename_str);
873
23.1k
  zend_string_release(filename_str);
874
23.1k
  BEGIN(INITIAL);
875
23.1k
  zend_highlight(syntax_highlighter_ini);
876
23.1k
  if (SCNG(script_filtered)) {
877
0
    efree(SCNG(script_filtered));
878
0
    SCNG(script_filtered) = NULL;
879
0
  }
880
23.1k
  zend_restore_lexical_state(&original_lex_state);
881
23.1k
  zval_ptr_dtor(&str_zv);
882
23.1k
}
883
884
ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding)
885
0
{
886
0
  size_t length;
887
0
  unsigned char *new_yy_start;
888
889
  /* convert and set */
890
0
  if (!SCNG(input_filter)) {
891
0
    if (SCNG(script_filtered)) {
892
0
      efree(SCNG(script_filtered));
893
0
      SCNG(script_filtered) = NULL;
894
0
    }
895
0
    SCNG(script_filtered_size) = 0;
896
0
    length = SCNG(script_org_size);
897
0
    new_yy_start = SCNG(script_org);
898
0
  } else {
899
0
    if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size))) {
900
0
      zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
901
0
          "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
902
0
    }
903
0
    if (SCNG(script_filtered)) {
904
0
      efree(SCNG(script_filtered));
905
0
    }
906
0
    SCNG(script_filtered) = new_yy_start;
907
0
    SCNG(script_filtered_size) = length;
908
0
  }
909
910
0
  SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
911
0
  SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
912
0
  SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
913
0
  SCNG(yy_limit) = new_yy_start + length;
914
915
0
  SCNG(yy_start) = new_yy_start;
916
0
}
917
918
919
// TODO: avoid reallocation ???
920
# define zend_copy_value(zendlval, yytext, yyleng) \
921
7.40M
  if (SCNG(output_filter)) { \
922
0
    size_t sz = 0; \
923
0
    char *s = NULL; \
924
0
    SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng); \
925
0
    ZVAL_STRINGL(zendlval, s, sz); \
926
0
    efree(s); \
927
7.40M
  } else if (yyleng == 1) { \
928
2.52M
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext))); \
929
4.88M
  } else { \
930
4.88M
    ZVAL_STRINGL(zendlval, yytext, yyleng); \
931
4.88M
  }
932
933
static zend_result zend_scan_escape_string(zval *zendlval, char *str, size_t len, char quote_type)
934
924k
{
935
924k
  char *s, *t;
936
924k
  char *end;
937
938
924k
  if (len <= 1) {
939
241k
    if (len < 1) {
940
25.8k
      ZVAL_EMPTY_STRING(zendlval);
941
215k
    } else {
942
215k
      zend_uchar c = (zend_uchar)*str;
943
215k
      HANDLE_NEWLINE(c);
944
215k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
945
215k
    }
946
241k
    goto skip_escape_conversion;
947
241k
  }
948
949
683k
  ZVAL_STRINGL(zendlval, str, len);
950
951
  /* convert escape sequences */
952
683k
  s = Z_STRVAL_P(zendlval);
953
683k
  end = s+Z_STRLEN_P(zendlval);
954
19.3M
  while (1) {
955
19.3M
    if (UNEXPECTED(*s=='\\')) {
956
142k
      break;
957
142k
    }
958
19.2M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
959
600k
      CG(zend_lineno)++;
960
600k
    }
961
19.2M
    s++;
962
19.2M
    if (s == end) {
963
540k
      goto skip_escape_conversion;
964
540k
    }
965
19.2M
  }
966
967
142k
  t = s;
968
4.85M
  while (s<end) {
969
4.71M
    if (*s=='\\') {
970
332k
      s++;
971
332k
      if (s >= end) {
972
1.72k
        *t++ = '\\';
973
1.72k
        break;
974
1.72k
      }
975
976
330k
      switch(*s) {
977
61.7k
        case 'n':
978
61.7k
          *t++ = '\n';
979
61.7k
          break;
980
1.74k
        case 'r':
981
1.74k
          *t++ = '\r';
982
1.74k
          break;
983
2.24k
        case 't':
984
2.24k
          *t++ = '\t';
985
2.24k
          break;
986
2.43k
        case 'f':
987
2.43k
          *t++ = '\f';
988
2.43k
          break;
989
2.58k
        case 'v':
990
2.58k
          *t++ = '\v';
991
2.58k
          break;
992
787
        case 'e':
993
#ifdef ZEND_WIN32
994
          *t++ = VK_ESCAPE;
995
#else
996
787
          *t++ = '\e';
997
787
#endif
998
787
          break;
999
1.53k
        case '"':
1000
3.20k
        case '`':
1001
3.20k
          if (*s != quote_type) {
1002
1.04k
            *t++ = '\\';
1003
1.04k
            *t++ = *s;
1004
1.04k
            break;
1005
1.04k
          }
1006
2.15k
          ZEND_FALLTHROUGH;
1007
98.7k
        case '\\':
1008
100k
        case '$':
1009
100k
          *t++ = *s;
1010
100k
          break;
1011
7.18k
        case 'x':
1012
9.49k
        case 'X':
1013
9.49k
          if (ZEND_IS_HEX(*(s+1))) {
1014
5.31k
            char hex_buf[3] = { 0, 0, 0 };
1015
1016
5.31k
            hex_buf[0] = *(++s);
1017
5.31k
            if (ZEND_IS_HEX(*(s+1))) {
1018
3.47k
              hex_buf[1] = *(++s);
1019
3.47k
            }
1020
5.31k
            *t++ = (char) ZEND_STRTOL(hex_buf, NULL, 16);
1021
5.31k
          } else {
1022
4.18k
            *t++ = '\\';
1023
4.18k
            *t++ = *s;
1024
4.18k
          }
1025
9.49k
          break;
1026
        /* UTF-8 codepoint escape, format: /\\u\{\x+\}/ */
1027
3.10k
        case 'u':
1028
3.10k
          {
1029
            /* cache where we started so we can parse after validating */
1030
3.10k
            char *start = s + 1;
1031
3.10k
            size_t len = 0;
1032
3.10k
            bool valid = 1;
1033
3.10k
            unsigned long codepoint;
1034
1035
3.10k
            if (*start != '{') {
1036
              /* we silently let this pass to avoid breaking code
1037
               * with JSON in string literals (e.g. "\"\u202e\""
1038
               */
1039
625
              *t++ = '\\';
1040
625
              *t++ = 'u';
1041
625
              break;
1042
2.48k
            } else {
1043
              /* on the other hand, invalid \u{blah} errors */
1044
2.48k
              s++;
1045
2.48k
              len++;
1046
2.48k
              s++;
1047
9.55k
              while (*s != '}') {
1048
7.95k
                if (!ZEND_IS_HEX(*s)) {
1049
877
                  valid = 0;
1050
877
                  break;
1051
7.07k
                } else {
1052
7.07k
                  len++;
1053
7.07k
                }
1054
7.07k
                s++;
1055
7.07k
              }
1056
2.48k
              if (*s == '}') {
1057
1.60k
                valid = 1;
1058
1.60k
                len++;
1059
1.60k
              }
1060
2.48k
            }
1061
1062
            /* \u{} is invalid */
1063
2.48k
            if (len <= 2) {
1064
849
              valid = 0;
1065
849
            }
1066
1067
2.48k
            if (!valid) {
1068
1.08k
              zend_throw_exception(zend_ce_parse_error,
1069
1.08k
                "Invalid UTF-8 codepoint escape sequence", 0);
1070
1.08k
              zval_ptr_dtor(zendlval);
1071
1.08k
              ZVAL_UNDEF(zendlval);
1072
1.08k
              return FAILURE;
1073
1.08k
            }
1074
1075
2.48k
            errno = 0;
1076
1.39k
            codepoint = strtoul(start + 1, NULL, 16);
1077
1078
            /* per RFC 3629, UTF-8 can only represent 21 bits */
1079
1.39k
            if (codepoint > 0x10FFFF || errno) {
1080
242
              zend_throw_exception(zend_ce_parse_error,
1081
242
                "Invalid UTF-8 codepoint escape sequence: Codepoint too large", 0);
1082
242
              zval_ptr_dtor(zendlval);
1083
242
              ZVAL_UNDEF(zendlval);
1084
242
              return FAILURE;
1085
242
            }
1086
1087
            /* based on https://en.wikipedia.org/wiki/UTF-8#Sample_code */
1088
1.15k
            if (codepoint < 0x80) {
1089
205
              *t++ = codepoint;
1090
949
            } else if (codepoint <= 0x7FF) {
1091
204
              *t++ = (codepoint >> 6) + 0xC0;
1092
204
              *t++ = (codepoint & 0x3F) + 0x80;
1093
745
            } else if (codepoint <= 0xFFFF) {
1094
527
              *t++ = (codepoint >> 12) + 0xE0;
1095
527
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1096
527
              *t++ = (codepoint & 0x3F) + 0x80;
1097
527
            } else if (codepoint <= 0x10FFFF) {
1098
218
              *t++ = (codepoint >> 18) + 0xF0;
1099
218
              *t++ = ((codepoint >> 12) & 0x3F) + 0x80;
1100
218
              *t++ = ((codepoint >> 6) & 0x3F) + 0x80;
1101
218
              *t++ = (codepoint & 0x3F) + 0x80;
1102
218
            }
1103
1.15k
          }
1104
0
          break;
1105
145k
        default:
1106
          /* check for an octal */
1107
145k
          if (ZEND_IS_OCT(*s)) {
1108
27.8k
            char octal_buf[4] = { 0, 0, 0, 0 };
1109
1110
27.8k
            octal_buf[0] = *s;
1111
27.8k
            if (ZEND_IS_OCT(*(s+1))) {
1112
6.27k
              octal_buf[1] = *(++s);
1113
6.27k
              if (ZEND_IS_OCT(*(s+1))) {
1114
3.48k
                octal_buf[2] = *(++s);
1115
3.48k
              }
1116
6.27k
            }
1117
27.8k
            if (octal_buf[2] && (octal_buf[0] > '3') && !SCNG(heredoc_scan_ahead)) {
1118
              /* 3 octit values must not overflow 0xFF (\377) */
1119
488
              zend_error(E_COMPILE_WARNING, "Octal escape sequence overflow \\%s is greater than \\377", octal_buf);
1120
488
            }
1121
1122
27.8k
            *t++ = (char) ZEND_STRTOL(octal_buf, NULL, 8);
1123
117k
          } else {
1124
117k
            *t++ = '\\';
1125
117k
            *t++ = *s;
1126
117k
          }
1127
145k
          break;
1128
330k
      }
1129
4.38M
    } else {
1130
4.38M
      *t++ = *s;
1131
4.38M
    }
1132
1133
4.70M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1134
147k
      CG(zend_lineno)++;
1135
147k
    }
1136
4.70M
    s++;
1137
4.70M
  }
1138
141k
  *t = 0;
1139
141k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1140
1141
923k
skip_escape_conversion:
1142
923k
  if (SCNG(output_filter)) {
1143
0
    size_t sz = 0;
1144
0
    unsigned char *str;
1145
    // TODO: avoid realocation ???
1146
0
    s = Z_STRVAL_P(zendlval);
1147
0
    SCNG(output_filter)(&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1148
0
    zval_ptr_dtor(zendlval);
1149
0
    ZVAL_STRINGL(zendlval, (char *) str, sz);
1150
0
    efree(str);
1151
0
  }
1152
923k
  return SUCCESS;
1153
141k
}
1154
1155
996k
#define HEREDOC_USING_SPACES 1
1156
85.6k
#define HEREDOC_USING_TABS 2
1157
1158
313k
static const char *next_newline(const char *str, const char *end, size_t *newline_len) {
1159
3.61M
  for (; str < end; str++) {
1160
3.47M
    if (*str == '\r') {
1161
24.0k
      *newline_len = str + 1 < end && *(str + 1) == '\n' ? 2 : 1;
1162
24.0k
      return str;
1163
3.45M
    } else if (*str == '\n') {
1164
150k
      *newline_len = 1;
1165
150k
      return str;
1166
150k
    }
1167
3.47M
  }
1168
138k
  *newline_len = 0;
1169
138k
  return NULL;
1170
313k
}
1171
1172
static bool strip_multiline_string_indentation(
1173
  zval *zendlval, int indentation, bool using_spaces,
1174
  bool newline_at_start, bool newline_at_end)
1175
134k
{
1176
134k
  const char *str = Z_STRVAL_P(zendlval), *end = str + Z_STRLEN_P(zendlval);
1177
134k
  char *copy = Z_STRVAL_P(zendlval);
1178
1179
134k
  uint32_t newline_count = 0;
1180
134k
  size_t newline_len;
1181
134k
  const char *nl;
1182
1183
134k
  if (!newline_at_start) {
1184
83.9k
    nl = next_newline(str, end, &newline_len);
1185
83.9k
    if (!nl) {
1186
49.7k
      return 1;
1187
49.7k
    }
1188
1189
34.2k
    str = nl + newline_len;
1190
34.2k
    copy = (char *) nl + newline_len;
1191
34.2k
    newline_count++;
1192
50.3k
  } else {
1193
50.3k
    nl = str;
1194
50.3k
  }
1195
1196
  /* <= intentional */
1197
270k
  while (str <= end && nl) {
1198
229k
    size_t skip;
1199
229k
    nl = next_newline(str, end, &newline_len);
1200
229k
    if (!nl && newline_at_end) {
1201
9.54k
      nl = end;
1202
9.54k
    }
1203
1204
    /* Try to skip indentation */
1205
232k
    for (skip = 0; skip < indentation; skip++, str++) {
1206
3.58k
      if (str == nl) {
1207
        /* Don't require full indentation on whitespace-only lines */
1208
416
        break;
1209
416
      }
1210
1211
3.16k
      if (str == end || (*str != ' ' && *str != '\t')) {
1212
90
        CG(zend_lineno) += newline_count;
1213
90
        zend_throw_exception_ex(zend_ce_parse_error, 0,
1214
90
          "Invalid body indentation level (expecting an indentation level of at least %d)", indentation);
1215
90
        goto error;
1216
90
      }
1217
1218
3.07k
      if ((!using_spaces && *str == ' ') || (using_spaces && *str == '\t')) {
1219
26
        CG(zend_lineno) += newline_count;
1220
26
        zend_throw_exception(zend_ce_parse_error,
1221
26
          "Invalid indentation - tabs and spaces cannot be mixed", 0);
1222
26
        goto error;
1223
26
      }
1224
3.07k
    }
1225
1226
229k
    if (str == end) {
1227
43.6k
      break;
1228
43.6k
    }
1229
1230
185k
    size_t len = nl ? (nl - str + newline_len) : (end - str);
1231
185k
    memmove(copy, str, len);
1232
185k
    str += len;
1233
185k
    copy += len;
1234
185k
    newline_count++;
1235
185k
  }
1236
1237
84.4k
  *copy = '\0';
1238
84.4k
  Z_STRLEN_P(zendlval) = copy - Z_STRVAL_P(zendlval);
1239
84.4k
  return 1;
1240
1241
116
error:
1242
116
  zval_ptr_dtor_str(zendlval);
1243
116
  ZVAL_UNDEF(zendlval);
1244
1245
116
  return 0;
1246
84.5k
}
1247
1248
static void copy_heredoc_label_stack(void *void_heredoc_label)
1249
2.68M
{
1250
2.68M
  zend_heredoc_label *heredoc_label = void_heredoc_label;
1251
2.68M
  zend_heredoc_label *new_heredoc_label = emalloc(sizeof(zend_heredoc_label));
1252
1253
2.68M
  *new_heredoc_label = *heredoc_label;
1254
2.68M
  new_heredoc_label->label = estrndup(heredoc_label->label, heredoc_label->length);
1255
1256
2.68M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) new_heredoc_label);
1257
2.68M
}
1258
1259
/* Check that { }, [ ], ( ) are nested correctly */
1260
static void report_bad_nesting(char opening, uint32_t opening_lineno, char closing)
1261
268k
{
1262
268k
  char   buf[256];
1263
268k
  size_t used = 0;
1264
1265
268k
  used = snprintf(buf, sizeof(buf), "Unclosed '%c'", opening);
1266
1267
268k
  if (opening_lineno != CG(zend_lineno)) {
1268
146k
    used += snprintf(buf + used, sizeof(buf) - used, " on line %d", opening_lineno);
1269
146k
  }
1270
1271
268k
  if (closing) {   /* 'closing' will be 0 if at end of file */
1272
109k
    used += snprintf(buf + used, sizeof(buf) - used, " does not match '%c'", closing);
1273
109k
  }
1274
1275
268k
  zend_throw_exception(zend_ce_parse_error, buf, 0);
1276
268k
}
1277
1278
static void enter_nesting(char opening)
1279
6.60M
{
1280
6.60M
  zend_nest_location nest_loc = {opening, CG(zend_lineno)};
1281
6.60M
  zend_stack_push(&SCNG(nest_location_stack), &nest_loc);
1282
6.60M
}
1283
1284
static zend_result exit_nesting(char closing)
1285
1.65M
{
1286
1.65M
  if (zend_stack_is_empty(&SCNG(nest_location_stack))) {
1287
14.6k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unmatched '%c'", closing);
1288
14.6k
    return FAILURE;
1289
14.6k
  }
1290
1291
1.63M
  zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1292
1.63M
  char opening = nest_loc->text;
1293
1294
1.63M
  if ((opening == '{' && closing != '}') ||
1295
1.59M
      (opening == '[' && closing != ']') ||
1296
1.58M
      (opening == '(' && closing != ')')) {
1297
109k
    report_bad_nesting(opening, nest_loc->lineno, closing);
1298
109k
    return FAILURE;
1299
109k
  }
1300
1301
1.52M
  zend_stack_del_top(&SCNG(nest_location_stack));
1302
1.52M
  return SUCCESS;
1303
1.63M
}
1304
1305
static zend_result check_nesting_at_end(void)
1306
277k
{
1307
277k
  if (!zend_stack_is_empty(&SCNG(nest_location_stack))) {
1308
158k
    zend_nest_location *nest_loc = zend_stack_top(&SCNG(nest_location_stack));
1309
158k
    report_bad_nesting(nest_loc->text, nest_loc->lineno, 0);
1310
158k
    return FAILURE;
1311
158k
  }
1312
1313
118k
  return SUCCESS;
1314
277k
}
1315
1316
#define PARSER_MODE() \
1317
21.6M
  EXPECTED(elem != NULL)
1318
1319
27.4M
#define RETURN_TOKEN(_token) do { \
1320
27.4M
    token = _token; \
1321
27.4M
    goto emit_token; \
1322
27.4M
  } while (0)
1323
1324
4.15M
#define RETURN_TOKEN_WITH_VAL(_token) do { \
1325
4.15M
    token = _token; \
1326
4.15M
    goto emit_token_with_val; \
1327
4.15M
  } while (0)
1328
1329
7.40M
#define RETURN_TOKEN_WITH_STR(_token, _offset) do { \
1330
7.40M
    token = _token; \
1331
7.40M
    offset = _offset; \
1332
7.40M
    goto emit_token_with_str; \
1333
7.40M
  } while (0)
1334
1335
1.39M
#define RETURN_TOKEN_WITH_IDENT(_token) do { \
1336
1.39M
    token = _token; \
1337
1.39M
    goto emit_token_with_ident; \
1338
1.39M
  } while (0)
1339
1340
1.16M
#define RETURN_OR_SKIP_TOKEN(_token) do { \
1341
1.16M
    token = _token; \
1342
1.16M
    if (PARSER_MODE()) { \
1343
309k
      goto skip_token; \
1344
309k
    } \
1345
1.16M
    goto emit_token; \
1346
1.16M
  } while (0)
1347
1348
1.65M
#define RETURN_EXIT_NESTING_TOKEN(_token) do { \
1349
1.65M
    if (exit_nesting(_token) != SUCCESS && PARSER_MODE()) { \
1350
392
      RETURN_TOKEN(T_ERROR); \
1351
1.65M
    } else { \
1352
1.65M
      RETURN_TOKEN(_token); \
1353
1.65M
    } \
1354
1.65M
  } while(0)
1355
1356
277k
#define RETURN_END_TOKEN do { \
1357
277k
    if (check_nesting_at_end() != SUCCESS && PARSER_MODE()) { \
1358
6.19k
      RETURN_TOKEN(T_ERROR); \
1359
270k
    } else { \
1360
270k
      RETURN_TOKEN(END); \
1361
270k
    } \
1362
277k
  } while (0)
1363
1364
int ZEND_FASTCALL lex_scan(zval *zendlval, zend_parser_stack_elem *elem)
1365
45.0M
{
1366
45.0M
int token;
1367
45.0M
int offset;
1368
45.0M
uint32_t start_line = CG(zend_lineno);
1369
1370
45.0M
  ZVAL_UNDEF(zendlval);
1371
52.0M
restart:
1372
52.0M
  SCNG(yy_text) = YYCURSOR;
1373
1374
1375
52.0M
#line 1376 "Zend/zend_language_scanner.c"
1376
52.0M
{
1377
52.0M
  YYCTYPE yych;
1378
52.0M
  unsigned int yyaccept = 0;
1379
52.0M
  if (YYGETCONDITION() < 5) {
1380
47.3M
    if (YYGETCONDITION() < 2) {
1381
40.1M
      if (YYGETCONDITION() < 1) {
1382
39.6M
        goto yyc_ST_IN_SCRIPTING;
1383
39.6M
      } else {
1384
490k
        goto yyc_ST_LOOKING_FOR_PROPERTY;
1385
490k
      }
1386
40.1M
    } else {
1387
7.18M
      if (YYGETCONDITION() < 3) {
1388
266k
        goto yyc_ST_BACKQUOTE;
1389
6.91M
      } else {
1390
6.91M
        if (YYGETCONDITION() < 4) {
1391
826k
          goto yyc_ST_DOUBLE_QUOTES;
1392
6.09M
        } else {
1393
6.09M
          goto yyc_ST_HEREDOC;
1394
6.09M
        }
1395
6.91M
      }
1396
7.18M
    }
1397
47.3M
  } else {
1398
4.72M
    if (YYGETCONDITION() < 8) {
1399
4.20M
      if (YYGETCONDITION() < 6) {
1400
3.77M
        goto yyc_ST_LOOKING_FOR_VARNAME;
1401
3.77M
      } else {
1402
432k
        if (YYGETCONDITION() < 7) {
1403
432k
          goto yyc_ST_VAR_OFFSET;
1404
432k
        } else {
1405
0
          goto yyc_SHEBANG;
1406
0
        }
1407
432k
      }
1408
4.20M
    } else {
1409
524k
      if (YYGETCONDITION() < 9) {
1410
479k
        goto yyc_INITIAL;
1411
479k
      } else {
1412
44.3k
        if (YYGETCONDITION() < 10) {
1413
30.4k
          goto yyc_ST_END_HEREDOC;
1414
30.4k
        } else {
1415
13.8k
          goto yyc_ST_NOWDOC;
1416
13.8k
        }
1417
44.3k
      }
1418
524k
    }
1419
4.72M
  }
1420
/* *********************************** */
1421
39.6M
yyc_ST_IN_SCRIPTING:
1422
39.6M
  {
1423
39.6M
    static const unsigned char yybm[] = {
1424
      /* table 1 .. 8: 0 */
1425
39.6M
        0, 134, 134, 134, 134, 134, 134, 134, 
1426
39.6M
      134, 135,   4, 134, 134,   4, 134, 134, 
1427
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1428
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1429
39.6M
      135, 134, 134, 134, 134, 134, 134, 134, 
1430
39.6M
      134, 134,  66, 134, 134, 134, 134, 134, 
1431
39.6M
      190, 190, 182, 182, 182, 182, 182, 182, 
1432
39.6M
      166, 166, 134, 134, 134, 134, 134, 134, 
1433
39.6M
      134, 166, 166, 166, 166, 166, 166, 134, 
1434
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1435
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1436
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1437
39.6M
      134, 166, 166, 166, 166, 166, 166, 134, 
1438
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1439
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1440
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1441
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1442
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1443
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1444
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1445
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1446
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1447
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1448
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1449
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1450
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1451
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1452
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1453
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1454
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1455
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1456
39.6M
      134, 134, 134, 134, 134, 134, 134, 134, 
1457
      /* table 9 .. 11: 256 */
1458
39.6M
        0,   0,   0,   0,   0,   0,   0,   0, 
1459
39.6M
        0,  32,  32,   0,   0,  32,   0,   0, 
1460
39.6M
        0,   0,   0,   0,   0,   0,   0,   0, 
1461
39.6M
        0,   0,   0,   0,   0,   0,   0,   0, 
1462
39.6M
       32,   0,   0,   0,   0,   0,   0,   0, 
1463
39.6M
        0,   0,   0,   0,   0,   0,   0,   0, 
1464
39.6M
      192, 192, 192, 192, 192, 192, 192, 192, 
1465
39.6M
      192, 192,   0,   0,   0,   0,   0,   0, 
1466
39.6M
        0, 128, 128, 128, 128, 128, 128, 128, 
1467
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1468
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1469
39.6M
      128, 128, 128,   0,   0,   0,   0, 128, 
1470
39.6M
        0, 128, 128, 128, 128, 128, 128, 128, 
1471
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1472
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1473
39.6M
      128, 128, 128,   0,   0,   0,   0,   0, 
1474
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1475
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1476
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1477
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1478
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1479
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1480
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1481
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1482
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1483
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1484
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1485
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1486
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1487
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1488
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1489
39.6M
      128, 128, 128, 128, 128, 128, 128, 128, 
1490
39.6M
    };
1491
39.6M
    YYDEBUG(1, *YYCURSOR);
1492
39.6M
    YYFILL(16);
1493
39.6M
    yych = *YYCURSOR;
1494
39.6M
    if (yybm[256+yych] & 32) {
1495
6.66M
      goto yy5;
1496
6.66M
    }
1497
33.0M
    switch (yych) {
1498
4.45M
    case 0x00:
1499
4.58M
    case 0x01:
1500
4.62M
    case 0x02:
1501
4.67M
    case 0x03:
1502
4.81M
    case 0x04:
1503
4.85M
    case 0x05:
1504
4.88M
    case 0x06:
1505
4.93M
    case 0x07:
1506
4.99M
    case 0x08:
1507
4.99M
    case '\t':
1508
4.99M
    case '\n':
1509
5.04M
    case '\v':
1510
5.08M
    case '\f':
1511
5.08M
    case '\r':
1512
5.11M
    case 0x0E:
1513
5.15M
    case 0x0F:
1514
5.19M
    case 0x10:
1515
5.24M
    case 0x11:
1516
5.26M
    case 0x12:
1517
5.31M
    case 0x13:
1518
5.33M
    case 0x14:
1519
5.34M
    case 0x15:
1520
5.36M
    case 0x16:
1521
5.38M
    case 0x17:
1522
5.39M
    case 0x18:
1523
5.41M
    case 0x19:
1524
5.43M
    case 0x1A:
1525
5.44M
    case 0x1B:
1526
5.85M
    case 0x1C:
1527
5.93M
    case 0x1D:
1528
5.96M
    case 0x1E:
1529
5.99M
    case 0x1F:
1530
6.03M
    case 0x7F:  goto yy3;
1531
0
    case ' ':
1532
174k
    case '!': goto yy8;
1533
391k
    case '"': goto yy10;
1534
701k
    case '#': goto yy12;
1535
2.05M
    case '$': goto yy14;
1536
71.1k
    case '%': goto yy15;
1537
211k
    case '&': goto yy16;
1538
383k
    case '\'':  goto yy18;
1539
1.28M
    case '(': goto yy20;
1540
910k
    case ')':
1541
1.20M
    case ']': goto yy22;
1542
124k
    case '*': goto yy24;
1543
165k
    case '+': goto yy25;
1544
865k
    case ',':
1545
1.97M
    case ';':
1546
2.73M
    case '@':
1547
2.80M
    case '~': goto yy26;
1548
375k
    case '-': goto yy27;
1549
437k
    case '.': goto yy28;
1550
357k
    case '/': goto yy29;
1551
262k
    case '0': goto yy30;
1552
234k
    case '1':
1553
396k
    case '2':
1554
503k
    case '3':
1555
651k
    case '4':
1556
730k
    case '5':
1557
777k
    case '6':
1558
812k
    case '7':
1559
871k
    case '8':
1560
913k
    case '9': goto yy32;
1561
239k
    case ':': goto yy34;
1562
5.05M
    case '<': goto yy35;
1563
673k
    case '=': goto yy36;
1564
74.5k
    case '>': goto yy37;
1565
615k
    case '?': goto yy38;
1566
78.2k
    case 'A':
1567
254k
    case 'a': goto yy39;
1568
57.0k
    case 'B':
1569
118k
    case 'b': goto yy41;
1570
78.2k
    case 'C':
1571
402k
    case 'c': goto yy42;
1572
74.0k
    case 'D':
1573
157k
    case 'd': goto yy43;
1574
101k
    case 'E':
1575
615k
    case 'e': goto yy44;
1576
62.2k
    case 'F':
1577
476k
    case 'f': goto yy45;
1578
12.7k
    case 'G':
1579
83.6k
    case 'g': goto yy46;
1580
69.3k
    case 'I':
1581
328k
    case 'i': goto yy49;
1582
17.2k
    case 'L':
1583
75.7k
    case 'l': goto yy50;
1584
20.1k
    case 'M':
1585
84.4k
    case 'm': goto yy51;
1586
40.7k
    case 'N':
1587
253k
    case 'n': goto yy52;
1588
45.4k
    case 'O':
1589
144k
    case 'o': goto yy53;
1590
79.4k
    case 'P':
1591
532k
    case 'p': goto yy54;
1592
20.3k
    case 'R':
1593
165k
    case 'r': goto yy55;
1594
29.3k
    case 'S':
1595
220k
    case 's': goto yy56;
1596
53.1k
    case 'T':
1597
262k
    case 't': goto yy57;
1598
8.50k
    case 'U':
1599
82.8k
    case 'u': goto yy58;
1600
16.2k
    case 'V':
1601
161k
    case 'v': goto yy59;
1602
20.6k
    case 'W':
1603
39.2k
    case 'w': goto yy60;
1604
23.4k
    case 'X':
1605
42.1k
    case 'x': goto yy61;
1606
14.2k
    case 'Y':
1607
144k
    case 'y': goto yy62;
1608
335k
    case '[': goto yy63;
1609
202k
    case '\\':  goto yy64;
1610
111k
    case '^': goto yy66;
1611
202k
    case '_': goto yy67;
1612
67.7k
    case '`': goto yy68;
1613
1.14M
    case '{': goto yy70;
1614
125k
    case '|': goto yy72;
1615
447k
    case '}': goto yy73;
1616
1.12M
    default:  goto yy47;
1617
33.0M
    }
1618
6.03M
yy3:
1619
6.03M
    YYDEBUG(3, *YYCURSOR);
1620
6.03M
    ++YYCURSOR;
1621
6.03M
    YYDEBUG(4, *YYCURSOR);
1622
6.03M
    yyleng = YYCURSOR - SCNG(yy_text);
1623
6.03M
#line 3179 "Zend/zend_language_scanner.l"
1624
6.03M
    {
1625
6.03M
  if (YYCURSOR > YYLIMIT) {
1626
156k
    RETURN_END_TOKEN;
1627
156k
  }
1628
1629
5.87M
  RETURN_TOKEN(T_BAD_CHARACTER);
1630
5.87M
}
1631
0
#line 1632 "Zend/zend_language_scanner.c"
1632
10.4M
yy5:
1633
10.4M
    YYDEBUG(5, *YYCURSOR);
1634
10.4M
    ++YYCURSOR;
1635
10.4M
    YYFILL(1);
1636
10.4M
    yych = *YYCURSOR;
1637
10.4M
    YYDEBUG(6, *YYCURSOR);
1638
10.4M
    if (yybm[256+yych] & 32) {
1639
3.74M
      goto yy5;
1640
3.74M
    }
1641
6.66M
    YYDEBUG(7, *YYCURSOR);
1642
6.66M
    yyleng = YYCURSOR - SCNG(yy_text);
1643
6.66M
#line 1597 "Zend/zend_language_scanner.l"
1644
6.66M
    {
1645
6.66M
  goto return_whitespace;
1646
10.4M
}
1647
0
#line 1648 "Zend/zend_language_scanner.c"
1648
174k
yy8:
1649
174k
    YYDEBUG(8, *YYCURSOR);
1650
174k
    yych = *++YYCURSOR;
1651
174k
    if (yych == '=') goto yy75;
1652
6.75M
yy9:
1653
6.75M
    YYDEBUG(9, *YYCURSOR);
1654
6.75M
    yyleng = YYCURSOR - SCNG(yy_text);
1655
6.75M
#line 1969 "Zend/zend_language_scanner.l"
1656
6.75M
    {
1657
6.75M
  RETURN_TOKEN(yytext[0]);
1658
6.75M
}
1659
0
#line 1660 "Zend/zend_language_scanner.c"
1660
393k
yy10:
1661
393k
    YYDEBUG(10, *YYCURSOR);
1662
393k
    ++YYCURSOR;
1663
393k
    YYDEBUG(11, *YYCURSOR);
1664
393k
    yyleng = YYCURSOR - SCNG(yy_text);
1665
393k
#line 2632 "Zend/zend_language_scanner.l"
1666
393k
    {
1667
393k
  int bprefix = (yytext[0] != '"') ? 1 : 0;
1668
1669
9.76M
  while (YYCURSOR < YYLIMIT) {
1670
9.75M
    switch (*YYCURSOR++) {
1671
276k
      case '"':
1672
276k
        yyleng = YYCURSOR - SCNG(yy_text);
1673
276k
        if (EXPECTED(zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"') == SUCCESS)
1674
276k
         || !PARSER_MODE()) {
1675
276k
          RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1676
276k
        } else {
1677
6
          RETURN_TOKEN(T_ERROR);
1678
6
        }
1679
158k
      case '$':
1680
158k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
1681
103k
          break;
1682
103k
        }
1683
55.2k
        continue;
1684
55.2k
      case '{':
1685
37.0k
        if (*YYCURSOR == '$') {
1686
3.57k
          break;
1687
3.57k
        }
1688
33.4k
        continue;
1689
241k
      case '\\':
1690
241k
        if (YYCURSOR < YYLIMIT) {
1691
240k
          YYCURSOR++;
1692
240k
        }
1693
241k
        ZEND_FALLTHROUGH;
1694
9.28M
      default:
1695
9.28M
        continue;
1696
9.75M
    }
1697
1698
106k
    YYCURSOR--;
1699
106k
    break;
1700
9.75M
  }
1701
1702
  /* Remember how much was scanned to save rescanning */
1703
393k
  SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
1704
1705
116k
  YYCURSOR = SCNG(yy_text) + yyleng;
1706
1707
116k
  BEGIN(ST_DOUBLE_QUOTES);
1708
116k
  RETURN_TOKEN('"');
1709
116k
}
1710
0
#line 1711 "Zend/zend_language_scanner.c"
1711
701k
yy12:
1712
701k
    YYDEBUG(12, *YYCURSOR);
1713
701k
    yych = *++YYCURSOR;
1714
701k
    if (yych == '[') goto yy77;
1715
761k
yy13:
1716
761k
    YYDEBUG(13, *YYCURSOR);
1717
761k
    yyleng = YYCURSOR - SCNG(yy_text);
1718
761k
#line 2460 "Zend/zend_language_scanner.l"
1719
761k
    {
1720
8.03M
  while (YYCURSOR < YYLIMIT) {
1721
8.02M
    switch (*YYCURSOR++) {
1722
196k
      case '\r':
1723
750k
      case '\n':
1724
750k
        YYCURSOR--;
1725
750k
        break;
1726
42.1k
      case '?':
1727
42.1k
        if (*YYCURSOR == '>') {
1728
3.14k
          YYCURSOR--;
1729
3.14k
          break;
1730
3.14k
        }
1731
39.0k
        ZEND_FALLTHROUGH;
1732
7.27M
      default:
1733
7.27M
        continue;
1734
8.02M
    }
1735
1736
753k
    break;
1737
8.02M
  }
1738
1739
761k
  yyleng = YYCURSOR - SCNG(yy_text);
1740
761k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
1741
761k
}
1742
0
#line 1743 "Zend/zend_language_scanner.c"
1743
2.05M
yy14:
1744
2.05M
    YYDEBUG(14, *YYCURSOR);
1745
2.05M
    yych = *++YYCURSOR;
1746
2.05M
    if (yych <= '_') {
1747
443k
      if (yych <= '@') goto yy9;
1748
42.6k
      if (yych <= 'Z') goto yy79;
1749
10.3k
      if (yych <= '^') goto yy9;
1750
4.44k
      goto yy79;
1751
1.61M
    } else {
1752
1.61M
      if (yych <= '`') goto yy9;
1753
1.61M
      if (yych <= 'z') goto yy79;
1754
492k
      if (yych <= 0x7F) goto yy9;
1755
87.5k
      goto yy79;
1756
492k
    }
1757
71.1k
yy15:
1758
71.1k
    YYDEBUG(15, *YYCURSOR);
1759
71.1k
    yych = *++YYCURSOR;
1760
71.1k
    if (yych == '=') goto yy82;
1761
66.7k
    goto yy9;
1762
211k
yy16:
1763
211k
    YYDEBUG(16, *YYCURSOR);
1764
211k
    yyaccept = 0;
1765
211k
    yych = *(YYMARKER = ++YYCURSOR);
1766
211k
    if (yych <= '"') {
1767
67.2k
      if (yych <= '\f') {
1768
39.0k
        if (yych <= 0x08) goto yy17;
1769
36.0k
        if (yych <= '\n') goto yy85;
1770
36.0k
      } else {
1771
28.2k
        if (yych <= '\r') goto yy85;
1772
22.1k
        if (yych == ' ') goto yy85;
1773
22.1k
      }
1774
144k
    } else {
1775
144k
      if (yych <= '-') {
1776
46.3k
        if (yych <= '$') goto yy85;
1777
28.1k
        if (yych == '&') goto yy90;
1778
98.1k
      } else {
1779
98.1k
        if (yych <= '/') goto yy85;
1780
93.8k
        if (yych == '=') goto yy94;
1781
93.8k
      }
1782
144k
    }
1783
137k
yy17:
1784
137k
    YYDEBUG(17, *YYCURSOR);
1785
137k
    yyleng = YYCURSOR - SCNG(yy_text);
1786
137k
#line 1955 "Zend/zend_language_scanner.l"
1787
137k
    {
1788
137k
  RETURN_TOKEN(T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG);
1789
137k
}
1790
0
#line 1791 "Zend/zend_language_scanner.c"
1791
383k
yy18:
1792
383k
    YYDEBUG(18, *YYCURSOR);
1793
383k
    ++YYCURSOR;
1794
383k
    YYDEBUG(19, *YYCURSOR);
1795
383k
    yyleng = YYCURSOR - SCNG(yy_text);
1796
383k
#line 2538 "Zend/zend_language_scanner.l"
1797
383k
    {
1798
383k
  char *s, *t;
1799
383k
  char *end;
1800
383k
  int bprefix = (yytext[0] != '\'') ? 1 : 0;
1801
1802
46.4M
  while (1) {
1803
46.4M
    if (YYCURSOR < YYLIMIT) {
1804
46.4M
      if (*YYCURSOR == '\'') {
1805
371k
        YYCURSOR++;
1806
371k
        yyleng = YYCURSOR - SCNG(yy_text);
1807
1808
371k
        break;
1809
46.0M
      } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
1810
144k
        YYCURSOR++;
1811
144k
      }
1812
46.4M
    } else {
1813
12.1k
      yyleng = YYLIMIT - SCNG(yy_text);
1814
1815
      /* Unclosed single quotes; treat similar to double quotes, but without a separate token
1816
       * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
1817
       * rule, which continued in ST_IN_SCRIPTING state after the quote */
1818
12.1k
      ZVAL_NULL(zendlval);
1819
12.1k
      RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
1820
12.1k
    }
1821
46.4M
  }
1822
1823
371k
  if (yyleng-bprefix-2 <= 1) {
1824
64.3k
    if (yyleng-bprefix-2 < 1) {
1825
16.8k
      ZVAL_EMPTY_STRING(zendlval);
1826
47.5k
    } else {
1827
47.5k
      zend_uchar c = (zend_uchar)*(yytext+bprefix+1);
1828
47.5k
      HANDLE_NEWLINE(c);
1829
47.5k
      ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR(c));
1830
47.5k
    }
1831
64.3k
    goto skip_escape_conversion;
1832
64.3k
  }
1833
307k
  ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
1834
1835
  /* convert escape sequences */
1836
307k
  s = Z_STRVAL_P(zendlval);
1837
307k
  end = s+Z_STRLEN_P(zendlval);
1838
32.4M
  while (1) {
1839
32.4M
    if (UNEXPECTED(*s=='\\')) {
1840
50.3k
      break;
1841
50.3k
    }
1842
32.3M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1843
627k
      CG(zend_lineno)++;
1844
627k
    }
1845
32.3M
    s++;
1846
32.3M
    if (s == end) {
1847
257k
      goto skip_escape_conversion;
1848
257k
    }
1849
32.3M
  }
1850
1851
50.3k
  t = s;
1852
12.7M
  while (s<end) {
1853
12.7M
    if (*s=='\\') {
1854
140k
      s++;
1855
140k
      if (*s == '\\' || *s == '\'') {
1856
49.0k
        *t++ = *s;
1857
91.3k
      } else {
1858
91.3k
        *t++ = '\\';
1859
91.3k
        *t++ = *s;
1860
91.3k
      }
1861
12.5M
    } else {
1862
12.5M
      *t++ = *s;
1863
12.5M
    }
1864
12.7M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
1865
244k
      CG(zend_lineno)++;
1866
244k
    }
1867
12.7M
    s++;
1868
12.7M
  }
1869
50.3k
  *t = 0;
1870
50.3k
  Z_STRLEN_P(zendlval) = t - Z_STRVAL_P(zendlval);
1871
1872
371k
skip_escape_conversion:
1873
371k
  if (SCNG(output_filter)) {
1874
0
    size_t sz = 0;
1875
0
    char *str = NULL;
1876
0
    zend_string *new_str;
1877
0
    s = Z_STRVAL_P(zendlval);
1878
    // TODO: avoid reallocation ???
1879
0
    SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, Z_STRLEN_P(zendlval));
1880
0
    new_str = zend_string_init(str, sz, 0);
1881
0
    if (str != s) {
1882
0
      efree(str);
1883
0
    }
1884
0
    zend_string_release_ex(Z_STR_P(zendlval), 0);
1885
0
    ZVAL_STR(zendlval, new_str);
1886
0
  }
1887
371k
  RETURN_TOKEN_WITH_VAL(T_CONSTANT_ENCAPSED_STRING);
1888
371k
}
1889
0
#line 1890 "Zend/zend_language_scanner.c"
1890
1.28M
yy20:
1891
1.28M
    YYDEBUG(20, *YYCURSOR);
1892
1.28M
    yyaccept = 1;
1893
1.28M
    yych = *(YYMARKER = ++YYCURSOR);
1894
1.28M
    if (yych <= 'S') {
1895
925k
      if (yych <= 'D') {
1896
861k
        if (yych <= ' ') {
1897
115k
          if (yych == '\t') goto yy97;
1898
106k
          if (yych >= ' ') goto yy97;
1899
746k
        } else {
1900
746k
          if (yych <= '@') goto yy21;
1901
20.6k
          if (yych != 'C') goto yy97;
1902
20.6k
        }
1903
861k
      } else {
1904
63.3k
        if (yych <= 'I') {
1905
47.7k
          if (yych == 'F') goto yy97;
1906
44.7k
          if (yych >= 'I') goto yy97;
1907
44.7k
        } else {
1908
15.6k
          if (yych == 'O') goto yy97;
1909
13.3k
          if (yych >= 'R') goto yy97;
1910
13.3k
        }
1911
63.3k
      }
1912
925k
    } else {
1913
355k
      if (yych <= 'f') {
1914
151k
        if (yych <= 'b') {
1915
101k
          if (yych <= 'T') goto yy21;
1916
91.9k
          if (yych <= 'V') goto yy97;
1917
89.4k
          if (yych >= 'a') goto yy97;
1918
89.4k
        } else {
1919
49.8k
          if (yych == 'd') goto yy97;
1920
43.4k
          if (yych >= 'f') goto yy97;
1921
43.4k
        }
1922
204k
      } else {
1923
204k
        if (yych <= 'o') {
1924
83.3k
          if (yych == 'i') goto yy97;
1925
47.4k
          if (yych >= 'o') goto yy97;
1926
121k
        } else {
1927
121k
          if (yych <= 's') {
1928
54.0k
            if (yych >= 'r') goto yy97;
1929
66.9k
          } else {
1930
66.9k
            if (yych <= 't') goto yy21;
1931
58.8k
            if (yych <= 'v') goto yy97;
1932
58.8k
          }
1933
121k
        }
1934
204k
      }
1935
355k
    }
1936
1.60M
yy21:
1937
1.60M
    YYDEBUG(21, *YYCURSOR);
1938
1.60M
    yyleng = YYCURSOR - SCNG(yy_text);
1939
1.60M
#line 1964 "Zend/zend_language_scanner.l"
1940
1.60M
    {
1941
1.60M
  enter_nesting(yytext[0]);
1942
1.60M
  RETURN_TOKEN(yytext[0]);
1943
1.60M
}
1944
0
#line 1945 "Zend/zend_language_scanner.c"
1945
1.20M
yy22:
1946
1.20M
    YYDEBUG(22, *YYCURSOR);
1947
1.20M
    ++YYCURSOR;
1948
1.20M
    YYDEBUG(23, *YYCURSOR);
1949
1.20M
    yyleng = YYCURSOR - SCNG(yy_text);
1950
1.20M
#line 1959 "Zend/zend_language_scanner.l"
1951
1.20M
    {
1952
  /* Check that ] and ) match up properly with a preceding [ or ( */
1953
1.20M
  RETURN_EXIT_NESTING_TOKEN(yytext[0]);
1954
1.20M
}
1955
0
#line 1956 "Zend/zend_language_scanner.c"
1956
124k
yy24:
1957
124k
    YYDEBUG(24, *YYCURSOR);
1958
124k
    yych = *++YYCURSOR;
1959
124k
    if (yych == '*') goto yy108;
1960
101k
    if (yych == '=') goto yy110;
1961
94.1k
    goto yy9;
1962
165k
yy25:
1963
165k
    YYDEBUG(25, *YYCURSOR);
1964
165k
    yych = *++YYCURSOR;
1965
165k
    if (yych == '+') goto yy112;
1966
119k
    if (yych == '=') goto yy114;
1967
113k
    goto yy9;
1968
2.80M
yy26:
1969
2.80M
    YYDEBUG(26, *YYCURSOR);
1970
2.80M
    ++YYCURSOR;
1971
2.80M
    goto yy9;
1972
375k
yy27:
1973
375k
    YYDEBUG(27, *YYCURSOR);
1974
375k
    yych = *++YYCURSOR;
1975
375k
    if (yych <= '<') {
1976
151k
      if (yych == '-') goto yy116;
1977
138k
      goto yy9;
1978
223k
    } else {
1979
223k
      if (yych <= '=') goto yy118;
1980
220k
      if (yych <= '>') goto yy120;
1981
84.0k
      goto yy9;
1982
220k
    }
1983
437k
yy28:
1984
437k
    YYDEBUG(28, *YYCURSOR);
1985
437k
    yyaccept = 2;
1986
437k
    yych = *(YYMARKER = ++YYCURSOR);
1987
437k
    if (yych <= '/') {
1988
178k
      if (yych == '.') goto yy122;
1989
124k
      goto yy9;
1990
259k
    } else {
1991
259k
      if (yych <= '9') goto yy123;
1992
222k
      if (yych == '=') goto yy126;
1993
65.3k
      goto yy9;
1994
222k
    }
1995
357k
yy29:
1996
357k
    YYDEBUG(29, *YYCURSOR);
1997
357k
    yych = *++YYCURSOR;
1998
357k
    if (yych <= '.') {
1999
185k
      if (yych == '*') goto yy128;
2000
41.6k
      goto yy9;
2001
185k
    } else {
2002
171k
      if (yych <= '/') goto yy130;
2003
88.8k
      if (yych == '=') goto yy131;
2004
86.0k
      goto yy9;
2005
88.8k
    }
2006
262k
yy30:
2007
262k
    YYDEBUG(30, *YYCURSOR);
2008
262k
    yyaccept = 3;
2009
262k
    yych = *(YYMARKER = ++YYCURSOR);
2010
262k
    if (yych <= 'X') {
2011
181k
      if (yych <= 'N') {
2012
176k
        if (yych == 'B') goto yy134;
2013
175k
        goto yy33;
2014
176k
      } else {
2015
4.75k
        if (yych <= 'O') goto yy136;
2016
3.48k
        if (yych <= 'W') goto yy33;
2017
2.23k
        goto yy137;
2018
3.48k
      }
2019
181k
    } else {
2020
80.8k
      if (yych <= 'n') {
2021
51.5k
        if (yych == 'b') goto yy134;
2022
48.0k
        goto yy33;
2023
51.5k
      } else {
2024
29.3k
        if (yych <= 'o') goto yy136;
2025
27.1k
        if (yych == 'x') goto yy137;
2026
21.9k
        goto yy33;
2027
27.1k
      }
2028
80.8k
    }
2029
1.07M
yy31:
2030
1.07M
    YYDEBUG(31, *YYCURSOR);
2031
1.07M
    yyleng = YYCURSOR - SCNG(yy_text);
2032
1.07M
#line 2103 "Zend/zend_language_scanner.l"
2033
1.07M
    {
2034
1.07M
  size_t len = yyleng;
2035
1.07M
  char *end, *lnum = yytext;
2036
1.07M
  bool is_octal = lnum[0] == '0';
2037
1.07M
  bool contains_underscores = (memchr(lnum, '_', len) != NULL);
2038
2039
1.07M
  if (contains_underscores) {
2040
1.88k
    lnum = estrndup(lnum, len);
2041
1.88k
    strip_underscores(lnum, &len);
2042
1.88k
  }
2043
2044
  /* Digits 8 and 9 are illegal in octal literals. */
2045
1.07M
  if (is_octal) {
2046
232k
    size_t i;
2047
654k
    for (i = 0; i < len; i++) {
2048
426k
      if (lnum[i] == '8' || lnum[i] == '9') {
2049
3.21k
        zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0);
2050
3.21k
        if (PARSER_MODE()) {
2051
44
          if (contains_underscores) {
2052
10
            efree(lnum);
2053
10
          }
2054
44
          ZVAL_UNDEF(zendlval);
2055
44
          RETURN_TOKEN(T_ERROR);
2056
44
        }
2057
2058
        /* Continue in order to determine if this is T_LNUMBER or T_DNUMBER. */
2059
3.16k
        len = i;
2060
3.16k
        break;
2061
3.21k
      }
2062
426k
    }
2063
232k
  }
2064
2065
2066
1.07M
  if (len < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
2067
1.03M
    errno = 0;
2068
    /* base must be passed explicitly for correct parse error on Windows */
2069
1.03M
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, is_octal ? 8 : 10));
2070
1.03M
    ZEND_ASSERT(end == lnum + len);
2071
1.03M
  } else {
2072
40.0k
    errno = 0;
2073
40.0k
    ZVAL_LONG(zendlval, ZEND_STRTOL(lnum, &end, 0));
2074
40.0k
    if (errno == ERANGE) { /* Overflow */
2075
34.2k
      errno = 0;
2076
34.2k
      if (is_octal) { /* octal overflow */
2077
655
        ZVAL_DOUBLE(zendlval, zend_oct_strtod(lnum, (const char **)&end));
2078
33.6k
      } else {
2079
33.6k
        ZVAL_DOUBLE(zendlval, zend_strtod(lnum, (const char **)&end));
2080
33.6k
      }
2081
34.2k
      ZEND_ASSERT(end == lnum + len);
2082
34.2k
      if (contains_underscores) {
2083
330
        efree(lnum);
2084
330
      }
2085
34.2k
      RETURN_TOKEN_WITH_VAL(T_DNUMBER);
2086
34.2k
    }
2087
5.79k
    ZEND_ASSERT(end == lnum + len);
2088
5.79k
  }
2089
1.04M
  ZEND_ASSERT(!errno);
2090
1.04M
  if (contains_underscores) {
2091
1.54k
    efree(lnum);
2092
1.54k
  }
2093
1.04M
  RETURN_TOKEN_WITH_VAL(T_LNUMBER);
2094
1.04M
}
2095
0
#line 2096 "Zend/zend_language_scanner.c"
2096
3.83M
yy32:
2097
3.83M
    YYDEBUG(32, *YYCURSOR);
2098
3.83M
    yyaccept = 3;
2099
3.83M
    YYMARKER = ++YYCURSOR;
2100
3.83M
    YYFILL(3);
2101
3.83M
    yych = *YYCURSOR;
2102
4.08M
yy33:
2103
4.08M
    YYDEBUG(33, *YYCURSOR);
2104
4.08M
    if (yybm[256+yych] & 64) {
2105
2.92M
      goto yy32;
2106
2.92M
    }
2107
1.16M
    if (yych <= 'E') {
2108
893k
      if (yych == '.') goto yy133;
2109
835k
      if (yych <= 'D') goto yy31;
2110
19.8k
      goto yy135;
2111
835k
    } else {
2112
270k
      if (yych <= '_') {
2113
129k
        if (yych <= '^') goto yy31;
2114
11.6k
        goto yy138;
2115
141k
      } else {
2116
141k
        if (yych == 'e') goto yy135;
2117
125k
        goto yy31;
2118
141k
      }
2119
270k
    }
2120
239k
yy34:
2121
239k
    YYDEBUG(34, *YYCURSOR);
2122
239k
    yych = *++YYCURSOR;
2123
239k
    if (yych == ':') goto yy139;
2124
116k
    goto yy9;
2125
5.05M
yy35:
2126
5.05M
    YYDEBUG(35, *YYCURSOR);
2127
5.05M
    yych = *++YYCURSOR;
2128
5.05M
    if (yych <= ';') goto yy9;
2129
4.83M
    if (yych <= '<') goto yy141;
2130
652k
    if (yych <= '=') goto yy143;
2131
639k
    if (yych <= '>') goto yy145;
2132
630k
    goto yy9;
2133
673k
yy36:
2134
673k
    YYDEBUG(36, *YYCURSOR);
2135
673k
    yych = *++YYCURSOR;
2136
673k
    if (yych <= '<') goto yy9;
2137
146k
    if (yych <= '=') goto yy146;
2138
91.8k
    if (yych <= '>') goto yy148;
2139
31.3k
    goto yy9;
2140
74.5k
yy37:
2141
74.5k
    YYDEBUG(37, *YYCURSOR);
2142
74.5k
    yych = *++YYCURSOR;
2143
74.5k
    if (yych <= '<') goto yy9;
2144
40.7k
    if (yych <= '=') goto yy150;
2145
35.7k
    if (yych <= '>') goto yy152;
2146
24.2k
    goto yy9;
2147
615k
yy38:
2148
615k
    YYDEBUG(38, *YYCURSOR);
2149
615k
    yyaccept = 2;
2150
615k
    yych = *(YYMARKER = ++YYCURSOR);
2151
615k
    if (yych <= '=') {
2152
232k
      if (yych == '-') goto yy154;
2153
184k
      goto yy9;
2154
382k
    } else {
2155
382k
      if (yych <= '>') goto yy155;
2156
225k
      if (yych <= '?') goto yy157;
2157
174k
      goto yy9;
2158
225k
    }
2159
254k
yy39:
2160
254k
    YYDEBUG(39, *YYCURSOR);
2161
254k
    yyaccept = 4;
2162
254k
    yych = *(YYMARKER = ++YYCURSOR);
2163
254k
    if (yych <= 'S') {
2164
90.6k
      if (yych <= 'M') {
2165
80.5k
        if (yych == 'B') goto yy159;
2166
78.1k
        goto yy48;
2167
80.5k
      } else {
2168
10.1k
        if (yych <= 'N') goto yy160;
2169
8.57k
        if (yych <= 'Q') goto yy48;
2170
7.94k
        if (yych <= 'R') goto yy161;
2171
6.50k
        goto yy162;
2172
7.94k
      }
2173
164k
    } else {
2174
164k
      if (yych <= 'n') {
2175
41.8k
        if (yych == 'b') goto yy159;
2176
30.5k
        if (yych <= 'm') goto yy48;
2177
10.0k
        goto yy160;
2178
122k
      } else {
2179
122k
        if (yych <= 'q') goto yy48;
2180
119k
        if (yych <= 'r') goto yy161;
2181
79.8k
        if (yych <= 's') goto yy162;
2182
19.8k
        goto yy48;
2183
79.8k
      }
2184
164k
    }
2185
4.54M
yy40:
2186
4.54M
    YYDEBUG(40, *YYCURSOR);
2187
4.54M
    yyleng = YYCURSOR - SCNG(yy_text);
2188
4.54M
#line 2455 "Zend/zend_language_scanner.l"
2189
4.54M
    {
2190
4.54M
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
2191
4.54M
}
2192
0
#line 2193 "Zend/zend_language_scanner.c"
2193
118k
yy41:
2194
118k
    YYDEBUG(41, *YYCURSOR);
2195
118k
    yyaccept = 4;
2196
118k
    yych = *(YYMARKER = ++YYCURSOR);
2197
118k
    if (yych <= ';') {
2198
36.4k
      if (yych <= '"') {
2199
18.3k
        if (yych <= '!') goto yy48;
2200
1.61k
        goto yy10;
2201
18.3k
      } else {
2202
18.1k
        if (yych == '\'') goto yy18;
2203
17.4k
        goto yy48;
2204
18.1k
      }
2205
81.7k
    } else {
2206
81.7k
      if (yych <= 'R') {
2207
16.1k
        if (yych <= '<') goto yy165;
2208
9.85k
        if (yych <= 'Q') goto yy48;
2209
418
        goto yy166;
2210
65.5k
      } else {
2211
65.5k
        if (yych == 'r') goto yy166;
2212
56.0k
        goto yy48;
2213
65.5k
      }
2214
81.7k
    }
2215
402k
yy42:
2216
402k
    YYDEBUG(42, *YYCURSOR);
2217
402k
    yyaccept = 4;
2218
402k
    yych = *(YYMARKER = ++YYCURSOR);
2219
402k
    if (yych <= 'O') {
2220
91.1k
      if (yych <= 'K') {
2221
74.5k
        if (yych == 'A') goto yy167;
2222
71.9k
        goto yy48;
2223
74.5k
      } else {
2224
16.5k
        if (yych <= 'L') goto yy168;
2225
10.7k
        if (yych <= 'N') goto yy48;
2226
10.1k
        goto yy169;
2227
10.7k
      }
2228
311k
    } else {
2229
311k
      if (yych <= 'k') {
2230
120k
        if (yych == 'a') goto yy167;
2231
27.4k
        goto yy48;
2232
191k
      } else {
2233
191k
        if (yych <= 'l') goto yy168;
2234
88.1k
        if (yych == 'o') goto yy169;
2235
18.9k
        goto yy48;
2236
88.1k
      }
2237
311k
    }
2238
157k
yy43:
2239
157k
    YYDEBUG(43, *YYCURSOR);
2240
157k
    yyaccept = 4;
2241
157k
    yych = *(YYMARKER = ++YYCURSOR);
2242
157k
    if (yych <= 'O') {
2243
43.1k
      if (yych <= 'H') {
2244
31.1k
        if (yych == 'E') goto yy170;
2245
26.5k
        goto yy48;
2246
31.1k
      } else {
2247
11.9k
        if (yych <= 'I') goto yy171;
2248
11.0k
        if (yych <= 'N') goto yy48;
2249
9.87k
        goto yy172;
2250
11.0k
      }
2251
114k
    } else {
2252
114k
      if (yych <= 'h') {
2253
79.1k
        if (yych == 'e') goto yy170;
2254
51.4k
        goto yy48;
2255
79.1k
      } else {
2256
35.4k
        if (yych <= 'i') goto yy171;
2257
26.9k
        if (yych == 'o') goto yy172;
2258
17.1k
        goto yy48;
2259
26.9k
      }
2260
114k
    }
2261
615k
yy44:
2262
615k
    YYDEBUG(44, *YYCURSOR);
2263
615k
    yyaccept = 4;
2264
615k
    yych = *(YYMARKER = ++YYCURSOR);
2265
615k
    switch (yych) {
2266
1.56k
    case 'C':
2267
106k
    case 'c': goto yy174;
2268
1.14k
    case 'L':
2269
18.9k
    case 'l': goto yy175;
2270
2.11k
    case 'M':
2271
10.8k
    case 'm': goto yy176;
2272
113k
    case 'N':
2273
260k
    case 'n': goto yy177;
2274
595
    case 'V':
2275
8.45k
    case 'v': goto yy178;
2276
3.31k
    case 'X':
2277
77.0k
    case 'x': goto yy179;
2278
132k
    default:  goto yy48;
2279
615k
    }
2280
476k
yy45:
2281
476k
    YYDEBUG(45, *YYCURSOR);
2282
476k
    yyaccept = 4;
2283
476k
    yych = *(YYMARKER = ++YYCURSOR);
2284
476k
    if (yych <= 'U') {
2285
119k
      if (yych <= 'M') {
2286
90.9k
        if (yych == 'I') goto yy180;
2287
88.7k
        goto yy48;
2288
90.9k
      } else {
2289
28.6k
        if (yych <= 'N') goto yy181;
2290
27.5k
        if (yych <= 'O') goto yy183;
2291
13.0k
        if (yych <= 'T') goto yy48;
2292
1.21k
        goto yy184;
2293
13.0k
      }
2294
356k
    } else {
2295
356k
      if (yych <= 'n') {
2296
78.7k
        if (yych == 'i') goto yy180;
2297
54.2k
        if (yych <= 'm') goto yy48;
2298
26.3k
        goto yy181;
2299
278k
      } else {
2300
278k
        if (yych <= 'o') goto yy183;
2301
157k
        if (yych == 'u') goto yy184;
2302
24.3k
        goto yy48;
2303
157k
      }
2304
356k
    }
2305
83.6k
yy46:
2306
83.6k
    YYDEBUG(46, *YYCURSOR);
2307
83.6k
    yyaccept = 4;
2308
83.6k
    yych = *(YYMARKER = ++YYCURSOR);
2309
83.6k
    if (yych <= 'O') {
2310
37.5k
      if (yych == 'L') goto yy185;
2311
33.1k
      if (yych <= 'N') goto yy48;
2312
2.05k
      goto yy186;
2313
46.0k
    } else {
2314
46.0k
      if (yych <= 'l') {
2315
35.2k
        if (yych <= 'k') goto yy48;
2316
6.50k
        goto yy185;
2317
35.2k
      } else {
2318
10.7k
        if (yych == 'o') goto yy186;
2319
5.30k
        goto yy48;
2320
10.7k
      }
2321
46.0k
    }
2322
18.2M
yy47:
2323
18.2M
    YYDEBUG(47, *YYCURSOR);
2324
18.2M
    yyaccept = 4;
2325
18.2M
    YYMARKER = ++YYCURSOR;
2326
18.2M
    YYFILL(1);
2327
18.2M
    yych = *YYCURSOR;
2328
21.3M
yy48:
2329
21.3M
    YYDEBUG(48, *YYCURSOR);
2330
21.3M
    if (yybm[256+yych] & 128) {
2331
16.8M
      goto yy47;
2332
16.8M
    }
2333
4.53M
    if (yych == '\\') goto yy164;
2334
4.48M
    goto yy40;
2335
4.48M
yy49:
2336
328k
    YYDEBUG(49, *YYCURSOR);
2337
328k
    yyaccept = 4;
2338
328k
    yych = *(YYMARKER = ++YYCURSOR);
2339
328k
    if (yych <= 'S') {
2340
79.4k
      if (yych <= 'L') {
2341
42.5k
        if (yych == 'F') goto yy187;
2342
41.5k
        goto yy48;
2343
42.5k
      } else {
2344
36.9k
        if (yych <= 'M') goto yy189;
2345
33.2k
        if (yych <= 'N') goto yy190;
2346
8.21k
        if (yych <= 'R') goto yy48;
2347
4.14k
        goto yy191;
2348
8.21k
      }
2349
248k
    } else {
2350
248k
      if (yych <= 'm') {
2351
93.8k
        if (yych == 'f') goto yy187;
2352
67.1k
        if (yych <= 'l') goto yy48;
2353
38.8k
        goto yy189;
2354
155k
      } else {
2355
155k
        if (yych <= 'n') goto yy190;
2356
55.6k
        if (yych == 's') goto yy191;
2357
23.6k
        goto yy48;
2358
55.6k
      }
2359
248k
    }
2360
75.7k
yy50:
2361
75.7k
    YYDEBUG(50, *YYCURSOR);
2362
75.7k
    yyaccept = 4;
2363
75.7k
    yych = *(YYMARKER = ++YYCURSOR);
2364
75.7k
    if (yych == 'I') goto yy192;
2365
74.2k
    if (yych == 'i') goto yy192;
2366
65.7k
    goto yy48;
2367
84.4k
yy51:
2368
84.4k
    YYDEBUG(51, *YYCURSOR);
2369
84.4k
    yyaccept = 4;
2370
84.4k
    yych = *(YYMARKER = ++YYCURSOR);
2371
84.4k
    if (yych == 'A') goto yy193;
2372
81.9k
    if (yych == 'a') goto yy193;
2373
74.2k
    goto yy48;
2374
253k
yy52:
2375
253k
    YYDEBUG(52, *YYCURSOR);
2376
253k
    yyaccept = 4;
2377
253k
    yych = *(YYMARKER = ++YYCURSOR);
2378
253k
    if (yych <= 'E') {
2379
37.8k
      if (yych == 'A') goto yy194;
2380
34.8k
      if (yych <= 'D') goto yy48;
2381
6.82k
      goto yy195;
2382
215k
    } else {
2383
215k
      if (yych <= 'a') {
2384
48.9k
        if (yych <= '`') goto yy48;
2385
31.2k
        goto yy194;
2386
166k
      } else {
2387
166k
        if (yych == 'e') goto yy195;
2388
59.1k
        goto yy48;
2389
166k
      }
2390
215k
    }
2391
144k
yy53:
2392
144k
    YYDEBUG(53, *YYCURSOR);
2393
144k
    yyaccept = 4;
2394
144k
    yych = *(YYMARKER = ++YYCURSOR);
2395
144k
    if (yych == 'R') goto yy196;
2396
140k
    if (yych == 'r') goto yy196;
2397
133k
    goto yy48;
2398
532k
yy54:
2399
532k
    YYDEBUG(54, *YYCURSOR);
2400
532k
    yyaccept = 4;
2401
532k
    yych = *(YYMARKER = ++YYCURSOR);
2402
532k
    if (yych <= 'U') {
2403
214k
      if (yych == 'R') goto yy198;
2404
207k
      if (yych <= 'T') goto yy48;
2405
2.16k
      goto yy199;
2406
318k
    } else {
2407
318k
      if (yych <= 'r') {
2408
214k
        if (yych <= 'q') goto yy48;
2409
56.0k
        goto yy198;
2410
214k
      } else {
2411
104k
        if (yych == 'u') goto yy199;
2412
24.5k
        goto yy48;
2413
104k
      }
2414
318k
    }
2415
165k
yy55:
2416
165k
    YYDEBUG(55, *YYCURSOR);
2417
165k
    yyaccept = 4;
2418
165k
    yych = *(YYMARKER = ++YYCURSOR);
2419
165k
    if (yych == 'E') goto yy200;
2420
157k
    if (yych == 'e') goto yy200;
2421
65.2k
    goto yy48;
2422
220k
yy56:
2423
220k
    YYDEBUG(56, *YYCURSOR);
2424
220k
    yyaccept = 4;
2425
220k
    yych = *(YYMARKER = ++YYCURSOR);
2426
220k
    if (yych <= 'W') {
2427
74.7k
      if (yych == 'T') goto yy201;
2428
71.5k
      if (yych <= 'V') goto yy48;
2429
880
      goto yy202;
2430
146k
    } else {
2431
146k
      if (yych <= 't') {
2432
126k
        if (yych <= 's') goto yy48;
2433
66.9k
        goto yy201;
2434
126k
      } else {
2435
19.4k
        if (yych == 'w') goto yy202;
2436
10.1k
        goto yy48;
2437
19.4k
      }
2438
146k
    }
2439
262k
yy57:
2440
262k
    YYDEBUG(57, *YYCURSOR);
2441
262k
    yyaccept = 4;
2442
262k
    yych = *(YYMARKER = ++YYCURSOR);
2443
262k
    if (yych <= 'R') {
2444
47.4k
      if (yych == 'H') goto yy203;
2445
45.1k
      if (yych <= 'Q') goto yy48;
2446
7.15k
      goto yy204;
2447
214k
    } else {
2448
214k
      if (yych <= 'h') {
2449
96.9k
        if (yych <= 'g') goto yy48;
2450
21.7k
        goto yy203;
2451
117k
      } else {
2452
117k
        if (yych == 'r') goto yy204;
2453
30.3k
        goto yy48;
2454
117k
      }
2455
214k
    }
2456
82.8k
yy58:
2457
82.8k
    YYDEBUG(58, *YYCURSOR);
2458
82.8k
    yyaccept = 4;
2459
82.8k
    yych = *(YYMARKER = ++YYCURSOR);
2460
82.8k
    if (yych <= 'S') {
2461
20.9k
      if (yych == 'N') goto yy205;
2462
19.2k
      if (yych <= 'R') goto yy48;
2463
1.60k
      goto yy206;
2464
61.8k
    } else {
2465
61.8k
      if (yych <= 'n') {
2466
36.6k
        if (yych <= 'm') goto yy48;
2467
20.8k
        goto yy205;
2468
36.6k
      } else {
2469
25.1k
        if (yych == 's') goto yy206;
2470
8.27k
        goto yy48;
2471
25.1k
      }
2472
61.8k
    }
2473
161k
yy59:
2474
161k
    YYDEBUG(59, *YYCURSOR);
2475
161k
    yyaccept = 4;
2476
161k
    yych = *(YYMARKER = ++YYCURSOR);
2477
161k
    if (yych == 'A') goto yy207;
2478
160k
    if (yych == 'a') goto yy207;
2479
35.6k
    goto yy48;
2480
39.2k
yy60:
2481
39.2k
    YYDEBUG(60, *YYCURSOR);
2482
39.2k
    yyaccept = 4;
2483
39.2k
    yych = *(YYMARKER = ++YYCURSOR);
2484
39.2k
    if (yych == 'H') goto yy208;
2485
37.7k
    if (yych == 'h') goto yy208;
2486
31.7k
    goto yy48;
2487
42.1k
yy61:
2488
42.1k
    YYDEBUG(61, *YYCURSOR);
2489
42.1k
    yyaccept = 4;
2490
42.1k
    yych = *(YYMARKER = ++YYCURSOR);
2491
42.1k
    if (yych == 'O') goto yy209;
2492
41.3k
    if (yych == 'o') goto yy209;
2493
35.3k
    goto yy48;
2494
144k
yy62:
2495
144k
    YYDEBUG(62, *YYCURSOR);
2496
144k
    yyaccept = 4;
2497
144k
    yych = *(YYMARKER = ++YYCURSOR);
2498
144k
    if (yych == 'I') goto yy210;
2499
143k
    if (yych == 'i') goto yy210;
2500
49.3k
    goto yy48;
2501
335k
yy63:
2502
335k
    YYDEBUG(63, *YYCURSOR);
2503
335k
    ++YYCURSOR;
2504
335k
    goto yy21;
2505
202k
yy64:
2506
202k
    YYDEBUG(64, *YYCURSOR);
2507
202k
    yych = *++YYCURSOR;
2508
202k
    if (yych <= '_') {
2509
148k
      if (yych <= '@') goto yy65;
2510
86.5k
      if (yych <= 'Z') goto yy211;
2511
66.6k
      if (yych >= '_') goto yy211;
2512
66.6k
    } else {
2513
54.6k
      if (yych <= '`') goto yy65;
2514
52.2k
      if (yych <= 'z') goto yy211;
2515
21.7k
      if (yych >= 0x80) goto yy211;
2516
21.7k
    }
2517
142k
yy65:
2518
142k
    YYDEBUG(65, *YYCURSOR);
2519
142k
    yyleng = YYCURSOR - SCNG(yy_text);
2520
142k
#line 2451 "Zend/zend_language_scanner.l"
2521
142k
    {
2522
142k
  RETURN_TOKEN(T_NS_SEPARATOR);
2523
142k
}
2524
0
#line 2525 "Zend/zend_language_scanner.c"
2525
111k
yy66:
2526
111k
    YYDEBUG(66, *YYCURSOR);
2527
111k
    yych = *++YYCURSOR;
2528
111k
    if (yych == '=') goto yy214;
2529
110k
    goto yy9;
2530
202k
yy67:
2531
202k
    YYDEBUG(67, *YYCURSOR);
2532
202k
    yyaccept = 4;
2533
202k
    yych = *(YYMARKER = ++YYCURSOR);
2534
202k
    if (yych == '_') goto yy216;
2535
58.4k
    goto yy48;
2536
67.7k
yy68:
2537
67.7k
    YYDEBUG(68, *YYCURSOR);
2538
67.7k
    ++YYCURSOR;
2539
67.7k
    YYDEBUG(69, *YYCURSOR);
2540
67.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2541
67.7k
#line 2825 "Zend/zend_language_scanner.l"
2542
67.7k
    {
2543
67.7k
  BEGIN(ST_BACKQUOTE);
2544
67.7k
  RETURN_TOKEN('`');
2545
67.7k
}
2546
0
#line 2547 "Zend/zend_language_scanner.c"
2547
1.14M
yy70:
2548
1.14M
    YYDEBUG(70, *YYCURSOR);
2549
1.14M
    ++YYCURSOR;
2550
1.14M
    YYDEBUG(71, *YYCURSOR);
2551
1.14M
    yyleng = YYCURSOR - SCNG(yy_text);
2552
1.14M
#line 1974 "Zend/zend_language_scanner.l"
2553
1.14M
    {
2554
1.14M
  yy_push_state(ST_IN_SCRIPTING);
2555
1.14M
  enter_nesting('{');
2556
1.14M
  RETURN_TOKEN('{');
2557
1.14M
}
2558
0
#line 2559 "Zend/zend_language_scanner.c"
2559
125k
yy72:
2560
125k
    YYDEBUG(72, *YYCURSOR);
2561
125k
    yych = *++YYCURSOR;
2562
125k
    if (yych <= '>') {
2563
54.5k
      if (yych <= '<') goto yy9;
2564
10.3k
      if (yych <= '=') goto yy217;
2565
7.99k
      goto yy219;
2566
70.8k
    } else {
2567
70.8k
      if (yych == '|') goto yy221;
2568
49.6k
      goto yy9;
2569
70.8k
    }
2570
447k
yy73:
2571
447k
    YYDEBUG(73, *YYCURSOR);
2572
447k
    ++YYCURSOR;
2573
447k
    YYDEBUG(74, *YYCURSOR);
2574
447k
    yyleng = YYCURSOR - SCNG(yy_text);
2575
447k
#line 1987 "Zend/zend_language_scanner.l"
2576
447k
    {
2577
447k
  RESET_DOC_COMMENT();
2578
447k
  if (!zend_stack_is_empty(&SCNG(state_stack))) {
2579
415k
    yy_pop_state();
2580
415k
  }
2581
447k
  RETURN_EXIT_NESTING_TOKEN('}');
2582
447k
}
2583
0
#line 2584 "Zend/zend_language_scanner.c"
2584
10.0k
yy75:
2585
10.0k
    YYDEBUG(75, *YYCURSOR);
2586
10.0k
    yych = *++YYCURSOR;
2587
10.0k
    if (yych == '=') goto yy223;
2588
16.0k
yy76:
2589
16.0k
    YYDEBUG(76, *YYCURSOR);
2590
16.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2591
16.0k
#line 1846 "Zend/zend_language_scanner.l"
2592
16.0k
    {
2593
16.0k
  RETURN_TOKEN(T_IS_NOT_EQUAL);
2594
16.0k
}
2595
0
#line 2596 "Zend/zend_language_scanner.c"
2596
22.7k
yy77:
2597
22.7k
    YYDEBUG(77, *YYCURSOR);
2598
22.7k
    ++YYCURSOR;
2599
22.7k
    YYDEBUG(78, *YYCURSOR);
2600
22.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2601
22.7k
#line 1423 "Zend/zend_language_scanner.l"
2602
22.7k
    {
2603
22.7k
  enter_nesting('[');
2604
22.7k
  RETURN_TOKEN(T_ATTRIBUTE);
2605
22.7k
}
2606
0
#line 2607 "Zend/zend_language_scanner.c"
2607
5.26M
yy79:
2608
5.26M
    YYDEBUG(79, *YYCURSOR);
2609
5.26M
    ++YYCURSOR;
2610
5.26M
    YYFILL(1);
2611
5.26M
    yych = *YYCURSOR;
2612
5.26M
    YYDEBUG(80, *YYCURSOR);
2613
5.26M
    if (yych <= '^') {
2614
1.52M
      if (yych <= '9') {
2615
1.10M
        if (yych >= '0') goto yy79;
2616
1.10M
      } else {
2617
425k
        if (yych <= '@') goto yy81;
2618
267k
        if (yych <= 'Z') goto yy79;
2619
267k
      }
2620
3.73M
    } else {
2621
3.73M
      if (yych <= '`') {
2622
13.7k
        if (yych <= '_') goto yy79;
2623
3.72M
      } else {
2624
3.72M
        if (yych <= 'z') goto yy79;
2625
1.10M
        if (yych >= 0x80) goto yy79;
2626
1.10M
      }
2627
3.73M
    }
2628
1.24M
yy81:
2629
1.24M
    YYDEBUG(81, *YYCURSOR);
2630
1.24M
    yyleng = YYCURSOR - SCNG(yy_text);
2631
1.24M
#line 2417 "Zend/zend_language_scanner.l"
2632
1.24M
    {
2633
1.24M
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
2634
1.24M
}
2635
0
#line 2636 "Zend/zend_language_scanner.c"
2636
4.40k
yy82:
2637
4.40k
    YYDEBUG(82, *YYCURSOR);
2638
4.40k
    ++YYCURSOR;
2639
4.40k
    YYDEBUG(83, *YYCURSOR);
2640
4.40k
    yyleng = YYCURSOR - SCNG(yy_text);
2641
4.40k
#line 1890 "Zend/zend_language_scanner.l"
2642
4.40k
    {
2643
4.40k
  RETURN_TOKEN(T_MOD_EQUAL);
2644
4.40k
}
2645
0
#line 2646 "Zend/zend_language_scanner.c"
2646
236k
yy84:
2647
236k
    YYDEBUG(84, *YYCURSOR);
2648
236k
    ++YYCURSOR;
2649
236k
    YYFILL(3);
2650
236k
    yych = *YYCURSOR;
2651
314k
yy85:
2652
314k
    YYDEBUG(85, *YYCURSOR);
2653
314k
    if (yych <= ' ') {
2654
87.0k
      if (yych <= '\f') {
2655
57.8k
        if (yych <= 0x08) goto yy86;
2656
54.6k
        if (yych <= '\n') goto yy84;
2657
54.6k
      } else {
2658
29.2k
        if (yych <= '\r') goto yy84;
2659
17.7k
        if (yych >= ' ') goto yy84;
2660
17.7k
      }
2661
227k
    } else {
2662
227k
      if (yych <= '$') {
2663
200k
        if (yych <= '"') goto yy86;
2664
199k
        if (yych <= '#') goto yy87;
2665
24.7k
        goto yy88;
2666
199k
      } else {
2667
26.8k
        if (yych <= '-') goto yy86;
2668
24.1k
        if (yych <= '.') goto yy92;
2669
17.9k
        if (yych <= '/') goto yy93;
2670
17.9k
      }
2671
227k
    }
2672
894k
yy86:
2673
894k
    YYDEBUG(86, *YYCURSOR);
2674
894k
    YYCURSOR = YYMARKER;
2675
894k
    if (yyaccept <= 48) {
2676
711k
      if (yyaccept <= 24) {
2677
693k
        if (yyaccept <= 12) {
2678
681k
          if (yyaccept <= 6) {
2679
401k
            if (yyaccept <= 3) {
2680
335k
              if (yyaccept <= 1) {
2681
298k
                if (yyaccept == 0) {
2682
43.4k
                  goto yy17;
2683
255k
                } else {
2684
255k
                  goto yy21;
2685
255k
                }
2686
298k
              } else {
2687
36.7k
                if (yyaccept == 2) {
2688
18.4k
                  goto yy9;
2689
18.4k
                } else {
2690
18.2k
                  goto yy31;
2691
18.2k
                }
2692
36.7k
              }
2693
335k
            } else {
2694
66.3k
              if (yyaccept <= 5) {
2695
63.1k
                if (yyaccept == 4) {
2696
58.8k
                  goto yy40;
2697
58.8k
                } else {
2698
4.29k
                  goto yy125;
2699
4.29k
                }
2700
63.1k
              } else {
2701
3.23k
                goto yy129;
2702
3.23k
              }
2703
66.3k
            }
2704
401k
          } else {
2705
280k
            if (yyaccept <= 9) {
2706
279k
              if (yyaccept <= 8) {
2707
278k
                if (yyaccept == 7) {
2708
278k
                  goto yy142;
2709
278k
                } else {
2710
230
                  goto yy163;
2711
230
                }
2712
278k
              } else {
2713
208
                goto yy173;
2714
208
              }
2715
279k
            } else {
2716
995
              if (yyaccept <= 11) {
2717
609
                if (yyaccept == 10) {
2718
250
                  goto yy182;
2719
359
                } else {
2720
359
                  goto yy188;
2721
359
                }
2722
609
              } else {
2723
386
                goto yy197;
2724
386
              }
2725
995
            }
2726
280k
          }
2727
681k
        } else {
2728
11.7k
          if (yyaccept <= 18) {
2729
9.56k
            if (yyaccept <= 15) {
2730
5.81k
              if (yyaccept <= 14) {
2731
5.24k
                if (yyaccept == 13) {
2732
4.97k
                  goto yy213;
2733
4.97k
                } else {
2734
276
                  goto yy251;
2735
276
                }
2736
5.24k
              } else {
2737
566
                goto yy257;
2738
566
              }
2739
5.81k
            } else {
2740
3.74k
              if (yyaccept <= 17) {
2741
583
                if (yyaccept == 16) {
2742
305
                  goto yy260;
2743
305
                } else {
2744
278
                  goto yy279;
2745
278
                }
2746
3.16k
              } else {
2747
3.16k
                goto yy283;
2748
3.16k
              }
2749
3.74k
            }
2750
9.56k
          } else {
2751
2.19k
            if (yyaccept <= 21) {
2752
1.06k
              if (yyaccept <= 20) {
2753
831
                if (yyaccept == 19) {
2754
329
                  goto yy295;
2755
502
                } else {
2756
502
                  goto yy306;
2757
502
                }
2758
831
              } else {
2759
234
                goto yy319;
2760
234
              }
2761
1.12k
            } else {
2762
1.12k
              if (yyaccept <= 23) {
2763
656
                if (yyaccept == 22) {
2764
240
                  goto yy331;
2765
416
                } else {
2766
416
                  goto yy334;
2767
416
                }
2768
656
              } else {
2769
471
                goto yy336;
2770
471
              }
2771
1.12k
            }
2772
2.19k
          }
2773
11.7k
        }
2774
693k
      } else {
2775
17.9k
        if (yyaccept <= 36) {
2776
14.5k
          if (yyaccept <= 30) {
2777
9.26k
            if (yyaccept <= 27) {
2778
8.39k
              if (yyaccept <= 26) {
2779
8.19k
                if (yyaccept == 25) {
2780
306
                  goto yy339;
2781
7.89k
                } else {
2782
7.89k
                  goto yy89;
2783
7.89k
                }
2784
8.19k
              } else {
2785
199
                goto yy379;
2786
199
              }
2787
8.39k
            } else {
2788
870
              if (yyaccept <= 29) {
2789
641
                if (yyaccept == 28) {
2790
335
                  goto yy388;
2791
335
                } else {
2792
306
                  goto yy390;
2793
306
                }
2794
641
              } else {
2795
229
                goto yy399;
2796
229
              }
2797
870
            }
2798
9.26k
          } else {
2799
5.31k
            if (yyaccept <= 33) {
2800
787
              if (yyaccept <= 32) {
2801
482
                if (yyaccept == 31) {
2802
270
                  goto yy401;
2803
270
                } else {
2804
212
                  goto yy408;
2805
212
                }
2806
482
              } else {
2807
305
                goto yy415;
2808
305
              }
2809
4.52k
            } else {
2810
4.52k
              if (yyaccept <= 35) {
2811
3.88k
                if (yyaccept == 34) {
2812
820
                  goto yy471;
2813
3.06k
                } else {
2814
3.06k
                  goto yy473;
2815
3.06k
                }
2816
3.88k
              } else {
2817
641
                goto yy476;
2818
641
              }
2819
4.52k
            }
2820
5.31k
          }
2821
14.5k
        } else {
2822
3.36k
          if (yyaccept <= 42) {
2823
1.81k
            if (yyaccept <= 39) {
2824
774
              if (yyaccept <= 38) {
2825
498
                if (yyaccept == 37) {
2826
213
                  goto yy478;
2827
285
                } else {
2828
285
                  goto yy480;
2829
285
                }
2830
498
              } else {
2831
276
                goto yy482;
2832
276
              }
2833
1.04k
            } else {
2834
1.04k
              if (yyaccept <= 41) {
2835
817
                if (yyaccept == 40) {
2836
277
                  goto yy488;
2837
540
                } else {
2838
540
                  goto yy492;
2839
540
                }
2840
817
              } else {
2841
225
                goto yy501;
2842
225
              }
2843
1.04k
            }
2844
1.81k
          } else {
2845
1.55k
            if (yyaccept <= 45) {
2846
857
              if (yyaccept <= 44) {
2847
476
                if (yyaccept == 43) {
2848
226
                  goto yy511;
2849
250
                } else {
2850
250
                  goto yy513;
2851
250
                }
2852
476
              } else {
2853
381
                goto yy516;
2854
381
              }
2855
857
            } else {
2856
695
              if (yyaccept <= 47) {
2857
486
                if (yyaccept == 46) {
2858
265
                  goto yy526;
2859
265
                } else {
2860
221
                  goto yy528;
2861
221
                }
2862
486
              } else {
2863
209
                goto yy530;
2864
209
              }
2865
695
            }
2866
1.55k
          }
2867
3.36k
        }
2868
17.9k
      }
2869
711k
    } else {
2870
182k
      if (yyaccept <= 72) {
2871
159k
        if (yyaccept <= 60) {
2872
154k
          if (yyaccept <= 54) {
2873
151k
            if (yyaccept <= 51) {
2874
56.2k
              if (yyaccept <= 50) {
2875
56.0k
                if (yyaccept == 49) {
2876
346
                  goto yy532;
2877
55.7k
                } else {
2878
55.7k
                  goto yy534;
2879
55.7k
                }
2880
56.0k
              } else {
2881
202
                goto yy576;
2882
202
              }
2883
95.5k
            } else {
2884
95.5k
              if (yyaccept <= 53) {
2885
94.8k
                if (yyaccept == 52) {
2886
204
                  goto yy579;
2887
94.6k
                } else {
2888
94.6k
                  goto yy583;
2889
94.6k
                }
2890
94.8k
              } else {
2891
660
                goto yy597;
2892
660
              }
2893
95.5k
            }
2894
151k
          } else {
2895
3.11k
            if (yyaccept <= 57) {
2896
2.38k
              if (yyaccept <= 56) {
2897
1.79k
                if (yyaccept == 55) {
2898
1.54k
                  goto yy607;
2899
1.54k
                } else {
2900
253
                  goto yy611;
2901
253
                }
2902
1.79k
              } else {
2903
593
                goto yy613;
2904
593
              }
2905
2.38k
            } else {
2906
725
              if (yyaccept <= 59) {
2907
500
                if (yyaccept == 58) {
2908
286
                  goto yy615;
2909
286
                } else {
2910
214
                  goto yy654;
2911
214
                }
2912
500
              } else {
2913
225
                goto yy656;
2914
225
              }
2915
725
            }
2916
3.11k
          }
2917
154k
        } else {
2918
4.75k
          if (yyaccept <= 66) {
2919
3.42k
            if (yyaccept <= 63) {
2920
728
              if (yyaccept <= 62) {
2921
515
                if (yyaccept == 61) {
2922
257
                  goto yy671;
2923
258
                } else {
2924
258
                  goto yy673;
2925
258
                }
2926
515
              } else {
2927
213
                goto yy675;
2928
213
              }
2929
2.69k
            } else {
2930
2.69k
              if (yyaccept <= 65) {
2931
2.49k
                if (yyaccept == 64) {
2932
221
                  goto yy679;
2933
2.27k
                } else {
2934
2.27k
                  goto yy685;
2935
2.27k
                }
2936
2.49k
              } else {
2937
204
                goto yy690;
2938
204
              }
2939
2.69k
            }
2940
3.42k
          } else {
2941
1.33k
            if (yyaccept <= 69) {
2942
598
              if (yyaccept <= 68) {
2943
400
                if (yyaccept == 67) {
2944
199
                  goto yy700;
2945
201
                } else {
2946
201
                  goto yy726;
2947
201
                }
2948
400
              } else {
2949
198
                goto yy728;
2950
198
              }
2951
734
            } else {
2952
734
              if (yyaccept <= 71) {
2953
472
                if (yyaccept == 70) {
2954
276
                  goto yy730;
2955
276
                } else {
2956
196
                  goto yy735;
2957
196
                }
2958
472
              } else {
2959
262
                goto yy743;
2960
262
              }
2961
734
            }
2962
1.33k
          }
2963
4.75k
        }
2964
159k
      } else {
2965
22.7k
        if (yyaccept <= 84) {
2966
5.21k
          if (yyaccept <= 78) {
2967
2.19k
            if (yyaccept <= 75) {
2968
1.59k
              if (yyaccept <= 74) {
2969
1.28k
                if (yyaccept == 73) {
2970
1.08k
                  goto yy754;
2971
1.08k
                } else {
2972
199
                  goto yy764;
2973
199
                }
2974
1.28k
              } else {
2975
312
                goto yy768;
2976
312
              }
2977
1.59k
            } else {
2978
602
              if (yyaccept <= 77) {
2979
400
                if (yyaccept == 76) {
2980
206
                  goto yy784;
2981
206
                } else {
2982
194
                  goto yy797;
2983
194
                }
2984
400
              } else {
2985
202
                goto yy799;
2986
202
              }
2987
602
            }
2988
3.01k
          } else {
2989
3.01k
            if (yyaccept <= 81) {
2990
2.33k
              if (yyaccept <= 80) {
2991
2.13k
                if (yyaccept == 79) {
2992
994
                  goto yy801;
2993
1.13k
                } else {
2994
1.13k
                  goto yy804;
2995
1.13k
                }
2996
2.13k
              } else {
2997
203
                goto yy812;
2998
203
              }
2999
2.33k
            } else {
3000
681
              if (yyaccept <= 83) {
3001
484
                if (yyaccept == 82) {
3002
223
                  goto yy819;
3003
261
                } else {
3004
261
                  goto yy823;
3005
261
                }
3006
484
              } else {
3007
197
                goto yy825;
3008
197
              }
3009
681
            }
3010
3.01k
          }
3011
17.5k
        } else {
3012
17.5k
          if (yyaccept <= 90) {
3013
1.82k
            if (yyaccept <= 87) {
3014
815
              if (yyaccept <= 86) {
3015
536
                if (yyaccept == 85) {
3016
254
                  goto yy836;
3017
282
                } else {
3018
282
                  goto yy839;
3019
282
                }
3020
536
              } else {
3021
279
                goto yy854;
3022
279
              }
3023
1.01k
            } else {
3024
1.01k
              if (yyaccept <= 89) {
3025
811
                if (yyaccept == 88) {
3026
617
                  goto yy869;
3027
617
                } else {
3028
194
                  goto yy898;
3029
194
                }
3030
811
              } else {
3031
202
                goto yy903;
3032
202
              }
3033
1.01k
            }
3034
15.6k
          } else {
3035
15.6k
            if (yyaccept <= 93) {
3036
13.4k
              if (yyaccept <= 92) {
3037
13.2k
                if (yyaccept == 91) {
3038
13.0k
                  goto yy876;
3039
13.0k
                } else {
3040
201
                  goto yy911;
3041
201
                }
3042
13.2k
              } else {
3043
210
                goto yy915;
3044
210
              }
3045
13.4k
            } else {
3046
2.23k
              if (yyaccept <= 95) {
3047
2.02k
                if (yyaccept == 94) {
3048
1.83k
                  goto yy886;
3049
1.83k
                } else {
3050
194
                  goto yy931;
3051
194
                }
3052
2.02k
              } else {
3053
204
                goto yy951;
3054
204
              }
3055
2.23k
            }
3056
15.6k
          }
3057
17.5k
        }
3058
22.7k
      }
3059
182k
    }
3060
174k
yy87:
3061
174k
    YYDEBUG(87, *YYCURSOR);
3062
174k
    ++YYCURSOR;
3063
174k
    YYFILL(1);
3064
174k
    yych = *YYCURSOR;
3065
174k
    if (yych <= '\f') {
3066
46.1k
      if (yych <= 0x00) goto yy86;
3067
45.7k
      if (yych == '\n') goto yy227;
3068
895
      goto yy225;
3069
128k
    } else {
3070
128k
      if (yych <= '\r') goto yy227;
3071
13.3k
      if (yych == '[') goto yy86;
3072
13.1k
      goto yy225;
3073
13.3k
    }
3074
25.7k
yy88:
3075
25.7k
    YYDEBUG(88, *YYCURSOR);
3076
25.7k
    ++YYCURSOR;
3077
34.5k
yy89:
3078
34.5k
    YYDEBUG(89, *YYCURSOR);
3079
34.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3080
34.5k
#line 1950 "Zend/zend_language_scanner.l"
3081
34.5k
    {
3082
34.5k
  yyless(1);
3083
34.5k
  RETURN_TOKEN(T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG);
3084
34.5k
}
3085
0
#line 3086 "Zend/zend_language_scanner.c"
3086
17.8k
yy90:
3087
17.8k
    YYDEBUG(90, *YYCURSOR);
3088
17.8k
    ++YYCURSOR;
3089
17.8k
    YYDEBUG(91, *YYCURSOR);
3090
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3091
17.8k
#line 1926 "Zend/zend_language_scanner.l"
3092
17.8k
    {
3093
17.8k
  RETURN_TOKEN(T_BOOLEAN_AND);
3094
17.8k
}
3095
0
#line 3096 "Zend/zend_language_scanner.c"
3096
6.17k
yy92:
3097
6.17k
    YYDEBUG(92, *YYCURSOR);
3098
6.17k
    yych = *++YYCURSOR;
3099
6.17k
    if (yych == '.') goto yy229;
3100
3.70k
    goto yy86;
3101
5.41k
yy93:
3102
5.41k
    YYDEBUG(93, *YYCURSOR);
3103
5.41k
    ++YYCURSOR;
3104
5.41k
    YYFILL(1);
3105
5.41k
    yych = *YYCURSOR;
3106
5.41k
    if (yych == '*') goto yy230;
3107
2.14k
    if (yych == '/') goto yy225;
3108
955
    goto yy86;
3109
21.5k
yy94:
3110
21.5k
    YYDEBUG(94, *YYCURSOR);
3111
21.5k
    ++YYCURSOR;
3112
21.5k
    YYDEBUG(95, *YYCURSOR);
3113
21.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3114
21.5k
#line 1902 "Zend/zend_language_scanner.l"
3115
21.5k
    {
3116
21.5k
  RETURN_TOKEN(T_AND_EQUAL);
3117
21.5k
}
3118
0
#line 3119 "Zend/zend_language_scanner.c"
3119
238k
yy96:
3120
238k
    YYDEBUG(96, *YYCURSOR);
3121
238k
    ++YYCURSOR;
3122
238k
    YYFILL(7);
3123
238k
    yych = *YYCURSOR;
3124
508k
yy97:
3125
508k
    YYDEBUG(97, *YYCURSOR);
3126
508k
    if (yybm[0+yych] & 1) {
3127
238k
      goto yy96;
3128
238k
    }
3129
269k
    switch (yych) {
3130
6.14k
    case 'A':
3131
40.3k
    case 'a': goto yy98;
3132
4.77k
    case 'B':
3133
16.4k
    case 'b': goto yy99;
3134
1.15k
    case 'D':
3135
7.74k
    case 'd': goto yy100;
3136
3.05k
    case 'F':
3137
26.9k
    case 'f': goto yy101;
3138
1.49k
    case 'I':
3139
37.6k
    case 'i': goto yy102;
3140
2.38k
    case 'O':
3141
9.25k
    case 'o': goto yy103;
3142
1.94k
    case 'R':
3143
9.63k
    case 'r': goto yy104;
3144
3.52k
    case 'S':
3145
33.8k
    case 's': goto yy105;
3146
1.68k
    case 'U':
3147
7.47k
    case 'u': goto yy106;
3148
1.15k
    case 'V':
3149
5.95k
    case 'v': goto yy107;
3150
73.9k
    default:  goto yy86;
3151
269k
    }
3152
40.3k
yy98:
3153
40.3k
    YYDEBUG(98, *YYCURSOR);
3154
40.3k
    yych = *++YYCURSOR;
3155
40.3k
    if (yych == 'R') goto yy232;
3156
39.9k
    if (yych == 'r') goto yy232;
3157
27.0k
    goto yy86;
3158
27.0k
yy99:
3159
16.4k
    YYDEBUG(99, *YYCURSOR);
3160
16.4k
    yych = *++YYCURSOR;
3161
16.4k
    if (yych <= 'O') {
3162
6.18k
      if (yych == 'I') goto yy233;
3163
5.76k
      if (yych <= 'N') goto yy86;
3164
663
      goto yy234;
3165
10.2k
    } else {
3166
10.2k
      if (yych <= 'i') {
3167
5.61k
        if (yych <= 'h') goto yy86;
3168
3.95k
        goto yy233;
3169
5.61k
      } else {
3170
4.64k
        if (yych == 'o') goto yy234;
3171
941
        goto yy86;
3172
4.64k
      }
3173
10.2k
    }
3174
7.74k
yy100:
3175
7.74k
    YYDEBUG(100, *YYCURSOR);
3176
7.74k
    yych = *++YYCURSOR;
3177
7.74k
    if (yych == 'O') goto yy235;
3178
7.43k
    if (yych == 'o') goto yy235;
3179
4.25k
    goto yy86;
3180
26.9k
yy101:
3181
26.9k
    YYDEBUG(101, *YYCURSOR);
3182
26.9k
    yych = *++YYCURSOR;
3183
26.9k
    if (yych == 'L') goto yy236;
3184
26.5k
    if (yych == 'l') goto yy236;
3185
22.4k
    goto yy86;
3186
37.6k
yy102:
3187
37.6k
    YYDEBUG(102, *YYCURSOR);
3188
37.6k
    yych = *++YYCURSOR;
3189
37.6k
    if (yych == 'N') goto yy237;
3190
36.5k
    if (yych == 'n') goto yy237;
3191
24.1k
    goto yy86;
3192
24.1k
yy103:
3193
9.25k
    YYDEBUG(103, *YYCURSOR);
3194
9.25k
    yych = *++YYCURSOR;
3195
9.25k
    if (yych == 'B') goto yy238;
3196
8.85k
    if (yych == 'b') goto yy238;
3197
3.60k
    goto yy86;
3198
9.63k
yy104:
3199
9.63k
    YYDEBUG(104, *YYCURSOR);
3200
9.63k
    yych = *++YYCURSOR;
3201
9.63k
    if (yych == 'E') goto yy239;
3202
8.76k
    if (yych == 'e') goto yy239;
3203
4.01k
    goto yy86;
3204
33.8k
yy105:
3205
33.8k
    YYDEBUG(105, *YYCURSOR);
3206
33.8k
    yych = *++YYCURSOR;
3207
33.8k
    if (yych == 'T') goto yy240;
3208
33.4k
    if (yych == 't') goto yy240;
3209
18.7k
    goto yy86;
3210
18.7k
yy106:
3211
7.47k
    YYDEBUG(106, *YYCURSOR);
3212
7.47k
    yych = *++YYCURSOR;
3213
7.47k
    if (yych == 'N') goto yy241;
3214
6.71k
    if (yych == 'n') goto yy241;
3215
2.18k
    goto yy86;
3216
5.95k
yy107:
3217
5.95k
    YYDEBUG(107, *YYCURSOR);
3218
5.95k
    yych = *++YYCURSOR;
3219
5.95k
    if (yych == 'O') goto yy242;
3220
5.69k
    if (yych == 'o') goto yy242;
3221
3.21k
    goto yy86;
3222
22.9k
yy108:
3223
22.9k
    YYDEBUG(108, *YYCURSOR);
3224
22.9k
    yych = *++YYCURSOR;
3225
22.9k
    if (yych == '=') goto yy243;
3226
22.4k
    YYDEBUG(109, *YYCURSOR);
3227
22.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3228
22.4k
#line 1874 "Zend/zend_language_scanner.l"
3229
22.4k
    {
3230
22.4k
  RETURN_TOKEN(T_POW);
3231
22.4k
}
3232
0
#line 3233 "Zend/zend_language_scanner.c"
3233
7.33k
yy110:
3234
7.33k
    YYDEBUG(110, *YYCURSOR);
3235
7.33k
    ++YYCURSOR;
3236
7.33k
    YYDEBUG(111, *YYCURSOR);
3237
7.33k
    yyleng = YYCURSOR - SCNG(yy_text);
3238
7.33k
#line 1870 "Zend/zend_language_scanner.l"
3239
7.33k
    {
3240
7.33k
  RETURN_TOKEN(T_MUL_EQUAL);
3241
7.33k
}
3242
0
#line 3243 "Zend/zend_language_scanner.c"
3243
46.0k
yy112:
3244
46.0k
    YYDEBUG(112, *YYCURSOR);
3245
46.0k
    ++YYCURSOR;
3246
46.0k
    YYDEBUG(113, *YYCURSOR);
3247
46.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3248
46.0k
#line 1826 "Zend/zend_language_scanner.l"
3249
46.0k
    {
3250
46.0k
  RETURN_TOKEN(T_INC);
3251
46.0k
}
3252
0
#line 3253 "Zend/zend_language_scanner.c"
3253
5.51k
yy114:
3254
5.51k
    YYDEBUG(114, *YYCURSOR);
3255
5.51k
    ++YYCURSOR;
3256
5.51k
    YYDEBUG(115, *YYCURSOR);
3257
5.51k
    yyleng = YYCURSOR - SCNG(yy_text);
3258
5.51k
#line 1862 "Zend/zend_language_scanner.l"
3259
5.51k
    {
3260
5.51k
  RETURN_TOKEN(T_PLUS_EQUAL);
3261
5.51k
}
3262
0
#line 3263 "Zend/zend_language_scanner.c"
3263
13.0k
yy116:
3264
13.0k
    YYDEBUG(116, *YYCURSOR);
3265
13.0k
    ++YYCURSOR;
3266
13.0k
    YYDEBUG(117, *YYCURSOR);
3267
13.0k
    yyleng = YYCURSOR - SCNG(yy_text);
3268
13.0k
#line 1830 "Zend/zend_language_scanner.l"
3269
13.0k
    {
3270
13.0k
  RETURN_TOKEN(T_DEC);
3271
13.0k
}
3272
0
#line 3273 "Zend/zend_language_scanner.c"
3273
3.62k
yy118:
3274
3.62k
    YYDEBUG(118, *YYCURSOR);
3275
3.62k
    ++YYCURSOR;
3276
3.62k
    YYDEBUG(119, *YYCURSOR);
3277
3.62k
    yyleng = YYCURSOR - SCNG(yy_text);
3278
3.62k
#line 1866 "Zend/zend_language_scanner.l"
3279
3.62k
    {
3280
3.62k
  RETURN_TOKEN(T_MINUS_EQUAL);
3281
3.62k
}
3282
0
#line 3283 "Zend/zend_language_scanner.c"
3283
136k
yy120:
3284
136k
    YYDEBUG(120, *YYCURSOR);
3285
136k
    ++YYCURSOR;
3286
136k
    YYDEBUG(121, *YYCURSOR);
3287
136k
    yyleng = YYCURSOR - SCNG(yy_text);
3288
136k
#line 1587 "Zend/zend_language_scanner.l"
3289
136k
    {
3290
136k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
3291
136k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
3292
136k
}
3293
0
#line 3294 "Zend/zend_language_scanner.c"
3294
53.3k
yy122:
3295
53.3k
    YYDEBUG(122, *YYCURSOR);
3296
53.3k
    yych = *++YYCURSOR;
3297
53.3k
    if (yych == '.') goto yy245;
3298
15.2k
    goto yy86;
3299
441k
yy123:
3300
441k
    YYDEBUG(123, *YYCURSOR);
3301
441k
    yyaccept = 5;
3302
441k
    YYMARKER = ++YYCURSOR;
3303
441k
    YYFILL(2);
3304
441k
    yych = *YYCURSOR;
3305
499k
yy124:
3306
499k
    YYDEBUG(124, *YYCURSOR);
3307
499k
    if (yych <= 'E') {
3308
474k
      if (yych <= '/') goto yy125;
3309
429k
      if (yych <= '9') goto yy123;
3310
25.0k
      if (yych >= 'E') goto yy135;
3311
25.0k
    } else {
3312
24.4k
      if (yych <= '_') {
3313
6.40k
        if (yych >= '_') goto yy247;
3314
18.0k
      } else {
3315
18.0k
        if (yych == 'e') goto yy135;
3316
18.0k
      }
3317
24.4k
    }
3318
123k
yy125:
3319
123k
    YYDEBUG(125, *YYCURSOR);
3320
123k
    yyleng = YYCURSOR - SCNG(yy_text);
3321
123k
#line 2233 "Zend/zend_language_scanner.l"
3322
123k
    {
3323
123k
  const char *end;
3324
123k
  size_t len = yyleng;
3325
123k
  char *dnum = yytext;
3326
123k
  bool contains_underscores = (memchr(dnum, '_', len) != NULL);
3327
3328
123k
  if (contains_underscores) {
3329
2.03k
    dnum = estrndup(dnum, len);
3330
2.03k
    strip_underscores(dnum, &len);
3331
2.03k
  }
3332
3333
123k
  ZVAL_DOUBLE(zendlval, zend_strtod(dnum, &end));
3334
  /* errno isn't checked since we allow HUGE_VAL/INF overflow */
3335
123k
  ZEND_ASSERT(end == dnum + len);
3336
123k
  if (contains_underscores) {
3337
2.03k
    efree(dnum);
3338
2.03k
  }
3339
123k
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
3340
123k
}
3341
0
#line 3342 "Zend/zend_language_scanner.c"
3342
157k
yy126:
3343
157k
    YYDEBUG(126, *YYCURSOR);
3344
157k
    ++YYCURSOR;
3345
157k
    YYDEBUG(127, *YYCURSOR);
3346
157k
    yyleng = YYCURSOR - SCNG(yy_text);
3347
157k
#line 1886 "Zend/zend_language_scanner.l"
3348
157k
    {
3349
157k
  RETURN_TOKEN(T_CONCAT_EQUAL);
3350
157k
}
3351
0
#line 3352 "Zend/zend_language_scanner.c"
3352
144k
yy128:
3353
144k
    YYDEBUG(128, *YYCURSOR);
3354
144k
    yyaccept = 6;
3355
144k
    yych = *(YYMARKER = ++YYCURSOR);
3356
144k
    if (yych == '*') goto yy248;
3357
144k
yy129:
3358
144k
    YYDEBUG(129, *YYCURSOR);
3359
144k
    yyleng = YYCURSOR - SCNG(yy_text);
3360
144k
#line 2484 "Zend/zend_language_scanner.l"
3361
144k
    {
3362
144k
  int doc_com;
3363
3364
144k
  if (yyleng > 2) {
3365
7.18k
    doc_com = 1;
3366
7.18k
    RESET_DOC_COMMENT();
3367
136k
  } else {
3368
136k
    doc_com = 0;
3369
136k
  }
3370
3371
9.26M
  while (YYCURSOR < YYLIMIT) {
3372
9.24M
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
3373
116k
      break;
3374
116k
    }
3375
9.24M
  }
3376
3377
144k
  if (YYCURSOR < YYLIMIT) {
3378
116k
    YYCURSOR++;
3379
116k
  } else {
3380
27.4k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
3381
27.4k
    if (PARSER_MODE()) {
3382
1.47k
      RETURN_TOKEN(T_ERROR);
3383
1.47k
    }
3384
27.4k
  }
3385
3386
142k
  yyleng = YYCURSOR - SCNG(yy_text);
3387
142k
  HANDLE_NEWLINES(yytext, yyleng);
3388
3389
142k
  if (doc_com) {
3390
7.07k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
3391
7.07k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
3392
7.07k
  }
3393
3394
135k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
3395
135k
}
3396
0
#line 3397 "Zend/zend_language_scanner.c"
3397
82.8k
yy130:
3398
82.8k
    YYDEBUG(130, *YYCURSOR);
3399
82.8k
    ++YYCURSOR;
3400
82.8k
    goto yy13;
3401
2.80k
yy131:
3402
2.80k
    YYDEBUG(131, *YYCURSOR);
3403
2.80k
    ++YYCURSOR;
3404
2.80k
    YYDEBUG(132, *YYCURSOR);
3405
2.80k
    yyleng = YYCURSOR - SCNG(yy_text);
3406
2.80k
#line 1882 "Zend/zend_language_scanner.l"
3407
2.80k
    {
3408
2.80k
  RETURN_TOKEN(T_DIV_EQUAL);
3409
2.80k
}
3410
0
#line 3411 "Zend/zend_language_scanner.c"
3411
58.1k
yy133:
3412
58.1k
    YYDEBUG(133, *YYCURSOR);
3413
58.1k
    yyaccept = 5;
3414
58.1k
    yych = *(YYMARKER = ++YYCURSOR);
3415
58.1k
    if (yych == '_') goto yy125;
3416
57.8k
    goto yy124;
3417
57.8k
yy134:
3418
5.58k
    YYDEBUG(134, *YYCURSOR);
3419
5.58k
    ++YYCURSOR;
3420
5.58k
    YYFILL(1);
3421
5.58k
    yych = *YYCURSOR;
3422
5.58k
    if (yybm[0+yych] & 8) {
3423
4.02k
      goto yy249;
3424
4.02k
    }
3425
1.55k
    goto yy86;
3426
45.3k
yy135:
3427
45.3k
    YYDEBUG(135, *YYCURSOR);
3428
45.3k
    yych = *++YYCURSOR;
3429
45.3k
    if (yych <= ',') {
3430
3.27k
      if (yych == '+') goto yy252;
3431
2.17k
      goto yy86;
3432
42.1k
    } else {
3433
42.1k
      if (yych <= '-') goto yy252;
3434
30.7k
      if (yych <= '/') goto yy86;
3435
30.4k
      if (yych <= '9') goto yy253;
3436
6.28k
      goto yy86;
3437
30.4k
    }
3438
4.83k
yy136:
3439
4.83k
    YYDEBUG(136, *YYCURSOR);
3440
4.83k
    ++YYCURSOR;
3441
4.83k
    YYFILL(1);
3442
4.83k
    yych = *YYCURSOR;
3443
4.83k
    if (yybm[0+yych] & 16) {
3444
3.49k
      goto yy255;
3445
3.49k
    }
3446
1.34k
    goto yy86;
3447
9.05k
yy137:
3448
9.05k
    YYDEBUG(137, *YYCURSOR);
3449
9.05k
    ++YYCURSOR;
3450
9.05k
    YYFILL(1);
3451
9.05k
    yych = *YYCURSOR;
3452
9.05k
    if (yybm[0+yych] & 32) {
3453
8.09k
      goto yy258;
3454
8.09k
    }
3455
964
    goto yy86;
3456
11.6k
yy138:
3457
11.6k
    YYDEBUG(138, *YYCURSOR);
3458
11.6k
    ++YYCURSOR;
3459
11.6k
    YYFILL(1);
3460
11.6k
    yych = *YYCURSOR;
3461
11.6k
    if (yybm[256+yych] & 64) {
3462
3.72k
      goto yy32;
3463
3.72k
    }
3464
7.88k
    goto yy86;
3465
123k
yy139:
3466
123k
    YYDEBUG(139, *YYCURSOR);
3467
123k
    ++YYCURSOR;
3468
123k
    YYDEBUG(140, *YYCURSOR);
3469
123k
    yyleng = YYCURSOR - SCNG(yy_text);
3470
123k
#line 1614 "Zend/zend_language_scanner.l"
3471
123k
    {
3472
123k
  RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM);
3473
123k
}
3474
0
#line 3475 "Zend/zend_language_scanner.c"
3475
4.18M
yy141:
3476
4.18M
    YYDEBUG(141, *YYCURSOR);
3477
4.18M
    yyaccept = 7;
3478
4.18M
    yych = *(YYMARKER = ++YYCURSOR);
3479
4.18M
    if (yych <= ';') goto yy142;
3480
4.09M
    if (yych <= '<') goto yy261;
3481
195k
    if (yych <= '=') goto yy263;
3482
564k
yy142:
3483
564k
    YYDEBUG(142, *YYCURSOR);
3484
564k
    yyleng = YYCURSOR - SCNG(yy_text);
3485
564k
#line 1942 "Zend/zend_language_scanner.l"
3486
564k
    {
3487
564k
  RETURN_TOKEN(T_SL);
3488
564k
}
3489
0
#line 3490 "Zend/zend_language_scanner.c"
3490
13.6k
yy143:
3491
13.6k
    YYDEBUG(143, *YYCURSOR);
3492
13.6k
    yych = *++YYCURSOR;
3493
13.6k
    if (yych == '>') goto yy265;
3494
12.4k
    YYDEBUG(144, *YYCURSOR);
3495
12.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3496
12.4k
#line 1854 "Zend/zend_language_scanner.l"
3497
12.4k
    {
3498
12.4k
  RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL);
3499
12.4k
}
3500
0
#line 3501 "Zend/zend_language_scanner.c"
3501
8.80k
yy145:
3502
8.80k
    YYDEBUG(145, *YYCURSOR);
3503
8.80k
    ++YYCURSOR;
3504
8.80k
    goto yy76;
3505
54.7k
yy146:
3506
54.7k
    YYDEBUG(146, *YYCURSOR);
3507
54.7k
    yych = *++YYCURSOR;
3508
54.7k
    if (yych == '=') goto yy267;
3509
29.2k
    YYDEBUG(147, *YYCURSOR);
3510
29.2k
    yyleng = YYCURSOR - SCNG(yy_text);
3511
29.2k
#line 1842 "Zend/zend_language_scanner.l"
3512
29.2k
    {
3513
29.2k
  RETURN_TOKEN(T_IS_EQUAL);
3514
29.2k
}
3515
0
#line 3516 "Zend/zend_language_scanner.c"
3516
60.4k
yy148:
3517
60.4k
    YYDEBUG(148, *YYCURSOR);
3518
60.4k
    ++YYCURSOR;
3519
60.4k
    YYDEBUG(149, *YYCURSOR);
3520
60.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3521
60.4k
#line 1810 "Zend/zend_language_scanner.l"
3522
60.4k
    {
3523
60.4k
  RETURN_TOKEN(T_DOUBLE_ARROW);
3524
60.4k
}
3525
0
#line 3526 "Zend/zend_language_scanner.c"
3526
5.04k
yy150:
3527
5.04k
    YYDEBUG(150, *YYCURSOR);
3528
5.04k
    ++YYCURSOR;
3529
5.04k
    YYDEBUG(151, *YYCURSOR);
3530
5.04k
    yyleng = YYCURSOR - SCNG(yy_text);
3531
5.04k
#line 1858 "Zend/zend_language_scanner.l"
3532
5.04k
    {
3533
5.04k
  RETURN_TOKEN(T_IS_GREATER_OR_EQUAL);
3534
5.04k
}
3535
0
#line 3536 "Zend/zend_language_scanner.c"
3536
11.4k
yy152:
3537
11.4k
    YYDEBUG(152, *YYCURSOR);
3538
11.4k
    yych = *++YYCURSOR;
3539
11.4k
    if (yych == '=') goto yy269;
3540
9.96k
    YYDEBUG(153, *YYCURSOR);
3541
9.96k
    yyleng = YYCURSOR - SCNG(yy_text);
3542
9.96k
#line 1946 "Zend/zend_language_scanner.l"
3543
9.96k
    {
3544
9.96k
  RETURN_TOKEN(T_SR);
3545
9.96k
}
3546
0
#line 3547 "Zend/zend_language_scanner.c"
3547
48.2k
yy154:
3548
48.2k
    YYDEBUG(154, *YYCURSOR);
3549
48.2k
    yych = *++YYCURSOR;
3550
48.2k
    if (yych == '>') goto yy271;
3551
3.17k
    goto yy86;
3552
157k
yy155:
3553
157k
    YYDEBUG(155, *YYCURSOR);
3554
157k
    yych = *++YYCURSOR;
3555
157k
    if (yych == '\n') goto yy273;
3556
147k
    if (yych == '\r') goto yy274;
3557
157k
yy156:
3558
157k
    YYDEBUG(156, *YYCURSOR);
3559
157k
    yyleng = YYCURSOR - SCNG(yy_text);
3560
157k
#line 2526 "Zend/zend_language_scanner.l"
3561
157k
    {
3562
157k
  BEGIN(INITIAL);
3563
157k
  if (yytext[yyleng-1] != '>') {
3564
11.0k
    CG(increment_lineno) = 1;
3565
11.0k
  }
3566
157k
  if (PARSER_MODE()) {
3567
134k
    RETURN_TOKEN(';');  /* implicit ';' at php-end tag */
3568
134k
  }
3569
23.1k
  RETURN_TOKEN(T_CLOSE_TAG);
3570
23.1k
}
3571
0
#line 3572 "Zend/zend_language_scanner.c"
3572
51.0k
yy157:
3573
51.0k
    YYDEBUG(157, *YYCURSOR);
3574
51.0k
    yych = *++YYCURSOR;
3575
51.0k
    if (yych == '=') goto yy275;
3576
41.9k
    YYDEBUG(158, *YYCURSOR);
3577
41.9k
    yyleng = YYCURSOR - SCNG(yy_text);
3578
41.9k
#line 1622 "Zend/zend_language_scanner.l"
3579
41.9k
    {
3580
41.9k
  RETURN_TOKEN(T_COALESCE);
3581
41.9k
}
3582
0
#line 3583 "Zend/zend_language_scanner.c"
3583
13.5k
yy159:
3584
13.5k
    YYDEBUG(159, *YYCURSOR);
3585
13.5k
    yyaccept = 4;
3586
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
3587
13.5k
    if (yych == 'S') goto yy277;
3588
11.7k
    if (yych == 's') goto yy277;
3589
3.75k
    goto yy48;
3590
11.6k
yy160:
3591
11.6k
    YYDEBUG(160, *YYCURSOR);
3592
11.6k
    yyaccept = 4;
3593
11.6k
    yych = *(YYMARKER = ++YYCURSOR);
3594
11.6k
    if (yych == 'D') goto yy278;
3595
10.6k
    if (yych == 'd') goto yy278;
3596
2.68k
    goto yy48;
3597
41.0k
yy161:
3598
41.0k
    YYDEBUG(161, *YYCURSOR);
3599
41.0k
    yyaccept = 4;
3600
41.0k
    yych = *(YYMARKER = ++YYCURSOR);
3601
41.0k
    if (yych == 'R') goto yy280;
3602
40.3k
    if (yych == 'r') goto yy280;
3603
8.98k
    goto yy48;
3604
66.4k
yy162:
3605
66.4k
    YYDEBUG(162, *YYCURSOR);
3606
66.4k
    yyaccept = 8;
3607
66.4k
    yych = *(YYMARKER = ++YYCURSOR);
3608
66.4k
    if (yybm[256+yych] & 128) {
3609
36.0k
      goto yy47;
3610
36.0k
    }
3611
30.4k
    if (yych == '\\') goto yy164;
3612
30.3k
yy163:
3613
30.3k
    YYDEBUG(163, *YYCURSOR);
3614
30.3k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
30.3k
#line 1510 "Zend/zend_language_scanner.l"
3616
30.3k
    {
3617
30.3k
  RETURN_TOKEN_WITH_IDENT(T_AS);
3618
30.3k
}
3619
0
#line 3620 "Zend/zend_language_scanner.c"
3620
96.7k
yy164:
3621
96.7k
    YYDEBUG(164, *YYCURSOR);
3622
96.7k
    ++YYCURSOR;
3623
96.7k
    YYFILL(1);
3624
96.7k
    yych = *YYCURSOR;
3625
96.7k
    if (yych <= '_') {
3626
64.6k
      if (yych <= '@') goto yy86;
3627
33.5k
      if (yych <= 'Z') goto yy281;
3628
15.1k
      if (yych <= '^') goto yy86;
3629
1.69k
      goto yy281;
3630
32.0k
    } else {
3631
32.0k
      if (yych <= '`') goto yy86;
3632
30.6k
      if (yych <= 'z') goto yy281;
3633
16.9k
      if (yych <= 0x7F) goto yy86;
3634
7.20k
      goto yy281;
3635
16.9k
    }
3636
6.33k
yy165:
3637
6.33k
    YYDEBUG(165, *YYCURSOR);
3638
6.33k
    yych = *++YYCURSOR;
3639
6.33k
    if (yych == '<') goto yy284;
3640
1.98k
    goto yy86;
3641
9.97k
yy166:
3642
9.97k
    YYDEBUG(166, *YYCURSOR);
3643
9.97k
    yyaccept = 4;
3644
9.97k
    yych = *(YYMARKER = ++YYCURSOR);
3645
9.97k
    if (yych == 'E') goto yy285;
3646
6.70k
    if (yych == 'e') goto yy285;
3647
1.62k
    goto yy48;
3648
95.3k
yy167:
3649
95.3k
    YYDEBUG(167, *YYCURSOR);
3650
95.3k
    yyaccept = 4;
3651
95.3k
    yych = *(YYMARKER = ++YYCURSOR);
3652
95.3k
    if (yych <= 'T') {
3653
5.58k
      if (yych <= 'L') {
3654
3.63k
        if (yych <= 'K') goto yy48;
3655
1.28k
        goto yy286;
3656
3.63k
      } else {
3657
1.94k
        if (yych <= 'R') goto yy48;
3658
1.36k
        if (yych <= 'S') goto yy287;
3659
908
        goto yy288;
3660
1.36k
      }
3661
89.8k
    } else {
3662
89.8k
      if (yych <= 'r') {
3663
18.6k
        if (yych == 'l') goto yy286;
3664
2.30k
        goto yy48;
3665
71.1k
      } else {
3666
71.1k
        if (yych <= 's') goto yy287;
3667
58.1k
        if (yych <= 't') goto yy288;
3668
992
        goto yy48;
3669
58.1k
      }
3670
89.8k
    }
3671
108k
yy168:
3672
108k
    YYDEBUG(168, *YYCURSOR);
3673
108k
    yyaccept = 4;
3674
108k
    yych = *(YYMARKER = ++YYCURSOR);
3675
108k
    if (yych <= 'O') {
3676
8.73k
      if (yych == 'A') goto yy289;
3677
6.31k
      if (yych <= 'N') goto yy48;
3678
1.39k
      goto yy290;
3679
100k
    } else {
3680
100k
      if (yych <= 'a') {
3681
89.1k
        if (yych <= '`') goto yy48;
3682
88.3k
        goto yy289;
3683
89.1k
      } else {
3684
10.9k
        if (yych == 'o') goto yy290;
3685
2.78k
        goto yy48;
3686
10.9k
      }
3687
100k
    }
3688
79.2k
yy169:
3689
79.2k
    YYDEBUG(169, *YYCURSOR);
3690
79.2k
    yyaccept = 4;
3691
79.2k
    yych = *(YYMARKER = ++YYCURSOR);
3692
79.2k
    if (yych == 'N') goto yy291;
3693
70.2k
    if (yych == 'n') goto yy291;
3694
8.47k
    goto yy48;
3695
32.3k
yy170:
3696
32.3k
    YYDEBUG(170, *YYCURSOR);
3697
32.3k
    yyaccept = 4;
3698
32.3k
    yych = *(YYMARKER = ++YYCURSOR);
3699
32.3k
    if (yych <= 'F') {
3700
5.41k
      if (yych == 'C') goto yy292;
3701
3.76k
      if (yych <= 'E') goto yy48;
3702
683
      goto yy293;
3703
26.9k
    } else {
3704
26.9k
      if (yych <= 'c') {
3705
12.3k
        if (yych <= 'b') goto yy48;
3706
8.97k
        goto yy292;
3707
14.6k
      } else {
3708
14.6k
        if (yych == 'f') goto yy293;
3709
5.18k
        goto yy48;
3710
14.6k
      }
3711
26.9k
    }
3712
9.47k
yy171:
3713
9.47k
    YYDEBUG(171, *YYCURSOR);
3714
9.47k
    yyaccept = 4;
3715
9.47k
    yych = *(YYMARKER = ++YYCURSOR);
3716
9.47k
    if (yych == 'E') goto yy294;
3717
8.89k
    if (yych == 'e') goto yy294;
3718
2.84k
    goto yy48;
3719
19.7k
yy172:
3720
19.7k
    YYDEBUG(172, *YYCURSOR);
3721
19.7k
    yyaccept = 9;
3722
19.7k
    yych = *(YYMARKER = ++YYCURSOR);
3723
19.7k
    if (yybm[256+yych] & 128) {
3724
16.2k
      goto yy47;
3725
16.2k
    }
3726
3.53k
    if (yych == '\\') goto yy164;
3727
3.53k
yy173:
3728
3.53k
    YYDEBUG(173, *YYCURSOR);
3729
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
3730
3.53k
#line 1478 "Zend/zend_language_scanner.l"
3731
3.53k
    {
3732
3.53k
  RETURN_TOKEN_WITH_IDENT(T_DO);
3733
3.53k
}
3734
0
#line 3735 "Zend/zend_language_scanner.c"
3735
106k
yy174:
3736
106k
    YYDEBUG(174, *YYCURSOR);
3737
106k
    yyaccept = 4;
3738
106k
    yych = *(YYMARKER = ++YYCURSOR);
3739
106k
    if (yych == 'H') goto yy296;
3740
106k
    if (yych == 'h') goto yy296;
3741
6.88k
    goto yy48;
3742
18.9k
yy175:
3743
18.9k
    YYDEBUG(175, *YYCURSOR);
3744
18.9k
    yyaccept = 4;
3745
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
3746
18.9k
    if (yych == 'S') goto yy297;
3747
18.0k
    if (yych == 's') goto yy297;
3748
5.15k
    goto yy48;
3749
10.8k
yy176:
3750
10.8k
    YYDEBUG(176, *YYCURSOR);
3751
10.8k
    yyaccept = 4;
3752
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
3753
10.8k
    if (yych == 'P') goto yy298;
3754
9.26k
    if (yych == 'p') goto yy298;
3755
4.75k
    goto yy48;
3756
260k
yy177:
3757
260k
    YYDEBUG(177, *YYCURSOR);
3758
260k
    yyaccept = 4;
3759
260k
    yych = *(YYMARKER = ++YYCURSOR);
3760
260k
    if (yych <= 'U') {
3761
35.5k
      if (yych == 'D') goto yy299;
3762
7.67k
      if (yych <= 'T') goto yy48;
3763
2.53k
      goto yy300;
3764
224k
    } else {
3765
224k
      if (yych <= 'd') {
3766
32.7k
        if (yych <= 'c') goto yy48;
3767
29.9k
        goto yy299;
3768
192k
      } else {
3769
192k
        if (yych == 'u') goto yy300;
3770
9.41k
        goto yy48;
3771
192k
      }
3772
224k
    }
3773
8.45k
yy178:
3774
8.45k
    YYDEBUG(178, *YYCURSOR);
3775
8.45k
    yyaccept = 4;
3776
8.45k
    yych = *(YYMARKER = ++YYCURSOR);
3777
8.45k
    if (yych == 'A') goto yy301;
3778
8.08k
    if (yych == 'a') goto yy301;
3779
1.53k
    goto yy48;
3780
77.0k
yy179:
3781
77.0k
    YYDEBUG(179, *YYCURSOR);
3782
77.0k
    yyaccept = 4;
3783
77.0k
    yych = *(YYMARKER = ++YYCURSOR);
3784
77.0k
    if (yych <= 'T') {
3785
14.7k
      if (yych == 'I') goto yy302;
3786
14.1k
      if (yych <= 'S') goto yy48;
3787
1.47k
      goto yy303;
3788
62.3k
    } else {
3789
62.3k
      if (yych <= 'i') {
3790
34.3k
        if (yych <= 'h') goto yy48;
3791
2.77k
        goto yy302;
3792
34.3k
      } else {
3793
27.9k
        if (yych == 't') goto yy303;
3794
2.56k
        goto yy48;
3795
27.9k
      }
3796
62.3k
    }
3797
26.7k
yy180:
3798
26.7k
    YYDEBUG(180, *YYCURSOR);
3799
26.7k
    yyaccept = 4;
3800
26.7k
    yych = *(YYMARKER = ++YYCURSOR);
3801
26.7k
    if (yych == 'N') goto yy304;
3802
25.1k
    if (yych == 'n') goto yy304;
3803
9.28k
    goto yy48;
3804
27.3k
yy181:
3805
27.3k
    YYDEBUG(181, *YYCURSOR);
3806
27.3k
    yyaccept = 10;
3807
27.3k
    yych = *(YYMARKER = ++YYCURSOR);
3808
27.3k
    if (yybm[256+yych] & 128) {
3809
2.88k
      goto yy47;
3810
2.88k
    }
3811
24.5k
    if (yych == '\\') goto yy164;
3812
24.4k
yy182:
3813
24.4k
    YYDEBUG(182, *YYCURSOR);
3814
24.4k
    yyleng = YYCURSOR - SCNG(yy_text);
3815
24.4k
#line 1407 "Zend/zend_language_scanner.l"
3816
24.4k
    {
3817
24.4k
  RETURN_TOKEN_WITH_IDENT(T_FN);
3818
24.4k
}
3819
0
#line 3820 "Zend/zend_language_scanner.c"
3820
134k
yy183:
3821
134k
    YYDEBUG(183, *YYCURSOR);
3822
134k
    yyaccept = 4;
3823
134k
    yych = *(YYMARKER = ++YYCURSOR);
3824
134k
    if (yych == 'R') goto yy305;
3825
132k
    if (yych == 'r') goto yy305;
3826
65.8k
    goto yy48;
3827
134k
yy184:
3828
134k
    YYDEBUG(184, *YYCURSOR);
3829
134k
    yyaccept = 4;
3830
134k
    yych = *(YYMARKER = ++YYCURSOR);
3831
134k
    if (yych == 'N') goto yy307;
3832
133k
    if (yych == 'n') goto yy307;
3833
2.95k
    goto yy48;
3834
10.9k
yy185:
3835
10.9k
    YYDEBUG(185, *YYCURSOR);
3836
10.9k
    yyaccept = 4;
3837
10.9k
    yych = *(YYMARKER = ++YYCURSOR);
3838
10.9k
    if (yych == 'O') goto yy308;
3839
6.86k
    if (yych == 'o') goto yy308;
3840
1.34k
    goto yy48;
3841
7.52k
yy186:
3842
7.52k
    YYDEBUG(186, *YYCURSOR);
3843
7.52k
    yyaccept = 4;
3844
7.52k
    yych = *(YYMARKER = ++YYCURSOR);
3845
7.52k
    if (yych == 'T') goto yy309;
3846
6.12k
    if (yych == 't') goto yy309;
3847
1.35k
    goto yy48;
3848
27.6k
yy187:
3849
27.6k
    YYDEBUG(187, *YYCURSOR);
3850
27.6k
    yyaccept = 11;
3851
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
3852
27.6k
    if (yybm[256+yych] & 128) {
3853
1.75k
      goto yy47;
3854
1.75k
    }
3855
25.9k
    if (yych == '\\') goto yy164;
3856
25.8k
yy188:
3857
25.8k
    YYDEBUG(188, *YYCURSOR);
3858
25.8k
    yyleng = YYCURSOR - SCNG(yy_text);
3859
25.8k
#line 1454 "Zend/zend_language_scanner.l"
3860
25.8k
    {
3861
25.8k
  RETURN_TOKEN_WITH_IDENT(T_IF);
3862
25.8k
}
3863
0
#line 3864 "Zend/zend_language_scanner.c"
3864
42.5k
yy189:
3865
42.5k
    YYDEBUG(189, *YYCURSOR);
3866
42.5k
    yyaccept = 4;
3867
42.5k
    yych = *(YYMARKER = ++YYCURSOR);
3868
42.5k
    if (yych == 'P') goto yy310;
3869
39.6k
    if (yych == 'p') goto yy310;
3870
9.87k
    goto yy48;
3871
124k
yy190:
3872
124k
    YYDEBUG(190, *YYCURSOR);
3873
124k
    yyaccept = 4;
3874
124k
    yych = *(YYMARKER = ++YYCURSOR);
3875
124k
    if (yych <= 'T') {
3876
26.8k
      if (yych <= 'C') {
3877
12.9k
        if (yych <= 'B') goto yy48;
3878
3.24k
        goto yy311;
3879
13.8k
      } else {
3880
13.8k
        if (yych <= 'R') goto yy48;
3881
5.11k
        if (yych <= 'S') goto yy312;
3882
1.90k
        goto yy313;
3883
5.11k
      }
3884
97.6k
    } else {
3885
97.6k
      if (yych <= 'r') {
3886
44.9k
        if (yych == 'c') goto yy311;
3887
31.2k
        goto yy48;
3888
52.6k
      } else {
3889
52.6k
        if (yych <= 's') goto yy312;
3890
37.1k
        if (yych <= 't') goto yy313;
3891
5.32k
        goto yy48;
3892
37.1k
      }
3893
97.6k
    }
3894
36.1k
yy191:
3895
36.1k
    YYDEBUG(191, *YYCURSOR);
3896
36.1k
    yyaccept = 4;
3897
36.1k
    yych = *(YYMARKER = ++YYCURSOR);
3898
36.1k
    if (yych == 'S') goto yy314;
3899
35.3k
    if (yych == 's') goto yy314;
3900
15.5k
    goto yy48;
3901
15.5k
yy192:
3902
10.0k
    YYDEBUG(192, *YYCURSOR);
3903
10.0k
    yyaccept = 4;
3904
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
3905
10.0k
    if (yych == 'S') goto yy315;
3906
9.24k
    if (yych == 's') goto yy315;
3907
3.90k
    goto yy48;
3908
10.2k
yy193:
3909
10.2k
    YYDEBUG(193, *YYCURSOR);
3910
10.2k
    yyaccept = 4;
3911
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
3912
10.2k
    if (yych == 'T') goto yy316;
3913
9.99k
    if (yych == 't') goto yy316;
3914
4.33k
    goto yy48;
3915
34.3k
yy194:
3916
34.3k
    YYDEBUG(194, *YYCURSOR);
3917
34.3k
    yyaccept = 4;
3918
34.3k
    yych = *(YYMARKER = ++YYCURSOR);
3919
34.3k
    if (yych == 'M') goto yy317;
3920
31.3k
    if (yych == 'm') goto yy317;
3921
2.95k
    goto yy48;
3922
113k
yy195:
3923
113k
    YYDEBUG(195, *YYCURSOR);
3924
113k
    yyaccept = 4;
3925
113k
    yych = *(YYMARKER = ++YYCURSOR);
3926
113k
    if (yych == 'W') goto yy318;
3927
112k
    if (yych == 'w') goto yy318;
3928
10.4k
    goto yy48;
3929
11.5k
yy196:
3930
11.5k
    YYDEBUG(196, *YYCURSOR);
3931
11.5k
    yyaccept = 12;
3932
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
3933
11.5k
    if (yybm[256+yych] & 128) {
3934
4.57k
      goto yy47;
3935
4.57k
    }
3936
6.94k
    if (yych == '\\') goto yy164;
3937
6.89k
yy197:
3938
6.89k
    YYDEBUG(197, *YYCURSOR);
3939
6.89k
    yyleng = YYCURSOR - SCNG(yy_text);
3940
6.89k
#line 1930 "Zend/zend_language_scanner.l"
3941
6.89k
    {
3942
6.89k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_OR);
3943
6.89k
}
3944
0
#line 3945 "Zend/zend_language_scanner.c"
3945
63.0k
yy198:
3946
63.0k
    YYDEBUG(198, *YYCURSOR);
3947
63.0k
    yyaccept = 4;
3948
63.0k
    yych = *(YYMARKER = ++YYCURSOR);
3949
63.0k
    if (yych <= 'O') {
3950
7.39k
      if (yych == 'I') goto yy320;
3951
5.11k
      if (yych <= 'N') goto yy48;
3952
3.33k
      goto yy321;
3953
55.7k
    } else {
3954
55.7k
      if (yych <= 'i') {
3955
41.8k
        if (yych <= 'h') goto yy48;
3956
36.4k
        goto yy320;
3957
41.8k
      } else {
3958
13.8k
        if (yych == 'o') goto yy321;
3959
1.55k
        goto yy48;
3960
13.8k
      }
3961
55.7k
    }
3962
81.8k
yy199:
3963
81.8k
    YYDEBUG(199, *YYCURSOR);
3964
81.8k
    yyaccept = 4;
3965
81.8k
    yych = *(YYMARKER = ++YYCURSOR);
3966
81.8k
    if (yych == 'B') goto yy322;
3967
79.6k
    if (yych == 'b') goto yy322;
3968
5.21k
    goto yy48;
3969
100k
yy200:
3970
100k
    YYDEBUG(200, *YYCURSOR);
3971
100k
    yyaccept = 4;
3972
100k
    yych = *(YYMARKER = ++YYCURSOR);
3973
100k
    if (yych <= 'T') {
3974
10.6k
      if (yych <= 'P') {
3975
8.79k
        if (yych == 'A') goto yy323;
3976
8.18k
        goto yy48;
3977
8.79k
      } else {
3978
1.84k
        if (yych <= 'Q') goto yy324;
3979
880
        if (yych <= 'S') goto yy48;
3980
473
        goto yy325;
3981
880
      }
3982
90.1k
    } else {
3983
90.1k
      if (yych <= 'p') {
3984
19.6k
        if (yych == 'a') goto yy323;
3985
8.77k
        goto yy48;
3986
70.4k
      } else {
3987
70.4k
        if (yych <= 'q') goto yy324;
3988
43.1k
        if (yych == 't') goto yy325;
3989
10.1k
        goto yy48;
3990
43.1k
      }
3991
90.1k
    }
3992
70.1k
yy201:
3993
70.1k
    YYDEBUG(201, *YYCURSOR);
3994
70.1k
    yyaccept = 4;
3995
70.1k
    yych = *(YYMARKER = ++YYCURSOR);
3996
70.1k
    if (yych == 'A') goto yy326;
3997
68.8k
    if (yych == 'a') goto yy326;
3998
43.6k
    goto yy48;
3999
43.6k
yy202:
4000
10.2k
    YYDEBUG(202, *YYCURSOR);
4001
10.2k
    yyaccept = 4;
4002
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
4003
10.2k
    if (yych == 'I') goto yy327;
4004
8.39k
    if (yych == 'i') goto yy327;
4005
1.06k
    goto yy48;
4006
24.0k
yy203:
4007
24.0k
    YYDEBUG(203, *YYCURSOR);
4008
24.0k
    yyaccept = 4;
4009
24.0k
    yych = *(YYMARKER = ++YYCURSOR);
4010
24.0k
    if (yych == 'R') goto yy328;
4011
23.5k
    if (yych == 'r') goto yy328;
4012
4.98k
    goto yy48;
4013
94.7k
yy204:
4014
94.7k
    YYDEBUG(204, *YYCURSOR);
4015
94.7k
    yyaccept = 4;
4016
94.7k
    yych = *(YYMARKER = ++YYCURSOR);
4017
94.7k
    if (yych <= 'Y') {
4018
6.89k
      if (yych == 'A') goto yy329;
4019
4.38k
      if (yych <= 'X') goto yy48;
4020
473
      goto yy330;
4021
87.8k
    } else {
4022
87.8k
      if (yych <= 'a') {
4023
13.1k
        if (yych <= '`') goto yy48;
4024
12.6k
        goto yy329;
4025
74.7k
      } else {
4026
74.7k
        if (yych == 'y') goto yy330;
4027
13.2k
        goto yy48;
4028
74.7k
      }
4029
87.8k
    }
4030
22.6k
yy205:
4031
22.6k
    YYDEBUG(205, *YYCURSOR);
4032
22.6k
    yyaccept = 4;
4033
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
4034
22.6k
    if (yych == 'S') goto yy332;
4035
21.6k
    if (yych == 's') goto yy332;
4036
4.31k
    goto yy48;
4037
18.5k
yy206:
4038
18.5k
    YYDEBUG(206, *YYCURSOR);
4039
18.5k
    yyaccept = 4;
4040
18.5k
    yych = *(YYMARKER = ++YYCURSOR);
4041
18.5k
    if (yych == 'E') goto yy333;
4042
17.8k
    if (yych == 'e') goto yy333;
4043
2.14k
    goto yy48;
4044
125k
yy207:
4045
125k
    YYDEBUG(207, *YYCURSOR);
4046
125k
    yyaccept = 4;
4047
125k
    yych = *(YYMARKER = ++YYCURSOR);
4048
125k
    if (yych == 'R') goto yy335;
4049
124k
    if (yych == 'r') goto yy335;
4050
6.97k
    goto yy48;
4051
7.53k
yy208:
4052
7.53k
    YYDEBUG(208, *YYCURSOR);
4053
7.53k
    yyaccept = 4;
4054
7.53k
    yych = *(YYMARKER = ++YYCURSOR);
4055
7.53k
    if (yych == 'I') goto yy337;
4056
6.67k
    if (yych == 'i') goto yy337;
4057
1.56k
    goto yy48;
4058
6.77k
yy209:
4059
6.77k
    YYDEBUG(209, *YYCURSOR);
4060
6.77k
    yyaccept = 4;
4061
6.77k
    yych = *(YYMARKER = ++YYCURSOR);
4062
6.77k
    if (yych == 'R') goto yy338;
4063
6.04k
    if (yych == 'r') goto yy338;
4064
961
    goto yy48;
4065
94.9k
yy210:
4066
94.9k
    YYDEBUG(210, *YYCURSOR);
4067
94.9k
    yyaccept = 4;
4068
94.9k
    yych = *(YYMARKER = ++YYCURSOR);
4069
94.9k
    if (yych == 'E') goto yy340;
4070
89.4k
    if (yych == 'e') goto yy340;
4071
4.47k
    goto yy48;
4072
311k
yy211:
4073
311k
    YYDEBUG(211, *YYCURSOR);
4074
311k
    yyaccept = 13;
4075
311k
    YYMARKER = ++YYCURSOR;
4076
311k
    YYFILL(1);
4077
311k
    yych = *YYCURSOR;
4078
311k
    YYDEBUG(212, *YYCURSOR);
4079
311k
    if (yych <= '\\') {
4080
121k
      if (yych <= '@') {
4081
56.5k
        if (yych <= '/') goto yy213;
4082
25.8k
        if (yych <= '9') goto yy211;
4083
65.1k
      } else {
4084
65.1k
        if (yych <= 'Z') goto yy211;
4085
21.1k
        if (yych >= '\\') goto yy341;
4086
21.1k
      }
4087
189k
    } else {
4088
189k
      if (yych <= '`') {
4089
8.55k
        if (yych == '_') goto yy211;
4090
181k
      } else {
4091
181k
        if (yych <= 'z') goto yy211;
4092
40.6k
        if (yych >= 0x80) goto yy211;
4093
40.6k
      }
4094
189k
    }
4095
60.6k
yy213:
4096
60.6k
    YYDEBUG(213, *YYCURSOR);
4097
60.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4098
60.6k
#line 2447 "Zend/zend_language_scanner.l"
4099
60.6k
    {
4100
60.6k
  RETURN_TOKEN_WITH_STR(T_NAME_FULLY_QUALIFIED, 1);
4101
60.6k
}
4102
0
#line 4103 "Zend/zend_language_scanner.c"
4103
1.22k
yy214:
4104
1.22k
    YYDEBUG(214, *YYCURSOR);
4105
1.22k
    ++YYCURSOR;
4106
1.22k
    YYDEBUG(215, *YYCURSOR);
4107
1.22k
    yyleng = YYCURSOR - SCNG(yy_text);
4108
1.22k
#line 1910 "Zend/zend_language_scanner.l"
4109
1.22k
    {
4110
1.22k
  RETURN_TOKEN(T_XOR_EQUAL);
4111
1.22k
}
4112
0
#line 4113 "Zend/zend_language_scanner.c"
4113
143k
yy216:
4114
143k
    YYDEBUG(216, *YYCURSOR);
4115
143k
    yyaccept = 4;
4116
143k
    yych = *(YYMARKER = ++YYCURSOR);
4117
143k
    switch (yych) {
4118
3.72k
    case 'C':
4119
19.9k
    case 'c': goto yy342;
4120
4.70k
    case 'D':
4121
13.7k
    case 'd': goto yy343;
4122
14.9k
    case 'F':
4123
23.9k
    case 'f': goto yy344;
4124
1.92k
    case 'H':
4125
5.94k
    case 'h': goto yy345;
4126
3.60k
    case 'L':
4127
6.73k
    case 'l': goto yy346;
4128
14.3k
    case 'M':
4129
20.0k
    case 'm': goto yy347;
4130
7.53k
    case 'N':
4131
11.8k
    case 'n': goto yy348;
4132
7.01k
    case 'P':
4133
9.31k
    case 'p': goto yy349;
4134
1.87k
    case 'T':
4135
8.65k
    case 't': goto yy350;
4136
23.7k
    default:  goto yy48;
4137
143k
    }
4138
2.35k
yy217:
4139
2.35k
    YYDEBUG(217, *YYCURSOR);
4140
2.35k
    ++YYCURSOR;
4141
2.35k
    YYDEBUG(218, *YYCURSOR);
4142
2.35k
    yyleng = YYCURSOR - SCNG(yy_text);
4143
2.35k
#line 1906 "Zend/zend_language_scanner.l"
4144
2.35k
    {
4145
2.35k
  RETURN_TOKEN(T_OR_EQUAL);
4146
2.35k
}
4147
0
#line 4148 "Zend/zend_language_scanner.c"
4148
7.99k
yy219:
4149
7.99k
    YYDEBUG(219, *YYCURSOR);
4150
7.99k
    ++YYCURSOR;
4151
7.99k
    YYDEBUG(220, *YYCURSOR);
4152
7.99k
    yyleng = YYCURSOR - SCNG(yy_text);
4153
7.99k
#line 1918 "Zend/zend_language_scanner.l"
4154
7.99k
    {
4155
7.99k
  RETURN_TOKEN(T_PIPE);
4156
7.99k
}
4157
0
#line 4158 "Zend/zend_language_scanner.c"
4158
21.1k
yy221:
4159
21.1k
    YYDEBUG(221, *YYCURSOR);
4160
21.1k
    ++YYCURSOR;
4161
21.1k
    YYDEBUG(222, *YYCURSOR);
4162
21.1k
    yyleng = YYCURSOR - SCNG(yy_text);
4163
21.1k
#line 1922 "Zend/zend_language_scanner.l"
4164
21.1k
    {
4165
21.1k
  RETURN_TOKEN(T_BOOLEAN_OR);
4166
21.1k
}
4167
0
#line 4168 "Zend/zend_language_scanner.c"
4168
2.81k
yy223:
4169
2.81k
    YYDEBUG(223, *YYCURSOR);
4170
2.81k
    ++YYCURSOR;
4171
2.81k
    YYDEBUG(224, *YYCURSOR);
4172
2.81k
    yyleng = YYCURSOR - SCNG(yy_text);
4173
2.81k
#line 1838 "Zend/zend_language_scanner.l"
4174
2.81k
    {
4175
2.81k
  RETURN_TOKEN(T_IS_NOT_IDENTICAL);
4176
2.81k
}
4177
0
#line 4178 "Zend/zend_language_scanner.c"
4178
547k
yy225:
4179
547k
    YYDEBUG(225, *YYCURSOR);
4180
547k
    ++YYCURSOR;
4181
547k
    YYFILL(1);
4182
547k
    yych = *YYCURSOR;
4183
547k
    YYDEBUG(226, *YYCURSOR);
4184
547k
    if (yybm[0+yych] & 2) {
4185
410k
      goto yy225;
4186
410k
    }
4187
137k
    if (yych <= 0x00) goto yy86;
4188
131k
    goto yy84;
4189
179k
yy227:
4190
179k
    YYDEBUG(227, *YYCURSOR);
4191
179k
    ++YYCURSOR;
4192
179k
    YYFILL(1);
4193
179k
    yych = *YYCURSOR;
4194
179k
    YYDEBUG(228, *YYCURSOR);
4195
179k
    if (yych <= 0x1F) {
4196
12.5k
      if (yych <= '\t') {
4197
1.82k
        if (yych <= 0x00) goto yy86;
4198
1.42k
        if (yych <= 0x08) goto yy225;
4199
282
        goto yy227;
4200
10.7k
      } else {
4201
10.7k
        if (yych <= '\n') goto yy84;
4202
9.04k
        if (yych == '\r') goto yy84;
4203
6.71k
        goto yy225;
4204
9.04k
      }
4205
166k
    } else {
4206
166k
      if (yych <= '$') {
4207
27.4k
        if (yych <= ' ') goto yy227;
4208
26.5k
        if (yych <= '"') goto yy225;
4209
25.9k
        if (yych <= '#') goto yy351;
4210
8.16k
        goto yy352;
4211
139k
      } else {
4212
139k
        if (yych <= '-') goto yy225;
4213
78.4k
        if (yych <= '.') goto yy353;
4214
53.1k
        if (yych <= '/') goto yy354;
4215
27.8k
        goto yy225;
4216
53.1k
      }
4217
166k
    }
4218
2.47k
yy229:
4219
2.47k
    YYDEBUG(229, *YYCURSOR);
4220
2.47k
    yych = *++YYCURSOR;
4221
2.47k
    if (yych == '.') goto yy88;
4222
1.41k
    goto yy86;
4223
251k
yy230:
4224
251k
    YYDEBUG(230, *YYCURSOR);
4225
251k
    ++YYCURSOR;
4226
251k
    YYFILL(1);
4227
251k
    yych = *YYCURSOR;
4228
251k
    YYDEBUG(231, *YYCURSOR);
4229
251k
    if (yybm[0+yych] & 4) {
4230
234k
      goto yy230;
4231
234k
    }
4232
17.0k
    if (yych <= 0x00) goto yy86;
4233
10.1k
    goto yy355;
4234
13.3k
yy232:
4235
13.3k
    YYDEBUG(232, *YYCURSOR);
4236
13.3k
    yych = *++YYCURSOR;
4237
13.3k
    if (yych == 'R') goto yy357;
4238
12.9k
    if (yych == 'r') goto yy357;
4239
1.60k
    goto yy86;
4240
4.37k
yy233:
4241
4.37k
    YYDEBUG(233, *YYCURSOR);
4242
4.37k
    yych = *++YYCURSOR;
4243
4.37k
    if (yych == 'N') goto yy358;
4244
4.14k
    if (yych == 'n') goto yy358;
4245
1.13k
    goto yy86;
4246
4.37k
yy234:
4247
4.37k
    YYDEBUG(234, *YYCURSOR);
4248
4.37k
    yych = *++YYCURSOR;
4249
4.37k
    if (yych == 'O') goto yy359;
4250
4.11k
    if (yych == 'o') goto yy359;
4251
843
    goto yy86;
4252
3.49k
yy235:
4253
3.49k
    YYDEBUG(235, *YYCURSOR);
4254
3.49k
    yych = *++YYCURSOR;
4255
3.49k
    if (yych == 'U') goto yy360;
4256
3.28k
    if (yych == 'u') goto yy360;
4257
590
    goto yy86;
4258
4.52k
yy236:
4259
4.52k
    YYDEBUG(236, *YYCURSOR);
4260
4.52k
    yych = *++YYCURSOR;
4261
4.52k
    if (yych == 'O') goto yy361;
4262
2.38k
    if (yych == 'o') goto yy361;
4263
475
    goto yy86;
4264
13.4k
yy237:
4265
13.4k
    YYDEBUG(237, *YYCURSOR);
4266
13.4k
    yych = *++YYCURSOR;
4267
13.4k
    if (yych == 'T') goto yy362;
4268
12.3k
    if (yych == 't') goto yy362;
4269
3.95k
    goto yy86;
4270
5.65k
yy238:
4271
5.65k
    YYDEBUG(238, *YYCURSOR);
4272
5.65k
    yych = *++YYCURSOR;
4273
5.65k
    if (yych == 'J') goto yy363;
4274
5.07k
    if (yych == 'j') goto yy363;
4275
549
    goto yy86;
4276
5.61k
yy239:
4277
5.61k
    YYDEBUG(239, *YYCURSOR);
4278
5.61k
    yych = *++YYCURSOR;
4279
5.61k
    if (yych == 'A') goto yy364;
4280
5.01k
    if (yych == 'a') goto yy364;
4281
4.02k
    goto yy86;
4282
15.1k
yy240:
4283
15.1k
    YYDEBUG(240, *YYCURSOR);
4284
15.1k
    yych = *++YYCURSOR;
4285
15.1k
    if (yych == 'R') goto yy365;
4286
14.5k
    if (yych == 'r') goto yy365;
4287
1.33k
    goto yy86;
4288
5.29k
yy241:
4289
5.29k
    YYDEBUG(241, *YYCURSOR);
4290
5.29k
    yych = *++YYCURSOR;
4291
5.29k
    if (yych == 'S') goto yy366;
4292
4.68k
    if (yych == 's') goto yy366;
4293
1.37k
    goto yy86;
4294
2.74k
yy242:
4295
2.74k
    YYDEBUG(242, *YYCURSOR);
4296
2.74k
    yych = *++YYCURSOR;
4297
2.74k
    if (yych == 'I') goto yy367;
4298
2.53k
    if (yych == 'i') goto yy367;
4299
376
    goto yy86;
4300
432
yy243:
4301
432
    YYDEBUG(243, *YYCURSOR);
4302
432
    ++YYCURSOR;
4303
432
    YYDEBUG(244, *YYCURSOR);
4304
432
    yyleng = YYCURSOR - SCNG(yy_text);
4305
432
#line 1878 "Zend/zend_language_scanner.l"
4306
432
    {
4307
432
  RETURN_TOKEN(T_POW_EQUAL);
4308
432
}
4309
0
#line 4310 "Zend/zend_language_scanner.c"
4310
38.0k
yy245:
4311
38.0k
    YYDEBUG(245, *YYCURSOR);
4312
38.0k
    ++YYCURSOR;
4313
38.0k
    YYDEBUG(246, *YYCURSOR);
4314
38.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4315
38.0k
#line 1618 "Zend/zend_language_scanner.l"
4316
38.0k
    {
4317
38.0k
  RETURN_TOKEN(T_ELLIPSIS);
4318
38.0k
}
4319
0
#line 4320 "Zend/zend_language_scanner.c"
4320
1.96k
yy247:
4321
1.96k
    YYDEBUG(247, *YYCURSOR);
4322
1.96k
    ++YYCURSOR;
4323
1.96k
    YYFILL(1);
4324
1.96k
    yych = *YYCURSOR;
4325
1.96k
    if (yych <= '/') goto yy86;
4326
1.57k
    if (yych <= '9') goto yy123;
4327
860
    goto yy86;
4328
10.4k
yy248:
4329
10.4k
    YYDEBUG(248, *YYCURSOR);
4330
10.4k
    yych = *++YYCURSOR;
4331
10.4k
    if (yych <= '\f') {
4332
5.44k
      if (yych <= 0x08) goto yy86;
4333
5.01k
      if (yych <= '\n') goto yy368;
4334
272
      goto yy86;
4335
5.01k
    } else {
4336
4.98k
      if (yych <= '\r') goto yy368;
4337
4.64k
      if (yych == ' ') goto yy368;
4338
2.54k
      goto yy86;
4339
4.64k
    }
4340
72.7k
yy249:
4341
72.7k
    YYDEBUG(249, *YYCURSOR);
4342
72.7k
    yyaccept = 14;
4343
72.7k
    YYMARKER = ++YYCURSOR;
4344
72.7k
    YYFILL(1);
4345
72.7k
    yych = *YYCURSOR;
4346
72.7k
    YYDEBUG(250, *YYCURSOR);
4347
72.7k
    if (yybm[0+yych] & 8) {
4348
68.7k
      goto yy249;
4349
68.7k
    }
4350
4.02k
    if (yych == '_') goto yy134;
4351
2.97k
yy251:
4352
2.97k
    YYDEBUG(251, *YYCURSOR);
4353
2.97k
    yyleng = YYCURSOR - SCNG(yy_text);
4354
2.97k
#line 2011 "Zend/zend_language_scanner.l"
4355
2.97k
    {
4356
  /* The +/- 2 skips "0b" */
4357
2.97k
  size_t len = yyleng - 2;
4358
2.97k
  char *end, *bin = yytext + 2;
4359
2.97k
  bool contains_underscores;
4360
4361
  /* Skip any leading 0s */
4362
4.33k
  while (len > 0 && (*bin == '0' || *bin == '_')) {
4363
1.36k
    ++bin;
4364
1.36k
    --len;
4365
1.36k
  }
4366
4367
2.97k
  contains_underscores = (memchr(bin, '_', len) != NULL);
4368
4369
2.97k
  if (contains_underscores) {
4370
573
    bin = estrndup(bin, len);
4371
573
    strip_underscores(bin, &len);
4372
573
  }
4373
4374
2.97k
  if (len < SIZEOF_ZEND_LONG * 8) {
4375
2.49k
    if (len == 0) {
4376
438
      ZVAL_LONG(zendlval, 0);
4377
2.06k
    } else {
4378
2.06k
      errno = 0;
4379
2.06k
      ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2));
4380
2.06k
      ZEND_ASSERT(!errno && end == bin + len);
4381
2.06k
    }
4382
2.49k
    if (contains_underscores) {
4383
359
      efree(bin);
4384
359
    }
4385
2.49k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4386
2.49k
  } else {
4387
475
    ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end));
4388
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4389
475
    ZEND_ASSERT(end == bin + len);
4390
475
    if (contains_underscores) {
4391
214
      efree(bin);
4392
214
    }
4393
475
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4394
475
  }
4395
2.97k
}
4396
0
#line 4397 "Zend/zend_language_scanner.c"
4397
13.5k
yy252:
4398
13.5k
    YYDEBUG(252, *YYCURSOR);
4399
13.5k
    ++YYCURSOR;
4400
13.5k
    YYFILL(1);
4401
13.5k
    yych = *YYCURSOR;
4402
13.5k
    if (yych <= '/') goto yy86;
4403
13.0k
    if (yych >= ':') goto yy86;
4404
123k
yy253:
4405
123k
    YYDEBUG(253, *YYCURSOR);
4406
123k
    yyaccept = 5;
4407
123k
    YYMARKER = ++YYCURSOR;
4408
123k
    YYFILL(1);
4409
123k
    yych = *YYCURSOR;
4410
123k
    YYDEBUG(254, *YYCURSOR);
4411
123k
    if (yych <= '/') goto yy125;
4412
103k
    if (yych <= '9') goto yy253;
4413
16.1k
    if (yych == '_') goto yy252;
4414
15.0k
    goto yy125;
4415
18.0k
yy255:
4416
18.0k
    YYDEBUG(255, *YYCURSOR);
4417
18.0k
    yyaccept = 15;
4418
18.0k
    YYMARKER = ++YYCURSOR;
4419
18.0k
    YYFILL(1);
4420
18.0k
    yych = *YYCURSOR;
4421
18.0k
    YYDEBUG(256, *YYCURSOR);
4422
18.0k
    if (yybm[0+yych] & 16) {
4423
14.5k
      goto yy255;
4424
14.5k
    }
4425
3.49k
    if (yych == '_') goto yy136;
4426
2.65k
yy257:
4427
2.65k
    YYDEBUG(257, *YYCURSOR);
4428
2.65k
    yyleng = YYCURSOR - SCNG(yy_text);
4429
2.65k
#line 2053 "Zend/zend_language_scanner.l"
4430
2.65k
    {
4431
  /* The +/- 2 skips "0o" */
4432
2.65k
  size_t len = yyleng - 2;
4433
2.65k
  char *end, *octal = yytext + 2;
4434
2.65k
  bool contains_underscores = (memchr(octal, '_', len) != NULL);
4435
4436
  /* Skip any leading 0s */
4437
4.47k
  while (len > 0 && (*octal == '0' || *octal == '_')) {
4438
1.82k
    ++octal;
4439
1.82k
    --len;
4440
1.82k
  }
4441
4442
2.65k
  if (len == 0) {
4443
757
    ZVAL_LONG(zendlval, 0);
4444
757
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4445
757
  }
4446
4447
1.89k
  if (contains_underscores) {
4448
672
    octal = estrndup(octal, len);
4449
672
    strip_underscores(octal, &len);
4450
672
  }
4451
4452
1.89k
  errno = 0;
4453
4454
1.89k
  ZVAL_LONG(zendlval, ZEND_STRTOL(octal, &end, 8));
4455
4456
1.89k
  ZEND_ASSERT(end == octal + len);
4457
4458
1.89k
  if (!errno) {
4459
1.43k
    if (contains_underscores) {
4460
460
      efree(octal);
4461
460
    }
4462
1.43k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4463
1.43k
  }
4464
4465
  /* Overflow */
4466
464
  ZEND_ASSERT(errno == ERANGE);
4467
  /* Reset errno */
4468
464
  errno = 0;
4469
4470
  /* zend_oct_strtod skips leading '0' */
4471
464
  ZVAL_DOUBLE(zendlval, zend_oct_strtod(octal, (const char **)&end));
4472
464
  ZEND_ASSERT(!errno);
4473
464
  ZEND_ASSERT(end == octal + len);
4474
464
  if (contains_underscores) {
4475
212
    efree(octal);
4476
212
  }
4477
464
  RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4478
464
}
4479
0
#line 4480 "Zend/zend_language_scanner.c"
4480
64.2k
yy258:
4481
64.2k
    YYDEBUG(258, *YYCURSOR);
4482
64.2k
    yyaccept = 16;
4483
64.2k
    YYMARKER = ++YYCURSOR;
4484
64.2k
    YYFILL(1);
4485
64.2k
    yych = *YYCURSOR;
4486
64.2k
    YYDEBUG(259, *YYCURSOR);
4487
64.2k
    if (yybm[0+yych] & 32) {
4488
56.1k
      goto yy258;
4489
56.1k
    }
4490
8.09k
    if (yych == '_') goto yy137;
4491
6.81k
yy260:
4492
6.81k
    YYDEBUG(260, *YYCURSOR);
4493
6.81k
    yyleng = YYCURSOR - SCNG(yy_text);
4494
6.81k
#line 2166 "Zend/zend_language_scanner.l"
4495
6.81k
    {
4496
  /* The +/- 2 skips "0x" */
4497
6.81k
  size_t len = yyleng - 2;
4498
6.81k
  char *end, *hex = yytext + 2;
4499
6.81k
  bool contains_underscores;
4500
4501
  /* Skip any leading 0s */
4502
11.0k
  while (len > 0 && (*hex == '0' || *hex == '_')) {
4503
4.19k
    ++hex;
4504
4.19k
    --len;
4505
4.19k
  }
4506
4507
6.81k
  contains_underscores = (memchr(hex, '_', len) != NULL);
4508
4509
6.81k
  if (contains_underscores) {
4510
1.11k
    hex = estrndup(hex, len);
4511
1.11k
    strip_underscores(hex, &len);
4512
1.11k
  }
4513
4514
6.81k
  if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) {
4515
4.97k
    if (len == 0) {
4516
1.27k
      ZVAL_LONG(zendlval, 0);
4517
3.70k
    } else {
4518
3.70k
      errno = 0;
4519
3.70k
      ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16));
4520
3.70k
      ZEND_ASSERT(!errno && end == hex + len);
4521
3.70k
    }
4522
4.97k
    if (contains_underscores) {
4523
617
      efree(hex);
4524
617
    }
4525
4.97k
    RETURN_TOKEN_WITH_VAL(T_LNUMBER);
4526
4.97k
  } else {
4527
1.84k
    ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end));
4528
    /* errno isn't checked since we allow HUGE_VAL/INF overflow */
4529
1.84k
    ZEND_ASSERT(end == hex + len);
4530
1.84k
    if (contains_underscores) {
4531
498
      efree(hex);
4532
498
    }
4533
1.84k
    RETURN_TOKEN_WITH_VAL(T_DNUMBER);
4534
1.84k
  }
4535
6.81k
}
4536
0
#line 4537 "Zend/zend_language_scanner.c"
4537
3.93M
yy261:
4538
3.93M
    YYDEBUG(261, *YYCURSOR);
4539
3.93M
    ++YYCURSOR;
4540
3.93M
    YYFILL(2);
4541
3.93M
    yych = *YYCURSOR;
4542
3.93M
    YYDEBUG(262, *YYCURSOR);
4543
3.93M
    if (yych <= '\'') {
4544
90.8k
      if (yych <= ' ') {
4545
58.1k
        if (yych == '\t') goto yy261;
4546
44.6k
        if (yych <= 0x1F) goto yy86;
4547
24.4k
        goto yy261;
4548
44.6k
      } else {
4549
32.7k
        if (yych == '"') goto yy370;
4550
26.8k
        if (yych <= '&') goto yy86;
4551
17.7k
        goto yy371;
4552
26.8k
      }
4553
3.84M
    } else {
4554
3.84M
      if (yych <= '_') {
4555
525k
        if (yych <= '@') goto yy86;
4556
450k
        if (yych <= 'Z') goto yy372;
4557
4.79k
        if (yych <= '^') goto yy86;
4558
3.72k
        goto yy372;
4559
3.32M
      } else {
4560
3.32M
        if (yych <= '`') goto yy86;
4561
3.31M
        if (yych <= 'z') goto yy372;
4562
1.77M
        if (yych <= 0x7F) goto yy86;
4563
1.77M
        goto yy372;
4564
1.77M
      }
4565
3.84M
    }
4566
3.16k
yy263:
4567
3.16k
    YYDEBUG(263, *YYCURSOR);
4568
3.16k
    ++YYCURSOR;
4569
3.16k
    YYDEBUG(264, *YYCURSOR);
4570
3.16k
    yyleng = YYCURSOR - SCNG(yy_text);
4571
3.16k
#line 1894 "Zend/zend_language_scanner.l"
4572
3.16k
    {
4573
3.16k
  RETURN_TOKEN(T_SL_EQUAL);
4574
3.16k
}
4575
0
#line 4576 "Zend/zend_language_scanner.c"
4576
1.13k
yy265:
4577
1.13k
    YYDEBUG(265, *YYCURSOR);
4578
1.13k
    ++YYCURSOR;
4579
1.13k
    YYDEBUG(266, *YYCURSOR);
4580
1.13k
    yyleng = YYCURSOR - SCNG(yy_text);
4581
1.13k
#line 1850 "Zend/zend_language_scanner.l"
4582
1.13k
    {
4583
1.13k
  RETURN_TOKEN(T_SPACESHIP);
4584
1.13k
}
4585
0
#line 4586 "Zend/zend_language_scanner.c"
4586
25.5k
yy267:
4587
25.5k
    YYDEBUG(267, *YYCURSOR);
4588
25.5k
    ++YYCURSOR;
4589
25.5k
    YYDEBUG(268, *YYCURSOR);
4590
25.5k
    yyleng = YYCURSOR - SCNG(yy_text);
4591
25.5k
#line 1834 "Zend/zend_language_scanner.l"
4592
25.5k
    {
4593
25.5k
  RETURN_TOKEN(T_IS_IDENTICAL);
4594
25.5k
}
4595
0
#line 4596 "Zend/zend_language_scanner.c"
4596
1.53k
yy269:
4597
1.53k
    YYDEBUG(269, *YYCURSOR);
4598
1.53k
    ++YYCURSOR;
4599
1.53k
    YYDEBUG(270, *YYCURSOR);
4600
1.53k
    yyleng = YYCURSOR - SCNG(yy_text);
4601
1.53k
#line 1898 "Zend/zend_language_scanner.l"
4602
1.53k
    {
4603
1.53k
  RETURN_TOKEN(T_SR_EQUAL);
4604
1.53k
}
4605
0
#line 4606 "Zend/zend_language_scanner.c"
4606
45.0k
yy271:
4607
45.0k
    YYDEBUG(271, *YYCURSOR);
4608
45.0k
    ++YYCURSOR;
4609
45.0k
    YYDEBUG(272, *YYCURSOR);
4610
45.0k
    yyleng = YYCURSOR - SCNG(yy_text);
4611
45.0k
#line 1592 "Zend/zend_language_scanner.l"
4612
45.0k
    {
4613
45.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
4614
45.0k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
4615
45.0k
}
4616
0
#line 4617 "Zend/zend_language_scanner.c"
4617
9.72k
yy273:
4618
9.72k
    YYDEBUG(273, *YYCURSOR);
4619
9.72k
    ++YYCURSOR;
4620
9.72k
    goto yy156;
4621
1.66k
yy274:
4622
1.66k
    YYDEBUG(274, *YYCURSOR);
4623
1.66k
    yych = *++YYCURSOR;
4624
1.66k
    if (yych == '\n') goto yy273;
4625
1.32k
    goto yy156;
4626
9.11k
yy275:
4627
9.11k
    YYDEBUG(275, *YYCURSOR);
4628
9.11k
    ++YYCURSOR;
4629
9.11k
    YYDEBUG(276, *YYCURSOR);
4630
9.11k
    yyleng = YYCURSOR - SCNG(yy_text);
4631
9.11k
#line 1914 "Zend/zend_language_scanner.l"
4632
9.11k
    {
4633
9.11k
  RETURN_TOKEN(T_COALESCE_EQUAL);
4634
9.11k
}
4635
0
#line 4636 "Zend/zend_language_scanner.c"
4636
9.84k
yy277:
4637
9.84k
    YYDEBUG(277, *YYCURSOR);
4638
9.84k
    yyaccept = 4;
4639
9.84k
    yych = *(YYMARKER = ++YYCURSOR);
4640
9.84k
    if (yych == 'T') goto yy374;
4641
7.06k
    if (yych == 't') goto yy374;
4642
419
    goto yy48;
4643
8.96k
yy278:
4644
8.96k
    YYDEBUG(278, *YYCURSOR);
4645
8.96k
    yyaccept = 17;
4646
8.96k
    yych = *(YYMARKER = ++YYCURSOR);
4647
8.96k
    if (yybm[256+yych] & 128) {
4648
409
      goto yy47;
4649
409
    }
4650
8.56k
    if (yych == '\\') goto yy164;
4651
8.48k
yy279:
4652
8.48k
    YYDEBUG(279, *YYCURSOR);
4653
8.48k
    yyleng = YYCURSOR - SCNG(yy_text);
4654
8.48k
#line 1934 "Zend/zend_language_scanner.l"
4655
8.48k
    {
4656
8.48k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_AND);
4657
8.48k
}
4658
0
#line 4659 "Zend/zend_language_scanner.c"
4659
32.0k
yy280:
4660
32.0k
    YYDEBUG(280, *YYCURSOR);
4661
32.0k
    yyaccept = 4;
4662
32.0k
    yych = *(YYMARKER = ++YYCURSOR);
4663
32.0k
    if (yych == 'A') goto yy375;
4664
31.1k
    if (yych == 'a') goto yy375;
4665
2.49k
    goto yy48;
4666
158k
yy281:
4667
158k
    YYDEBUG(281, *YYCURSOR);
4668
158k
    yyaccept = 18;
4669
158k
    YYMARKER = ++YYCURSOR;
4670
158k
    YYFILL(1);
4671
158k
    yych = *YYCURSOR;
4672
158k
    YYDEBUG(282, *YYCURSOR);
4673
158k
    if (yych <= '\\') {
4674
70.1k
      if (yych <= '@') {
4675
45.1k
        if (yych <= '/') goto yy283;
4676
25.0k
        if (yych <= '9') goto yy281;
4677
25.0k
      } else {
4678
25.0k
        if (yych <= 'Z') goto yy281;
4679
10.3k
        if (yych >= '\\') goto yy164;
4680
10.3k
      }
4681
88.8k
    } else {
4682
88.8k
      if (yych <= '`') {
4683
2.23k
        if (yych == '_') goto yy281;
4684
86.6k
      } else {
4685
86.6k
        if (yych <= 'z') goto yy281;
4686
41.6k
        if (yych >= 0x80) goto yy281;
4687
41.6k
      }
4688
88.8k
    }
4689
34.6k
yy283:
4690
34.6k
    YYDEBUG(283, *YYCURSOR);
4691
34.6k
    yyleng = YYCURSOR - SCNG(yy_text);
4692
34.6k
#line 2443 "Zend/zend_language_scanner.l"
4693
34.6k
    {
4694
34.6k
  RETURN_TOKEN_WITH_STR(T_NAME_QUALIFIED, 0);
4695
34.6k
}
4696
0
#line 4697 "Zend/zend_language_scanner.c"
4697
4.35k
yy284:
4698
4.35k
    YYDEBUG(284, *YYCURSOR);
4699
4.35k
    yych = *++YYCURSOR;
4700
4.35k
    if (yych == '<') goto yy261;
4701
950
    goto yy86;
4702
8.34k
yy285:
4703
8.34k
    YYDEBUG(285, *YYCURSOR);
4704
8.34k
    yyaccept = 4;
4705
8.34k
    yych = *(YYMARKER = ++YYCURSOR);
4706
8.34k
    if (yych == 'A') goto yy376;
4707
7.91k
    if (yych == 'a') goto yy376;
4708
905
    goto yy48;
4709
17.6k
yy286:
4710
17.6k
    YYDEBUG(286, *YYCURSOR);
4711
17.6k
    yyaccept = 4;
4712
17.6k
    yych = *(YYMARKER = ++YYCURSOR);
4713
17.6k
    if (yych == 'L') goto yy377;
4714
16.1k
    if (yych == 'l') goto yy377;
4715
1.74k
    goto yy48;
4716
13.4k
yy287:
4717
13.4k
    YYDEBUG(287, *YYCURSOR);
4718
13.4k
    yyaccept = 4;
4719
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
4720
13.4k
    if (yych == 'E') goto yy378;
4721
10.4k
    if (yych == 'e') goto yy378;
4722
1.07k
    goto yy48;
4723
58.0k
yy288:
4724
58.0k
    YYDEBUG(288, *YYCURSOR);
4725
58.0k
    yyaccept = 4;
4726
58.0k
    yych = *(YYMARKER = ++YYCURSOR);
4727
58.0k
    if (yych == 'C') goto yy380;
4728
57.4k
    if (yych == 'c') goto yy380;
4729
1.77k
    goto yy48;
4730
90.8k
yy289:
4731
90.8k
    YYDEBUG(289, *YYCURSOR);
4732
90.8k
    yyaccept = 4;
4733
90.8k
    yych = *(YYMARKER = ++YYCURSOR);
4734
90.8k
    if (yych == 'S') goto yy381;
4735
88.5k
    if (yych == 's') goto yy381;
4736
2.57k
    goto yy48;
4737
9.56k
yy290:
4738
9.56k
    YYDEBUG(290, *YYCURSOR);
4739
9.56k
    yyaccept = 4;
4740
9.56k
    yych = *(YYMARKER = ++YYCURSOR);
4741
9.56k
    if (yych == 'N') goto yy382;
4742
8.42k
    if (yych == 'n') goto yy382;
4743
3.22k
    goto yy48;
4744
70.8k
yy291:
4745
70.8k
    YYDEBUG(291, *YYCURSOR);
4746
70.8k
    yyaccept = 4;
4747
70.8k
    yych = *(YYMARKER = ++YYCURSOR);
4748
70.8k
    if (yych <= 'T') {
4749
9.73k
      if (yych <= 'R') goto yy48;
4750
7.47k
      if (yych <= 'S') goto yy383;
4751
3.01k
      goto yy384;
4752
61.0k
    } else {
4753
61.0k
      if (yych <= 'r') goto yy48;
4754
59.8k
      if (yych <= 's') goto yy383;
4755
6.65k
      if (yych <= 't') goto yy384;
4756
775
      goto yy48;
4757
6.65k
    }
4758
10.6k
yy292:
4759
10.6k
    YYDEBUG(292, *YYCURSOR);
4760
10.6k
    yyaccept = 4;
4761
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
4762
10.6k
    if (yych == 'L') goto yy385;
4763
9.17k
    if (yych == 'l') goto yy385;
4764
860
    goto yy48;
4765
10.1k
yy293:
4766
10.1k
    YYDEBUG(293, *YYCURSOR);
4767
10.1k
    yyaccept = 4;
4768
10.1k
    yych = *(YYMARKER = ++YYCURSOR);
4769
10.1k
    if (yych == 'A') goto yy386;
4770
9.47k
    if (yych == 'a') goto yy386;
4771
5.43k
    goto yy48;
4772
6.63k
yy294:
4773
6.63k
    YYDEBUG(294, *YYCURSOR);
4774
6.63k
    yyaccept = 19;
4775
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
4776
6.63k
    if (yybm[256+yych] & 128) {
4777
1.02k
      goto yy47;
4778
1.02k
    }
4779
5.60k
    if (yych == '\\') goto yy164;
4780
5.58k
yy295:
4781
5.58k
    YYDEBUG(295, *YYCURSOR);
4782
5.58k
    yyleng = YYCURSOR - SCNG(yy_text);
4783
5.58k
#line 1403 "Zend/zend_language_scanner.l"
4784
5.58k
    {
4785
5.58k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
4786
5.58k
}
4787
0
#line 4788 "Zend/zend_language_scanner.c"
4788
99.8k
yy296:
4789
99.8k
    YYDEBUG(296, *YYCURSOR);
4790
99.8k
    yyaccept = 4;
4791
99.8k
    yych = *(YYMARKER = ++YYCURSOR);
4792
99.8k
    if (yych == 'O') goto yy387;
4793
99.2k
    if (yych == 'o') goto yy387;
4794
3.97k
    goto yy48;
4795
13.7k
yy297:
4796
13.7k
    YYDEBUG(297, *YYCURSOR);
4797
13.7k
    yyaccept = 4;
4798
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
4799
13.7k
    if (yych == 'E') goto yy389;
4800
13.2k
    if (yych == 'e') goto yy389;
4801
683
    goto yy48;
4802
6.12k
yy298:
4803
6.12k
    YYDEBUG(298, *YYCURSOR);
4804
6.12k
    yyaccept = 4;
4805
6.12k
    yych = *(YYMARKER = ++YYCURSOR);
4806
6.12k
    if (yych == 'T') goto yy391;
4807
4.74k
    if (yych == 't') goto yy391;
4808
1.06k
    goto yy48;
4809
57.7k
yy299:
4810
57.7k
    YYDEBUG(299, *YYCURSOR);
4811
57.7k
    yyaccept = 4;
4812
57.7k
    yych = *(YYMARKER = ++YYCURSOR);
4813
57.7k
    switch (yych) {
4814
4.07k
    case 'D':
4815
7.86k
    case 'd': goto yy392;
4816
6.25k
    case 'F':
4817
12.9k
    case 'f': goto yy393;
4818
5.75k
    case 'I':
4819
9.97k
    case 'i': goto yy394;
4820
1.38k
    case 'S':
4821
7.49k
    case 's': goto yy395;
4822
5.03k
    case 'W':
4823
11.7k
    case 'w': goto yy396;
4824
7.73k
    default:  goto yy48;
4825
57.7k
    }
4826
185k
yy300:
4827
185k
    YYDEBUG(300, *YYCURSOR);
4828
185k
    yyaccept = 4;
4829
185k
    yych = *(YYMARKER = ++YYCURSOR);
4830
185k
    if (yych == 'M') goto yy397;
4831
177k
    if (yych == 'm') goto yy397;
4832
19.1k
    goto yy48;
4833
19.1k
yy301:
4834
6.92k
    YYDEBUG(301, *YYCURSOR);
4835
6.92k
    yyaccept = 4;
4836
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
4837
6.92k
    if (yych == 'L') goto yy398;
4838
6.44k
    if (yych == 'l') goto yy398;
4839
1.03k
    goto yy48;
4840
3.33k
yy302:
4841
3.33k
    YYDEBUG(302, *YYCURSOR);
4842
3.33k
    yyaccept = 4;
4843
3.33k
    yych = *(YYMARKER = ++YYCURSOR);
4844
3.33k
    if (yych == 'T') goto yy400;
4845
2.53k
    if (yych == 't') goto yy400;
4846
633
    goto yy48;
4847
26.8k
yy303:
4848
26.8k
    YYDEBUG(303, *YYCURSOR);
4849
26.8k
    yyaccept = 4;
4850
26.8k
    yych = *(YYMARKER = ++YYCURSOR);
4851
26.8k
    if (yych == 'E') goto yy402;
4852
25.7k
    if (yych == 'e') goto yy402;
4853
2.95k
    goto yy48;
4854
17.4k
yy304:
4855
17.4k
    YYDEBUG(304, *YYCURSOR);
4856
17.4k
    yyaccept = 4;
4857
17.4k
    yych = *(YYMARKER = ++YYCURSOR);
4858
17.4k
    if (yych == 'A') goto yy403;
4859
16.1k
    if (yych == 'a') goto yy403;
4860
1.29k
    goto yy48;
4861
68.7k
yy305:
4862
68.7k
    YYDEBUG(305, *YYCURSOR);
4863
68.7k
    yyaccept = 20;
4864
68.7k
    yych = *(YYMARKER = ++YYCURSOR);
4865
68.7k
    if (yych <= '\\') {
4866
38.4k
      if (yych <= 'D') {
4867
35.9k
        if (yych <= '/') goto yy306;
4868
2.86k
        if (yych <= '9') goto yy47;
4869
2.54k
        if (yych >= 'A') goto yy47;
4870
2.54k
      } else {
4871
2.52k
        if (yych <= 'E') goto yy404;
4872
1.41k
        if (yych <= 'Z') goto yy47;
4873
706
        if (yych >= '\\') goto yy164;
4874
706
      }
4875
38.4k
    } else {
4876
30.3k
      if (yych <= 'd') {
4877
1.18k
        if (yych == '_') goto yy47;
4878
794
        if (yych >= 'a') goto yy47;
4879
29.1k
      } else {
4880
29.1k
        if (yych <= 'e') goto yy404;
4881
2.63k
        if (yych <= 'z') goto yy47;
4882
1.04k
        if (yych >= 0x80) goto yy47;
4883
1.04k
      }
4884
30.3k
    }
4885
36.2k
yy306:
4886
36.2k
    YYDEBUG(306, *YYCURSOR);
4887
36.2k
    yyleng = YYCURSOR - SCNG(yy_text);
4888
36.2k
#line 1482 "Zend/zend_language_scanner.l"
4889
36.2k
    {
4890
36.2k
  RETURN_TOKEN_WITH_IDENT(T_FOR);
4891
36.2k
}
4892
0
#line 4893 "Zend/zend_language_scanner.c"
4893
131k
yy307:
4894
131k
    YYDEBUG(307, *YYCURSOR);
4895
131k
    yyaccept = 4;
4896
131k
    yych = *(YYMARKER = ++YYCURSOR);
4897
131k
    if (yych == 'C') goto yy405;
4898
130k
    if (yych == 'c') goto yy405;
4899
1.81k
    goto yy48;
4900
9.59k
yy308:
4901
9.59k
    YYDEBUG(308, *YYCURSOR);
4902
9.59k
    yyaccept = 4;
4903
9.59k
    yych = *(YYMARKER = ++YYCURSOR);
4904
9.59k
    if (yych == 'B') goto yy406;
4905
6.43k
    if (yych == 'b') goto yy406;
4906
1.71k
    goto yy48;
4907
6.17k
yy309:
4908
6.17k
    YYDEBUG(309, *YYCURSOR);
4909
6.17k
    yyaccept = 4;
4910
6.17k
    yych = *(YYMARKER = ++YYCURSOR);
4911
6.17k
    if (yych == 'O') goto yy407;
4912
4.78k
    if (yych == 'o') goto yy407;
4913
619
    goto yy48;
4914
32.6k
yy310:
4915
32.6k
    YYDEBUG(310, *YYCURSOR);
4916
32.6k
    yyaccept = 4;
4917
32.6k
    yych = *(YYMARKER = ++YYCURSOR);
4918
32.6k
    if (yych == 'L') goto yy409;
4919
30.5k
    if (yych == 'l') goto yy409;
4920
3.53k
    goto yy48;
4921
16.9k
yy311:
4922
16.9k
    YYDEBUG(311, *YYCURSOR);
4923
16.9k
    yyaccept = 4;
4924
16.9k
    yych = *(YYMARKER = ++YYCURSOR);
4925
16.9k
    if (yych == 'L') goto yy410;
4926
14.0k
    if (yych == 'l') goto yy410;
4927
3.66k
    goto yy48;
4928
18.7k
yy312:
4929
18.7k
    YYDEBUG(312, *YYCURSOR);
4930
18.7k
    yyaccept = 4;
4931
18.7k
    yych = *(YYMARKER = ++YYCURSOR);
4932
18.7k
    if (yych == 'T') goto yy411;
4933
15.7k
    if (yych == 't') goto yy411;
4934
825
    goto yy48;
4935
33.7k
yy313:
4936
33.7k
    YYDEBUG(313, *YYCURSOR);
4937
33.7k
    yyaccept = 4;
4938
33.7k
    yych = *(YYMARKER = ++YYCURSOR);
4939
33.7k
    if (yych == 'E') goto yy412;
4940
32.6k
    if (yych == 'e') goto yy412;
4941
14.4k
    goto yy48;
4942
20.5k
yy314:
4943
20.5k
    YYDEBUG(314, *YYCURSOR);
4944
20.5k
    yyaccept = 4;
4945
20.5k
    yych = *(YYMARKER = ++YYCURSOR);
4946
20.5k
    if (yych == 'E') goto yy413;
4947
20.0k
    if (yych == 'e') goto yy413;
4948
1.61k
    goto yy48;
4949
6.14k
yy315:
4950
6.14k
    YYDEBUG(315, *YYCURSOR);
4951
6.14k
    yyaccept = 4;
4952
6.14k
    yych = *(YYMARKER = ++YYCURSOR);
4953
6.14k
    if (yych == 'T') goto yy414;
4954
5.16k
    if (yych == 't') goto yy414;
4955
292
    goto yy48;
4956
5.88k
yy316:
4957
5.88k
    YYDEBUG(316, *YYCURSOR);
4958
5.88k
    yyaccept = 4;
4959
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
4960
5.88k
    if (yych == 'C') goto yy416;
4961
5.51k
    if (yych == 'c') goto yy416;
4962
601
    goto yy48;
4963
31.3k
yy317:
4964
31.3k
    YYDEBUG(317, *YYCURSOR);
4965
31.3k
    yyaccept = 4;
4966
31.3k
    yych = *(YYMARKER = ++YYCURSOR);
4967
31.3k
    if (yych == 'E') goto yy417;
4968
28.3k
    if (yych == 'e') goto yy417;
4969
3.73k
    goto yy48;
4970
103k
yy318:
4971
103k
    YYDEBUG(318, *YYCURSOR);
4972
103k
    yyaccept = 21;
4973
103k
    yych = *(YYMARKER = ++YYCURSOR);
4974
103k
    if (yybm[256+yych] & 128) {
4975
722
      goto yy47;
4976
722
    }
4977
102k
    if (yych == '\\') goto yy164;
4978
102k
yy319:
4979
102k
    YYDEBUG(319, *YYCURSOR);
4980
102k
    yyleng = YYCURSOR - SCNG(yy_text);
4981
102k
#line 1626 "Zend/zend_language_scanner.l"
4982
102k
    {
4983
102k
  RETURN_TOKEN_WITH_IDENT(T_NEW);
4984
102k
}
4985
0
#line 4986 "Zend/zend_language_scanner.c"
4986
38.6k
yy320:
4987
38.6k
    YYDEBUG(320, *YYCURSOR);
4988
38.6k
    yyaccept = 4;
4989
38.6k
    yych = *(YYMARKER = ++YYCURSOR);
4990
38.6k
    if (yych <= 'V') {
4991
3.79k
      if (yych == 'N') goto yy418;
4992
2.68k
      if (yych <= 'U') goto yy48;
4993
1.81k
      goto yy419;
4994
34.8k
    } else {
4995
34.8k
      if (yych <= 'n') {
4996
21.0k
        if (yych <= 'm') goto yy48;
4997
15.9k
        goto yy418;
4998
21.0k
      } else {
4999
13.8k
        if (yych == 'v') goto yy419;
5000
741
        goto yy48;
5001
13.8k
      }
5002
34.8k
    }
5003
15.6k
yy321:
5004
15.6k
    YYDEBUG(321, *YYCURSOR);
5005
15.6k
    yyaccept = 4;
5006
15.6k
    yych = *(YYMARKER = ++YYCURSOR);
5007
15.6k
    if (yych == 'T') goto yy420;
5008
13.4k
    if (yych == 't') goto yy420;
5009
3.16k
    goto yy48;
5010
76.5k
yy322:
5011
76.5k
    YYDEBUG(322, *YYCURSOR);
5012
76.5k
    yyaccept = 4;
5013
76.5k
    yych = *(YYMARKER = ++YYCURSOR);
5014
76.5k
    if (yych == 'L') goto yy421;
5015
74.4k
    if (yych == 'l') goto yy421;
5016
2.59k
    goto yy48;
5017
11.4k
yy323:
5018
11.4k
    YYDEBUG(323, *YYCURSOR);
5019
11.4k
    yyaccept = 4;
5020
11.4k
    yych = *(YYMARKER = ++YYCURSOR);
5021
11.4k
    if (yych == 'D') goto yy422;
5022
11.2k
    if (yych == 'd') goto yy422;
5023
2.70k
    goto yy48;
5024
28.2k
yy324:
5025
28.2k
    YYDEBUG(324, *YYCURSOR);
5026
28.2k
    yyaccept = 4;
5027
28.2k
    yych = *(YYMARKER = ++YYCURSOR);
5028
28.2k
    if (yych == 'U') goto yy423;
5029
27.3k
    if (yych == 'u') goto yy423;
5030
4.84k
    goto yy48;
5031
33.5k
yy325:
5032
33.5k
    YYDEBUG(325, *YYCURSOR);
5033
33.5k
    yyaccept = 4;
5034
33.5k
    yych = *(YYMARKER = ++YYCURSOR);
5035
33.5k
    if (yych == 'U') goto yy424;
5036
32.9k
    if (yych == 'u') goto yy424;
5037
1.04k
    goto yy48;
5038
26.4k
yy326:
5039
26.4k
    YYDEBUG(326, *YYCURSOR);
5040
26.4k
    yyaccept = 4;
5041
26.4k
    yych = *(YYMARKER = ++YYCURSOR);
5042
26.4k
    if (yych == 'T') goto yy425;
5043
25.3k
    if (yych == 't') goto yy425;
5044
2.52k
    goto yy48;
5045
9.17k
yy327:
5046
9.17k
    YYDEBUG(327, *YYCURSOR);
5047
9.17k
    yyaccept = 4;
5048
9.17k
    yych = *(YYMARKER = ++YYCURSOR);
5049
9.17k
    if (yych == 'T') goto yy426;
5050
8.74k
    if (yych == 't') goto yy426;
5051
608
    goto yy48;
5052
19.1k
yy328:
5053
19.1k
    YYDEBUG(328, *YYCURSOR);
5054
19.1k
    yyaccept = 4;
5055
19.1k
    yych = *(YYMARKER = ++YYCURSOR);
5056
19.1k
    if (yych == 'O') goto yy427;
5057
16.6k
    if (yych == 'o') goto yy427;
5058
1.06k
    goto yy48;
5059
15.1k
yy329:
5060
15.1k
    YYDEBUG(329, *YYCURSOR);
5061
15.1k
    yyaccept = 4;
5062
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
5063
15.1k
    if (yych == 'I') goto yy428;
5064
12.8k
    if (yych == 'i') goto yy428;
5065
1.86k
    goto yy48;
5066
61.9k
yy330:
5067
61.9k
    YYDEBUG(330, *YYCURSOR);
5068
61.9k
    yyaccept = 22;
5069
61.9k
    yych = *(YYMARKER = ++YYCURSOR);
5070
61.9k
    if (yybm[256+yych] & 128) {
5071
1.68k
      goto yy47;
5072
1.68k
    }
5073
60.2k
    if (yych == '\\') goto yy164;
5074
60.2k
yy331:
5075
60.2k
    YYDEBUG(331, *YYCURSOR);
5076
60.2k
    yyleng = YYCURSOR - SCNG(yy_text);
5077
60.2k
#line 1438 "Zend/zend_language_scanner.l"
5078
60.2k
    {
5079
60.2k
  RETURN_TOKEN_WITH_IDENT(T_TRY);
5080
60.2k
}
5081
0
#line 5082 "Zend/zend_language_scanner.c"
5082
18.2k
yy332:
5083
18.2k
    YYDEBUG(332, *YYCURSOR);
5084
18.2k
    yyaccept = 4;
5085
18.2k
    yych = *(YYMARKER = ++YYCURSOR);
5086
18.2k
    if (yych == 'E') goto yy429;
5087
16.6k
    if (yych == 'e') goto yy429;
5088
2.21k
    goto yy48;
5089
16.3k
yy333:
5090
16.3k
    YYDEBUG(333, *YYCURSOR);
5091
16.3k
    yyaccept = 23;
5092
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
5093
16.3k
    if (yybm[256+yych] & 128) {
5094
2.86k
      goto yy47;
5095
2.86k
    }
5096
13.4k
    if (yych == '\\') goto yy164;
5097
13.4k
yy334:
5098
13.4k
    YYDEBUG(334, *YYCURSOR);
5099
13.4k
    yyleng = YYCURSOR - SCNG(yy_text);
5100
13.4k
#line 1742 "Zend/zend_language_scanner.l"
5101
13.4k
    {
5102
13.4k
  RETURN_TOKEN_WITH_IDENT(T_USE);
5103
13.4k
}
5104
0
#line 5105 "Zend/zend_language_scanner.c"
5105
118k
yy335:
5106
118k
    YYDEBUG(335, *YYCURSOR);
5107
118k
    yyaccept = 24;
5108
118k
    yych = *(YYMARKER = ++YYCURSOR);
5109
118k
    if (yybm[256+yych] & 128) {
5110
115k
      goto yy47;
5111
115k
    }
5112
2.91k
    if (yych == '\\') goto yy164;
5113
2.83k
yy336:
5114
2.83k
    YYDEBUG(336, *YYCURSOR);
5115
2.83k
    yyleng = YYCURSOR - SCNG(yy_text);
5116
2.83k
#line 1634 "Zend/zend_language_scanner.l"
5117
2.83k
    {
5118
2.83k
  RETURN_TOKEN_WITH_IDENT(T_VAR);
5119
2.83k
}
5120
0
#line 5121 "Zend/zend_language_scanner.c"
5121
5.97k
yy337:
5122
5.97k
    YYDEBUG(337, *YYCURSOR);
5123
5.97k
    yyaccept = 4;
5124
5.97k
    yych = *(YYMARKER = ++YYCURSOR);
5125
5.97k
    if (yych == 'L') goto yy430;
5126
5.15k
    if (yych == 'l') goto yy430;
5127
701
    goto yy48;
5128
5.81k
yy338:
5129
5.81k
    YYDEBUG(338, *YYCURSOR);
5130
5.81k
    yyaccept = 25;
5131
5.81k
    yych = *(YYMARKER = ++YYCURSOR);
5132
5.81k
    if (yybm[256+yych] & 128) {
5133
326
      goto yy47;
5134
326
    }
5135
5.49k
    if (yych == '\\') goto yy164;
5136
5.45k
yy339:
5137
5.45k
    YYDEBUG(339, *YYCURSOR);
5138
5.45k
    yyleng = YYCURSOR - SCNG(yy_text);
5139
5.45k
#line 1938 "Zend/zend_language_scanner.l"
5140
5.45k
    {
5141
5.45k
  RETURN_TOKEN_WITH_IDENT(T_LOGICAL_XOR);
5142
5.45k
}
5143
0
#line 5144 "Zend/zend_language_scanner.c"
5144
90.4k
yy340:
5145
90.4k
    YYDEBUG(340, *YYCURSOR);
5146
90.4k
    yyaccept = 4;
5147
90.4k
    yych = *(YYMARKER = ++YYCURSOR);
5148
90.4k
    if (yych == 'L') goto yy431;
5149
87.3k
    if (yych == 'l') goto yy431;
5150
4.87k
    goto yy48;
5151
20.0k
yy341:
5152
20.0k
    YYDEBUG(341, *YYCURSOR);
5153
20.0k
    ++YYCURSOR;
5154
20.0k
    YYFILL(1);
5155
20.0k
    yych = *YYCURSOR;
5156
20.0k
    if (yych <= '_') {
5157
15.0k
      if (yych <= '@') goto yy86;
5158
13.7k
      if (yych <= 'Z') goto yy211;
5159
3.45k
      if (yych <= '^') goto yy86;
5160
886
      goto yy211;
5161
5.01k
    } else {
5162
5.01k
      if (yych <= '`') goto yy86;
5163
4.76k
      if (yych <= 'z') goto yy211;
5164
1.69k
      if (yych <= 0x7F) goto yy86;
5165
866
      goto yy211;
5166
1.69k
    }
5167
19.9k
yy342:
5168
19.9k
    YYDEBUG(342, *YYCURSOR);
5169
19.9k
    yyaccept = 4;
5170
19.9k
    yych = *(YYMARKER = ++YYCURSOR);
5171
19.9k
    if (yych == 'L') goto yy432;
5172
17.2k
    if (yych == 'l') goto yy432;
5173
12.7k
    goto yy48;
5174
13.7k
yy343:
5175
13.7k
    YYDEBUG(343, *YYCURSOR);
5176
13.7k
    yyaccept = 4;
5177
13.7k
    yych = *(YYMARKER = ++YYCURSOR);
5178
13.7k
    if (yych == 'I') goto yy433;
5179
9.36k
    if (yych == 'i') goto yy433;
5180
5.59k
    goto yy48;
5181
23.9k
yy344:
5182
23.9k
    YYDEBUG(344, *YYCURSOR);
5183
23.9k
    yyaccept = 4;
5184
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
5185
23.9k
    if (yych <= 'U') {
5186
15.2k
      if (yych == 'I') goto yy434;
5187
7.12k
      if (yych <= 'T') goto yy48;
5188
6.26k
      goto yy435;
5189
8.70k
    } else {
5190
8.70k
      if (yych <= 'i') {
5191
2.88k
        if (yych <= 'h') goto yy48;
5192
2.52k
        goto yy434;
5193
5.81k
      } else {
5194
5.81k
        if (yych == 'u') goto yy435;
5195
1.23k
        goto yy48;
5196
5.81k
      }
5197
8.70k
    }
5198
5.94k
yy345:
5199
5.94k
    YYDEBUG(345, *YYCURSOR);
5200
5.94k
    yyaccept = 4;
5201
5.94k
    yych = *(YYMARKER = ++YYCURSOR);
5202
5.94k
    if (yych == 'A') goto yy436;
5203
4.52k
    if (yych == 'a') goto yy436;
5204
930
    goto yy48;
5205
6.73k
yy346:
5206
6.73k
    YYDEBUG(346, *YYCURSOR);
5207
6.73k
    yyaccept = 4;
5208
6.73k
    yych = *(YYMARKER = ++YYCURSOR);
5209
6.73k
    if (yych == 'I') goto yy437;
5210
4.25k
    if (yych == 'i') goto yy437;
5211
1.68k
    goto yy48;
5212
20.0k
yy347:
5213
20.0k
    YYDEBUG(347, *YYCURSOR);
5214
20.0k
    yyaccept = 4;
5215
20.0k
    yych = *(YYMARKER = ++YYCURSOR);
5216
20.0k
    if (yych == 'E') goto yy438;
5217
6.13k
    if (yych == 'e') goto yy438;
5218
1.37k
    goto yy48;
5219
11.8k
yy348:
5220
11.8k
    YYDEBUG(348, *YYCURSOR);
5221
11.8k
    yyaccept = 4;
5222
11.8k
    yych = *(YYMARKER = ++YYCURSOR);
5223
11.8k
    if (yych == 'A') goto yy439;
5224
5.60k
    if (yych == 'a') goto yy439;
5225
1.52k
    goto yy48;
5226
9.31k
yy349:
5227
9.31k
    YYDEBUG(349, *YYCURSOR);
5228
9.31k
    yyaccept = 4;
5229
9.31k
    yych = *(YYMARKER = ++YYCURSOR);
5230
9.31k
    if (yych == 'R') goto yy440;
5231
2.27k
    if (yych == 'r') goto yy440;
5232
1.07k
    goto yy48;
5233
8.65k
yy350:
5234
8.65k
    YYDEBUG(350, *YYCURSOR);
5235
8.65k
    yyaccept = 4;
5236
8.65k
    yych = *(YYMARKER = ++YYCURSOR);
5237
8.65k
    if (yych == 'R') goto yy441;
5238
6.98k
    if (yych == 'r') goto yy441;
5239
2.12k
    goto yy48;
5240
17.8k
yy351:
5241
17.8k
    YYDEBUG(351, *YYCURSOR);
5242
17.8k
    ++YYCURSOR;
5243
17.8k
    YYFILL(1);
5244
17.8k
    yych = *YYCURSOR;
5245
17.8k
    if (yybm[0+yych] & 2) {
5246
2.41k
      goto yy225;
5247
2.41k
    }
5248
15.3k
    if (yych <= 0x00) goto yy86;
5249
15.0k
    goto yy227;
5250
15.0k
yy352:
5251
9.02k
    YYDEBUG(352, *YYCURSOR);
5252
9.02k
    yyaccept = 26;
5253
9.02k
    YYMARKER = ++YYCURSOR;
5254
9.02k
    YYFILL(1);
5255
9.02k
    yych = *YYCURSOR;
5256
9.02k
    if (yybm[0+yych] & 2) {
5257
7.81k
      goto yy225;
5258
7.81k
    }
5259
1.21k
    if (yych <= 0x00) goto yy89;
5260
871
    goto yy84;
5261
25.3k
yy353:
5262
25.3k
    YYDEBUG(353, *YYCURSOR);
5263
25.3k
    ++YYCURSOR;
5264
25.3k
    YYFILL(1);
5265
25.3k
    yych = *YYCURSOR;
5266
25.3k
    if (yych <= '\f') {
5267
2.33k
      if (yych <= 0x00) goto yy86;
5268
2.00k
      if (yych == '\n') goto yy84;
5269
212
      goto yy225;
5270
23.0k
    } else {
5271
23.0k
      if (yych <= '\r') goto yy84;
5272
13.2k
      if (yych == '.') goto yy442;
5273
8.42k
      goto yy225;
5274
13.2k
    }
5275
25.2k
yy354:
5276
25.2k
    YYDEBUG(354, *YYCURSOR);
5277
25.2k
    ++YYCURSOR;
5278
25.2k
    YYFILL(1);
5279
25.2k
    yych = *YYCURSOR;
5280
25.2k
    if (yych <= '\f') {
5281
1.02k
      if (yych <= 0x00) goto yy86;
5282
778
      if (yych == '\n') goto yy84;
5283
355
      goto yy225;
5284
24.2k
    } else {
5285
24.2k
      if (yych <= '\r') goto yy84;
5286
23.8k
      if (yych == '*') goto yy443;
5287
2.79k
      goto yy225;
5288
23.8k
    }
5289
12.9k
yy355:
5290
12.9k
    YYDEBUG(355, *YYCURSOR);
5291
12.9k
    ++YYCURSOR;
5292
12.9k
    YYFILL(1);
5293
12.9k
    yych = *YYCURSOR;
5294
12.9k
    YYDEBUG(356, *YYCURSOR);
5295
12.9k
    if (yybm[0+yych] & 64) {
5296
1.58k
      goto yy355;
5297
1.58k
    }
5298
11.3k
    if (yych <= 0x00) goto yy86;
5299
10.4k
    if (yych == '/') goto yy84;
5300
5.16k
    goto yy230;
5301
11.7k
yy357:
5302
11.7k
    YYDEBUG(357, *YYCURSOR);
5303
11.7k
    yych = *++YYCURSOR;
5304
11.7k
    if (yych == 'A') goto yy445;
5305
11.4k
    if (yych == 'a') goto yy445;
5306
2.19k
    goto yy86;
5307
3.23k
yy358:
5308
3.23k
    YYDEBUG(358, *YYCURSOR);
5309
3.23k
    yych = *++YYCURSOR;
5310
3.23k
    if (yych == 'A') goto yy446;
5311
2.99k
    if (yych == 'a') goto yy446;
5312
499
    goto yy86;
5313
3.52k
yy359:
5314
3.52k
    YYDEBUG(359, *YYCURSOR);
5315
3.52k
    yych = *++YYCURSOR;
5316
3.52k
    if (yych == 'L') goto yy447;
5317
3.30k
    if (yych == 'l') goto yy447;
5318
257
    goto yy86;
5319
2.90k
yy360:
5320
2.90k
    YYDEBUG(360, *YYCURSOR);
5321
2.90k
    yych = *++YYCURSOR;
5322
2.90k
    if (yych == 'B') goto yy448;
5323
2.33k
    if (yych == 'b') goto yy448;
5324
434
    goto yy86;
5325
4.04k
yy361:
5326
4.04k
    YYDEBUG(361, *YYCURSOR);
5327
4.04k
    yych = *++YYCURSOR;
5328
4.04k
    if (yych == 'A') goto yy449;
5329
3.81k
    if (yych == 'a') goto yy449;
5330
649
    goto yy86;
5331
9.53k
yy362:
5332
9.53k
    YYDEBUG(362, *YYCURSOR);
5333
9.53k
    yych = *++YYCURSOR;
5334
9.53k
    if (yych == 'E') goto yy454;
5335
8.82k
    if (yych == 'e') goto yy454;
5336
5.57k
    goto yy451;
5337
5.57k
yy363:
5338
5.10k
    YYDEBUG(363, *YYCURSOR);
5339
5.10k
    yych = *++YYCURSOR;
5340
5.10k
    if (yych == 'E') goto yy455;
5341
4.79k
    if (yych == 'e') goto yy455;
5342
1.94k
    goto yy86;
5343
1.94k
yy364:
5344
1.58k
    YYDEBUG(364, *YYCURSOR);
5345
1.58k
    yych = *++YYCURSOR;
5346
1.58k
    if (yych == 'L') goto yy456;
5347
1.22k
    if (yych == 'l') goto yy456;
5348
711
    goto yy86;
5349
13.8k
yy365:
5350
13.8k
    YYDEBUG(365, *YYCURSOR);
5351
13.8k
    yych = *++YYCURSOR;
5352
13.8k
    if (yych == 'I') goto yy458;
5353
13.5k
    if (yych == 'i') goto yy458;
5354
3.23k
    goto yy86;
5355
3.91k
yy366:
5356
3.91k
    YYDEBUG(366, *YYCURSOR);
5357
3.91k
    yych = *++YYCURSOR;
5358
3.91k
    if (yych == 'E') goto yy459;
5359
2.70k
    if (yych == 'e') goto yy459;
5360
799
    goto yy86;
5361
2.36k
yy367:
5362
2.36k
    YYDEBUG(367, *YYCURSOR);
5363
2.36k
    yych = *++YYCURSOR;
5364
2.36k
    if (yych == 'D') goto yy460;
5365
2.15k
    if (yych == 'd') goto yy460;
5366
640
    goto yy86;
5367
15.7k
yy368:
5368
15.7k
    YYDEBUG(368, *YYCURSOR);
5369
15.7k
    ++YYCURSOR;
5370
15.7k
    YYFILL(1);
5371
15.7k
    yych = *YYCURSOR;
5372
15.7k
    YYDEBUG(369, *YYCURSOR);
5373
15.7k
    if (yych <= '\f') {
5374
4.01k
      if (yych <= 0x08) goto yy129;
5375
3.54k
      if (yych <= '\n') goto yy368;
5376
359
      goto yy129;
5377
11.7k
    } else {
5378
11.7k
      if (yych <= '\r') goto yy368;
5379
11.3k
      if (yych == ' ') goto yy368;
5380
6.36k
      goto yy129;
5381
11.3k
    }
5382
5.88k
yy370:
5383
5.88k
    YYDEBUG(370, *YYCURSOR);
5384
5.88k
    yych = *++YYCURSOR;
5385
5.88k
    if (yych == '"') goto yy86;
5386
5.53k
    if (yych <= '/') goto yy463;
5387
3.83k
    if (yych <= '9') goto yy86;
5388
3.59k
    goto yy463;
5389
17.7k
yy371:
5390
17.7k
    YYDEBUG(371, *YYCURSOR);
5391
17.7k
    yych = *++YYCURSOR;
5392
17.7k
    if (yych == '\'') goto yy86;
5393
17.3k
    if (yych <= '/') goto yy465;
5394
16.4k
    if (yych <= '9') goto yy86;
5395
16.2k
    goto yy465;
5396
5.44M
yy372:
5397
5.44M
    YYDEBUG(372, *YYCURSOR);
5398
5.44M
    ++YYCURSOR;
5399
5.44M
    YYFILL(2);
5400
5.44M
    yych = *YYCURSOR;
5401
5.44M
    YYDEBUG(373, *YYCURSOR);
5402
5.44M
    if (yych <= '@') {
5403
3.84M
      if (yych <= '\f') {
5404
3.61M
        if (yych == '\n') goto yy466;
5405
34.3k
        goto yy86;
5406
3.61M
      } else {
5407
228k
        if (yych <= '\r') goto yy468;
5408
204k
        if (yych <= '/') goto yy86;
5409
135k
        if (yych <= '9') goto yy372;
5410
37.6k
        goto yy86;
5411
135k
      }
5412
3.84M
    } else {
5413
1.60M
      if (yych <= '_') {
5414
293k
        if (yych <= 'Z') goto yy372;
5415
118k
        if (yych <= '^') goto yy86;
5416
109k
        goto yy372;
5417
1.30M
      } else {
5418
1.30M
        if (yych <= '`') goto yy86;
5419
1.30M
        if (yych <= 'z') goto yy372;
5420
771k
        if (yych <= 0x7F) goto yy86;
5421
763k
        goto yy372;
5422
771k
      }
5423
1.60M
    }
5424
9.42k
yy374:
5425
9.42k
    YYDEBUG(374, *YYCURSOR);
5426
9.42k
    yyaccept = 4;
5427
9.42k
    yych = *(YYMARKER = ++YYCURSOR);
5428
9.42k
    if (yych == 'R') goto yy469;
5429
7.63k
    if (yych == 'r') goto yy469;
5430
532
    goto yy48;
5431
29.5k
yy375:
5432
29.5k
    YYDEBUG(375, *YYCURSOR);
5433
29.5k
    yyaccept = 4;
5434
29.5k
    yych = *(YYMARKER = ++YYCURSOR);
5435
29.5k
    if (yych == 'Y') goto yy470;
5436
28.7k
    if (yych == 'y') goto yy470;
5437
1.53k
    goto yy48;
5438
7.44k
yy376:
5439
7.44k
    YYDEBUG(376, *YYCURSOR);
5440
7.44k
    yyaccept = 4;
5441
7.44k
    yych = *(YYMARKER = ++YYCURSOR);
5442
7.44k
    if (yych == 'K') goto yy472;
5443
7.09k
    if (yych == 'k') goto yy472;
5444
564
    goto yy48;
5445
15.8k
yy377:
5446
15.8k
    YYDEBUG(377, *YYCURSOR);
5447
15.8k
    yyaccept = 4;
5448
15.8k
    yych = *(YYMARKER = ++YYCURSOR);
5449
15.8k
    if (yych == 'A') goto yy474;
5450
15.1k
    if (yych == 'a') goto yy474;
5451
12.1k
    goto yy48;
5452
12.4k
yy378:
5453
12.4k
    YYDEBUG(378, *YYCURSOR);
5454
12.4k
    yyaccept = 27;
5455
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
5456
12.4k
    if (yybm[256+yych] & 128) {
5457
668
      goto yy47;
5458
668
    }
5459
11.7k
    if (yych == '\\') goto yy164;
5460
11.7k
yy379:
5461
11.7k
    YYDEBUG(379, *YYCURSOR);
5462
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
5463
11.7k
#line 1526 "Zend/zend_language_scanner.l"
5464
11.7k
    {
5465
11.7k
  RETURN_TOKEN_WITH_IDENT(T_CASE);
5466
11.7k
}
5467
0
#line 5468 "Zend/zend_language_scanner.c"
5468
56.2k
yy380:
5469
56.2k
    YYDEBUG(380, *YYCURSOR);
5470
56.2k
    yyaccept = 4;
5471
56.2k
    yych = *(YYMARKER = ++YYCURSOR);
5472
56.2k
    if (yych == 'H') goto yy475;
5473
55.4k
    if (yych == 'h') goto yy475;
5474
780
    goto yy48;
5475
88.2k
yy381:
5476
88.2k
    YYDEBUG(381, *YYCURSOR);
5477
88.2k
    yyaccept = 4;
5478
88.2k
    yych = *(YYMARKER = ++YYCURSOR);
5479
88.2k
    if (yych == 'S') goto yy477;
5480
86.3k
    if (yych == 's') goto yy477;
5481
1.87k
    goto yy48;
5482
6.34k
yy382:
5483
6.34k
    YYDEBUG(382, *YYCURSOR);
5484
6.34k
    yyaccept = 4;
5485
6.34k
    yych = *(YYMARKER = ++YYCURSOR);
5486
6.34k
    if (yych == 'E') goto yy479;
5487
4.99k
    if (yych == 'e') goto yy479;
5488
648
    goto yy48;
5489
57.6k
yy383:
5490
57.6k
    YYDEBUG(383, *YYCURSOR);
5491
57.6k
    yyaccept = 4;
5492
57.6k
    yych = *(YYMARKER = ++YYCURSOR);
5493
57.6k
    if (yych == 'T') goto yy481;
5494
53.2k
    if (yych == 't') goto yy481;
5495
2.82k
    goto yy48;
5496
8.89k
yy384:
5497
8.89k
    YYDEBUG(384, *YYCURSOR);
5498
8.89k
    yyaccept = 4;
5499
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
5500
8.89k
    if (yych == 'I') goto yy483;
5501
6.37k
    if (yych == 'i') goto yy483;
5502
3.50k
    goto yy48;
5503
9.76k
yy385:
5504
9.76k
    YYDEBUG(385, *YYCURSOR);
5505
9.76k
    yyaccept = 4;
5506
9.76k
    yych = *(YYMARKER = ++YYCURSOR);
5507
9.76k
    if (yych == 'A') goto yy484;
5508
8.52k
    if (yych == 'a') goto yy484;
5509
428
    goto yy48;
5510
4.69k
yy386:
5511
4.69k
    YYDEBUG(386, *YYCURSOR);
5512
4.69k
    yyaccept = 4;
5513
4.69k
    yych = *(YYMARKER = ++YYCURSOR);
5514
4.69k
    if (yych == 'U') goto yy485;
5515
4.28k
    if (yych == 'u') goto yy485;
5516
1.02k
    goto yy48;
5517
95.8k
yy387:
5518
95.8k
    YYDEBUG(387, *YYCURSOR);
5519
95.8k
    yyaccept = 28;
5520
95.8k
    yych = *(YYMARKER = ++YYCURSOR);
5521
95.8k
    if (yybm[256+yych] & 128) {
5522
2.12k
      goto yy47;
5523
2.12k
    }
5524
93.7k
    if (yych == '\\') goto yy164;
5525
93.5k
yy388:
5526
93.5k
    YYDEBUG(388, *YYCURSOR);
5527
93.5k
    yyleng = YYCURSOR - SCNG(yy_text);
5528
93.5k
#line 1546 "Zend/zend_language_scanner.l"
5529
93.5k
    {
5530
93.5k
  RETURN_TOKEN_WITH_IDENT(T_ECHO);
5531
93.5k
}
5532
0
#line 5533 "Zend/zend_language_scanner.c"
5533
13.0k
yy389:
5534
13.0k
    YYDEBUG(389, *YYCURSOR);
5535
13.0k
    yyaccept = 29;
5536
13.0k
    yych = *(YYMARKER = ++YYCURSOR);
5537
13.0k
    if (yych <= '\\') {
5538
6.37k
      if (yych <= 'H') {
5539
5.23k
        if (yych <= '/') goto yy390;
5540
2.00k
        if (yych <= '9') goto yy47;
5541
1.78k
        if (yych >= 'A') goto yy47;
5542
1.78k
      } else {
5543
1.14k
        if (yych <= 'I') goto yy486;
5544
787
        if (yych <= 'Z') goto yy47;
5545
516
        if (yych >= '\\') goto yy164;
5546
516
      }
5547
6.72k
    } else {
5548
6.72k
      if (yych <= 'h') {
5549
810
        if (yych == '_') goto yy47;
5550
526
        if (yych >= 'a') goto yy47;
5551
5.91k
      } else {
5552
5.91k
        if (yych <= 'i') goto yy486;
5553
959
        if (yych <= 'z') goto yy47;
5554
630
        if (yych >= 0x80) goto yy47;
5555
630
      }
5556
6.72k
    }
5557
5.78k
yy390:
5558
5.78k
    YYDEBUG(390, *YYCURSOR);
5559
5.78k
    yyleng = YYCURSOR - SCNG(yy_text);
5560
5.78k
#line 1466 "Zend/zend_language_scanner.l"
5561
5.78k
    {
5562
5.78k
  RETURN_TOKEN_WITH_IDENT(T_ELSE);
5563
5.78k
}
5564
0
#line 5565 "Zend/zend_language_scanner.c"
5565
5.06k
yy391:
5566
5.06k
    YYDEBUG(391, *YYCURSOR);
5567
5.06k
    yyaccept = 4;
5568
5.06k
    yych = *(YYMARKER = ++YYCURSOR);
5569
5.06k
    if (yych == 'Y') goto yy487;
5570
3.86k
    if (yych == 'y') goto yy487;
5571
475
    goto yy48;
5572
7.86k
yy392:
5573
7.86k
    YYDEBUG(392, *YYCURSOR);
5574
7.86k
    yyaccept = 4;
5575
7.86k
    yych = *(YYMARKER = ++YYCURSOR);
5576
7.86k
    if (yych == 'E') goto yy489;
5577
3.96k
    if (yych == 'e') goto yy489;
5578
560
    goto yy48;
5579
12.9k
yy393:
5580
12.9k
    YYDEBUG(393, *YYCURSOR);
5581
12.9k
    yyaccept = 4;
5582
12.9k
    yych = *(YYMARKER = ++YYCURSOR);
5583
12.9k
    if (yych == 'O') goto yy490;
5584
7.11k
    if (yych == 'o') goto yy490;
5585
884
    goto yy48;
5586
9.97k
yy394:
5587
9.97k
    YYDEBUG(394, *YYCURSOR);
5588
9.97k
    yyaccept = 4;
5589
9.97k
    yych = *(YYMARKER = ++YYCURSOR);
5590
9.97k
    if (yych == 'F') goto yy491;
5591
4.45k
    if (yych == 'f') goto yy491;
5592
764
    goto yy48;
5593
7.49k
yy395:
5594
7.49k
    YYDEBUG(395, *YYCURSOR);
5595
7.49k
    yyaccept = 4;
5596
7.49k
    yych = *(YYMARKER = ++YYCURSOR);
5597
7.49k
    if (yych == 'W') goto yy493;
5598
6.43k
    if (yych == 'w') goto yy493;
5599
3.35k
    goto yy48;
5600
11.7k
yy396:
5601
11.7k
    YYDEBUG(396, *YYCURSOR);
5602
11.7k
    yyaccept = 4;
5603
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
5604
11.7k
    if (yych == 'H') goto yy494;
5605
9.40k
    if (yych == 'h') goto yy494;
5606
3.37k
    goto yy48;
5607
166k
yy397:
5608
166k
    YYDEBUG(397, *YYCURSOR);
5609
166k
    yyaccept = 4;
5610
166k
    yych = *(YYMARKER = ++YYCURSOR);
5611
166k
    if (yych <= 0x1F) {
5612
133k
      if (yych <= '\n') {
5613
6.83k
        if (yych <= 0x08) goto yy48;
5614
5.86k
        goto yy495;
5615
126k
      } else {
5616
126k
        if (yych == '\r') goto yy495;
5617
457
        goto yy48;
5618
126k
      }
5619
133k
    } else {
5620
32.4k
      if (yych <= '#') {
5621
21.2k
        if (yych <= ' ') goto yy495;
5622
13.3k
        if (yych <= '"') goto yy48;
5623
12.8k
        goto yy497;
5624
13.3k
      } else {
5625
11.2k
        if (yych == '/') goto yy498;
5626
10.5k
        goto yy48;
5627
11.2k
      }
5628
32.4k
    }
5629
5.88k
yy398:
5630
5.88k
    YYDEBUG(398, *YYCURSOR);
5631
5.88k
    yyaccept = 30;
5632
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
5633
5.88k
    if (yybm[256+yych] & 128) {
5634
1.09k
      goto yy47;
5635
1.09k
    }
5636
4.78k
    if (yych == '\\') goto yy164;
5637
4.78k
yy399:
5638
4.78k
    YYDEBUG(399, *YYCURSOR);
5639
4.78k
    yyleng = YYCURSOR - SCNG(yy_text);
5640
4.78k
#line 1718 "Zend/zend_language_scanner.l"
5641
4.78k
    {
5642
4.78k
  RETURN_TOKEN_WITH_IDENT(T_EVAL);
5643
4.78k
}
5644
0
#line 5645 "Zend/zend_language_scanner.c"
5645
2.70k
yy400:
5646
2.70k
    YYDEBUG(400, *YYCURSOR);
5647
2.70k
    yyaccept = 31;
5648
2.70k
    yych = *(YYMARKER = ++YYCURSOR);
5649
2.70k
    if (yybm[256+yych] & 128) {
5650
359
      goto yy47;
5651
359
    }
5652
2.34k
    if (yych == '\\') goto yy164;
5653
2.17k
yy401:
5654
2.17k
    YYDEBUG(401, *YYCURSOR);
5655
2.17k
    yyleng = YYCURSOR - SCNG(yy_text);
5656
2.17k
#line 1399 "Zend/zend_language_scanner.l"
5657
2.17k
    {
5658
2.17k
  RETURN_TOKEN_WITH_IDENT(T_EXIT);
5659
2.17k
}
5660
0
#line 5661 "Zend/zend_language_scanner.c"
5661
23.9k
yy402:
5662
23.9k
    YYDEBUG(402, *YYCURSOR);
5663
23.9k
    yyaccept = 4;
5664
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
5665
23.9k
    if (yych == 'N') goto yy499;
5666
22.6k
    if (yych == 'n') goto yy499;
5667
1.30k
    goto yy48;
5668
16.1k
yy403:
5669
16.1k
    YYDEBUG(403, *YYCURSOR);
5670
16.1k
    yyaccept = 4;
5671
16.1k
    yych = *(YYMARKER = ++YYCURSOR);
5672
16.1k
    if (yych == 'L') goto yy500;
5673
14.9k
    if (yych == 'l') goto yy500;
5674
1.00k
    goto yy48;
5675
27.6k
yy404:
5676
27.6k
    YYDEBUG(404, *YYCURSOR);
5677
27.6k
    yyaccept = 4;
5678
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
5679
27.6k
    if (yych == 'A') goto yy502;
5680
27.1k
    if (yych == 'a') goto yy502;
5681
1.39k
    goto yy48;
5682
129k
yy405:
5683
129k
    YYDEBUG(405, *YYCURSOR);
5684
129k
    yyaccept = 4;
5685
129k
    yych = *(YYMARKER = ++YYCURSOR);
5686
129k
    if (yych == 'T') goto yy503;
5687
128k
    if (yych == 't') goto yy503;
5688
8.97k
    goto yy48;
5689
8.97k
yy406:
5690
7.87k
    YYDEBUG(406, *YYCURSOR);
5691
7.87k
    yyaccept = 4;
5692
7.87k
    yych = *(YYMARKER = ++YYCURSOR);
5693
7.87k
    if (yych == 'A') goto yy504;
5694
4.59k
    if (yych == 'a') goto yy504;
5695
769
    goto yy48;
5696
5.55k
yy407:
5697
5.55k
    YYDEBUG(407, *YYCURSOR);
5698
5.55k
    yyaccept = 32;
5699
5.55k
    yych = *(YYMARKER = ++YYCURSOR);
5700
5.55k
    if (yybm[256+yych] & 128) {
5701
1.02k
      goto yy47;
5702
1.02k
    }
5703
4.52k
    if (yych == '\\') goto yy164;
5704
4.52k
yy408:
5705
4.52k
    YYDEBUG(408, *YYCURSOR);
5706
4.52k
    yyleng = YYCURSOR - SCNG(yy_text);
5707
4.52k
#line 1542 "Zend/zend_language_scanner.l"
5708
4.52k
    {
5709
4.52k
  RETURN_TOKEN_WITH_IDENT(T_GOTO);
5710
4.52k
}
5711
0
#line 5712 "Zend/zend_language_scanner.c"
5712
29.1k
yy409:
5713
29.1k
    YYDEBUG(409, *YYCURSOR);
5714
29.1k
    yyaccept = 4;
5715
29.1k
    yych = *(YYMARKER = ++YYCURSOR);
5716
29.1k
    if (yych == 'E') goto yy505;
5717
26.8k
    if (yych == 'e') goto yy505;
5718
2.05k
    goto yy48;
5719
13.2k
yy410:
5720
13.2k
    YYDEBUG(410, *YYCURSOR);
5721
13.2k
    yyaccept = 4;
5722
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
5723
13.2k
    if (yych == 'U') goto yy506;
5724
10.4k
    if (yych == 'u') goto yy506;
5725
1.15k
    goto yy48;
5726
17.8k
yy411:
5727
17.8k
    YYDEBUG(411, *YYCURSOR);
5728
17.8k
    yyaccept = 4;
5729
17.8k
    yych = *(YYMARKER = ++YYCURSOR);
5730
17.8k
    if (yych <= 'E') {
5731
3.38k
      if (yych == 'A') goto yy507;
5732
1.84k
      if (yych <= 'D') goto yy48;
5733
1.36k
      goto yy508;
5734
14.5k
    } else {
5735
14.5k
      if (yych <= 'a') {
5736
5.36k
        if (yych <= '`') goto yy48;
5737
4.94k
        goto yy507;
5738
9.14k
      } else {
5739
9.14k
        if (yych == 'e') goto yy508;
5740
445
        goto yy48;
5741
9.14k
      }
5742
14.5k
    }
5743
19.3k
yy412:
5744
19.3k
    YYDEBUG(412, *YYCURSOR);
5745
19.3k
    yyaccept = 4;
5746
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
5747
19.3k
    if (yych == 'R') goto yy509;
5748
18.6k
    if (yych == 'r') goto yy509;
5749
3.76k
    goto yy48;
5750
18.9k
yy413:
5751
18.9k
    YYDEBUG(413, *YYCURSOR);
5752
18.9k
    yyaccept = 4;
5753
18.9k
    yych = *(YYMARKER = ++YYCURSOR);
5754
18.9k
    if (yych == 'T') goto yy510;
5755
18.3k
    if (yych == 't') goto yy510;
5756
639
    goto yy48;
5757
5.85k
yy414:
5758
5.85k
    YYDEBUG(414, *YYCURSOR);
5759
5.85k
    yyaccept = 33;
5760
5.85k
    yych = *(YYMARKER = ++YYCURSOR);
5761
5.85k
    if (yybm[256+yych] & 128) {
5762
1.11k
      goto yy47;
5763
1.11k
    }
5764
4.74k
    if (yych == '\\') goto yy164;
5765
4.73k
yy415:
5766
4.73k
    YYDEBUG(415, *YYCURSOR);
5767
4.73k
    yyleng = YYCURSOR - SCNG(yy_text);
5768
4.73k
#line 1814 "Zend/zend_language_scanner.l"
5769
4.73k
    {
5770
4.73k
  RETURN_TOKEN_WITH_IDENT(T_LIST);
5771
4.73k
}
5772
0
#line 5773 "Zend/zend_language_scanner.c"
5773
5.28k
yy416:
5774
5.28k
    YYDEBUG(416, *YYCURSOR);
5775
5.28k
    yyaccept = 4;
5776
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
5777
5.28k
    if (yych == 'H') goto yy512;
5778
5.05k
    if (yych == 'h') goto yy512;
5779
399
    goto yy48;
5780
27.6k
yy417:
5781
27.6k
    YYDEBUG(417, *YYCURSOR);
5782
27.6k
    yyaccept = 4;
5783
27.6k
    yych = *(YYMARKER = ++YYCURSOR);
5784
27.6k
    if (yych == 'S') goto yy514;
5785
25.6k
    if (yych == 's') goto yy514;
5786
2.28k
    goto yy48;
5787
17.0k
yy418:
5788
17.0k
    YYDEBUG(418, *YYCURSOR);
5789
17.0k
    yyaccept = 4;
5790
17.0k
    yych = *(YYMARKER = ++YYCURSOR);
5791
17.0k
    if (yych == 'T') goto yy515;
5792
16.3k
    if (yych == 't') goto yy515;
5793
715
    goto yy48;
5794
14.8k
yy419:
5795
14.8k
    YYDEBUG(419, *YYCURSOR);
5796
14.8k
    yyaccept = 4;
5797
14.8k
    yych = *(YYMARKER = ++YYCURSOR);
5798
14.8k
    if (yych == 'A') goto yy517;
5799
13.2k
    if (yych == 'a') goto yy517;
5800
561
    goto yy48;
5801
12.5k
yy420:
5802
12.5k
    YYDEBUG(420, *YYCURSOR);
5803
12.5k
    yyaccept = 4;
5804
12.5k
    yych = *(YYMARKER = ++YYCURSOR);
5805
12.5k
    if (yych == 'E') goto yy518;
5806
10.4k
    if (yych == 'e') goto yy518;
5807
1.16k
    goto yy48;
5808
73.9k
yy421:
5809
73.9k
    YYDEBUG(421, *YYCURSOR);
5810
73.9k
    yyaccept = 4;
5811
73.9k
    yych = *(YYMARKER = ++YYCURSOR);
5812
73.9k
    if (yych == 'I') goto yy519;
5813
72.1k
    if (yych == 'i') goto yy519;
5814
2.24k
    goto yy48;
5815
8.77k
yy422:
5816
8.77k
    YYDEBUG(422, *YYCURSOR);
5817
8.77k
    yyaccept = 4;
5818
8.77k
    yych = *(YYMARKER = ++YYCURSOR);
5819
8.77k
    if (yych == 'O') goto yy520;
5820
8.39k
    if (yych == 'o') goto yy520;
5821
729
    goto yy48;
5822
23.4k
yy423:
5823
23.4k
    YYDEBUG(423, *YYCURSOR);
5824
23.4k
    yyaccept = 4;
5825
23.4k
    yych = *(YYMARKER = ++YYCURSOR);
5826
23.4k
    if (yych == 'I') goto yy521;
5827
22.6k
    if (yych == 'i') goto yy521;
5828
808
    goto yy48;
5829
32.4k
yy424:
5830
32.4k
    YYDEBUG(424, *YYCURSOR);
5831
32.4k
    yyaccept = 4;
5832
32.4k
    yych = *(YYMARKER = ++YYCURSOR);
5833
32.4k
    if (yych == 'R') goto yy522;
5834
31.9k
    if (yych == 'r') goto yy522;
5835
1.03k
    goto yy48;
5836
23.9k
yy425:
5837
23.9k
    YYDEBUG(425, *YYCURSOR);
5838
23.9k
    yyaccept = 4;
5839
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
5840
23.9k
    if (yych == 'I') goto yy523;
5841
22.7k
    if (yych == 'i') goto yy523;
5842
907
    goto yy48;
5843
8.56k
yy426:
5844
8.56k
    YYDEBUG(426, *YYCURSOR);
5845
8.56k
    yyaccept = 4;
5846
8.56k
    yych = *(YYMARKER = ++YYCURSOR);
5847
8.56k
    if (yych == 'C') goto yy524;
5848
8.11k
    if (yych == 'c') goto yy524;
5849
620
    goto yy48;
5850
18.0k
yy427:
5851
18.0k
    YYDEBUG(427, *YYCURSOR);
5852
18.0k
    yyaccept = 4;
5853
18.0k
    yych = *(YYMARKER = ++YYCURSOR);
5854
18.0k
    if (yych == 'W') goto yy525;
5855
17.5k
    if (yych == 'w') goto yy525;
5856
2.28k
    goto yy48;
5857
13.2k
yy428:
5858
13.2k
    YYDEBUG(428, *YYCURSOR);
5859
13.2k
    yyaccept = 4;
5860
13.2k
    yych = *(YYMARKER = ++YYCURSOR);
5861
13.2k
    if (yych == 'T') goto yy527;
5862
12.2k
    if (yych == 't') goto yy527;
5863
2.67k
    goto yy48;
5864
16.0k
yy429:
5865
16.0k
    YYDEBUG(429, *YYCURSOR);
5866
16.0k
    yyaccept = 4;
5867
16.0k
    yych = *(YYMARKER = ++YYCURSOR);
5868
16.0k
    if (yych == 'T') goto yy529;
5869
15.2k
    if (yych == 't') goto yy529;
5870
6.23k
    goto yy48;
5871
6.23k
yy430:
5872
5.27k
    YYDEBUG(430, *YYCURSOR);
5873
5.27k
    yyaccept = 4;
5874
5.27k
    yych = *(YYMARKER = ++YYCURSOR);
5875
5.27k
    if (yych == 'E') goto yy531;
5876
4.45k
    if (yych == 'e') goto yy531;
5877
411
    goto yy48;
5878
85.5k
yy431:
5879
85.5k
    YYDEBUG(431, *YYCURSOR);
5880
85.5k
    yyaccept = 4;
5881
85.5k
    yych = *(YYMARKER = ++YYCURSOR);
5882
85.5k
    if (yych == 'D') goto yy533;
5883
82.8k
    if (yych == 'd') goto yy533;
5884
2.55k
    goto yy48;
5885
7.22k
yy432:
5886
7.22k
    YYDEBUG(432, *YYCURSOR);
5887
7.22k
    yyaccept = 4;
5888
7.22k
    yych = *(YYMARKER = ++YYCURSOR);
5889
7.22k
    if (yych == 'A') goto yy535;
5890
5.00k
    if (yych == 'a') goto yy535;
5891
1.28k
    goto yy48;
5892
8.14k
yy433:
5893
8.14k
    YYDEBUG(433, *YYCURSOR);
5894
8.14k
    yyaccept = 4;
5895
8.14k
    yych = *(YYMARKER = ++YYCURSOR);
5896
8.14k
    if (yych == 'R') goto yy536;
5897
4.28k
    if (yych == 'r') goto yy536;
5898
1.34k
    goto yy48;
5899
10.6k
yy434:
5900
10.6k
    YYDEBUG(434, *YYCURSOR);
5901
10.6k
    yyaccept = 4;
5902
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
5903
10.6k
    if (yych == 'L') goto yy537;
5904
3.26k
    if (yych == 'l') goto yy537;
5905
911
    goto yy48;
5906
10.8k
yy435:
5907
10.8k
    YYDEBUG(435, *YYCURSOR);
5908
10.8k
    yyaccept = 4;
5909
10.8k
    yych = *(YYMARKER = ++YYCURSOR);
5910
10.8k
    if (yych == 'N') goto yy538;
5911
4.65k
    if (yych == 'n') goto yy538;
5912
791
    goto yy48;
5913
5.01k
yy436:
5914
5.01k
    YYDEBUG(436, *YYCURSOR);
5915
5.01k
    yyaccept = 4;
5916
5.01k
    yych = *(YYMARKER = ++YYCURSOR);
5917
5.01k
    if (yych == 'L') goto yy539;
5918
3.63k
    if (yych == 'l') goto yy539;
5919
411
    goto yy48;
5920
5.05k
yy437:
5921
5.05k
    YYDEBUG(437, *YYCURSOR);
5922
5.05k
    yyaccept = 4;
5923
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
5924
5.05k
    if (yych == 'N') goto yy540;
5925
2.49k
    if (yych == 'n') goto yy540;
5926
580
    goto yy48;
5927
18.6k
yy438:
5928
18.6k
    YYDEBUG(438, *YYCURSOR);
5929
18.6k
    yyaccept = 4;
5930
18.6k
    yych = *(YYMARKER = ++YYCURSOR);
5931
18.6k
    if (yych == 'T') goto yy541;
5932
5.06k
    if (yych == 't') goto yy541;
5933
882
    goto yy48;
5934
10.2k
yy439:
5935
10.2k
    YYDEBUG(439, *YYCURSOR);
5936
10.2k
    yyaccept = 4;
5937
10.2k
    yych = *(YYMARKER = ++YYCURSOR);
5938
10.2k
    if (yych == 'M') goto yy542;
5939
4.48k
    if (yych == 'm') goto yy542;
5940
547
    goto yy48;
5941
8.23k
yy440:
5942
8.23k
    YYDEBUG(440, *YYCURSOR);
5943
8.23k
    yyaccept = 4;
5944
8.23k
    yych = *(YYMARKER = ++YYCURSOR);
5945
8.23k
    if (yych == 'O') goto yy543;
5946
2.81k
    if (yych == 'o') goto yy543;
5947
1.16k
    goto yy48;
5948
6.53k
yy441:
5949
6.53k
    YYDEBUG(441, *YYCURSOR);
5950
6.53k
    yyaccept = 4;
5951
6.53k
    yych = *(YYMARKER = ++YYCURSOR);
5952
6.53k
    if (yych == 'A') goto yy544;
5953
4.92k
    if (yych == 'a') goto yy544;
5954
931
    goto yy48;
5955
4.78k
yy442:
5956
4.78k
    YYDEBUG(442, *YYCURSOR);
5957
4.78k
    ++YYCURSOR;
5958
4.78k
    YYFILL(1);
5959
4.78k
    yych = *YYCURSOR;
5960
4.78k
    if (yych <= '\f') {
5961
704
      if (yych <= 0x00) goto yy86;
5962
501
      if (yych == '\n') goto yy84;
5963
199
      goto yy225;
5964
4.08k
    } else {
5965
4.08k
      if (yych <= '\r') goto yy84;
5966
3.87k
      if (yych == '.') goto yy352;
5967
3.00k
      goto yy225;
5968
3.87k
    }
5969
243k
yy443:
5970
243k
    YYDEBUG(443, *YYCURSOR);
5971
243k
    ++YYCURSOR;
5972
243k
    YYFILL(1);
5973
243k
    yych = *YYCURSOR;
5974
243k
    YYDEBUG(444, *YYCURSOR);
5975
243k
    if (yybm[0+yych] & 128) {
5976
188k
      goto yy443;
5977
188k
    }
5978
54.9k
    if (yych <= 0x00) goto yy86;
5979
51.7k
    if (yych <= '\r') goto yy545;
5980
10.2k
    goto yy547;
5981
10.2k
yy445:
5982
9.52k
    YYDEBUG(445, *YYCURSOR);
5983
9.52k
    yych = *++YYCURSOR;
5984
9.52k
    if (yych == 'Y') goto yy549;
5985
9.25k
    if (yych == 'y') goto yy549;
5986
503
    goto yy86;
5987
2.73k
yy446:
5988
2.73k
    YYDEBUG(446, *YYCURSOR);
5989
2.73k
    yych = *++YYCURSOR;
5990
2.73k
    if (yych == 'R') goto yy551;
5991
2.50k
    if (yych == 'r') goto yy551;
5992
558
    goto yy86;
5993
3.27k
yy447:
5994
3.27k
    YYDEBUG(447, *YYCURSOR);
5995
3.27k
    yych = *++YYCURSOR;
5996
3.27k
    if (yych == 'E') goto yy556;
5997
2.43k
    if (yych == 'e') goto yy556;
5998
1.67k
    goto yy553;
5999
2.46k
yy448:
6000
2.46k
    YYDEBUG(448, *YYCURSOR);
6001
2.46k
    yych = *++YYCURSOR;
6002
2.46k
    if (yych == 'L') goto yy557;
6003
2.21k
    if (yych == 'l') goto yy557;
6004
582
    goto yy86;
6005
3.39k
yy449:
6006
3.39k
    YYDEBUG(449, *YYCURSOR);
6007
3.39k
    yych = *++YYCURSOR;
6008
3.39k
    if (yych == 'T') goto yy558;
6009
3.16k
    if (yych == 't') goto yy558;
6010
304
    goto yy86;
6011
2.80k
yy450:
6012
2.80k
    YYDEBUG(450, *YYCURSOR);
6013
2.80k
    ++YYCURSOR;
6014
2.80k
    YYFILL(1);
6015
2.80k
    yych = *YYCURSOR;
6016
8.37k
yy451:
6017
8.37k
    YYDEBUG(451, *YYCURSOR);
6018
8.37k
    if (yych <= 0x1F) {
6019
545
      if (yych == '\t') goto yy450;
6020
264
      goto yy86;
6021
7.83k
    } else {
6022
7.83k
      if (yych <= ' ') goto yy450;
6023
5.31k
      if (yych != ')') goto yy86;
6024
5.31k
    }
6025
2.26k
    YYDEBUG(452, *YYCURSOR);
6026
2.26k
    ++YYCURSOR;
6027
2.26k
    YYDEBUG(453, *YYCURSOR);
6028
2.26k
    yyleng = YYCURSOR - SCNG(yy_text);
6029
2.26k
#line 1638 "Zend/zend_language_scanner.l"
6030
2.26k
    {
6031
2.26k
  RETURN_TOKEN(T_INT_CAST);
6032
2.26k
}
6033
0
#line 6034 "Zend/zend_language_scanner.c"
6034
3.95k
yy454:
6035
3.95k
    YYDEBUG(454, *YYCURSOR);
6036
3.95k
    yych = *++YYCURSOR;
6037
3.95k
    if (yych == 'G') goto yy560;
6038
3.71k
    if (yych == 'g') goto yy560;
6039
1.29k
    goto yy86;
6040
3.16k
yy455:
6041
3.16k
    YYDEBUG(455, *YYCURSOR);
6042
3.16k
    yych = *++YYCURSOR;
6043
3.16k
    if (yych == 'C') goto yy561;
6044
2.93k
    if (yych == 'c') goto yy561;
6045
794
    goto yy86;
6046
1.28k
yy456:
6047
1.28k
    YYDEBUG(456, *YYCURSOR);
6048
1.28k
    ++YYCURSOR;
6049
1.28k
    YYFILL(1);
6050
1.28k
    yych = *YYCURSOR;
6051
1.28k
    YYDEBUG(457, *YYCURSOR);
6052
1.28k
    if (yych <= 0x1F) {
6053
473
      if (yych == '\t') goto yy456;
6054
256
      goto yy86;
6055
816
    } else {
6056
816
      if (yych <= ' ') goto yy456;
6057
617
      if (yych == ')') goto yy562;
6058
395
      goto yy86;
6059
617
    }
6060
10.5k
yy458:
6061
10.5k
    YYDEBUG(458, *YYCURSOR);
6062
10.5k
    yych = *++YYCURSOR;
6063
10.5k
    if (yych == 'N') goto yy564;
6064
10.3k
    if (yych == 'n') goto yy564;
6065
2.95k
    goto yy86;
6066
3.11k
yy459:
6067
3.11k
    YYDEBUG(459, *YYCURSOR);
6068
3.11k
    yych = *++YYCURSOR;
6069
3.11k
    if (yych == 'T') goto yy565;
6070
2.70k
    if (yych == 't') goto yy565;
6071
1.20k
    goto yy86;
6072
2.45k
yy460:
6073
2.45k
    YYDEBUG(460, *YYCURSOR);
6074
2.45k
    ++YYCURSOR;
6075
2.45k
    YYFILL(1);
6076
2.45k
    yych = *YYCURSOR;
6077
2.45k
    YYDEBUG(461, *YYCURSOR);
6078
2.45k
    if (yych <= 0x1F) {
6079
827
      if (yych == '\t') goto yy460;
6080
311
      goto yy86;
6081
1.62k
    } else {
6082
1.62k
      if (yych <= ' ') goto yy460;
6083
1.41k
      if (yych == ')') goto yy567;
6084
429
      goto yy86;
6085
1.41k
    }
6086
33.7k
yy462:
6087
33.7k
    YYDEBUG(462, *YYCURSOR);
6088
33.7k
    ++YYCURSOR;
6089
33.7k
    YYFILL(3);
6090
33.7k
    yych = *YYCURSOR;
6091
39.0k
yy463:
6092
39.0k
    YYDEBUG(463, *YYCURSOR);
6093
39.0k
    if (yych <= 'Z') {
6094
22.3k
      if (yych <= '/') {
6095
2.94k
        if (yych == '"') goto yy569;
6096
2.35k
        goto yy86;
6097
19.3k
      } else {
6098
19.3k
        if (yych <= '9') goto yy462;
6099
4.06k
        if (yych <= '@') goto yy86;
6100
3.12k
        goto yy462;
6101
4.06k
      }
6102
22.3k
    } else {
6103
16.7k
      if (yych <= '`') {
6104
3.07k
        if (yych == '_') goto yy462;
6105
522
        goto yy86;
6106
13.6k
      } else {
6107
13.6k
        if (yych <= 'z') goto yy462;
6108
3.23k
        if (yych <= 0x7F) goto yy86;
6109
2.35k
        goto yy462;
6110
3.23k
      }
6111
16.7k
    }
6112
48.1k
yy464:
6113
48.1k
    YYDEBUG(464, *YYCURSOR);
6114
48.1k
    ++YYCURSOR;
6115
48.1k
    YYFILL(3);
6116
48.1k
    yych = *YYCURSOR;
6117
65.3k
yy465:
6118
65.3k
    YYDEBUG(465, *YYCURSOR);
6119
65.3k
    if (yych <= 'Z') {
6120
24.0k
      if (yych <= '/') {
6121
14.9k
        if (yych == '\'') goto yy569;
6122
1.25k
        goto yy86;
6123
14.9k
      } else {
6124
9.10k
        if (yych <= '9') goto yy464;
6125
8.83k
        if (yych <= '@') goto yy86;
6126
7.70k
        goto yy464;
6127
8.83k
      }
6128
41.2k
    } else {
6129
41.2k
      if (yych <= '`') {
6130
1.04k
        if (yych == '_') goto yy464;
6131
304
        goto yy86;
6132
40.1k
      } else {
6133
40.1k
        if (yych <= 'z') goto yy464;
6134
10.2k
        if (yych <= 0x7F) goto yy86;
6135
9.46k
        goto yy464;
6136
10.2k
      }
6137
41.2k
    }
6138
3.59M
yy466:
6139
3.59M
    YYDEBUG(466, *YYCURSOR);
6140
3.59M
    ++YYCURSOR;
6141
3.61M
yy467:
6142
3.61M
    YYDEBUG(467, *YYCURSOR);
6143
3.61M
    yyleng = YYCURSOR - SCNG(yy_text);
6144
3.61M
#line 2678 "Zend/zend_language_scanner.l"
6145
3.61M
    {
6146
3.61M
  char *s;
6147
3.61M
  unsigned char *saved_cursor;
6148
3.61M
  int bprefix = (yytext[0] != '<') ? 1 : 0, spacing = 0, indentation = 0;
6149
3.61M
  zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
6150
3.61M
  bool is_heredoc = 1;
6151
6152
3.61M
  CG(zend_lineno)++;
6153
3.61M
  heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
6154
3.61M
  s = yytext+bprefix+3;
6155
3.63M
  while ((*s == ' ') || (*s == '\t')) {
6156
16.1k
    s++;
6157
16.1k
    heredoc_label->length--;
6158
16.1k
  }
6159
6160
3.61M
  if (*s == '\'') {
6161
12.8k
    s++;
6162
12.8k
    heredoc_label->length -= 2;
6163
12.8k
    is_heredoc = 0;
6164
6165
12.8k
    BEGIN(ST_NOWDOC);
6166
3.60M
  } else {
6167
3.60M
    if (*s == '"') {
6168
336
      s++;
6169
336
      heredoc_label->length -= 2;
6170
336
    }
6171
6172
3.60M
    BEGIN(ST_HEREDOC);
6173
3.60M
  }
6174
6175
3.61M
  heredoc_label->label = estrndup(s, heredoc_label->length);
6176
3.61M
  heredoc_label->indentation_uses_spaces = 0;
6177
3.61M
  heredoc_label->indentation = 0;
6178
3.61M
  saved_cursor = YYCURSOR;
6179
6180
3.61M
  zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
6181
6182
3.73M
  while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
6183
115k
    if (*YYCURSOR == '\t') {
6184
37.4k
      spacing |= HEREDOC_USING_TABS;
6185
78.3k
    } else {
6186
78.3k
      spacing |= HEREDOC_USING_SPACES;
6187
78.3k
    }
6188
115k
    ++YYCURSOR;
6189
115k
    ++indentation;
6190
115k
  }
6191
6192
3.61M
  if (YYCURSOR == YYLIMIT) {
6193
1.04k
    YYCURSOR = saved_cursor;
6194
1.04k
    RETURN_TOKEN(T_START_HEREDOC);
6195
1.04k
  }
6196
6197
  /* Check for ending label on the next line */
6198
3.61M
  if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
6199
10.6k
    if (!IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
6200
3.58k
      if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
6201
81
        zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
6202
81
        if (PARSER_MODE()) {
6203
14
          RETURN_TOKEN(T_ERROR);
6204
14
        }
6205
81
      }
6206
6207
3.57k
      YYCURSOR = saved_cursor;
6208
3.57k
      heredoc_label->indentation = indentation;
6209
6210
3.57k
      BEGIN(ST_END_HEREDOC);
6211
3.57k
      RETURN_TOKEN(T_START_HEREDOC);
6212
3.57k
    }
6213
10.6k
  }
6214
6215
3.61M
  YYCURSOR = saved_cursor;
6216
6217
3.61M
  if (is_heredoc && !SCNG(heredoc_scan_ahead)) {
6218
187k
    zend_lex_state current_state;
6219
187k
    zend_string *saved_doc_comment = CG(doc_comment);
6220
187k
    int heredoc_nesting_level = 1;
6221
187k
    int first_token = 0;
6222
187k
    int error = 0;
6223
6224
187k
    zend_save_lexical_state(&current_state);
6225
6226
187k
    SCNG(heredoc_scan_ahead) = 1;
6227
187k
    SCNG(heredoc_indentation) = 0;
6228
187k
    SCNG(heredoc_indentation_uses_spaces) = 0;
6229
187k
    SCNG(on_event_context) = NULL;
6230
187k
    LANG_SCNG(on_event) = NULL;
6231
187k
    CG(doc_comment) = NULL;
6232
6233
187k
    zend_ptr_stack_reverse_apply(&current_state.heredoc_label_stack, copy_heredoc_label_stack);
6234
6235
187k
    zend_exception_save();
6236
25.8M
    while (heredoc_nesting_level) {
6237
25.8M
      zval zv;
6238
25.8M
      int retval;
6239
6240
25.8M
      ZVAL_UNDEF(&zv);
6241
25.8M
      retval = lex_scan(&zv, NULL);
6242
25.8M
      zval_ptr_dtor_nogc(&zv);
6243
6244
25.8M
      if (EG(exception)) {
6245
177k
        zend_clear_exception();
6246
177k
        break;
6247
177k
      }
6248
6249
25.6M
      if (!first_token) {
6250
187k
        first_token = retval;
6251
187k
      }
6252
6253
25.6M
      switch (retval) {
6254
3.42M
        case T_START_HEREDOC:
6255
3.42M
          ++heredoc_nesting_level;
6256
3.42M
          break;
6257
22.5k
        case T_END_HEREDOC:
6258
22.5k
          --heredoc_nesting_level;
6259
22.5k
          break;
6260
4.08k
        case END:
6261
4.08k
          heredoc_nesting_level = 0;
6262
25.6M
      }
6263
25.6M
    }
6264
187k
    zend_exception_restore();
6265
6266
187k
    if (
6267
187k
        (first_token == T_VARIABLE
6268
180k
         || first_token == T_DOLLAR_OPEN_CURLY_BRACES
6269
55.0k
         || first_token == T_CURLY_OPEN
6270
187k
        ) && 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
187k
    heredoc_label->indentation = SCNG(heredoc_indentation);
6276
187k
    heredoc_label->indentation_uses_spaces = SCNG(heredoc_indentation_uses_spaces);
6277
6278
187k
    zend_restore_lexical_state(&current_state);
6279
187k
    SCNG(heredoc_scan_ahead) = 0;
6280
187k
    CG(increment_lineno) = 0;
6281
187k
    CG(doc_comment) = saved_doc_comment;
6282
6283
187k
    if (PARSER_MODE() && error) {
6284
9
      RETURN_TOKEN(T_ERROR);
6285
9
    }
6286
187k
  }
6287
6288
3.61M
  RETURN_TOKEN(T_START_HEREDOC);
6289
3.61M
}
6290
0
#line 6291 "Zend/zend_language_scanner.c"
6291
25.9k
yy468:
6292
25.9k
    YYDEBUG(468, *YYCURSOR);
6293
25.9k
    yych = *++YYCURSOR;
6294
25.9k
    if (yych == '\n') goto yy466;
6295
25.4k
    goto yy467;
6296
25.4k
yy469:
6297
8.89k
    YYDEBUG(469, *YYCURSOR);
6298
8.89k
    yyaccept = 4;
6299
8.89k
    yych = *(YYMARKER = ++YYCURSOR);
6300
8.89k
    if (yych == 'A') goto yy570;
6301
7.12k
    if (yych == 'a') goto yy570;
6302
425
    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
6.69k
      goto yy47;
6309
6.69k
    }
6310
21.3k
    if (yych == '\\') goto yy164;
6311
21.2k
yy471:
6312
21.2k
    YYDEBUG(471, *YYCURSOR);
6313
21.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6314
21.2k
#line 1818 "Zend/zend_language_scanner.l"
6315
21.2k
    {
6316
21.2k
  RETURN_TOKEN_WITH_IDENT(T_ARRAY);
6317
21.2k
}
6318
0
#line 6319 "Zend/zend_language_scanner.c"
6319
6.87k
yy472:
6320
6.87k
    YYDEBUG(472, *YYCURSOR);
6321
6.87k
    yyaccept = 35;
6322
6.87k
    yych = *(YYMARKER = ++YYCURSOR);
6323
6.87k
    if (yybm[256+yych] & 128) {
6324
841
      goto yy47;
6325
841
    }
6326
6.03k
    if (yych == '\\') goto yy164;
6327
5.84k
yy473:
6328
5.84k
    YYDEBUG(473, *YYCURSOR);
6329
5.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6330
5.84k
#line 1534 "Zend/zend_language_scanner.l"
6331
5.84k
    {
6332
5.84k
  RETURN_TOKEN_WITH_IDENT(T_BREAK);
6333
5.84k
}
6334
0
#line 6335 "Zend/zend_language_scanner.c"
6335
3.72k
yy474:
6336
3.72k
    YYDEBUG(474, *YYCURSOR);
6337
3.72k
    yyaccept = 4;
6338
3.72k
    yych = *(YYMARKER = ++YYCURSOR);
6339
3.72k
    if (yych == 'B') goto yy571;
6340
2.98k
    if (yych == 'b') goto yy571;
6341
489
    goto yy48;
6342
55.5k
yy475:
6343
55.5k
    YYDEBUG(475, *YYCURSOR);
6344
55.5k
    yyaccept = 36;
6345
55.5k
    yych = *(YYMARKER = ++YYCURSOR);
6346
55.5k
    if (yybm[256+yych] & 128) {
6347
839
      goto yy47;
6348
839
    }
6349
54.6k
    if (yych == '\\') goto yy164;
6350
54.0k
yy476:
6351
54.0k
    YYDEBUG(476, *YYCURSOR);
6352
54.0k
    yyleng = YYCURSOR - SCNG(yy_text);
6353
54.0k
#line 1442 "Zend/zend_language_scanner.l"
6354
54.0k
    {
6355
54.0k
  RETURN_TOKEN_WITH_IDENT(T_CATCH);
6356
54.0k
}
6357
0
#line 6358 "Zend/zend_language_scanner.c"
6358
86.3k
yy477:
6359
86.3k
    YYDEBUG(477, *YYCURSOR);
6360
86.3k
    yyaccept = 37;
6361
86.3k
    yych = *(YYMARKER = ++YYCURSOR);
6362
86.3k
    if (yybm[256+yych] & 128) {
6363
5.78k
      goto yy47;
6364
5.78k
    }
6365
80.5k
    if (yych == '\\') goto yy164;
6366
80.5k
yy478:
6367
80.5k
    YYDEBUG(478, *YYCURSOR);
6368
80.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6369
80.5k
#line 1554 "Zend/zend_language_scanner.l"
6370
80.5k
    {
6371
80.5k
  RETURN_TOKEN_WITH_IDENT(T_CLASS);
6372
80.5k
}
6373
0
#line 6374 "Zend/zend_language_scanner.c"
6374
5.69k
yy479:
6375
5.69k
    YYDEBUG(479, *YYCURSOR);
6376
5.69k
    yyaccept = 38;
6377
5.69k
    yych = *(YYMARKER = ++YYCURSOR);
6378
5.69k
    if (yybm[256+yych] & 128) {
6379
1.31k
      goto yy47;
6380
1.31k
    }
6381
4.37k
    if (yych == '\\') goto yy164;
6382
4.34k
yy480:
6383
4.34k
    YYDEBUG(480, *YYCURSOR);
6384
4.34k
    yyleng = YYCURSOR - SCNG(yy_text);
6385
4.34k
#line 1630 "Zend/zend_language_scanner.l"
6386
4.34k
    {
6387
4.34k
  RETURN_TOKEN_WITH_IDENT(T_CLONE);
6388
4.34k
}
6389
0
#line 6390 "Zend/zend_language_scanner.c"
6390
54.8k
yy481:
6391
54.8k
    YYDEBUG(481, *YYCURSOR);
6392
54.8k
    yyaccept = 39;
6393
54.8k
    yych = *(YYMARKER = ++YYCURSOR);
6394
54.8k
    if (yybm[256+yych] & 128) {
6395
5.22k
      goto yy47;
6396
5.22k
    }
6397
49.5k
    if (yych == '\\') goto yy164;
6398
49.5k
yy482:
6399
49.5k
    YYDEBUG(482, *YYCURSOR);
6400
49.5k
    yyleng = YYCURSOR - SCNG(yy_text);
6401
49.5k
#line 1415 "Zend/zend_language_scanner.l"
6402
49.5k
    {
6403
49.5k
  RETURN_TOKEN_WITH_IDENT(T_CONST);
6404
49.5k
}
6405
0
#line 6406 "Zend/zend_language_scanner.c"
6406
5.39k
yy483:
6407
5.39k
    YYDEBUG(483, *YYCURSOR);
6408
5.39k
    yyaccept = 4;
6409
5.39k
    yych = *(YYMARKER = ++YYCURSOR);
6410
5.39k
    if (yych == 'N') goto yy572;
6411
2.94k
    if (yych == 'n') goto yy572;
6412
428
    goto yy48;
6413
9.33k
yy484:
6414
9.33k
    YYDEBUG(484, *YYCURSOR);
6415
9.33k
    yyaccept = 4;
6416
9.33k
    yych = *(YYMARKER = ++YYCURSOR);
6417
9.33k
    if (yych == 'R') goto yy573;
6418
8.80k
    if (yych == 'r') goto yy573;
6419
2.08k
    goto yy48;
6420
3.66k
yy485:
6421
3.66k
    YYDEBUG(485, *YYCURSOR);
6422
3.66k
    yyaccept = 4;
6423
3.66k
    yych = *(YYMARKER = ++YYCURSOR);
6424
3.66k
    if (yych == 'L') goto yy574;
6425
3.32k
    if (yych == 'l') goto yy574;
6426
531
    goto yy48;
6427
5.30k
yy486:
6428
5.30k
    YYDEBUG(486, *YYCURSOR);
6429
5.30k
    yyaccept = 4;
6430
5.30k
    yych = *(YYMARKER = ++YYCURSOR);
6431
5.30k
    if (yych == 'F') goto yy575;
6432
4.97k
    if (yych == 'f') goto yy575;
6433
1.51k
    goto yy48;
6434
4.58k
yy487:
6435
4.58k
    YYDEBUG(487, *YYCURSOR);
6436
4.58k
    yyaccept = 40;
6437
4.58k
    yych = *(YYMARKER = ++YYCURSOR);
6438
4.58k
    if (yybm[256+yych] & 128) {
6439
462
      goto yy47;
6440
462
    }
6441
4.12k
    if (yych == '\\') goto yy164;
6442
4.12k
yy488:
6443
4.12k
    YYDEBUG(488, *YYCURSOR);
6444
4.12k
    yyleng = YYCURSOR - SCNG(yy_text);
6445
4.12k
#line 1758 "Zend/zend_language_scanner.l"
6446
4.12k
    {
6447
4.12k
  RETURN_TOKEN_WITH_IDENT(T_EMPTY);
6448
4.12k
}
6449
0
#line 6450 "Zend/zend_language_scanner.c"
6450
7.30k
yy489:
6451
7.30k
    YYDEBUG(489, *YYCURSOR);
6452
7.30k
    yyaccept = 4;
6453
7.30k
    yych = *(YYMARKER = ++YYCURSOR);
6454
7.30k
    if (yych == 'C') goto yy577;
6455
4.72k
    if (yych == 'c') goto yy577;
6456
1.95k
    goto yy48;
6457
12.1k
yy490:
6458
12.1k
    YYDEBUG(490, *YYCURSOR);
6459
12.1k
    yyaccept = 4;
6460
12.1k
    yych = *(YYMARKER = ++YYCURSOR);
6461
12.1k
    if (yych == 'R') goto yy578;
6462
6.69k
    if (yych == 'r') goto yy578;
6463
549
    goto yy48;
6464
9.20k
yy491:
6465
9.20k
    YYDEBUG(491, *YYCURSOR);
6466
9.20k
    yyaccept = 41;
6467
9.20k
    yych = *(YYMARKER = ++YYCURSOR);
6468
9.20k
    if (yybm[256+yych] & 128) {
6469
1.22k
      goto yy47;
6470
1.22k
    }
6471
7.98k
    if (yych == '\\') goto yy164;
6472
7.98k
yy492:
6473
7.98k
    YYDEBUG(492, *YYCURSOR);
6474
7.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6475
7.98k
#line 1462 "Zend/zend_language_scanner.l"
6476
7.98k
    {
6477
7.98k
  RETURN_TOKEN_WITH_IDENT(T_ENDIF);
6478
7.98k
}
6479
0
#line 6480 "Zend/zend_language_scanner.c"
6480
4.14k
yy493:
6481
4.14k
    YYDEBUG(493, *YYCURSOR);
6482
4.14k
    yyaccept = 4;
6483
4.14k
    yych = *(YYMARKER = ++YYCURSOR);
6484
4.14k
    if (yych == 'I') goto yy580;
6485
2.94k
    if (yych == 'i') goto yy580;
6486
256
    goto yy48;
6487
8.33k
yy494:
6488
8.33k
    YYDEBUG(494, *YYCURSOR);
6489
8.33k
    yyaccept = 4;
6490
8.33k
    yych = *(YYMARKER = ++YYCURSOR);
6491
8.33k
    if (yych == 'I') goto yy581;
6492
6.30k
    if (yych == 'i') goto yy581;
6493
661
    goto yy48;
6494
733k
yy495:
6495
733k
    YYDEBUG(495, *YYCURSOR);
6496
733k
    ++YYCURSOR;
6497
733k
    YYFILL(10);
6498
733k
    yych = *YYCURSOR;
6499
733k
    YYDEBUG(496, *YYCURSOR);
6500
733k
    if (yych <= 'E') {
6501
697k
      if (yych <= ' ') {
6502
77.3k
        if (yych <= '\f') {
6503
22.8k
          if (yych <= 0x08) goto yy86;
6504
19.8k
          if (yych <= '\n') goto yy495;
6505
1.52k
          goto yy86;
6506
54.5k
        } else {
6507
54.5k
          if (yych <= '\r') goto yy495;
6508
7.92k
          if (yych <= 0x1F) goto yy86;
6509
7.43k
          goto yy495;
6510
7.92k
        }
6511
620k
      } else {
6512
620k
        if (yych <= '.') {
6513
600k
          if (yych != '#') goto yy86;
6514
600k
        } else {
6515
20.5k
          if (yych <= '/') goto yy498;
6516
5.34k
          if (yych <= '@') goto yy86;
6517
1.61k
          if (yych <= 'D') goto yy582;
6518
646
          goto yy584;
6519
1.61k
        }
6520
620k
      }
6521
697k
    } else {
6522
35.3k
      if (yych <= '`') {
6523
7.67k
        if (yych <= 'Z') {
6524
4.41k
          if (yych == 'I') goto yy585;
6525
2.50k
          goto yy582;
6526
4.41k
        } else {
6527
3.26k
          if (yych == '_') goto yy582;
6528
1.58k
          goto yy86;
6529
3.26k
        }
6530
27.6k
      } else {
6531
27.6k
        if (yych <= 'h') {
6532
11.3k
          if (yych == 'e') goto yy584;
6533
4.09k
          goto yy582;
6534
16.3k
        } else {
6535
16.3k
          if (yych <= 'i') goto yy585;
6536
11.6k
          if (yych <= 'z') goto yy582;
6537
6.07k
          if (yych <= 0x7F) goto yy86;
6538
4.19k
          goto yy582;
6539
6.07k
        }
6540
27.6k
      }
6541
35.3k
    }
6542
601k
yy497:
6543
601k
    YYDEBUG(497, *YYCURSOR);
6544
601k
    ++YYCURSOR;
6545
601k
    YYFILL(1);
6546
601k
    yych = *YYCURSOR;
6547
601k
    if (yych <= '\f') {
6548
440k
      if (yych <= 0x00) goto yy86;
6549
439k
      if (yych == '\n') goto yy588;
6550
4.27k
      goto yy586;
6551
439k
    } else {
6552
161k
      if (yych <= '\r') goto yy588;
6553
63.7k
      if (yych == '[') goto yy86;
6554
63.3k
      goto yy586;
6555
63.7k
    }
6556
15.9k
yy498:
6557
15.9k
    YYDEBUG(498, *YYCURSOR);
6558
15.9k
    ++YYCURSOR;
6559
15.9k
    YYFILL(1);
6560
15.9k
    yych = *YYCURSOR;
6561
15.9k
    if (yych == '*') goto yy590;
6562
3.24k
    if (yych == '/') goto yy586;
6563
1.79k
    goto yy86;
6564
22.6k
yy499:
6565
22.6k
    YYDEBUG(499, *YYCURSOR);
6566
22.6k
    yyaccept = 4;
6567
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
6568
22.6k
    if (yych == 'D') goto yy592;
6569
21.7k
    if (yych == 'd') goto yy592;
6570
3.30k
    goto yy48;
6571
15.1k
yy500:
6572
15.1k
    YYDEBUG(500, *YYCURSOR);
6573
15.1k
    yyaccept = 42;
6574
15.1k
    yych = *(YYMARKER = ++YYCURSOR);
6575
15.1k
    if (yych <= '\\') {
6576
8.18k
      if (yych <= 'K') {
6577
7.00k
        if (yych <= '/') goto yy501;
6578
2.66k
        if (yych <= '9') goto yy47;
6579
1.55k
        if (yych >= 'A') goto yy47;
6580
1.55k
      } else {
6581
1.18k
        if (yych <= 'L') goto yy593;
6582
669
        if (yych <= 'Z') goto yy47;
6583
436
        if (yych >= '\\') goto yy164;
6584
436
      }
6585
8.18k
    } else {
6586
6.96k
      if (yych <= 'k') {
6587
997
        if (yych == '_') goto yy47;
6588
769
        if (yych >= 'a') goto yy47;
6589
5.96k
      } else {
6590
5.96k
        if (yych <= 'l') goto yy593;
6591
1.09k
        if (yych <= 'z') goto yy47;
6592
667
        if (yych >= 0x80) goto yy47;
6593
667
      }
6594
6.96k
    }
6595
6.84k
yy501:
6596
6.84k
    YYDEBUG(501, *YYCURSOR);
6597
6.84k
    yyleng = YYCURSOR - SCNG(yy_text);
6598
6.84k
#line 1774 "Zend/zend_language_scanner.l"
6599
6.84k
    {
6600
6.84k
  RETURN_TOKEN_WITH_IDENT(T_FINAL);
6601
6.84k
}
6602
0
#line 6603 "Zend/zend_language_scanner.c"
6603
26.2k
yy502:
6604
26.2k
    YYDEBUG(502, *YYCURSOR);
6605
26.2k
    yyaccept = 4;
6606
26.2k
    yych = *(YYMARKER = ++YYCURSOR);
6607
26.2k
    if (yych == 'C') goto yy594;
6608
25.5k
    if (yych == 'c') goto yy594;
6609
2.22k
    goto yy48;
6610
120k
yy503:
6611
120k
    YYDEBUG(503, *YYCURSOR);
6612
120k
    yyaccept = 4;
6613
120k
    yych = *(YYMARKER = ++YYCURSOR);
6614
120k
    if (yych == 'I') goto yy595;
6615
119k
    if (yych == 'i') goto yy595;
6616
1.86k
    goto yy48;
6617
7.11k
yy504:
6618
7.11k
    YYDEBUG(504, *YYCURSOR);
6619
7.11k
    yyaccept = 4;
6620
7.11k
    yych = *(YYMARKER = ++YYCURSOR);
6621
7.11k
    if (yych == 'L') goto yy596;
6622
4.21k
    if (yych == 'l') goto yy596;
6623
683
    goto yy48;
6624
27.0k
yy505:
6625
27.0k
    YYDEBUG(505, *YYCURSOR);
6626
27.0k
    yyaccept = 4;
6627
27.0k
    yych = *(YYMARKER = ++YYCURSOR);
6628
27.0k
    if (yych == 'M') goto yy598;
6629
19.4k
    if (yych == 'm') goto yy598;
6630
9.95k
    goto yy48;
6631
12.0k
yy506:
6632
12.0k
    YYDEBUG(506, *YYCURSOR);
6633
12.0k
    yyaccept = 4;
6634
12.0k
    yych = *(YYMARKER = ++YYCURSOR);
6635
12.0k
    if (yych == 'D') goto yy599;
6636
9.78k
    if (yych == 'd') goto yy599;
6637
754
    goto yy48;
6638
6.48k
yy507:
6639
6.48k
    YYDEBUG(507, *YYCURSOR);
6640
6.48k
    yyaccept = 4;
6641
6.48k
    yych = *(YYMARKER = ++YYCURSOR);
6642
6.48k
    if (yych == 'N') goto yy600;
6643
5.16k
    if (yych == 'n') goto yy600;
6644
438
    goto yy48;
6645
10.0k
yy508:
6646
10.0k
    YYDEBUG(508, *YYCURSOR);
6647
10.0k
    yyaccept = 4;
6648
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6649
10.0k
    if (yych == 'A') goto yy601;
6650
8.56k
    if (yych == 'a') goto yy601;
6651
3.25k
    goto yy48;
6652
15.5k
yy509:
6653
15.5k
    YYDEBUG(509, *YYCURSOR);
6654
15.5k
    yyaccept = 4;
6655
15.5k
    yych = *(YYMARKER = ++YYCURSOR);
6656
15.5k
    if (yych == 'F') goto yy602;
6657
14.8k
    if (yych == 'f') goto yy602;
6658
1.63k
    goto yy48;
6659
18.3k
yy510:
6660
18.3k
    YYDEBUG(510, *YYCURSOR);
6661
18.3k
    yyaccept = 43;
6662
18.3k
    yych = *(YYMARKER = ++YYCURSOR);
6663
18.3k
    if (yybm[256+yych] & 128) {
6664
3.99k
      goto yy47;
6665
3.99k
    }
6666
14.3k
    if (yych == '\\') goto yy164;
6667
14.3k
yy511:
6668
14.3k
    YYDEBUG(511, *YYCURSOR);
6669
14.3k
    yyleng = YYCURSOR - SCNG(yy_text);
6670
14.3k
#line 1754 "Zend/zend_language_scanner.l"
6671
14.3k
    {
6672
14.3k
  RETURN_TOKEN_WITH_IDENT(T_ISSET);
6673
14.3k
}
6674
0
#line 6675 "Zend/zend_language_scanner.c"
6675
4.88k
yy512:
6676
4.88k
    YYDEBUG(512, *YYCURSOR);
6677
4.88k
    yyaccept = 44;
6678
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
6679
4.88k
    if (yybm[256+yych] & 128) {
6680
337
      goto yy47;
6681
337
    }
6682
4.54k
    if (yych == '\\') goto yy164;
6683
4.53k
yy513:
6684
4.53k
    YYDEBUG(513, *YYCURSOR);
6685
4.53k
    yyleng = YYCURSOR - SCNG(yy_text);
6686
4.53k
#line 1518 "Zend/zend_language_scanner.l"
6687
4.53k
    {
6688
4.53k
  RETURN_TOKEN_WITH_IDENT(T_MATCH);
6689
4.53k
}
6690
0
#line 6691 "Zend/zend_language_scanner.c"
6691
25.3k
yy514:
6692
25.3k
    YYDEBUG(514, *YYCURSOR);
6693
25.3k
    yyaccept = 4;
6694
25.3k
    yych = *(YYMARKER = ++YYCURSOR);
6695
25.3k
    if (yych == 'P') goto yy603;
6696
22.8k
    if (yych == 'p') goto yy603;
6697
841
    goto yy48;
6698
16.3k
yy515:
6699
16.3k
    YYDEBUG(515, *YYCURSOR);
6700
16.3k
    yyaccept = 45;
6701
16.3k
    yych = *(YYMARKER = ++YYCURSOR);
6702
16.3k
    if (yybm[256+yych] & 128) {
6703
9.54k
      goto yy47;
6704
9.54k
    }
6705
6.79k
    if (yych == '\\') goto yy164;
6706
6.68k
yy516:
6707
6.68k
    YYDEBUG(516, *YYCURSOR);
6708
6.68k
    yyleng = YYCURSOR - SCNG(yy_text);
6709
6.68k
#line 1550 "Zend/zend_language_scanner.l"
6710
6.68k
    {
6711
6.68k
  RETURN_TOKEN_WITH_IDENT(T_PRINT);
6712
6.68k
}
6713
0
#line 6714 "Zend/zend_language_scanner.c"
6714
14.3k
yy517:
6715
14.3k
    YYDEBUG(517, *YYCURSOR);
6716
14.3k
    yyaccept = 4;
6717
14.3k
    yych = *(YYMARKER = ++YYCURSOR);
6718
14.3k
    if (yych == 'T') goto yy604;
6719
12.6k
    if (yych == 't') goto yy604;
6720
759
    goto yy48;
6721
11.3k
yy518:
6722
11.3k
    YYDEBUG(518, *YYCURSOR);
6723
11.3k
    yyaccept = 4;
6724
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
6725
11.3k
    if (yych == 'C') goto yy605;
6726
9.61k
    if (yych == 'c') goto yy605;
6727
732
    goto yy48;
6728
71.7k
yy519:
6729
71.7k
    YYDEBUG(519, *YYCURSOR);
6730
71.7k
    yyaccept = 4;
6731
71.7k
    yych = *(YYMARKER = ++YYCURSOR);
6732
71.7k
    if (yych == 'C') goto yy606;
6733
69.6k
    if (yych == 'c') goto yy606;
6734
3.94k
    goto yy48;
6735
8.04k
yy520:
6736
8.04k
    YYDEBUG(520, *YYCURSOR);
6737
8.04k
    yyaccept = 4;
6738
8.04k
    yych = *(YYMARKER = ++YYCURSOR);
6739
8.04k
    if (yych == 'N') goto yy608;
6740
7.52k
    if (yych == 'n') goto yy608;
6741
539
    goto yy48;
6742
22.6k
yy521:
6743
22.6k
    YYDEBUG(521, *YYCURSOR);
6744
22.6k
    yyaccept = 4;
6745
22.6k
    yych = *(YYMARKER = ++YYCURSOR);
6746
22.6k
    if (yych == 'R') goto yy609;
6747
21.4k
    if (yych == 'r') goto yy609;
6748
921
    goto yy48;
6749
31.4k
yy522:
6750
31.4k
    YYDEBUG(522, *YYCURSOR);
6751
31.4k
    yyaccept = 4;
6752
31.4k
    yych = *(YYMARKER = ++YYCURSOR);
6753
31.4k
    if (yych == 'N') goto yy610;
6754
30.8k
    if (yych == 'n') goto yy610;
6755
1.64k
    goto yy48;
6756
23.0k
yy523:
6757
23.0k
    YYDEBUG(523, *YYCURSOR);
6758
23.0k
    yyaccept = 4;
6759
23.0k
    yych = *(YYMARKER = ++YYCURSOR);
6760
23.0k
    if (yych == 'C') goto yy612;
6761
21.9k
    if (yych == 'c') goto yy612;
6762
1.41k
    goto yy48;
6763
7.94k
yy524:
6764
7.94k
    YYDEBUG(524, *YYCURSOR);
6765
7.94k
    yyaccept = 4;
6766
7.94k
    yych = *(YYMARKER = ++YYCURSOR);
6767
7.94k
    if (yych == 'H') goto yy614;
6768
7.58k
    if (yych == 'h') goto yy614;
6769
1.87k
    goto yy48;
6770
15.7k
yy525:
6771
15.7k
    YYDEBUG(525, *YYCURSOR);
6772
15.7k
    yyaccept = 46;
6773
15.7k
    yych = *(YYMARKER = ++YYCURSOR);
6774
15.7k
    if (yybm[256+yych] & 128) {
6775
7.65k
      goto yy47;
6776
7.65k
    }
6777
8.11k
    if (yych == '\\') goto yy164;
6778
8.04k
yy526:
6779
8.04k
    YYDEBUG(526, *YYCURSOR);
6780
8.04k
    yyleng = YYCURSOR - SCNG(yy_text);
6781
8.04k
#line 1450 "Zend/zend_language_scanner.l"
6782
8.04k
    {
6783
8.04k
  RETURN_TOKEN_WITH_IDENT(T_THROW);
6784
8.04k
}
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.17k
      goto yy47;
6792
2.17k
    }
6793
8.42k
    if (yych == '\\') goto yy164;
6794
8.42k
yy528:
6795
8.42k
    YYDEBUG(528, *YYCURSOR);
6796
8.42k
    yyleng = YYCURSOR - SCNG(yy_text);
6797
8.42k
#line 1562 "Zend/zend_language_scanner.l"
6798
8.42k
    {
6799
8.42k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT);
6800
8.42k
}
6801
0
#line 6802 "Zend/zend_language_scanner.c"
6802
9.84k
yy529:
6803
9.84k
    YYDEBUG(529, *YYCURSOR);
6804
9.84k
    yyaccept = 48;
6805
9.84k
    yych = *(YYMARKER = ++YYCURSOR);
6806
9.84k
    if (yybm[256+yych] & 128) {
6807
863
      goto yy47;
6808
863
    }
6809
8.98k
    if (yych == '\\') goto yy164;
6810
8.98k
yy530:
6811
8.98k
    YYDEBUG(530, *YYCURSOR);
6812
8.98k
    yyleng = YYCURSOR - SCNG(yy_text);
6813
8.98k
#line 1806 "Zend/zend_language_scanner.l"
6814
8.98k
    {
6815
8.98k
  RETURN_TOKEN_WITH_IDENT(T_UNSET);
6816
8.98k
}
6817
0
#line 6818 "Zend/zend_language_scanner.c"
6818
4.85k
yy531:
6819
4.85k
    YYDEBUG(531, *YYCURSOR);
6820
4.85k
    yyaccept = 49;
6821
4.85k
    yych = *(YYMARKER = ++YYCURSOR);
6822
4.85k
    if (yybm[256+yych] & 128) {
6823
672
      goto yy47;
6824
672
    }
6825
4.18k
    if (yych == '\\') goto yy164;
6826
4.18k
yy532:
6827
4.18k
    YYDEBUG(532, *YYCURSOR);
6828
4.18k
    yyleng = YYCURSOR - SCNG(yy_text);
6829
4.18k
#line 1470 "Zend/zend_language_scanner.l"
6830
4.18k
    {
6831
4.18k
  RETURN_TOKEN_WITH_IDENT(T_WHILE);
6832
4.18k
}
6833
0
#line 6834 "Zend/zend_language_scanner.c"
6834
83.0k
yy533:
6835
83.0k
    YYDEBUG(533, *YYCURSOR);
6836
83.0k
    yyaccept = 50;
6837
83.0k
    yych = *(YYMARKER = ++YYCURSOR);
6838
83.0k
    if (yybm[256+yych] & 128) {
6839
984
      goto yy47;
6840
984
    }
6841
82.0k
    if (yych <= ' ') {
6842
37.1k
      if (yych <= '\f') {
6843
25.2k
        if (yych <= 0x08) goto yy534;
6844
23.9k
        if (yych <= '\n') goto yy616;
6845
23.9k
      } else {
6846
11.9k
        if (yych <= '\r') goto yy616;
6847
10.4k
        if (yych >= ' ') goto yy616;
6848
10.4k
      }
6849
44.8k
    } else {
6850
44.8k
      if (yych <= '.') {
6851
42.1k
        if (yych == '#') goto yy618;
6852
42.1k
      } else {
6853
2.70k
        if (yych <= '/') goto yy619;
6854
2.34k
        if (yych == '\\') goto yy164;
6855
2.34k
      }
6856
44.8k
    }
6857
61.2k
yy534:
6858
61.2k
    YYDEBUG(534, *YYCURSOR);
6859
61.2k
    yyleng = YYCURSOR - SCNG(yy_text);
6860
61.2k
#line 1434 "Zend/zend_language_scanner.l"
6861
61.2k
    {
6862
61.2k
  RETURN_TOKEN_WITH_IDENT(T_YIELD);
6863
61.2k
}
6864
0
#line 6865 "Zend/zend_language_scanner.c"
6865
5.93k
yy535:
6866
5.93k
    YYDEBUG(535, *YYCURSOR);
6867
5.93k
    yyaccept = 4;
6868
5.93k
    yych = *(YYMARKER = ++YYCURSOR);
6869
5.93k
    if (yych == 'S') goto yy620;
6870
4.00k
    if (yych == 's') goto yy620;
6871
489
    goto yy48;
6872
6.80k
yy536:
6873
6.80k
    YYDEBUG(536, *YYCURSOR);
6874
6.80k
    yyaccept = 4;
6875
6.80k
    yych = *(YYMARKER = ++YYCURSOR);
6876
6.80k
    if (yych == '_') goto yy621;
6877
1.04k
    goto yy48;
6878
9.73k
yy537:
6879
9.73k
    YYDEBUG(537, *YYCURSOR);
6880
9.73k
    yyaccept = 4;
6881
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
6882
9.73k
    if (yych == 'E') goto yy622;
6883
2.55k
    if (yych == 'e') goto yy622;
6884
835
    goto yy48;
6885
10.0k
yy538:
6886
10.0k
    YYDEBUG(538, *YYCURSOR);
6887
10.0k
    yyaccept = 4;
6888
10.0k
    yych = *(YYMARKER = ++YYCURSOR);
6889
10.0k
    if (yych == 'C') goto yy623;
6890
4.41k
    if (yych == 'c') goto yy623;
6891
882
    goto yy48;
6892
4.60k
yy539:
6893
4.60k
    YYDEBUG(539, *YYCURSOR);
6894
4.60k
    yyaccept = 4;
6895
4.60k
    yych = *(YYMARKER = ++YYCURSOR);
6896
4.60k
    if (yych == 'T') goto yy624;
6897
3.67k
    if (yych == 't') goto yy624;
6898
410
    goto yy48;
6899
4.47k
yy540:
6900
4.47k
    YYDEBUG(540, *YYCURSOR);
6901
4.47k
    yyaccept = 4;
6902
4.47k
    yych = *(YYMARKER = ++YYCURSOR);
6903
4.47k
    if (yych == 'E') goto yy625;
6904
1.98k
    if (yych == 'e') goto yy625;
6905
564
    goto yy48;
6906
17.7k
yy541:
6907
17.7k
    YYDEBUG(541, *YYCURSOR);
6908
17.7k
    yyaccept = 4;
6909
17.7k
    yych = *(YYMARKER = ++YYCURSOR);
6910
17.7k
    if (yych == 'H') goto yy626;
6911
5.28k
    if (yych == 'h') goto yy626;
6912
1.47k
    goto yy48;
6913
9.73k
yy542:
6914
9.73k
    YYDEBUG(542, *YYCURSOR);
6915
9.73k
    yyaccept = 4;
6916
9.73k
    yych = *(YYMARKER = ++YYCURSOR);
6917
9.73k
    if (yych == 'E') goto yy627;
6918
5.15k
    if (yych == 'e') goto yy627;
6919
1.53k
    goto yy48;
6920
7.07k
yy543:
6921
7.07k
    YYDEBUG(543, *YYCURSOR);
6922
7.07k
    yyaccept = 4;
6923
7.07k
    yych = *(YYMARKER = ++YYCURSOR);
6924
7.07k
    if (yych == 'P') goto yy628;
6925
1.93k
    if (yych == 'p') goto yy628;
6926
770
    goto yy48;
6927
5.60k
yy544:
6928
5.60k
    YYDEBUG(544, *YYCURSOR);
6929
5.60k
    yyaccept = 4;
6930
5.60k
    yych = *(YYMARKER = ++YYCURSOR);
6931
5.60k
    if (yych == 'I') goto yy629;
6932
4.18k
    if (yych == 'i') goto yy629;
6933
583
    goto yy48;
6934
60.5k
yy545:
6935
60.5k
    YYDEBUG(545, *YYCURSOR);
6936
60.5k
    ++YYCURSOR;
6937
60.5k
    YYFILL(1);
6938
60.5k
    yych = *YYCURSOR;
6939
60.5k
    YYDEBUG(546, *YYCURSOR);
6940
60.5k
    if (yybm[0+yych] & 64) {
6941
252
      goto yy355;
6942
252
    }
6943
60.3k
    if (yych <= ' ') {
6944
9.73k
      if (yych <= '\n') {
6945
4.97k
        if (yych <= 0x00) goto yy86;
6946
3.51k
        if (yych <= 0x08) goto yy230;
6947
3.12k
        goto yy545;
6948
4.76k
      } else {
6949
4.76k
        if (yych == '\r') goto yy545;
6950
1.81k
        if (yych <= 0x1F) goto yy230;
6951
1.36k
        goto yy545;
6952
1.81k
      }
6953
50.5k
    } else {
6954
50.5k
      if (yych <= '$') {
6955
41.6k
        if (yych <= '"') goto yy230;
6956
41.3k
        if (yych <= '#') goto yy630;
6957
2.22k
        goto yy631;
6958
41.3k
      } else {
6959
8.98k
        if (yych <= '-') goto yy230;
6960
7.46k
        if (yych <= '.') goto yy632;
6961
5.61k
        if (yych <= '/') goto yy633;
6962
2.11k
        goto yy230;
6963
5.61k
      }
6964
50.5k
    }
6965
14.8k
yy547:
6966
14.8k
    YYDEBUG(547, *YYCURSOR);
6967
14.8k
    ++YYCURSOR;
6968
14.8k
    YYFILL(1);
6969
14.8k
    yych = *YYCURSOR;
6970
14.8k
    YYDEBUG(548, *YYCURSOR);
6971
14.8k
    if (yych <= '\r') {
6972
4.07k
      if (yych <= '\t') {
6973
788
        if (yych <= 0x00) goto yy86;
6974
294
        goto yy443;
6975
3.28k
      } else {
6976
3.28k
        if (yych <= '\n') goto yy545;
6977
2.26k
        if (yych <= '\f') goto yy443;
6978
1.89k
        goto yy545;
6979
2.26k
      }
6980
10.7k
    } else {
6981
10.7k
      if (yych <= '*') {
6982
4.98k
        if (yych <= ')') goto yy443;
6983
1.02k
        goto yy547;
6984
5.76k
      } else {
6985
5.76k
        if (yych == '/') goto yy227;
6986
2.83k
        goto yy443;
6987
5.76k
      }
6988
10.7k
    }
6989
13.3k
yy549:
6990
13.3k
    YYDEBUG(549, *YYCURSOR);
6991
13.3k
    ++YYCURSOR;
6992
13.3k
    YYFILL(1);
6993
13.3k
    yych = *YYCURSOR;
6994
13.3k
    YYDEBUG(550, *YYCURSOR);
6995
13.3k
    if (yych <= 0x1F) {
6996
562
      if (yych == '\t') goto yy549;
6997
360
      goto yy86;
6998
12.7k
    } else {
6999
12.7k
      if (yych <= ' ') goto yy549;
7000
8.66k
      if (yych == ')') goto yy634;
7001
6.93k
      goto yy86;
7002
8.66k
    }
7003
2.18k
yy551:
7004
2.18k
    YYDEBUG(551, *YYCURSOR);
7005
2.18k
    yych = *++YYCURSOR;
7006
2.18k
    if (yych == 'Y') goto yy636;
7007
1.93k
    if (yych == 'y') goto yy636;
7008
319
    goto yy86;
7009
798
yy552:
7010
798
    YYDEBUG(552, *YYCURSOR);
7011
798
    ++YYCURSOR;
7012
798
    YYFILL(1);
7013
798
    yych = *YYCURSOR;
7014
2.47k
yy553:
7015
2.47k
    YYDEBUG(553, *YYCURSOR);
7016
2.47k
    if (yych <= 0x1F) {
7017
787
      if (yych == '\t') goto yy552;
7018
441
      goto yy86;
7019
1.68k
    } else {
7020
1.68k
      if (yych <= ' ') goto yy552;
7021
1.23k
      if (yych != ')') goto yy86;
7022
1.23k
    }
7023
678
    YYDEBUG(554, *YYCURSOR);
7024
678
    ++YYCURSOR;
7025
678
    YYDEBUG(555, *YYCURSOR);
7026
678
    yyleng = YYCURSOR - SCNG(yy_text);
7027
678
#line 1696 "Zend/zend_language_scanner.l"
7028
678
    {
7029
678
  RETURN_TOKEN(T_BOOL_CAST);
7030
678
}
7031
0
#line 7032 "Zend/zend_language_scanner.c"
7032
1.59k
yy556:
7033
1.59k
    YYDEBUG(556, *YYCURSOR);
7034
1.59k
    yych = *++YYCURSOR;
7035
1.59k
    if (yych == 'A') goto yy638;
7036
1.00k
    if (yych == 'a') goto yy638;
7037
311
    goto yy86;
7038
1.88k
yy557:
7039
1.88k
    YYDEBUG(557, *YYCURSOR);
7040
1.88k
    yych = *++YYCURSOR;
7041
1.88k
    if (yych == 'E') goto yy639;
7042
1.47k
    if (yych == 'e') goto yy639;
7043
631
    goto yy86;
7044
3.81k
yy558:
7045
3.81k
    YYDEBUG(558, *YYCURSOR);
7046
3.81k
    ++YYCURSOR;
7047
3.81k
    YYFILL(1);
7048
3.81k
    yych = *YYCURSOR;
7049
3.81k
    YYDEBUG(559, *YYCURSOR);
7050
3.81k
    if (yych <= 0x1F) {
7051
473
      if (yych == '\t') goto yy558;
7052
236
      goto yy86;
7053
3.34k
    } else {
7054
3.34k
      if (yych <= ' ') goto yy558;
7055
2.85k
      if (yych == ')') goto yy641;
7056
798
      goto yy86;
7057
2.85k
    }
7058
2.65k
yy560:
7059
2.65k
    YYDEBUG(560, *YYCURSOR);
7060
2.65k
    yych = *++YYCURSOR;
7061
2.65k
    if (yych == 'E') goto yy643;
7062
2.45k
    if (yych == 'e') goto yy643;
7063
253
    goto yy86;
7064
2.36k
yy561:
7065
2.36k
    YYDEBUG(561, *YYCURSOR);
7066
2.36k
    yych = *++YYCURSOR;
7067
2.36k
    if (yych == 'T') goto yy644;
7068
2.13k
    if (yych == 't') goto yy644;
7069
409
    goto yy86;
7070
409
yy562:
7071
222
    YYDEBUG(562, *YYCURSOR);
7072
222
    ++YYCURSOR;
7073
222
    YYDEBUG(563, *YYCURSOR);
7074
222
    yyleng = YYCURSOR - SCNG(yy_text);
7075
222
#line 1666 "Zend/zend_language_scanner.l"
7076
222
    {
7077
222
  if (PARSER_MODE()) {
7078
14
    zend_throw_exception(zend_ce_parse_error, "The (real) cast has been removed, use (float) instead", 0);
7079
14
    RETURN_TOKEN(T_ERROR);
7080
14
  }
7081
208
  RETURN_TOKEN(T_DOUBLE_CAST);
7082
208
}
7083
0
#line 7084 "Zend/zend_language_scanner.c"
7084
7.63k
yy564:
7085
7.63k
    YYDEBUG(564, *YYCURSOR);
7086
7.63k
    yych = *++YYCURSOR;
7087
7.63k
    if (yych == 'G') goto yy646;
7088
7.41k
    if (yych == 'g') goto yy646;
7089
483
    goto yy86;
7090
2.55k
yy565:
7091
2.55k
    YYDEBUG(565, *YYCURSOR);
7092
2.55k
    ++YYCURSOR;
7093
2.55k
    YYFILL(1);
7094
2.55k
    yych = *YYCURSOR;
7095
2.55k
    YYDEBUG(566, *YYCURSOR);
7096
2.55k
    if (yych <= 0x1F) {
7097
478
      if (yych == '\t') goto yy565;
7098
223
      goto yy86;
7099
2.07k
    } else {
7100
2.07k
      if (yych <= ' ') goto yy565;
7101
1.68k
      if (yych == ')') goto yy648;
7102
1.06k
      goto yy86;
7103
1.68k
    }
7104
985
yy567:
7105
985
    YYDEBUG(567, *YYCURSOR);
7106
985
    ++YYCURSOR;
7107
985
    YYDEBUG(568, *YYCURSOR);
7108
985
    yyleng = YYCURSOR - SCNG(yy_text);
7109
985
#line 1714 "Zend/zend_language_scanner.l"
7110
985
    {
7111
985
  RETURN_TOKEN(T_VOID_CAST);
7112
985
}
7113
0
#line 7114 "Zend/zend_language_scanner.c"
7114
14.2k
yy569:
7115
14.2k
    YYDEBUG(569, *YYCURSOR);
7116
14.2k
    yych = *++YYCURSOR;
7117
14.2k
    if (yych == '\n') goto yy466;
7118
3.38k
    if (yych == '\r') goto yy468;
7119
1.09k
    goto yy86;
7120
8.46k
yy570:
7121
8.46k
    YYDEBUG(570, *YYCURSOR);
7122
8.46k
    yyaccept = 4;
7123
8.46k
    yych = *(YYMARKER = ++YYCURSOR);
7124
8.46k
    if (yych == 'C') goto yy650;
7125
6.66k
    if (yych == 'c') goto yy650;
7126
507
    goto yy48;
7127
3.23k
yy571:
7128
3.23k
    YYDEBUG(571, *YYCURSOR);
7129
3.23k
    yyaccept = 4;
7130
3.23k
    yych = *(YYMARKER = ++YYCURSOR);
7131
3.23k
    if (yych == 'L') goto yy651;
7132
2.65k
    if (yych == 'l') goto yy651;
7133
511
    goto yy48;
7134
4.96k
yy572:
7135
4.96k
    YYDEBUG(572, *YYCURSOR);
7136
4.96k
    yyaccept = 4;
7137
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
7138
4.96k
    if (yych == 'U') goto yy652;
7139
3.12k
    if (yych == 'u') goto yy652;
7140
673
    goto yy48;
7141
7.25k
yy573:
7142
7.25k
    YYDEBUG(573, *YYCURSOR);
7143
7.25k
    yyaccept = 4;
7144
7.25k
    yych = *(YYMARKER = ++YYCURSOR);
7145
7.25k
    if (yych == 'E') goto yy653;
7146
6.62k
    if (yych == 'e') goto yy653;
7147
487
    goto yy48;
7148
3.13k
yy574:
7149
3.13k
    YYDEBUG(574, *YYCURSOR);
7150
3.13k
    yyaccept = 4;
7151
3.13k
    yych = *(YYMARKER = ++YYCURSOR);
7152
3.13k
    if (yych == 'T') goto yy655;
7153
2.63k
    if (yych == 't') goto yy655;
7154
626
    goto yy48;
7155
3.79k
yy575:
7156
3.79k
    YYDEBUG(575, *YYCURSOR);
7157
3.79k
    yyaccept = 51;
7158
3.79k
    yych = *(YYMARKER = ++YYCURSOR);
7159
3.79k
    if (yybm[256+yych] & 128) {
7160
408
      goto yy47;
7161
408
    }
7162
3.38k
    if (yych == '\\') goto yy164;
7163
3.38k
yy576:
7164
3.38k
    YYDEBUG(576, *YYCURSOR);
7165
3.38k
    yyleng = YYCURSOR - SCNG(yy_text);
7166
3.38k
#line 1458 "Zend/zend_language_scanner.l"
7167
3.38k
    {
7168
3.38k
  RETURN_TOKEN_WITH_IDENT(T_ELSEIF);
7169
3.38k
}
7170
0
#line 7171 "Zend/zend_language_scanner.c"
7171
5.34k
yy577:
7172
5.34k
    YYDEBUG(577, *YYCURSOR);
7173
5.34k
    yyaccept = 4;
7174
5.34k
    yych = *(YYMARKER = ++YYCURSOR);
7175
5.34k
    if (yych == 'L') goto yy657;
7176
3.56k
    if (yych == 'l') goto yy657;
7177
1.01k
    goto yy48;
7178
11.5k
yy578:
7179
11.5k
    YYDEBUG(578, *YYCURSOR);
7180
11.5k
    yyaccept = 52;
7181
11.5k
    yych = *(YYMARKER = ++YYCURSOR);
7182
11.5k
    if (yych <= '\\') {
7183
6.97k
      if (yych <= 'D') {
7184
1.80k
        if (yych <= '/') goto yy579;
7185
834
        if (yych <= '9') goto yy47;
7186
508
        if (yych >= 'A') goto yy47;
7187
5.17k
      } else {
7188
5.17k
        if (yych <= 'E') goto yy658;
7189
858
        if (yych <= 'Z') goto yy47;
7190
474
        if (yych >= '\\') goto yy164;
7191
474
      }
7192
6.97k
    } else {
7193
4.58k
      if (yych <= 'd') {
7194
722
        if (yych == '_') goto yy47;
7195
433
        if (yych >= 'a') goto yy47;
7196
3.86k
      } else {
7197
3.86k
        if (yych <= 'e') goto yy658;
7198
1.27k
        if (yych <= 'z') goto yy47;
7199
915
        if (yych >= 0x80) goto yy47;
7200
915
      }
7201
4.58k
    }
7202
2.23k
yy579:
7203
2.23k
    YYDEBUG(579, *YYCURSOR);
7204
2.23k
    yyleng = YYCURSOR - SCNG(yy_text);
7205
2.23k
#line 1486 "Zend/zend_language_scanner.l"
7206
2.23k
    {
7207
2.23k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOR);
7208
2.23k
}
7209
0
#line 7210 "Zend/zend_language_scanner.c"
7210
3.88k
yy580:
7211
3.88k
    YYDEBUG(580, *YYCURSOR);
7212
3.88k
    yyaccept = 4;
7213
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
7214
3.88k
    if (yych == 'T') goto yy659;
7215
3.00k
    if (yych == 't') goto yy659;
7216
614
    goto yy48;
7217
7.67k
yy581:
7218
7.67k
    YYDEBUG(581, *YYCURSOR);
7219
7.67k
    yyaccept = 4;
7220
7.67k
    yych = *(YYMARKER = ++YYCURSOR);
7221
7.67k
    if (yych == 'L') goto yy660;
7222
5.79k
    if (yych == 'l') goto yy660;
7223
569
    goto yy48;
7224
18.9k
yy582:
7225
18.9k
    YYDEBUG(582, *YYCURSOR);
7226
18.9k
    ++YYCURSOR;
7227
124k
yy583:
7228
124k
    YYDEBUG(583, *YYCURSOR);
7229
124k
    yyleng = YYCURSOR - SCNG(yy_text);
7230
124k
#line 1574 "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
7.89k
yy584:
7237
7.89k
    YYDEBUG(584, *YYCURSOR);
7238
7.89k
    yyaccept = 53;
7239
7.89k
    yych = *(YYMARKER = ++YYCURSOR);
7240
7.89k
    if (yych == 'X') goto yy661;
7241
7.52k
    if (yych == 'x') goto yy661;
7242
4.40k
    goto yy583;
7243
6.63k
yy585:
7244
6.63k
    YYDEBUG(585, *YYCURSOR);
7245
6.63k
    yyaccept = 53;
7246
6.63k
    yych = *(YYMARKER = ++YYCURSOR);
7247
6.63k
    if (yych == 'M') goto yy662;
7248
5.19k
    if (yych == 'm') goto yy662;
7249
2.44k
    goto yy583;
7250
2.68M
yy586:
7251
2.68M
    YYDEBUG(586, *YYCURSOR);
7252
2.68M
    ++YYCURSOR;
7253
2.68M
    YYFILL(1);
7254
2.68M
    yych = *YYCURSOR;
7255
2.68M
    YYDEBUG(587, *YYCURSOR);
7256
2.68M
    if (yych <= '\n') {
7257
118k
      if (yych <= 0x00) goto yy86;
7258
104k
      if (yych <= '\t') goto yy586;
7259
82.9k
      goto yy495;
7260
2.56M
    } else {
7261
2.56M
      if (yych == '\r') goto yy495;
7262
2.23M
      goto yy586;
7263
2.56M
    }
7264
625k
yy588:
7265
625k
    YYDEBUG(588, *YYCURSOR);
7266
625k
    ++YYCURSOR;
7267
625k
    YYFILL(1);
7268
625k
    yych = *YYCURSOR;
7269
625k
    YYDEBUG(589, *YYCURSOR);
7270
625k
    if (yych <= 'D') {
7271
297k
      if (yych <= 0x1F) {
7272
43.0k
        if (yych <= '\t') {
7273
9.96k
          if (yych <= 0x00) goto yy86;
7274
8.64k
          if (yych <= 0x08) goto yy586;
7275
1.93k
          goto yy588;
7276
33.0k
        } else {
7277
33.0k
          if (yych <= '\n') goto yy495;
7278
30.2k
          if (yych == '\r') goto yy495;
7279
3.75k
          goto yy586;
7280
30.2k
        }
7281
254k
      } else {
7282
254k
        if (yych <= '#') {
7283
83.7k
          if (yych <= ' ') goto yy588;
7284
67.3k
          if (yych <= '"') goto yy586;
7285
66.8k
          goto yy663;
7286
170k
        } else {
7287
170k
          if (yych == '/') goto yy664;
7288
12.0k
          if (yych <= '@') goto yy586;
7289
436
          goto yy665;
7290
12.0k
        }
7291
254k
      }
7292
328k
    } else {
7293
328k
      if (yych <= '`') {
7294
9.84k
        if (yych <= 'I') {
7295
6.61k
          if (yych <= 'E') goto yy666;
7296
6.08k
          if (yych <= 'H') goto yy665;
7297
5.81k
          goto yy667;
7298
6.08k
        } else {
7299
3.23k
          if (yych <= 'Z') goto yy665;
7300
1.32k
          if (yych == '_') goto yy665;
7301
934
          goto yy586;
7302
1.32k
        }
7303
318k
      } else {
7304
318k
        if (yych <= 'h') {
7305
239k
          if (yych == 'e') goto yy666;
7306
2.94k
          goto yy665;
7307
239k
        } else {
7308
79.2k
          if (yych <= 'i') goto yy667;
7309
49.0k
          if (yych <= 'z') goto yy665;
7310
37.6k
          if (yych <= 0x7F) goto yy586;
7311
5.14k
          goto yy665;
7312
37.6k
        }
7313
318k
      }
7314
328k
    }
7315
2.39M
yy590:
7316
2.39M
    YYDEBUG(590, *YYCURSOR);
7317
2.39M
    ++YYCURSOR;
7318
2.39M
    YYFILL(1);
7319
2.39M
    yych = *YYCURSOR;
7320
2.39M
    YYDEBUG(591, *YYCURSOR);
7321
2.39M
    if (yych <= 0x00) goto yy86;
7322
2.36M
    if (yych == '*') goto yy668;
7323
2.30M
    goto yy590;
7324
2.30M
yy592:
7325
19.3k
    YYDEBUG(592, *YYCURSOR);
7326
19.3k
    yyaccept = 4;
7327
19.3k
    yych = *(YYMARKER = ++YYCURSOR);
7328
19.3k
    if (yych == 'S') goto yy670;
7329
18.4k
    if (yych == 's') goto yy670;
7330
1.15k
    goto yy48;
7331
5.39k
yy593:
7332
5.39k
    YYDEBUG(593, *YYCURSOR);
7333
5.39k
    yyaccept = 4;
7334
5.39k
    yych = *(YYMARKER = ++YYCURSOR);
7335
5.39k
    if (yych == 'Y') goto yy672;
7336
5.02k
    if (yych == 'y') goto yy672;
7337
422
    goto yy48;
7338
23.9k
yy594:
7339
23.9k
    YYDEBUG(594, *YYCURSOR);
7340
23.9k
    yyaccept = 4;
7341
23.9k
    yych = *(YYMARKER = ++YYCURSOR);
7342
23.9k
    if (yych == 'H') goto yy674;
7343
23.4k
    if (yych == 'h') goto yy674;
7344
675
    goto yy48;
7345
119k
yy595:
7346
119k
    YYDEBUG(595, *YYCURSOR);
7347
119k
    yyaccept = 4;
7348
119k
    yych = *(YYMARKER = ++YYCURSOR);
7349
119k
    if (yych == 'O') goto yy676;
7350
117k
    if (yych == 'o') goto yy676;
7351
2.05k
    goto yy48;
7352
6.42k
yy596:
7353
6.42k
    YYDEBUG(596, *YYCURSOR);
7354
6.42k
    yyaccept = 54;
7355
6.42k
    yych = *(YYMARKER = ++YYCURSOR);
7356
6.42k
    if (yybm[256+yych] & 128) {
7357
1.32k
      goto yy47;
7358
1.32k
    }
7359
5.10k
    if (yych == '\\') goto yy164;
7360
5.09k
yy597:
7361
5.09k
    YYDEBUG(597, *YYCURSOR);
7362
5.09k
    yyleng = YYCURSOR - SCNG(yy_text);
7363
5.09k
#line 1750 "Zend/zend_language_scanner.l"
7364
5.09k
    {
7365
5.09k
  RETURN_TOKEN_WITH_IDENT(T_GLOBAL);
7366
5.09k
}
7367
0
#line 7368 "Zend/zend_language_scanner.c"
7368
17.1k
yy598:
7369
17.1k
    YYDEBUG(598, *YYCURSOR);
7370
17.1k
    yyaccept = 4;
7371
17.1k
    yych = *(YYMARKER = ++YYCURSOR);
7372
17.1k
    if (yych == 'E') goto yy677;
7373
15.5k
    if (yych == 'e') goto yy677;
7374
2.13k
    goto yy48;
7375
11.3k
yy599:
7376
11.3k
    YYDEBUG(599, *YYCURSOR);
7377
11.3k
    yyaccept = 4;
7378
11.3k
    yych = *(YYMARKER = ++YYCURSOR);
7379
11.3k
    if (yych == 'E') goto yy678;
7380
8.96k
    if (yych == 'e') goto yy678;
7381
630
    goto yy48;
7382
6.05k
yy600:
7383
6.05k
    YYDEBUG(600, *YYCURSOR);
7384
6.05k
    yyaccept = 4;
7385
6.05k
    yych = *(YYMARKER = ++YYCURSOR);
7386
6.05k
    if (yych == 'C') goto yy680;
7387
4.77k
    if (yych == 'c') goto yy680;
7388
573
    goto yy48;
7389
6.81k
yy601:
7390
6.81k
    YYDEBUG(601, *YYCURSOR);
7391
6.81k
    yyaccept = 4;
7392
6.81k
    yych = *(YYMARKER = ++YYCURSOR);
7393
6.81k
    if (yych == 'D') goto yy681;
7394
5.41k
    if (yych == 'd') goto yy681;
7395
416
    goto yy48;
7396
13.9k
yy602:
7397
13.9k
    YYDEBUG(602, *YYCURSOR);
7398
13.9k
    yyaccept = 4;
7399
13.9k
    yych = *(YYMARKER = ++YYCURSOR);
7400
13.9k
    if (yych == 'A') goto yy682;
7401
13.2k
    if (yych == 'a') goto yy682;
7402
786
    goto yy48;
7403
24.4k
yy603:
7404
24.4k
    YYDEBUG(603, *YYCURSOR);
7405
24.4k
    yyaccept = 4;
7406
24.4k
    yych = *(YYMARKER = ++YYCURSOR);
7407
24.4k
    if (yych == 'A') goto yy683;
7408
23.0k
    if (yych == 'a') goto yy683;
7409
1.51k
    goto yy48;
7410
13.5k
yy604:
7411
13.5k
    YYDEBUG(604, *YYCURSOR);
7412
13.5k
    yyaccept = 4;
7413
13.5k
    yych = *(YYMARKER = ++YYCURSOR);
7414
13.5k
    if (yych == 'E') goto yy684;
7415
11.9k
    if (yych == 'e') goto yy684;
7416
668
    goto yy48;
7417
10.6k
yy605:
7418
10.6k
    YYDEBUG(605, *YYCURSOR);
7419
10.6k
    yyaccept = 4;
7420
10.6k
    yych = *(YYMARKER = ++YYCURSOR);
7421
10.6k
    if (yych == 'T') goto yy686;
7422
8.71k
    if (yych == 't') goto yy686;
7423
1.16k
    goto yy48;
7424
67.8k
yy606:
7425
67.8k
    YYDEBUG(606, *YYCURSOR);
7426
67.8k
    yyaccept = 55;
7427
67.8k
    yych = *(YYMARKER = ++YYCURSOR);
7428
67.8k
    if (yybm[256+yych] & 128) {
7429
2.15k
      goto yy47;
7430
2.15k
    }
7431
65.6k
    if (yych == '(') goto yy687;
7432
63.3k
    if (yych == '\\') goto yy164;
7433
64.6k
yy607:
7434
64.6k
    YYDEBUG(607, *YYCURSOR);
7435
64.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7436
64.6k
#line 1798 "Zend/zend_language_scanner.l"
7437
64.6k
    {
7438
64.6k
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC);
7439
64.6k
}
7440
0
#line 7441 "Zend/zend_language_scanner.c"
7441
7.50k
yy608:
7442
7.50k
    YYDEBUG(608, *YYCURSOR);
7443
7.50k
    yyaccept = 4;
7444
7.50k
    yych = *(YYMARKER = ++YYCURSOR);
7445
7.50k
    if (yych == 'L') goto yy688;
7446
7.26k
    if (yych == 'l') goto yy688;
7447
649
    goto yy48;
7448
21.7k
yy609:
7449
21.7k
    YYDEBUG(609, *YYCURSOR);
7450
21.7k
    yyaccept = 4;
7451
21.7k
    yych = *(YYMARKER = ++YYCURSOR);
7452
21.7k
    if (yych == 'E') goto yy689;
7453
20.6k
    if (yych == 'e') goto yy689;
7454
706
    goto yy48;
7455
29.7k
yy610:
7456
29.7k
    YYDEBUG(610, *YYCURSOR);
7457
29.7k
    yyaccept = 56;
7458
29.7k
    yych = *(YYMARKER = ++YYCURSOR);
7459
29.7k
    if (yybm[256+yych] & 128) {
7460
1.14k
      goto yy47;
7461
1.14k
    }
7462
28.6k
    if (yych == '\\') goto yy164;
7463
28.6k
yy611:
7464
28.6k
    YYDEBUG(611, *YYCURSOR);
7465
28.6k
    yyleng = YYCURSOR - SCNG(yy_text);
7466
28.6k
#line 1419 "Zend/zend_language_scanner.l"
7467
28.6k
    {
7468
28.6k
  RETURN_TOKEN_WITH_IDENT(T_RETURN);
7469
28.6k
}
7470
0
#line 7471 "Zend/zend_language_scanner.c"
7471
21.6k
yy612:
7472
21.6k
    YYDEBUG(612, *YYCURSOR);
7473
21.6k
    yyaccept = 57;
7474
21.6k
    yych = *(YYMARKER = ++YYCURSOR);
7475
21.6k
    if (yybm[256+yych] & 128) {
7476
865
      goto yy47;
7477
865
    }
7478
20.7k
    if (yych == '\\') goto yy164;
7479
20.7k
yy613:
7480
20.7k
    YYDEBUG(613, *YYCURSOR);
7481
20.7k
    yyleng = YYCURSOR - SCNG(yy_text);
7482
20.7k
#line 1766 "Zend/zend_language_scanner.l"
7483
20.7k
    {
7484
20.7k
  RETURN_TOKEN_WITH_IDENT(T_STATIC);
7485
20.7k
}
7486
0
#line 7487 "Zend/zend_language_scanner.c"
7487
6.06k
yy614:
7488
6.06k
    YYDEBUG(614, *YYCURSOR);
7489
6.06k
    yyaccept = 58;
7490
6.06k
    yych = *(YYMARKER = ++YYCURSOR);
7491
6.06k
    if (yybm[256+yych] & 128) {
7492
405
      goto yy47;
7493
405
    }
7494
5.66k
    if (yych == '\\') goto yy164;
7495
5.66k
yy615:
7496
5.66k
    YYDEBUG(615, *YYCURSOR);
7497
5.66k
    yyleng = YYCURSOR - SCNG(yy_text);
7498
5.66k
#line 1514 "Zend/zend_language_scanner.l"
7499
5.66k
    {
7500
5.66k
  RETURN_TOKEN_WITH_IDENT(T_SWITCH);
7501
5.66k
}
7502
0
#line 7503 "Zend/zend_language_scanner.c"
7503
328k
yy616:
7504
328k
    YYDEBUG(616, *YYCURSOR);
7505
328k
    ++YYCURSOR;
7506
328k
    YYFILL(5);
7507
328k
    yych = *YYCURSOR;
7508
328k
    YYDEBUG(617, *YYCURSOR);
7509
328k
    if (yych <= '"') {
7510
81.4k
      if (yych <= '\f') {
7511
59.5k
        if (yych <= 0x08) goto yy86;
7512
58.3k
        if (yych <= '\n') goto yy616;
7513
1.89k
        goto yy86;
7514
58.3k
      } else {
7515
21.8k
        if (yych <= '\r') goto yy616;
7516
3.48k
        if (yych == ' ') goto yy616;
7517
1.55k
        goto yy86;
7518
3.48k
      }
7519
246k
    } else {
7520
246k
      if (yych <= 'E') {
7521
232k
        if (yych <= '#') goto yy618;
7522
22.5k
        if (yych == '/') goto yy619;
7523
8.89k
        goto yy86;
7524
22.5k
      } else {
7525
14.3k
        if (yych <= 'F') goto yy691;
7526
11.6k
        if (yych == 'f') goto yy691;
7527
5.65k
        goto yy86;
7528
11.6k
      }
7529
246k
    }
7530
250k
yy618:
7531
250k
    YYDEBUG(618, *YYCURSOR);
7532
250k
    ++YYCURSOR;
7533
250k
    YYFILL(1);
7534
250k
    yych = *YYCURSOR;
7535
250k
    if (yych <= '\f') {
7536
69.8k
      if (yych <= 0x00) goto yy86;
7537
69.0k
      if (yych == '\n') goto yy694;
7538
918
      goto yy692;
7539
180k
    } else {
7540
180k
      if (yych <= '\r') goto yy694;
7541
50.9k
      if (yych == '[') goto yy86;
7542
50.7k
      goto yy692;
7543
50.9k
    }
7544
14.2k
yy619:
7545
14.2k
    YYDEBUG(619, *YYCURSOR);
7546
14.2k
    ++YYCURSOR;
7547
14.2k
    YYFILL(1);
7548
14.2k
    yych = *YYCURSOR;
7549
14.2k
    if (yych == '*') goto yy696;
7550
3.38k
    if (yych == '/') goto yy692;
7551
1.27k
    goto yy86;
7552
5.44k
yy620:
7553
5.44k
    YYDEBUG(620, *YYCURSOR);
7554
5.44k
    yyaccept = 4;
7555
5.44k
    yych = *(YYMARKER = ++YYCURSOR);
7556
5.44k
    if (yych == 'S') goto yy698;
7557
3.44k
    if (yych == 's') goto yy698;
7558
419
    goto yy48;
7559
5.75k
yy621:
7560
5.75k
    YYDEBUG(621, *YYCURSOR);
7561
5.75k
    yyaccept = 4;
7562
5.75k
    yych = *(YYMARKER = ++YYCURSOR);
7563
5.75k
    if (yych == '_') goto yy699;
7564
592
    goto yy48;
7565
8.90k
yy622:
7566
8.90k
    YYDEBUG(622, *YYCURSOR);
7567
8.90k
    yyaccept = 4;
7568
8.90k
    yych = *(YYMARKER = ++YYCURSOR);
7569
8.90k
    if (yych == '_') goto yy701;
7570
843
    goto yy48;
7571
9.17k
yy623:
7572
9.17k
    YYDEBUG(623, *YYCURSOR);
7573
9.17k
    yyaccept = 4;
7574
9.17k
    yych = *(YYMARKER = ++YYCURSOR);
7575
9.17k
    if (yych == 'T') goto yy702;
7576
3.19k
    if (yych == 't') goto yy702;
7577
1.23k
    goto yy48;
7578
4.19k
yy624:
7579
4.19k
    YYDEBUG(624, *YYCURSOR);
7580
4.19k
    yyaccept = 4;
7581
4.19k
    yych = *(YYMARKER = ++YYCURSOR);
7582
4.19k
    if (yych == '_') goto yy703;
7583
324
    goto yy48;
7584
3.91k
yy625:
7585
3.91k
    YYDEBUG(625, *YYCURSOR);
7586
3.91k
    yyaccept = 4;
7587
3.91k
    yych = *(YYMARKER = ++YYCURSOR);
7588
3.91k
    if (yych == '_') goto yy704;
7589
882
    goto yy48;
7590
16.2k
yy626:
7591
16.2k
    YYDEBUG(626, *YYCURSOR);
7592
16.2k
    yyaccept = 4;
7593
16.2k
    yych = *(YYMARKER = ++YYCURSOR);
7594
16.2k
    if (yych == 'O') goto yy705;
7595
4.68k
    if (yych == 'o') goto yy705;
7596
1.34k
    goto yy48;
7597
8.20k
yy627:
7598
8.20k
    YYDEBUG(627, *YYCURSOR);
7599
8.20k
    yyaccept = 4;
7600
8.20k
    yych = *(YYMARKER = ++YYCURSOR);
7601
8.20k
    if (yych == 'S') goto yy706;
7602
4.72k
    if (yych == 's') goto yy706;
7603
1.76k
    goto yy48;
7604
6.30k
yy628:
7605
6.30k
    YYDEBUG(628, *YYCURSOR);
7606
6.30k
    yyaccept = 4;
7607
6.30k
    yych = *(YYMARKER = ++YYCURSOR);
7608
6.30k
    if (yych == 'E') goto yy707;
7609
3.35k
    if (yych == 'e') goto yy707;
7610
1.02k
    goto yy48;
7611
5.02k
yy629:
7612
5.02k
    YYDEBUG(629, *YYCURSOR);
7613
5.02k
    yyaccept = 4;
7614
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
7615
5.02k
    if (yych == 'T') goto yy708;
7616
3.76k
    if (yych == 't') goto yy708;
7617
887
    goto yy48;
7618
39.1k
yy630:
7619
39.1k
    YYDEBUG(630, *YYCURSOR);
7620
39.1k
    ++YYCURSOR;
7621
39.1k
    YYFILL(1);
7622
39.1k
    yych = *YYCURSOR;
7623
39.1k
    if (yych <= '\r') {
7624
31.6k
      if (yych <= '\t') {
7625
708
        if (yych <= 0x00) goto yy86;
7626
478
        goto yy443;
7627
30.8k
      } else {
7628
30.8k
        if (yych <= '\n') goto yy709;
7629
13.0k
        if (yych <= '\f') goto yy443;
7630
12.5k
        goto yy709;
7631
13.0k
      }
7632
31.6k
    } else {
7633
7.52k
      if (yych <= '*') {
7634
2.18k
        if (yych <= ')') goto yy443;
7635
1.23k
        goto yy547;
7636
5.34k
      } else {
7637
5.34k
        if (yych == '[') goto yy230;
7638
5.11k
        goto yy443;
7639
5.34k
      }
7640
7.52k
    }
7641
2.43k
yy631:
7642
2.43k
    YYDEBUG(631, *YYCURSOR);
7643
2.43k
    yyaccept = 26;
7644
2.43k
    YYMARKER = ++YYCURSOR;
7645
2.43k
    YYFILL(1);
7646
2.43k
    yych = *YYCURSOR;
7647
2.43k
    if (yybm[0+yych] & 4) {
7648
1.94k
      goto yy230;
7649
1.94k
    }
7650
492
    if (yych <= 0x00) goto yy89;
7651
219
    goto yy355;
7652
1.84k
yy632:
7653
1.84k
    YYDEBUG(632, *YYCURSOR);
7654
1.84k
    ++YYCURSOR;
7655
1.84k
    YYFILL(1);
7656
1.84k
    yych = *YYCURSOR;
7657
1.84k
    if (yybm[0+yych] & 64) {
7658
238
      goto yy355;
7659
238
    }
7660
1.61k
    if (yych <= 0x00) goto yy86;
7661
1.40k
    if (yych == '.') goto yy711;
7662
429
    goto yy230;
7663
3.50k
yy633:
7664
3.50k
    YYDEBUG(633, *YYCURSOR);
7665
3.50k
    ++YYCURSOR;
7666
3.50k
    YYFILL(1);
7667
3.50k
    yych = *YYCURSOR;
7668
3.50k
    if (yych <= '*') {
7669
2.91k
      if (yych <= 0x00) goto yy86;
7670
2.70k
      if (yych <= ')') goto yy230;
7671
2.35k
      goto yy712;
7672
2.70k
    } else {
7673
585
      if (yych == '/') goto yy443;
7674
376
      goto yy230;
7675
585
    }
7676
1.73k
yy634:
7677
1.73k
    YYDEBUG(634, *YYCURSOR);
7678
1.73k
    ++YYCURSOR;
7679
1.73k
    YYDEBUG(635, *YYCURSOR);
7680
1.73k
    yyleng = YYCURSOR - SCNG(yy_text);
7681
1.73k
#line 1688 "Zend/zend_language_scanner.l"
7682
1.73k
    {
7683
1.73k
  RETURN_TOKEN(T_ARRAY_CAST);
7684
1.73k
}
7685
0
#line 7686 "Zend/zend_language_scanner.c"
7686
2.29k
yy636:
7687
2.29k
    YYDEBUG(636, *YYCURSOR);
7688
2.29k
    ++YYCURSOR;
7689
2.29k
    YYFILL(1);
7690
2.29k
    yych = *YYCURSOR;
7691
2.29k
    YYDEBUG(637, *YYCURSOR);
7692
2.29k
    if (yych <= 0x1F) {
7693
1.04k
      if (yych == '\t') goto yy636;
7694
841
      goto yy86;
7695
1.24k
    } else {
7696
1.24k
      if (yych <= ' ') goto yy636;
7697
1.02k
      if (yych == ')') goto yy713;
7698
544
      goto yy86;
7699
1.02k
    }
7700
1.28k
yy638:
7701
1.28k
    YYDEBUG(638, *YYCURSOR);
7702
1.28k
    yych = *++YYCURSOR;
7703
1.28k
    if (yych == 'N') goto yy715;
7704
910
    if (yych == 'n') goto yy715;
7705
318
    goto yy86;
7706
1.70k
yy639:
7707
1.70k
    YYDEBUG(639, *YYCURSOR);
7708
1.70k
    ++YYCURSOR;
7709
1.70k
    YYFILL(1);
7710
1.70k
    yych = *YYCURSOR;
7711
1.70k
    YYDEBUG(640, *YYCURSOR);
7712
1.70k
    if (yych <= 0x1F) {
7713
478
      if (yych == '\t') goto yy639;
7714
262
      goto yy86;
7715
1.22k
    } else {
7716
1.22k
      if (yych <= ' ') goto yy639;
7717
994
      if (yych == ')') goto yy717;
7718
548
      goto yy86;
7719
994
    }
7720
2.06k
yy641:
7721
2.06k
    YYDEBUG(641, *YYCURSOR);
7722
2.06k
    ++YYCURSOR;
7723
2.06k
    YYDEBUG(642, *YYCURSOR);
7724
2.06k
    yyleng = YYCURSOR - SCNG(yy_text);
7725
2.06k
#line 1652 "Zend/zend_language_scanner.l"
7726
2.06k
    {
7727
2.06k
  RETURN_TOKEN(T_DOUBLE_CAST);
7728
2.06k
}
7729
0
#line 7730 "Zend/zend_language_scanner.c"
7730
2.40k
yy643:
7731
2.40k
    YYDEBUG(643, *YYCURSOR);
7732
2.40k
    yych = *++YYCURSOR;
7733
2.40k
    if (yych == 'R') goto yy719;
7734
1.16k
    if (yych == 'r') goto yy719;
7735
251
    goto yy86;
7736
3.03k
yy644:
7737
3.03k
    YYDEBUG(644, *YYCURSOR);
7738
3.03k
    ++YYCURSOR;
7739
3.03k
    YYFILL(1);
7740
3.03k
    yych = *YYCURSOR;
7741
3.03k
    YYDEBUG(645, *YYCURSOR);
7742
3.03k
    if (yych <= 0x1F) {
7743
1.05k
      if (yych == '\t') goto yy644;
7744
413
      goto yy86;
7745
1.98k
    } else {
7746
1.98k
      if (yych <= ' ') goto yy644;
7747
1.54k
      if (yych == ')') goto yy721;
7748
629
      goto yy86;
7749
1.54k
    }
7750
9.57k
yy646:
7751
9.57k
    YYDEBUG(646, *YYCURSOR);
7752
9.57k
    ++YYCURSOR;
7753
9.57k
    YYFILL(1);
7754
9.57k
    yych = *YYCURSOR;
7755
9.57k
    YYDEBUG(647, *YYCURSOR);
7756
9.57k
    if (yych <= 0x1F) {
7757
2.93k
      if (yych == '\t') goto yy646;
7758
2.52k
      goto yy86;
7759
6.64k
    } else {
7760
6.64k
      if (yych <= ' ') goto yy646;
7761
4.62k
      if (yych == ')') goto yy723;
7762
2.58k
      goto yy86;
7763
4.62k
    }
7764
626
yy648:
7765
626
    YYDEBUG(648, *YYCURSOR);
7766
626
    ++YYCURSOR;
7767
626
    YYDEBUG(649, *YYCURSOR);
7768
626
    yyleng = YYCURSOR - SCNG(yy_text);
7769
626
#line 1710 "Zend/zend_language_scanner.l"
7770
626
    {
7771
626
  RETURN_TOKEN(T_UNSET_CAST);
7772
626
}
7773
0
#line 7774 "Zend/zend_language_scanner.c"
7774
7.96k
yy650:
7775
7.96k
    YYDEBUG(650, *YYCURSOR);
7776
7.96k
    yyaccept = 4;
7777
7.96k
    yych = *(YYMARKER = ++YYCURSOR);
7778
7.96k
    if (yych == 'T') goto yy725;
7779
6.23k
    if (yych == 't') goto yy725;
7780
586
    goto yy48;
7781
2.72k
yy651:
7782
2.72k
    YYDEBUG(651, *YYCURSOR);
7783
2.72k
    yyaccept = 4;
7784
2.72k
    yych = *(YYMARKER = ++YYCURSOR);
7785
2.72k
    if (yych == 'E') goto yy727;
7786
2.13k
    if (yych == 'e') goto yy727;
7787
323
    goto yy48;
7788
4.29k
yy652:
7789
4.29k
    YYDEBUG(652, *YYCURSOR);
7790
4.29k
    yyaccept = 4;
7791
4.29k
    yych = *(YYMARKER = ++YYCURSOR);
7792
4.29k
    if (yych == 'E') goto yy729;
7793
2.88k
    if (yych == 'e') goto yy729;
7794
582
    goto yy48;
7795
6.76k
yy653:
7796
6.76k
    YYDEBUG(653, *YYCURSOR);
7797
6.76k
    yyaccept = 59;
7798
6.76k
    yych = *(YYMARKER = ++YYCURSOR);
7799
6.76k
    if (yybm[256+yych] & 128) {
7800
630
      goto yy47;
7801
630
    }
7802
6.13k
    if (yych == '\\') goto yy164;
7803
6.10k
yy654:
7804
6.10k
    YYDEBUG(654, *YYCURSOR);
7805
6.10k
    yyleng = YYCURSOR - SCNG(yy_text);
7806
6.10k
#line 1498 "Zend/zend_language_scanner.l"
7807
6.10k
    {
7808
6.10k
  RETURN_TOKEN_WITH_IDENT(T_DECLARE);
7809
6.10k
}
7810
0
#line 7811 "Zend/zend_language_scanner.c"
7811
2.50k
yy655:
7812
2.50k
    YYDEBUG(655, *YYCURSOR);
7813
2.50k
    yyaccept = 60;
7814
2.50k
    yych = *(YYMARKER = ++YYCURSOR);
7815
2.50k
    if (yybm[256+yych] & 128) {
7816
535
      goto yy47;
7817
535
    }
7818
1.97k
    if (yych == '\\') goto yy164;
7819
1.89k
yy656:
7820
1.89k
    YYDEBUG(656, *YYCURSOR);
7821
1.89k
    yyleng = YYCURSOR - SCNG(yy_text);
7822
1.89k
#line 1530 "Zend/zend_language_scanner.l"
7823
1.89k
    {
7824
1.89k
  RETURN_TOKEN_WITH_IDENT(T_DEFAULT);
7825
1.89k
}
7826
0
#line 7827 "Zend/zend_language_scanner.c"
7827
4.33k
yy657:
7828
4.33k
    YYDEBUG(657, *YYCURSOR);
7829
4.33k
    yyaccept = 4;
7830
4.33k
    yych = *(YYMARKER = ++YYCURSOR);
7831
4.33k
    if (yych == 'A') goto yy731;
7832
2.53k
    if (yych == 'a') goto yy731;
7833
714
    goto yy48;
7834
6.90k
yy658:
7835
6.90k
    YYDEBUG(658, *YYCURSOR);
7836
6.90k
    yyaccept = 4;
7837
6.90k
    yych = *(YYMARKER = ++YYCURSOR);
7838
6.90k
    if (yych == 'A') goto yy732;
7839
3.50k
    if (yych == 'a') goto yy732;
7840
1.16k
    goto yy48;
7841
3.27k
yy659:
7842
3.27k
    YYDEBUG(659, *YYCURSOR);
7843
3.27k
    yyaccept = 4;
7844
3.27k
    yych = *(YYMARKER = ++YYCURSOR);
7845
3.27k
    if (yych == 'C') goto yy733;
7846
2.70k
    if (yych == 'c') goto yy733;
7847
469
    goto yy48;
7848
7.10k
yy660:
7849
7.10k
    YYDEBUG(660, *YYCURSOR);
7850
7.10k
    yyaccept = 4;
7851
7.10k
    yych = *(YYMARKER = ++YYCURSOR);
7852
7.10k
    if (yych == 'E') goto yy734;
7853
6.16k
    if (yych == 'e') goto yy734;
7854
1.48k
    goto yy48;
7855
3.48k
yy661:
7856
3.48k
    YYDEBUG(661, *YYCURSOR);
7857
3.48k
    yych = *++YYCURSOR;
7858
3.48k
    if (yych == 'T') goto yy736;
7859
3.20k
    if (yych == 't') goto yy736;
7860
833
    goto yy86;
7861
4.19k
yy662:
7862
4.19k
    YYDEBUG(662, *YYCURSOR);
7863
4.19k
    yych = *++YYCURSOR;
7864
4.19k
    if (yych == 'P') goto yy737;
7865
3.08k
    if (yych == 'p') goto yy737;
7866
723
    goto yy86;
7867
66.8k
yy663:
7868
66.8k
    YYDEBUG(663, *YYCURSOR);
7869
66.8k
    ++YYCURSOR;
7870
66.8k
    YYFILL(1);
7871
66.8k
    yych = *YYCURSOR;
7872
66.8k
    if (yych <= '\n') {
7873
40.7k
      if (yych <= 0x00) goto yy86;
7874
40.3k
      if (yych <= '\t') goto yy586;
7875
39.6k
      goto yy588;
7876
40.3k
    } else {
7877
26.1k
      if (yych == '\r') goto yy588;
7878
22.6k
      goto yy586;
7879
26.1k
    }
7880
158k
yy664:
7881
158k
    YYDEBUG(664, *YYCURSOR);
7882
158k
    ++YYCURSOR;
7883
158k
    YYFILL(1);
7884
158k
    yych = *YYCURSOR;
7885
158k
    if (yych <= '\f') {
7886
2.63k
      if (yych <= 0x00) goto yy86;
7887
1.96k
      if (yych == '\n') goto yy495;
7888
469
      goto yy586;
7889
155k
    } else {
7890
155k
      if (yych <= '\r') goto yy495;
7891
154k
      if (yych == '*') goto yy738;
7892
9.55k
      goto yy586;
7893
154k
    }
7894
22.5k
yy665:
7895
22.5k
    YYDEBUG(665, *YYCURSOR);
7896
22.5k
    yyaccept = 53;
7897
22.5k
    YYMARKER = ++YYCURSOR;
7898
22.5k
    YYFILL(1);
7899
22.5k
    yych = *YYCURSOR;
7900
22.5k
    if (yych <= '\n') {
7901
4.44k
      if (yych <= 0x00) goto yy583;
7902
4.14k
      if (yych <= '\t') goto yy586;
7903
820
      goto yy495;
7904
18.0k
    } else {
7905
18.0k
      if (yych == '\r') goto yy495;
7906
16.3k
      goto yy586;
7907
18.0k
    }
7908
236k
yy666:
7909
236k
    YYDEBUG(666, *YYCURSOR);
7910
236k
    yyaccept = 53;
7911
236k
    YYMARKER = ++YYCURSOR;
7912
236k
    YYFILL(1);
7913
236k
    yych = *YYCURSOR;
7914
236k
    if (yych <= '\r') {
7915
42.0k
      if (yych <= '\t') {
7916
33.3k
        if (yych <= 0x00) goto yy583;
7917
32.9k
        goto yy586;
7918
33.3k
      } else {
7919
8.77k
        if (yych <= '\n') goto yy495;
7920
7.80k
        if (yych <= '\f') goto yy586;
7921
1.79k
        goto yy495;
7922
7.80k
      }
7923
194k
    } else {
7924
194k
      if (yych <= 'X') {
7925
119k
        if (yych <= 'W') goto yy586;
7926
2.54k
        goto yy740;
7927
119k
      } else {
7928
75.2k
        if (yych == 'x') goto yy740;
7929
64.0k
        goto yy586;
7930
75.2k
      }
7931
194k
    }
7932
35.9k
yy667:
7933
35.9k
    YYDEBUG(667, *YYCURSOR);
7934
35.9k
    yyaccept = 53;
7935
35.9k
    YYMARKER = ++YYCURSOR;
7936
35.9k
    YYFILL(1);
7937
35.9k
    yych = *YYCURSOR;
7938
35.9k
    if (yych <= '\r') {
7939
2.04k
      if (yych <= '\t') {
7940
1.22k
        if (yych <= 0x00) goto yy583;
7941
727
        goto yy586;
7942
1.22k
      } else {
7943
821
        if (yych <= '\n') goto yy495;
7944
521
        if (yych <= '\f') goto yy586;
7945
227
        goto yy495;
7946
521
      }
7947
33.9k
    } else {
7948
33.9k
      if (yych <= 'M') {
7949
6.23k
        if (yych <= 'L') goto yy586;
7950
5.56k
        goto yy741;
7951
27.6k
      } else {
7952
27.6k
        if (yych == 'm') goto yy741;
7953
3.99k
        goto yy586;
7954
27.6k
      }
7955
33.9k
    }
7956
72.4k
yy668:
7957
72.4k
    YYDEBUG(668, *YYCURSOR);
7958
72.4k
    ++YYCURSOR;
7959
72.4k
    YYFILL(1);
7960
72.4k
    yych = *YYCURSOR;
7961
72.4k
    YYDEBUG(669, *YYCURSOR);
7962
72.4k
    if (yych <= '*') {
7963
11.5k
      if (yych <= 0x00) goto yy86;
7964
10.5k
      if (yych <= ')') goto yy590;
7965
3.56k
      goto yy668;
7966
60.9k
    } else {
7967
60.9k
      if (yych == '/') goto yy495;
7968
6.21k
      goto yy590;
7969
60.9k
    }
7970
18.1k
yy670:
7971
18.1k
    YYDEBUG(670, *YYCURSOR);
7972
18.1k
    yyaccept = 61;
7973
18.1k
    yych = *(YYMARKER = ++YYCURSOR);
7974
18.1k
    if (yybm[256+yych] & 128) {
7975
336
      goto yy47;
7976
336
    }
7977
17.8k
    if (yych == '\\') goto yy164;
7978
17.8k
yy671:
7979
17.8k
    YYDEBUG(671, *YYCURSOR);
7980
17.8k
    yyleng = YYCURSOR - SCNG(yy_text);
7981
17.8k
#line 1579 "Zend/zend_language_scanner.l"
7982
17.8k
    {
7983
17.8k
  RETURN_TOKEN_WITH_IDENT(T_EXTENDS);
7984
17.8k
}
7985
0
#line 7986 "Zend/zend_language_scanner.c"
7986
4.96k
yy672:
7987
4.96k
    YYDEBUG(672, *YYCURSOR);
7988
4.96k
    yyaccept = 62;
7989
4.96k
    yych = *(YYMARKER = ++YYCURSOR);
7990
4.96k
    if (yybm[256+yych] & 128) {
7991
780
      goto yy47;
7992
780
    }
7993
4.18k
    if (yych == '\\') goto yy164;
7994
4.06k
yy673:
7995
4.06k
    YYDEBUG(673, *YYCURSOR);
7996
4.06k
    yyleng = YYCURSOR - SCNG(yy_text);
7997
4.06k
#line 1446 "Zend/zend_language_scanner.l"
7998
4.06k
    {
7999
4.06k
  RETURN_TOKEN_WITH_IDENT(T_FINALLY);
8000
4.06k
}
8001
0
#line 8002 "Zend/zend_language_scanner.c"
8002
23.3k
yy674:
8003
23.3k
    YYDEBUG(674, *YYCURSOR);
8004
23.3k
    yyaccept = 63;
8005
23.3k
    yych = *(YYMARKER = ++YYCURSOR);
8006
23.3k
    if (yybm[256+yych] & 128) {
8007
1.22k
      goto yy47;
8008
1.22k
    }
8009
22.0k
    if (yych == '\\') goto yy164;
8010
22.0k
yy675:
8011
22.0k
    YYDEBUG(675, *YYCURSOR);
8012
22.0k
    yyleng = YYCURSOR - SCNG(yy_text);
8013
22.0k
#line 1490 "Zend/zend_language_scanner.l"
8014
22.0k
    {
8015
22.0k
  RETURN_TOKEN_WITH_IDENT(T_FOREACH);
8016
22.0k
}
8017
0
#line 8018 "Zend/zend_language_scanner.c"
8018
117k
yy676:
8019
117k
    YYDEBUG(676, *YYCURSOR);
8020
117k
    yyaccept = 4;
8021
117k
    yych = *(YYMARKER = ++YYCURSOR);
8022
117k
    if (yych == 'N') goto yy742;
8023
116k
    if (yych == 'n') goto yy742;
8024
2.45k
    goto yy48;
8025
15.0k
yy677:
8026
15.0k
    YYDEBUG(677, *YYCURSOR);
8027
15.0k
    yyaccept = 4;
8028
15.0k
    yych = *(YYMARKER = ++YYCURSOR);
8029
15.0k
    if (yych == 'N') goto yy744;
8030
13.5k
    if (yych == 'n') goto yy744;
8031
6.05k
    goto yy48;
8032
10.7k
yy678:
8033
10.7k
    YYDEBUG(678, *YYCURSOR);
8034
10.7k
    yyaccept = 64;
8035
10.7k
    yych = *(YYMARKER = ++YYCURSOR);
8036
10.7k
    if (yych <= '\\') {
8037
4.31k
      if (yych <= '@') {
8038
3.49k
        if (yych <= '/') goto yy679;
8039
709
        if (yych <= '9') goto yy47;
8040
819
      } else {
8041
819
        if (yych <= 'Z') goto yy47;
8042
493
        if (yych >= '\\') goto yy164;
8043
493
      }
8044
6.40k
    } else {
8045
6.40k
      if (yych <= '`') {
8046
5.26k
        if (yych == '_') goto yy745;
8047
5.26k
      } else {
8048
1.13k
        if (yych <= 'z') goto yy47;
8049
765
        if (yych >= 0x80) goto yy47;
8050
765
      }
8051
6.40k
    }
8052
4.35k
yy679:
8053
4.35k
    YYDEBUG(679, *YYCURSOR);
8054
4.35k
    yyleng = YYCURSOR - SCNG(yy_text);
8055
4.35k
#line 1722 "Zend/zend_language_scanner.l"
8056
4.35k
    {
8057
4.35k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE);
8058
4.35k
}
8059
0
#line 8060 "Zend/zend_language_scanner.c"
8060
5.47k
yy680:
8061
5.47k
    YYDEBUG(680, *YYCURSOR);
8062
5.47k
    yyaccept = 4;
8063
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
8064
5.47k
    if (yych == 'E') goto yy746;
8065
4.11k
    if (yych == 'e') goto yy746;
8066
947
    goto yy48;
8067
6.39k
yy681:
8068
6.39k
    YYDEBUG(681, *YYCURSOR);
8069
6.39k
    yyaccept = 4;
8070
6.39k
    yych = *(YYMARKER = ++YYCURSOR);
8071
6.39k
    if (yych == 'O') goto yy747;
8072
5.23k
    if (yych == 'o') goto yy747;
8073
569
    goto yy48;
8074
13.1k
yy682:
8075
13.1k
    YYDEBUG(682, *YYCURSOR);
8076
13.1k
    yyaccept = 4;
8077
13.1k
    yych = *(YYMARKER = ++YYCURSOR);
8078
13.1k
    if (yych == 'C') goto yy748;
8079
12.5k
    if (yych == 'c') goto yy748;
8080
374
    goto yy48;
8081
22.9k
yy683:
8082
22.9k
    YYDEBUG(683, *YYCURSOR);
8083
22.9k
    yyaccept = 4;
8084
22.9k
    yych = *(YYMARKER = ++YYCURSOR);
8085
22.9k
    if (yych == 'C') goto yy749;
8086
21.2k
    if (yych == 'c') goto yy749;
8087
1.45k
    goto yy48;
8088
12.8k
yy684:
8089
12.8k
    YYDEBUG(684, *YYCURSOR);
8090
12.8k
    yyaccept = 65;
8091
12.8k
    yych = *(YYMARKER = ++YYCURSOR);
8092
12.8k
    if (yybm[256+yych] & 128) {
8093
615
      goto yy47;
8094
615
    }
8095
12.2k
    if (yych == '(') goto yy750;
8096
9.07k
    if (yych == '\\') goto yy164;
8097
11.1k
yy685:
8098
11.1k
    YYDEBUG(685, *YYCURSOR);
8099
11.1k
    yyleng = YYCURSOR - SCNG(yy_text);
8100
11.1k
#line 1778 "Zend/zend_language_scanner.l"
8101
11.1k
    {
8102
11.1k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE);
8103
11.1k
}
8104
0
#line 8105 "Zend/zend_language_scanner.c"
8105
9.46k
yy686:
8106
9.46k
    YYDEBUG(686, *YYCURSOR);
8107
9.46k
    yyaccept = 4;
8108
9.46k
    yych = *(YYMARKER = ++YYCURSOR);
8109
9.46k
    if (yych == 'E') goto yy751;
8110
7.25k
    if (yych == 'e') goto yy751;
8111
516
    goto yy48;
8112
2.28k
yy687:
8113
2.28k
    YYDEBUG(687, *YYCURSOR);
8114
2.28k
    yych = *++YYCURSOR;
8115
2.28k
    if (yych == 'S') goto yy752;
8116
1.72k
    if (yych == 's') goto yy752;
8117
490
    goto yy86;
8118
6.85k
yy688:
8119
6.85k
    YYDEBUG(688, *YYCURSOR);
8120
6.85k
    yyaccept = 4;
8121
6.85k
    yych = *(YYMARKER = ++YYCURSOR);
8122
6.85k
    if (yych == 'Y') goto yy753;
8123
6.31k
    if (yych == 'y') goto yy753;
8124
973
    goto yy48;
8125
21.0k
yy689:
8126
21.0k
    YYDEBUG(689, *YYCURSOR);
8127
21.0k
    yyaccept = 66;
8128
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
8129
21.0k
    if (yych <= '\\') {
8130
8.70k
      if (yych <= '@') {
8131
7.89k
        if (yych <= '/') goto yy690;
8132
810
        if (yych <= '9') goto yy47;
8133
810
      } else {
8134
806
        if (yych <= 'Z') goto yy47;
8135
514
        if (yych >= '\\') goto yy164;
8136
514
      }
8137
12.3k
    } else {
8138
12.3k
      if (yych <= '`') {
8139
3.87k
        if (yych == '_') goto yy755;
8140
8.43k
      } else {
8141
8.43k
        if (yych <= 'z') goto yy47;
8142
7.52k
        if (yych >= 0x80) goto yy47;
8143
7.52k
      }
8144
12.3k
    }
8145
8.85k
yy690:
8146
8.85k
    YYDEBUG(690, *YYCURSOR);
8147
8.85k
    yyleng = YYCURSOR - SCNG(yy_text);
8148
8.85k
#line 1730 "Zend/zend_language_scanner.l"
8149
8.85k
    {
8150
8.85k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE);
8151
8.85k
}
8152
0
#line 8153 "Zend/zend_language_scanner.c"
8153
9.08k
yy691:
8154
9.08k
    YYDEBUG(691, *YYCURSOR);
8155
9.08k
    yych = *++YYCURSOR;
8156
9.08k
    if (yych == 'R') goto yy756;
8157
6.84k
    if (yych == 'r') goto yy756;
8158
3.16k
    goto yy86;
8159
1.15M
yy692:
8160
1.15M
    YYDEBUG(692, *YYCURSOR);
8161
1.15M
    ++YYCURSOR;
8162
1.15M
    YYFILL(1);
8163
1.15M
    yych = *YYCURSOR;
8164
1.15M
    YYDEBUG(693, *YYCURSOR);
8165
1.15M
    if (yych <= '\n') {
8166
137k
      if (yych <= 0x00) goto yy86;
8167
131k
      if (yych <= '\t') goto yy692;
8168
117k
      goto yy616;
8169
1.01M
    } else {
8170
1.01M
      if (yych == '\r') goto yy616;
8171
966k
      goto yy692;
8172
1.01M
    }
8173
231k
yy694:
8174
231k
    YYDEBUG(694, *YYCURSOR);
8175
231k
    ++YYCURSOR;
8176
231k
    YYFILL(1);
8177
231k
    yych = *YYCURSOR;
8178
231k
    YYDEBUG(695, *YYCURSOR);
8179
231k
    if (yych <= ' ') {
8180
25.1k
      if (yych <= '\n') {
8181
4.71k
        if (yych <= 0x00) goto yy86;
8182
3.99k
        if (yych <= 0x08) goto yy692;
8183
3.57k
        if (yych <= '\t') goto yy694;
8184
3.15k
        goto yy616;
8185
20.4k
      } else {
8186
20.4k
        if (yych == '\r') goto yy616;
8187
6.31k
        if (yych <= 0x1F) goto yy692;
8188
5.58k
        goto yy694;
8189
6.31k
      }
8190
206k
    } else {
8191
206k
      if (yych <= '/') {
8192
122k
        if (yych == '#') goto yy757;
8193
100k
        if (yych <= '.') goto yy692;
8194
80.7k
        goto yy758;
8195
100k
      } else {
8196
83.7k
        if (yych <= 'F') {
8197
35.0k
          if (yych <= 'E') goto yy692;
8198
20.9k
          goto yy759;
8199
48.6k
        } else {
8200
48.6k
          if (yych == 'f') goto yy759;
8201
44.8k
          goto yy692;
8202
48.6k
        }
8203
83.7k
      }
8204
206k
    }
8205
1.67M
yy696:
8206
1.67M
    YYDEBUG(696, *YYCURSOR);
8207
1.67M
    ++YYCURSOR;
8208
1.67M
    YYFILL(1);
8209
1.67M
    yych = *YYCURSOR;
8210
1.67M
    YYDEBUG(697, *YYCURSOR);
8211
1.67M
    if (yych <= 0x00) goto yy86;
8212
1.65M
    if (yych == '*') goto yy760;
8213
1.61M
    goto yy696;
8214
1.61M
yy698:
8215
5.02k
    YYDEBUG(698, *YYCURSOR);
8216
5.02k
    yyaccept = 4;
8217
5.02k
    yych = *(YYMARKER = ++YYCURSOR);
8218
5.02k
    if (yych == '_') goto yy762;
8219
707
    goto yy48;
8220
5.16k
yy699:
8221
5.16k
    YYDEBUG(699, *YYCURSOR);
8222
5.16k
    yyaccept = 67;
8223
5.16k
    yych = *(YYMARKER = ++YYCURSOR);
8224
5.16k
    if (yybm[256+yych] & 128) {
8225
879
      goto yy47;
8226
879
    }
8227
4.28k
    if (yych == '\\') goto yy164;
8228
4.28k
yy700:
8229
4.28k
    YYDEBUG(700, *YYCURSOR);
8230
4.28k
    yyleng = YYCURSOR - SCNG(yy_text);
8231
4.28k
#line 2281 "Zend/zend_language_scanner.l"
8232
4.28k
    {
8233
4.28k
  RETURN_TOKEN_WITH_IDENT(T_DIR);
8234
4.28k
}
8235
0
#line 8236 "Zend/zend_language_scanner.c"
8236
8.05k
yy701:
8237
8.05k
    YYDEBUG(701, *YYCURSOR);
8238
8.05k
    yyaccept = 4;
8239
8.05k
    yych = *(YYMARKER = ++YYCURSOR);
8240
8.05k
    if (yych == '_') goto yy763;
8241
1.40k
    goto yy48;
8242
7.93k
yy702:
8243
7.93k
    YYDEBUG(702, *YYCURSOR);
8244
7.93k
    yyaccept = 4;
8245
7.93k
    yych = *(YYMARKER = ++YYCURSOR);
8246
7.93k
    if (yych == 'I') goto yy765;
8247
3.37k
    if (yych == 'i') goto yy765;
8248
521
    goto yy48;
8249
3.87k
yy703:
8250
3.87k
    YYDEBUG(703, *YYCURSOR);
8251
3.87k
    yyaccept = 4;
8252
3.87k
    yych = *(YYMARKER = ++YYCURSOR);
8253
3.87k
    if (yych == 'C') goto yy766;
8254
2.52k
    if (yych == 'c') goto yy766;
8255
309
    goto yy48;
8256
3.03k
yy704:
8257
3.03k
    YYDEBUG(704, *YYCURSOR);
8258
3.03k
    yyaccept = 4;
8259
3.03k
    yych = *(YYMARKER = ++YYCURSOR);
8260
3.03k
    if (yych == '_') goto yy767;
8261
579
    goto yy48;
8262
14.9k
yy705:
8263
14.9k
    YYDEBUG(705, *YYCURSOR);
8264
14.9k
    yyaccept = 4;
8265
14.9k
    yych = *(YYMARKER = ++YYCURSOR);
8266
14.9k
    if (yych == 'D') goto yy769;
8267
3.57k
    if (yych == 'd') goto yy769;
8268
645
    goto yy48;
8269
6.44k
yy706:
8270
6.44k
    YYDEBUG(706, *YYCURSOR);
8271
6.44k
    yyaccept = 4;
8272
6.44k
    yych = *(YYMARKER = ++YYCURSOR);
8273
6.44k
    if (yych == 'P') goto yy770;
8274
3.65k
    if (yych == 'p') goto yy770;
8275
1.10k
    goto yy48;
8276
5.28k
yy707:
8277
5.28k
    YYDEBUG(707, *YYCURSOR);
8278
5.28k
    yyaccept = 4;
8279
5.28k
    yych = *(YYMARKER = ++YYCURSOR);
8280
5.28k
    if (yych == 'R') goto yy771;
8281
2.42k
    if (yych == 'r') goto yy771;
8282
615
    goto yy48;
8283
4.13k
yy708:
8284
4.13k
    YYDEBUG(708, *YYCURSOR);
8285
4.13k
    yyaccept = 4;
8286
4.13k
    yych = *(YYMARKER = ++YYCURSOR);
8287
4.13k
    if (yych == '_') goto yy772;
8288
756
    goto yy48;
8289
39.3k
yy709:
8290
39.3k
    YYDEBUG(709, *YYCURSOR);
8291
39.3k
    ++YYCURSOR;
8292
39.3k
    YYFILL(1);
8293
39.3k
    yych = *YYCURSOR;
8294
39.3k
    YYDEBUG(710, *YYCURSOR);
8295
39.3k
    if (yych <= ' ') {
8296
6.84k
      if (yych <= '\n') {
8297
2.17k
        if (yych <= 0x00) goto yy86;
8298
1.78k
        if (yych <= 0x08) goto yy443;
8299
1.33k
        if (yych <= '\t') goto yy709;
8300
800
        goto yy545;
8301
4.66k
      } else {
8302
4.66k
        if (yych == '\r') goto yy545;
8303
1.35k
        if (yych <= 0x1F) goto yy443;
8304
837
        goto yy709;
8305
1.35k
      }
8306
32.5k
    } else {
8307
32.5k
      if (yych <= ')') {
8308
7.75k
        if (yych <= '"') goto yy443;
8309
7.46k
        if (yych <= '#') goto yy773;
8310
3.56k
        if (yych <= '$') goto yy774;
8311
1.66k
        goto yy443;
8312
24.7k
      } else {
8313
24.7k
        if (yych <= '-') {
8314
1.27k
          if (yych <= '*') goto yy547;
8315
546
          goto yy443;
8316
23.5k
        } else {
8317
23.5k
          if (yych <= '.') goto yy775;
8318
17.8k
          if (yych <= '/') goto yy776;
8319
8.44k
          goto yy443;
8320
17.8k
        }
8321
24.7k
      }
8322
32.5k
    }
8323
972
yy711:
8324
972
    YYDEBUG(711, *YYCURSOR);
8325
972
    ++YYCURSOR;
8326
972
    YYFILL(1);
8327
972
    yych = *YYCURSOR;
8328
972
    if (yybm[0+yych] & 64) {
8329
264
      goto yy355;
8330
264
    }
8331
708
    if (yych <= 0x00) goto yy86;
8332
488
    if (yych == '.') goto yy631;
8333
270
    goto yy230;
8334
2.35k
yy712:
8335
2.35k
    YYDEBUG(712, *YYCURSOR);
8336
2.35k
    ++YYCURSOR;
8337
2.35k
    YYFILL(1);
8338
2.35k
    yych = *YYCURSOR;
8339
2.35k
    if (yybm[0+yych] & 64) {
8340
271
      goto yy355;
8341
271
    }
8342
2.08k
    if (yych <= 0x00) goto yy86;
8343
1.88k
    if (yych == '/') goto yy545;
8344
263
    goto yy230;
8345
476
yy713:
8346
476
    YYDEBUG(713, *YYCURSOR);
8347
476
    ++YYCURSOR;
8348
476
    YYDEBUG(714, *YYCURSOR);
8349
476
    yyleng = YYCURSOR - SCNG(yy_text);
8350
476
#line 1678 "Zend/zend_language_scanner.l"
8351
476
    {
8352
476
  if (PARSER_MODE()) {
8353
83
    zend_error(E_DEPRECATED, "Non-canonical cast (binary) is deprecated, use the (string) cast instead");
8354
83
    if (EG(exception)) {
8355
0
      RETURN_TOKEN(T_ERROR);
8356
0
    }
8357
83
  }
8358
476
  RETURN_TOKEN(T_STRING_CAST);
8359
476
}
8360
0
#line 8361 "Zend/zend_language_scanner.c"
8361
1.41k
yy715:
8362
1.41k
    YYDEBUG(715, *YYCURSOR);
8363
1.41k
    ++YYCURSOR;
8364
1.41k
    YYFILL(1);
8365
1.41k
    yych = *YYCURSOR;
8366
1.41k
    YYDEBUG(716, *YYCURSOR);
8367
1.41k
    if (yych <= 0x1F) {
8368
508
      if (yych == '\t') goto yy715;
8369
309
      goto yy86;
8370
904
    } else {
8371
904
      if (yych <= ' ') goto yy715;
8372
654
      if (yych == ')') goto yy777;
8373
341
      goto yy86;
8374
654
    }
8375
446
yy717:
8376
446
    YYDEBUG(717, *YYCURSOR);
8377
446
    ++YYCURSOR;
8378
446
    YYDEBUG(718, *YYCURSOR);
8379
446
    yyleng = YYCURSOR - SCNG(yy_text);
8380
446
#line 1656 "Zend/zend_language_scanner.l"
8381
446
    {
8382
446
  if (PARSER_MODE()) {
8383
40
    zend_error(E_DEPRECATED, "Non-canonical cast (double) is deprecated, use the (float) cast instead");
8384
40
    if (EG(exception)) {
8385
0
      RETURN_TOKEN(T_ERROR);
8386
0
    }
8387
40
  }
8388
446
  RETURN_TOKEN(T_DOUBLE_CAST);
8389
446
}
8390
0
#line 8391 "Zend/zend_language_scanner.c"
8391
2.63k
yy719:
8392
2.63k
    YYDEBUG(719, *YYCURSOR);
8393
2.63k
    ++YYCURSOR;
8394
2.63k
    YYFILL(1);
8395
2.63k
    yych = *YYCURSOR;
8396
2.63k
    YYDEBUG(720, *YYCURSOR);
8397
2.63k
    if (yych <= 0x1F) {
8398
544
      if (yych == '\t') goto yy719;
8399
327
      goto yy86;
8400
2.09k
    } else {
8401
2.09k
      if (yych <= ' ') goto yy719;
8402
1.82k
      if (yych == ')') goto yy779;
8403
485
      goto yy86;
8404
1.82k
    }
8405
916
yy721:
8406
916
    YYDEBUG(721, *YYCURSOR);
8407
916
    ++YYCURSOR;
8408
916
    YYDEBUG(722, *YYCURSOR);
8409
916
    yyleng = YYCURSOR - SCNG(yy_text);
8410
916
#line 1692 "Zend/zend_language_scanner.l"
8411
916
    {
8412
916
  RETURN_TOKEN(T_OBJECT_CAST);
8413
916
}
8414
0
#line 8415 "Zend/zend_language_scanner.c"
8415
2.04k
yy723:
8416
2.04k
    YYDEBUG(723, *YYCURSOR);
8417
2.04k
    ++YYCURSOR;
8418
2.04k
    YYDEBUG(724, *YYCURSOR);
8419
2.04k
    yyleng = YYCURSOR - SCNG(yy_text);
8420
2.04k
#line 1674 "Zend/zend_language_scanner.l"
8421
2.04k
    {
8422
2.04k
  RETURN_TOKEN(T_STRING_CAST);
8423
2.04k
}
8424
0
#line 8425 "Zend/zend_language_scanner.c"
8425
7.37k
yy725:
8426
7.37k
    YYDEBUG(725, *YYCURSOR);
8427
7.37k
    yyaccept = 68;
8428
7.37k
    yych = *(YYMARKER = ++YYCURSOR);
8429
7.37k
    if (yybm[256+yych] & 128) {
8430
1.27k
      goto yy47;
8431
1.27k
    }
8432
6.10k
    if (yych == '\\') goto yy164;
8433
6.08k
yy726:
8434
6.08k
    YYDEBUG(726, *YYCURSOR);
8435
6.08k
    yyleng = YYCURSOR - SCNG(yy_text);
8436
6.08k
#line 1770 "Zend/zend_language_scanner.l"
8437
6.08k
    {
8438
6.08k
  RETURN_TOKEN_WITH_IDENT(T_ABSTRACT);
8439
6.08k
}
8440
0
#line 8441 "Zend/zend_language_scanner.c"
8441
2.40k
yy727:
8442
2.40k
    YYDEBUG(727, *YYCURSOR);
8443
2.40k
    yyaccept = 69;
8444
2.40k
    yych = *(YYMARKER = ++YYCURSOR);
8445
2.40k
    if (yybm[256+yych] & 128) {
8446
500
      goto yy47;
8447
500
    }
8448
1.90k
    if (yych == '\\') goto yy164;
8449
1.90k
yy728:
8450
1.90k
    YYDEBUG(728, *YYCURSOR);
8451
1.90k
    yyleng = YYCURSOR - SCNG(yy_text);
8452
1.90k
#line 1822 "Zend/zend_language_scanner.l"
8453
1.90k
    {
8454
1.90k
  RETURN_TOKEN_WITH_IDENT(T_CALLABLE);
8455
1.90k
}
8456
0
#line 8457 "Zend/zend_language_scanner.c"
8457
3.71k
yy729:
8458
3.71k
    YYDEBUG(729, *YYCURSOR);
8459
3.71k
    yyaccept = 70;
8460
3.71k
    yych = *(YYMARKER = ++YYCURSOR);
8461
3.71k
    if (yybm[256+yych] & 128) {
8462
353
      goto yy47;
8463
353
    }
8464
3.36k
    if (yych == '\\') goto yy164;
8465
3.16k
yy730:
8466
3.16k
    YYDEBUG(730, *YYCURSOR);
8467
3.16k
    yyleng = YYCURSOR - SCNG(yy_text);
8468
3.16k
#line 1538 "Zend/zend_language_scanner.l"
8469
3.16k
    {
8470
3.16k
  RETURN_TOKEN_WITH_IDENT(T_CONTINUE);
8471
3.16k
}
8472
0
#line 8473 "Zend/zend_language_scanner.c"
8473
3.62k
yy731:
8474
3.62k
    YYDEBUG(731, *YYCURSOR);
8475
3.62k
    yyaccept = 4;
8476
3.62k
    yych = *(YYMARKER = ++YYCURSOR);
8477
3.62k
    if (yych == 'R') goto yy781;
8478
2.34k
    if (yych == 'r') goto yy781;
8479
804
    goto yy48;
8480
5.74k
yy732:
8481
5.74k
    YYDEBUG(732, *YYCURSOR);
8482
5.74k
    yyaccept = 4;
8483
5.74k
    yych = *(YYMARKER = ++YYCURSOR);
8484
5.74k
    if (yych == 'C') goto yy782;
8485
2.86k
    if (yych == 'c') goto yy782;
8486
814
    goto yy48;
8487
2.80k
yy733:
8488
2.80k
    YYDEBUG(733, *YYCURSOR);
8489
2.80k
    yyaccept = 4;
8490
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
8491
2.80k
    if (yych == 'H') goto yy783;
8492
1.98k
    if (yych == 'h') goto yy783;
8493
1.08k
    goto yy48;
8494
5.62k
yy734:
8495
5.62k
    YYDEBUG(734, *YYCURSOR);
8496
5.62k
    yyaccept = 71;
8497
5.62k
    yych = *(YYMARKER = ++YYCURSOR);
8498
5.62k
    if (yybm[256+yych] & 128) {
8499
724
      goto yy47;
8500
724
    }
8501
4.90k
    if (yych == '\\') goto yy164;
8502
4.90k
yy735:
8503
4.90k
    YYDEBUG(735, *YYCURSOR);
8504
4.90k
    yyleng = YYCURSOR - SCNG(yy_text);
8505
4.90k
#line 1474 "Zend/zend_language_scanner.l"
8506
4.90k
    {
8507
4.90k
  RETURN_TOKEN_WITH_IDENT(T_ENDWHILE);
8508
4.90k
}
8509
0
#line 8510 "Zend/zend_language_scanner.c"
8510
2.65k
yy736:
8511
2.65k
    YYDEBUG(736, *YYCURSOR);
8512
2.65k
    yych = *++YYCURSOR;
8513
2.65k
    if (yych == 'E') goto yy785;
8514
2.26k
    if (yych == 'e') goto yy785;
8515
526
    goto yy86;
8516
3.47k
yy737:
8517
3.47k
    YYDEBUG(737, *YYCURSOR);
8518
3.47k
    yych = *++YYCURSOR;
8519
3.47k
    if (yych == 'L') goto yy786;
8520
2.43k
    if (yych == 'l') goto yy786;
8521
375
    goto yy86;
8522
3.92M
yy738:
8523
3.92M
    YYDEBUG(738, *YYCURSOR);
8524
3.92M
    ++YYCURSOR;
8525
3.92M
    YYFILL(1);
8526
3.92M
    yych = *YYCURSOR;
8527
3.92M
    YYDEBUG(739, *YYCURSOR);
8528
3.92M
    if (yych <= '\f') {
8529
188k
      if (yych <= 0x00) goto yy86;
8530
169k
      if (yych == '\n') goto yy787;
8531
46.9k
      goto yy738;
8532
3.74M
    } else {
8533
3.74M
      if (yych <= '\r') goto yy787;
8534
3.55M
      if (yych == '*') goto yy789;
8535
3.48M
      goto yy738;
8536
3.55M
    }
8537
13.8k
yy740:
8538
13.8k
    YYDEBUG(740, *YYCURSOR);
8539
13.8k
    ++YYCURSOR;
8540
13.8k
    YYFILL(1);
8541
13.8k
    yych = *YYCURSOR;
8542
13.8k
    if (yych <= '\r') {
8543
1.45k
      if (yych <= '\t') {
8544
748
        if (yych <= 0x00) goto yy86;
8545
333
        goto yy586;
8546
748
      } else {
8547
711
        if (yych <= '\n') goto yy495;
8548
512
        if (yych <= '\f') goto yy586;
8549
293
        goto yy495;
8550
512
      }
8551
12.3k
    } else {
8552
12.3k
      if (yych <= 'T') {
8553
3.50k
        if (yych <= 'S') goto yy586;
8554
2.55k
        goto yy791;
8555
8.84k
      } else {
8556
8.84k
        if (yych == 't') goto yy791;
8557
1.03k
        goto yy586;
8558
8.84k
      }
8559
12.3k
    }
8560
29.2k
yy741:
8561
29.2k
    YYDEBUG(741, *YYCURSOR);
8562
29.2k
    ++YYCURSOR;
8563
29.2k
    YYFILL(1);
8564
29.2k
    yych = *YYCURSOR;
8565
29.2k
    if (yych <= '\r') {
8566
1.72k
      if (yych <= '\t') {
8567
524
        if (yych <= 0x00) goto yy86;
8568
284
        goto yy586;
8569
1.20k
      } else {
8570
1.20k
        if (yych <= '\n') goto yy495;
8571
874
        if (yych <= '\f') goto yy586;
8572
660
        goto yy495;
8573
874
      }
8574
27.5k
    } else {
8575
27.5k
      if (yych <= 'P') {
8576
6.06k
        if (yych <= 'O') goto yy586;
8577
4.17k
        goto yy792;
8578
21.4k
      } else {
8579
21.4k
        if (yych == 'p') goto yy792;
8580
1.05k
        goto yy586;
8581
21.4k
      }
8582
27.5k
    }
8583
114k
yy742:
8584
114k
    YYDEBUG(742, *YYCURSOR);
8585
114k
    yyaccept = 72;
8586
114k
    yych = *(YYMARKER = ++YYCURSOR);
8587
114k
    if (yybm[256+yych] & 128) {
8588
1.75k
      goto yy47;
8589
1.75k
    }
8590
112k
    if (yych == '\\') goto yy164;
8591
112k
yy743:
8592
112k
    YYDEBUG(743, *YYCURSOR);
8593
112k
    yyleng = YYCURSOR - SCNG(yy_text);
8594
112k
#line 1411 "Zend/zend_language_scanner.l"
8595
112k
    {
8596
112k
  RETURN_TOKEN_WITH_IDENT(T_FUNCTION);
8597
112k
}
8598
0
#line 8599 "Zend/zend_language_scanner.c"
8599
8.94k
yy744:
8600
8.94k
    YYDEBUG(744, *YYCURSOR);
8601
8.94k
    yyaccept = 4;
8602
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
8603
8.94k
    if (yych == 'T') goto yy793;
8604
7.96k
    if (yych == 't') goto yy793;
8605
1.25k
    goto yy48;
8606
5.05k
yy745:
8607
5.05k
    YYDEBUG(745, *YYCURSOR);
8608
5.05k
    yyaccept = 4;
8609
5.05k
    yych = *(YYMARKER = ++YYCURSOR);
8610
5.05k
    if (yych == 'O') goto yy794;
8611
3.50k
    if (yych == 'o') goto yy794;
8612
387
    goto yy48;
8613
4.53k
yy746:
8614
4.53k
    YYDEBUG(746, *YYCURSOR);
8615
4.53k
    yyaccept = 4;
8616
4.53k
    yych = *(YYMARKER = ++YYCURSOR);
8617
4.53k
    if (yych == 'O') goto yy795;
8618
3.34k
    if (yych == 'o') goto yy795;
8619
541
    goto yy48;
8620
5.83k
yy747:
8621
5.83k
    YYDEBUG(747, *YYCURSOR);
8622
5.83k
    yyaccept = 4;
8623
5.83k
    yych = *(YYMARKER = ++YYCURSOR);
8624
5.83k
    if (yych == 'F') goto yy796;
8625
4.70k
    if (yych == 'f') goto yy796;
8626
757
    goto yy48;
8627
12.7k
yy748:
8628
12.7k
    YYDEBUG(748, *YYCURSOR);
8629
12.7k
    yyaccept = 4;
8630
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
8631
12.7k
    if (yych == 'E') goto yy798;
8632
12.2k
    if (yych == 'e') goto yy798;
8633
889
    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.8k
    if (yych == 'e') goto yy800;
8640
486
    goto yy48;
8641
3.21k
yy750:
8642
3.21k
    YYDEBUG(750, *YYCURSOR);
8643
3.21k
    yych = *++YYCURSOR;
8644
3.21k
    if (yych == 'S') goto yy802;
8645
2.85k
    if (yych == 's') goto yy802;
8646
473
    goto yy86;
8647
8.94k
yy751:
8648
8.94k
    YYDEBUG(751, *YYCURSOR);
8649
8.94k
    yyaccept = 4;
8650
8.94k
    yych = *(YYMARKER = ++YYCURSOR);
8651
8.94k
    if (yych == 'D') goto yy803;
8652
6.98k
    if (yych == 'd') goto yy803;
8653
579
    goto yy48;
8654
1.79k
yy752:
8655
1.79k
    YYDEBUG(752, *YYCURSOR);
8656
1.79k
    yych = *++YYCURSOR;
8657
1.79k
    if (yych == 'E') goto yy805;
8658
1.59k
    if (yych == 'e') goto yy805;
8659
414
    goto yy86;
8660
5.88k
yy753:
8661
5.88k
    YYDEBUG(753, *YYCURSOR);
8662
5.88k
    yyaccept = 73;
8663
5.88k
    yych = *(YYMARKER = ++YYCURSOR);
8664
5.88k
    if (yybm[256+yych] & 128) {
8665
806
      goto yy47;
8666
806
    }
8667
5.07k
    if (yych == '\\') goto yy164;
8668
5.07k
yy754:
8669
5.07k
    YYDEBUG(754, *YYCURSOR);
8670
5.07k
    yyleng = YYCURSOR - SCNG(yy_text);
8671
5.07k
#line 1802 "Zend/zend_language_scanner.l"
8672
5.07k
    {
8673
5.07k
  RETURN_TOKEN_WITH_IDENT(T_READONLY);
8674
5.07k
}
8675
0
#line 8676 "Zend/zend_language_scanner.c"
8676
3.60k
yy755:
8677
3.60k
    YYDEBUG(755, *YYCURSOR);
8678
3.60k
    yyaccept = 4;
8679
3.60k
    yych = *(YYMARKER = ++YYCURSOR);
8680
3.60k
    if (yych == 'O') goto yy806;
8681
2.98k
    if (yych == 'o') goto yy806;
8682
319
    goto yy48;
8683
5.91k
yy756:
8684
5.91k
    YYDEBUG(756, *YYCURSOR);
8685
5.91k
    yych = *++YYCURSOR;
8686
5.91k
    if (yych == 'O') goto yy807;
8687
4.45k
    if (yych == 'o') goto yy807;
8688
1.14k
    goto yy86;
8689
22.5k
yy757:
8690
22.5k
    YYDEBUG(757, *YYCURSOR);
8691
22.5k
    ++YYCURSOR;
8692
22.5k
    YYFILL(1);
8693
22.5k
    yych = *YYCURSOR;
8694
22.5k
    if (yych <= '\n') {
8695
12.4k
      if (yych <= 0x00) goto yy86;
8696
12.2k
      if (yych <= '\t') goto yy692;
8697
11.9k
      goto yy694;
8698
12.2k
    } else {
8699
10.0k
      if (yych == '\r') goto yy694;
8700
7.74k
      goto yy692;
8701
10.0k
    }
8702
80.7k
yy758:
8703
80.7k
    YYDEBUG(758, *YYCURSOR);
8704
80.7k
    ++YYCURSOR;
8705
80.7k
    YYFILL(1);
8706
80.7k
    yych = *YYCURSOR;
8707
80.7k
    if (yych <= '\f') {
8708
1.73k
      if (yych <= 0x00) goto yy86;
8709
1.21k
      if (yych == '\n') goto yy616;
8710
364
      goto yy692;
8711
78.9k
    } else {
8712
78.9k
      if (yych <= '\r') goto yy616;
8713
77.8k
      if (yych == '*') goto yy808;
8714
15.0k
      goto yy692;
8715
77.8k
    }
8716
24.8k
yy759:
8717
24.8k
    YYDEBUG(759, *YYCURSOR);
8718
24.8k
    ++YYCURSOR;
8719
24.8k
    YYFILL(1);
8720
24.8k
    yych = *YYCURSOR;
8721
24.8k
    if (yych <= '\r') {
8722
1.47k
      if (yych <= '\t') {
8723
702
        if (yych <= 0x00) goto yy86;
8724
490
        goto yy692;
8725
774
      } else {
8726
774
        if (yych <= '\n') goto yy616;
8727
541
        if (yych <= '\f') goto yy692;
8728
246
        goto yy616;
8729
541
      }
8730
23.3k
    } else {
8731
23.3k
      if (yych <= 'R') {
8732
19.1k
        if (yych <= 'Q') goto yy692;
8733
14.6k
        goto yy810;
8734
19.1k
      } else {
8735
4.22k
        if (yych == 'r') goto yy810;
8736
2.50k
        goto yy692;
8737
4.22k
      }
8738
23.3k
    }
8739
48.9k
yy760:
8740
48.9k
    YYDEBUG(760, *YYCURSOR);
8741
48.9k
    ++YYCURSOR;
8742
48.9k
    YYFILL(1);
8743
48.9k
    yych = *YYCURSOR;
8744
48.9k
    YYDEBUG(761, *YYCURSOR);
8745
48.9k
    if (yych <= '*') {
8746
18.3k
      if (yych <= 0x00) goto yy86;
8747
17.3k
      if (yych <= ')') goto yy696;
8748
3.79k
      goto yy760;
8749
30.6k
    } else {
8750
30.6k
      if (yych == '/') goto yy616;
8751
5.79k
      goto yy696;
8752
30.6k
    }
8753
4.32k
yy762:
8754
4.32k
    YYDEBUG(762, *YYCURSOR);
8755
4.32k
    yyaccept = 4;
8756
4.32k
    yych = *(YYMARKER = ++YYCURSOR);
8757
4.32k
    if (yych == '_') goto yy811;
8758
437
    goto yy48;
8759
6.65k
yy763:
8760
6.65k
    YYDEBUG(763, *YYCURSOR);
8761
6.65k
    yyaccept = 74;
8762
6.65k
    yych = *(YYMARKER = ++YYCURSOR);
8763
6.65k
    if (yybm[256+yych] & 128) {
8764
830
      goto yy47;
8765
830
    }
8766
5.82k
    if (yych == '\\') goto yy164;
8767
5.82k
yy764:
8768
5.82k
    YYDEBUG(764, *YYCURSOR);
8769
5.82k
    yyleng = YYCURSOR - SCNG(yy_text);
8770
5.82k
#line 2277 "Zend/zend_language_scanner.l"
8771
5.82k
    {
8772
5.82k
  RETURN_TOKEN_WITH_IDENT(T_FILE);
8773
5.82k
}
8774
0
#line 8775 "Zend/zend_language_scanner.c"
8775
7.41k
yy765:
8776
7.41k
    YYDEBUG(765, *YYCURSOR);
8777
7.41k
    yyaccept = 4;
8778
7.41k
    yych = *(YYMARKER = ++YYCURSOR);
8779
7.41k
    if (yych == 'O') goto yy813;
8780
2.93k
    if (yych == 'o') goto yy813;
8781
549
    goto yy48;
8782
3.56k
yy766:
8783
3.56k
    YYDEBUG(766, *YYCURSOR);
8784
3.56k
    yyaccept = 4;
8785
3.56k
    yych = *(YYMARKER = ++YYCURSOR);
8786
3.56k
    if (yych == 'O') goto yy814;
8787
2.78k
    if (yych == 'o') goto yy814;
8788
399
    goto yy48;
8789
2.45k
yy767:
8790
2.45k
    YYDEBUG(767, *YYCURSOR);
8791
2.45k
    yyaccept = 75;
8792
2.45k
    yych = *(YYMARKER = ++YYCURSOR);
8793
2.45k
    if (yybm[256+yych] & 128) {
8794
547
      goto yy47;
8795
547
    }
8796
1.90k
    if (yych == '\\') goto yy164;
8797
1.80k
yy768:
8798
1.80k
    YYDEBUG(768, *YYCURSOR);
8799
1.80k
    yyleng = YYCURSOR - SCNG(yy_text);
8800
1.80k
#line 2273 "Zend/zend_language_scanner.l"
8801
1.80k
    {
8802
1.80k
  RETURN_TOKEN_WITH_IDENT(T_LINE);
8803
1.80k
}
8804
0
#line 8805 "Zend/zend_language_scanner.c"
8805
14.2k
yy769:
8806
14.2k
    YYDEBUG(769, *YYCURSOR);
8807
14.2k
    yyaccept = 4;
8808
14.2k
    yych = *(YYMARKER = ++YYCURSOR);
8809
14.2k
    if (yych == '_') goto yy815;
8810
817
    goto yy48;
8811
5.33k
yy770:
8812
5.33k
    YYDEBUG(770, *YYCURSOR);
8813
5.33k
    yyaccept = 4;
8814
5.33k
    yych = *(YYMARKER = ++YYCURSOR);
8815
5.33k
    if (yych == 'A') goto yy816;
8816
2.63k
    if (yych == 'a') goto yy816;
8817
451
    goto yy48;
8818
4.66k
yy771:
8819
4.66k
    YYDEBUG(771, *YYCURSOR);
8820
4.66k
    yyaccept = 4;
8821
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
8822
4.66k
    if (yych == 'T') goto yy817;
8823
2.28k
    if (yych == 't') goto yy817;
8824
412
    goto yy48;
8825
3.37k
yy772:
8826
3.37k
    YYDEBUG(772, *YYCURSOR);
8827
3.37k
    yyaccept = 4;
8828
3.37k
    yych = *(YYMARKER = ++YYCURSOR);
8829
3.37k
    if (yych == '_') goto yy818;
8830
548
    goto yy48;
8831
3.90k
yy773:
8832
3.90k
    YYDEBUG(773, *YYCURSOR);
8833
3.90k
    ++YYCURSOR;
8834
3.90k
    YYFILL(1);
8835
3.90k
    yych = *YYCURSOR;
8836
3.90k
    if (yybm[0+yych] & 128) {
8837
1.42k
      goto yy443;
8838
1.42k
    }
8839
2.47k
    if (yych <= 0x00) goto yy86;
8840
2.24k
    if (yych <= '\r') goto yy709;
8841
198
    goto yy547;
8842
2.26k
yy774:
8843
2.26k
    YYDEBUG(774, *YYCURSOR);
8844
2.26k
    yyaccept = 26;
8845
2.26k
    YYMARKER = ++YYCURSOR;
8846
2.26k
    YYFILL(1);
8847
2.26k
    yych = *YYCURSOR;
8848
2.26k
    if (yybm[0+yych] & 128) {
8849
1.47k
      goto yy443;
8850
1.47k
    }
8851
791
    if (yych <= 0x00) goto yy89;
8852
571
    if (yych <= '\r') goto yy545;
8853
243
    goto yy547;
8854
5.67k
yy775:
8855
5.67k
    YYDEBUG(775, *YYCURSOR);
8856
5.67k
    ++YYCURSOR;
8857
5.67k
    YYFILL(1);
8858
5.67k
    yych = *YYCURSOR;
8859
5.67k
    if (yych <= '\r') {
8860
1.64k
      if (yych <= '\t') {
8861
439
        if (yych <= 0x00) goto yy86;
8862
219
        goto yy443;
8863
1.20k
      } else {
8864
1.20k
        if (yych <= '\n') goto yy545;
8865
1.00k
        if (yych <= '\f') goto yy443;
8866
806
        goto yy545;
8867
1.00k
      }
8868
4.03k
    } else {
8869
4.03k
      if (yych <= '*') {
8870
1.52k
        if (yych <= ')') goto yy443;
8871
632
        goto yy547;
8872
2.50k
      } else {
8873
2.50k
        if (yych == '.') goto yy820;
8874
282
        goto yy443;
8875
2.50k
      }
8876
4.03k
    }
8877
9.39k
yy776:
8878
9.39k
    YYDEBUG(776, *YYCURSOR);
8879
9.39k
    ++YYCURSOR;
8880
9.39k
    YYFILL(1);
8881
9.39k
    yych = *YYCURSOR;
8882
9.39k
    if (yybm[0+yych] & 128) {
8883
576
      goto yy443;
8884
576
    }
8885
8.82k
    if (yych <= 0x00) goto yy86;
8886
8.46k
    if (yych <= '\r') goto yy545;
8887
8.14k
    goto yy821;
8888
8.14k
yy777:
8889
313
    YYDEBUG(777, *YYCURSOR);
8890
313
    ++YYCURSOR;
8891
313
    YYDEBUG(778, *YYCURSOR);
8892
313
    yyleng = YYCURSOR - SCNG(yy_text);
8893
313
#line 1700 "Zend/zend_language_scanner.l"
8894
313
    {
8895
313
  if (PARSER_MODE()) {
8896
107
    zend_error(E_DEPRECATED, "Non-canonical cast (boolean) is deprecated, use the (bool) cast instead");
8897
107
    if (EG(exception)) {
8898
0
      RETURN_TOKEN(T_ERROR);
8899
0
    }
8900
107
  }
8901
313
  RETURN_TOKEN(T_BOOL_CAST);
8902
313
}
8903
0
#line 8904 "Zend/zend_language_scanner.c"
8904
1.34k
yy779:
8905
1.34k
    YYDEBUG(779, *YYCURSOR);
8906
1.34k
    ++YYCURSOR;
8907
1.34k
    YYDEBUG(780, *YYCURSOR);
8908
1.34k
    yyleng = YYCURSOR - SCNG(yy_text);
8909
1.34k
#line 1642 "Zend/zend_language_scanner.l"
8910
1.34k
    {
8911
1.34k
  if (PARSER_MODE()) {
8912
100
    zend_error(E_DEPRECATED, "Non-canonical cast (integer) is deprecated, use the (int) cast instead");
8913
100
    if (EG(exception)) {
8914
0
      RETURN_TOKEN(T_ERROR);
8915
0
    }
8916
100
  }
8917
1.34k
  RETURN_TOKEN(T_INT_CAST);
8918
1.34k
}
8919
0
#line 8920 "Zend/zend_language_scanner.c"
8920
2.82k
yy781:
8921
2.82k
    YYDEBUG(781, *YYCURSOR);
8922
2.82k
    yyaccept = 4;
8923
2.82k
    yych = *(YYMARKER = ++YYCURSOR);
8924
2.82k
    if (yych == 'E') goto yy822;
8925
1.83k
    if (yych == 'e') goto yy822;
8926
408
    goto yy48;
8927
4.92k
yy782:
8928
4.92k
    YYDEBUG(782, *YYCURSOR);
8929
4.92k
    yyaccept = 4;
8930
4.92k
    yych = *(YYMARKER = ++YYCURSOR);
8931
4.92k
    if (yych == 'H') goto yy824;
8932
2.24k
    if (yych == 'h') goto yy824;
8933
724
    goto yy48;
8934
1.71k
yy783:
8935
1.71k
    YYDEBUG(783, *YYCURSOR);
8936
1.71k
    yyaccept = 76;
8937
1.71k
    yych = *(YYMARKER = ++YYCURSOR);
8938
1.71k
    if (yybm[256+yych] & 128) {
8939
556
      goto yy47;
8940
556
    }
8941
1.16k
    if (yych == '\\') goto yy164;
8942
1.16k
yy784:
8943
1.16k
    YYDEBUG(784, *YYCURSOR);
8944
1.16k
    yyleng = YYCURSOR - SCNG(yy_text);
8945
1.16k
#line 1522 "Zend/zend_language_scanner.l"
8946
1.16k
    {
8947
1.16k
  RETURN_TOKEN_WITH_IDENT(T_ENDSWITCH);
8948
1.16k
}
8949
0
#line 8950 "Zend/zend_language_scanner.c"
8950
2.12k
yy785:
8951
2.12k
    YYDEBUG(785, *YYCURSOR);
8952
2.12k
    yych = *++YYCURSOR;
8953
2.12k
    if (yych == 'N') goto yy826;
8954
1.91k
    if (yych == 'n') goto yy826;
8955
517
    goto yy86;
8956
3.09k
yy786:
8957
3.09k
    YYDEBUG(786, *YYCURSOR);
8958
3.09k
    yych = *++YYCURSOR;
8959
3.09k
    if (yych == 'E') goto yy827;
8960
2.06k
    if (yych == 'e') goto yy827;
8961
341
    goto yy86;
8962
479k
yy787:
8963
479k
    YYDEBUG(787, *YYCURSOR);
8964
479k
    ++YYCURSOR;
8965
479k
    YYFILL(1);
8966
479k
    yych = *YYCURSOR;
8967
479k
    YYDEBUG(788, *YYCURSOR);
8968
479k
    if (yych <= '@') {
8969
444k
      if (yych <= ' ') {
8970
49.1k
        if (yych <= '\n') {
8971
17.3k
          if (yych <= 0x00) goto yy86;
8972
14.5k
          if (yych <= 0x08) goto yy590;
8973
12.9k
          goto yy787;
8974
31.7k
        } else {
8975
31.7k
          if (yych == '\r') goto yy787;
8976
21.1k
          if (yych <= 0x1F) goto yy590;
8977
20.3k
          goto yy787;
8978
21.1k
        }
8979
395k
      } else {
8980
395k
        if (yych <= ')') {
8981
355k
          if (yych == '#') goto yy828;
8982
24.4k
          goto yy590;
8983
355k
        } else {
8984
39.5k
          if (yych <= '*') goto yy668;
8985
38.4k
          if (yych == '/') goto yy829;
8986
10.1k
          goto yy590;
8987
38.4k
        }
8988
395k
      }
8989
444k
    } else {
8990
35.7k
      if (yych <= '_') {
8991
9.20k
        if (yych <= 'H') {
8992
1.91k
          if (yych == 'E') goto yy831;
8993
1.53k
          goto yy830;
8994
7.29k
        } else {
8995
7.29k
          if (yych <= 'I') goto yy832;
8996
2.12k
          if (yych <= 'Z') goto yy830;
8997
1.31k
          if (yych <= '^') goto yy590;
8998
470
          goto yy830;
8999
1.31k
        }
9000
26.5k
      } else {
9001
26.5k
        if (yych <= 'h') {
9002
12.9k
          if (yych <= '`') goto yy590;
9003
12.7k
          if (yych == 'e') goto yy831;
9004
2.09k
          goto yy830;
9005
13.6k
        } else {
9006
13.6k
          if (yych <= 'i') goto yy832;
9007
6.36k
          if (yych <= 'z') goto yy830;
9008
4.29k
          if (yych <= 0x7F) goto yy590;
9009
2.73k
          goto yy830;
9010
4.29k
        }
9011
26.5k
      }
9012
35.7k
    }
9013
79.7k
yy789:
9014
79.7k
    YYDEBUG(789, *YYCURSOR);
9015
79.7k
    ++YYCURSOR;
9016
79.7k
    YYFILL(1);
9017
79.7k
    yych = *YYCURSOR;
9018
79.7k
    YYDEBUG(790, *YYCURSOR);
9019
79.7k
    if (yych <= '\r') {
9020
30.9k
      if (yych <= '\t') {
9021
2.05k
        if (yych <= 0x00) goto yy86;
9022
1.09k
        goto yy738;
9023
28.8k
      } else {
9024
28.8k
        if (yych <= '\n') goto yy787;
9025
25.9k
        if (yych <= '\f') goto yy738;
9026
25.3k
        goto yy787;
9027
25.9k
      }
9028
48.8k
    } else {
9029
48.8k
      if (yych <= '*') {
9030
6.46k
        if (yych <= ')') goto yy738;
9031
3.66k
        goto yy789;
9032
42.4k
      } else {
9033
42.4k
        if (yych == '/') goto yy588;
9034
11.4k
        goto yy738;
9035
42.4k
      }
9036
48.8k
    }
9037
10.3k
yy791:
9038
10.3k
    YYDEBUG(791, *YYCURSOR);
9039
10.3k
    ++YYCURSOR;
9040
10.3k
    YYFILL(1);
9041
10.3k
    yych = *YYCURSOR;
9042
10.3k
    if (yych <= '\r') {
9043
1.47k
      if (yych <= '\t') {
9044
573
        if (yych <= 0x00) goto yy86;
9045
203
        goto yy586;
9046
902
      } else {
9047
902
        if (yych <= '\n') goto yy495;
9048
681
        if (yych <= '\f') goto yy586;
9049
479
        goto yy495;
9050
681
      }
9051
8.88k
    } else {
9052
8.88k
      if (yych <= 'E') {
9053
1.74k
        if (yych <= 'D') goto yy586;
9054
1.46k
        goto yy833;
9055
7.14k
      } else {
9056
7.14k
        if (yych == 'e') goto yy833;
9057
337
        goto yy586;
9058
7.14k
      }
9059
8.88k
    }
9060
24.5k
yy792:
9061
24.5k
    YYDEBUG(792, *YYCURSOR);
9062
24.5k
    ++YYCURSOR;
9063
24.5k
    YYFILL(1);
9064
24.5k
    yych = *YYCURSOR;
9065
24.5k
    if (yych <= '\r') {
9066
1.48k
      if (yych <= '\t') {
9067
560
        if (yych <= 0x00) goto yy86;
9068
256
        goto yy586;
9069
920
      } else {
9070
920
        if (yych <= '\n') goto yy495;
9071
717
        if (yych <= '\f') goto yy586;
9072
509
        goto yy495;
9073
717
      }
9074
23.1k
    } else {
9075
23.1k
      if (yych <= 'L') {
9076
5.57k
        if (yych <= 'K') goto yy586;
9077
4.27k
        goto yy834;
9078
17.5k
      } else {
9079
17.5k
        if (yych == 'l') goto yy834;
9080
732
        goto yy586;
9081
17.5k
      }
9082
23.1k
    }
9083
7.69k
yy793:
9084
7.69k
    YYDEBUG(793, *YYCURSOR);
9085
7.69k
    yyaccept = 4;
9086
7.69k
    yych = *(YYMARKER = ++YYCURSOR);
9087
7.69k
    if (yych == 'S') goto yy835;
9088
6.73k
    if (yych == 's') goto yy835;
9089
770
    goto yy48;
9090
4.66k
yy794:
9091
4.66k
    YYDEBUG(794, *YYCURSOR);
9092
4.66k
    yyaccept = 4;
9093
4.66k
    yych = *(YYMARKER = ++YYCURSOR);
9094
4.66k
    if (yych == 'N') goto yy837;
9095
3.35k
    if (yych == 'n') goto yy837;
9096
453
    goto yy48;
9097
3.98k
yy795:
9098
3.98k
    YYDEBUG(795, *YYCURSOR);
9099
3.98k
    yyaccept = 4;
9100
3.98k
    yych = *(YYMARKER = ++YYCURSOR);
9101
3.98k
    if (yych == 'F') goto yy838;
9102
3.25k
    if (yych == 'f') goto yy838;
9103
664
    goto yy48;
9104
5.07k
yy796:
9105
5.07k
    YYDEBUG(796, *YYCURSOR);
9106
5.07k
    yyaccept = 77;
9107
5.07k
    yych = *(YYMARKER = ++YYCURSOR);
9108
5.07k
    if (yybm[256+yych] & 128) {
9109
859
      goto yy47;
9110
859
    }
9111
4.21k
    if (yych == '\\') goto yy164;
9112
4.20k
yy797:
9113
4.20k
    YYDEBUG(797, *YYCURSOR);
9114
4.20k
    yyleng = YYCURSOR - SCNG(yy_text);
9115
4.20k
#line 1746 "Zend/zend_language_scanner.l"
9116
4.20k
    {
9117
4.20k
    RETURN_TOKEN_WITH_IDENT(T_INSTEADOF);
9118
4.20k
}
9119
0
#line 9120 "Zend/zend_language_scanner.c"
9120
11.9k
yy798:
9121
11.9k
    YYDEBUG(798, *YYCURSOR);
9122
11.9k
    yyaccept = 78;
9123
11.9k
    yych = *(YYMARKER = ++YYCURSOR);
9124
11.9k
    if (yybm[256+yych] & 128) {
9125
924
      goto yy47;
9126
924
    }
9127
10.9k
    if (yych == '\\') goto yy164;
9128
10.7k
yy799:
9129
10.7k
    YYDEBUG(799, *YYCURSOR);
9130
10.7k
    yyleng = YYCURSOR - SCNG(yy_text);
9131
10.7k
#line 1558 "Zend/zend_language_scanner.l"
9132
10.7k
    {
9133
10.7k
  RETURN_TOKEN_WITH_IDENT(T_INTERFACE);
9134
10.7k
}
9135
0
#line 9136 "Zend/zend_language_scanner.c"
9136
21.0k
yy800:
9137
21.0k
    YYDEBUG(800, *YYCURSOR);
9138
21.0k
    yyaccept = 79;
9139
21.0k
    yych = *(YYMARKER = ++YYCURSOR);
9140
21.0k
    if (yybm[256+yych] & 128) {
9141
959
      goto yy47;
9142
959
    }
9143
20.0k
    if (yych == '\\') goto yy840;
9144
14.8k
yy801:
9145
14.8k
    YYDEBUG(801, *YYCURSOR);
9146
14.8k
    yyleng = YYCURSOR - SCNG(yy_text);
9147
14.8k
#line 1738 "Zend/zend_language_scanner.l"
9148
14.8k
    {
9149
14.8k
  RETURN_TOKEN_WITH_IDENT(T_NAMESPACE);
9150
14.8k
}
9151
0
#line 9152 "Zend/zend_language_scanner.c"
9152
2.73k
yy802:
9153
2.73k
    YYDEBUG(802, *YYCURSOR);
9154
2.73k
    yych = *++YYCURSOR;
9155
2.73k
    if (yych == 'E') goto yy841;
9156
2.52k
    if (yych == 'e') goto yy841;
9157
1.00k
    goto yy86;
9158
8.37k
yy803:
9159
8.37k
    YYDEBUG(803, *YYCURSOR);
9160
8.37k
    yyaccept = 80;
9161
8.37k
    yych = *(YYMARKER = ++YYCURSOR);
9162
8.37k
    if (yybm[256+yych] & 128) {
9163
409
      goto yy47;
9164
409
    }
9165
7.96k
    if (yych == '(') goto yy842;
9166
6.49k
    if (yych == '\\') goto yy164;
9167
7.35k
yy804:
9168
7.35k
    YYDEBUG(804, *YYCURSOR);
9169
7.35k
    yyleng = YYCURSOR - SCNG(yy_text);
9170
7.35k
#line 1782 "Zend/zend_language_scanner.l"
9171
7.35k
    {
9172
7.35k
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED);
9173
7.35k
}
9174
0
#line 9175 "Zend/zend_language_scanner.c"
9175
1.38k
yy805:
9176
1.38k
    YYDEBUG(805, *YYCURSOR);
9177
1.38k
    yych = *++YYCURSOR;
9178
1.38k
    if (yych == 'T') goto yy843;
9179
574
    if (yych == 't') goto yy843;
9180
205
    goto yy86;
9181
3.28k
yy806:
9182
3.28k
    YYDEBUG(806, *YYCURSOR);
9183
3.28k
    yyaccept = 4;
9184
3.28k
    yych = *(YYMARKER = ++YYCURSOR);
9185
3.28k
    if (yych == 'N') goto yy844;
9186
2.87k
    if (yych == 'n') goto yy844;
9187
360
    goto yy48;
9188
4.76k
yy807:
9189
4.76k
    YYDEBUG(807, *YYCURSOR);
9190
4.76k
    yych = *++YYCURSOR;
9191
4.76k
    if (yych == 'M') goto yy845;
9192
3.80k
    if (yych == 'm') goto yy845;
9193
334
    goto yy86;
9194
1.42M
yy808:
9195
1.42M
    YYDEBUG(808, *YYCURSOR);
9196
1.42M
    ++YYCURSOR;
9197
1.42M
    YYFILL(1);
9198
1.42M
    yych = *YYCURSOR;
9199
1.42M
    YYDEBUG(809, *YYCURSOR);
9200
1.42M
    if (yych <= '\f') {
9201
103k
      if (yych <= 0x00) goto yy86;
9202
96.7k
      if (yych == '\n') goto yy846;
9203
27.0k
      goto yy808;
9204
1.32M
    } else {
9205
1.32M
      if (yych <= '\r') goto yy846;
9206
1.26M
      if (yych == '*') goto yy848;
9207
1.23M
      goto yy808;
9208
1.26M
    }
9209
16.3k
yy810:
9210
16.3k
    YYDEBUG(810, *YYCURSOR);
9211
16.3k
    ++YYCURSOR;
9212
16.3k
    YYFILL(1);
9213
16.3k
    yych = *YYCURSOR;
9214
16.3k
    if (yych <= '\r') {
9215
2.52k
      if (yych <= '\t') {
9216
452
        if (yych <= 0x00) goto yy86;
9217
248
        goto yy692;
9218
2.07k
      } else {
9219
2.07k
        if (yych <= '\n') goto yy616;
9220
493
        if (yych <= '\f') goto yy692;
9221
205
        goto yy616;
9222
493
      }
9223
13.8k
    } else {
9224
13.8k
      if (yych <= 'O') {
9225
10.5k
        if (yych <= 'N') goto yy692;
9226
9.42k
        goto yy850;
9227
10.5k
      } else {
9228
3.28k
        if (yych == 'o') goto yy850;
9229
781
        goto yy692;
9230
3.28k
      }
9231
13.8k
    }
9232
3.88k
yy811:
9233
3.88k
    YYDEBUG(811, *YYCURSOR);
9234
3.88k
    yyaccept = 81;
9235
3.88k
    yych = *(YYMARKER = ++YYCURSOR);
9236
3.88k
    if (yybm[256+yych] & 128) {
9237
468
      goto yy47;
9238
468
    }
9239
3.41k
    if (yych == '\\') goto yy164;
9240
3.41k
yy812:
9241
3.41k
    YYDEBUG(812, *YYCURSOR);
9242
3.41k
    yyleng = YYCURSOR - SCNG(yy_text);
9243
3.41k
#line 2253 "Zend/zend_language_scanner.l"
9244
3.41k
    {
9245
3.41k
  RETURN_TOKEN_WITH_IDENT(T_CLASS_C);
9246
3.41k
}
9247
0
#line 9248 "Zend/zend_language_scanner.c"
9248
6.86k
yy813:
9249
6.86k
    YYDEBUG(813, *YYCURSOR);
9250
6.86k
    yyaccept = 4;
9251
6.86k
    yych = *(YYMARKER = ++YYCURSOR);
9252
6.86k
    if (yych == 'N') goto yy851;
9253
2.06k
    if (yych == 'n') goto yy851;
9254
691
    goto yy48;
9255
3.16k
yy814:
9256
3.16k
    YYDEBUG(814, *YYCURSOR);
9257
3.16k
    yyaccept = 4;
9258
3.16k
    yych = *(YYMARKER = ++YYCURSOR);
9259
3.16k
    if (yych == 'M') goto yy852;
9260
2.43k
    if (yych == 'm') goto yy852;
9261
370
    goto yy48;
9262
13.4k
yy815:
9263
13.4k
    YYDEBUG(815, *YYCURSOR);
9264
13.4k
    yyaccept = 4;
9265
13.4k
    yych = *(YYMARKER = ++YYCURSOR);
9266
13.4k
    if (yych == '_') goto yy853;
9267
763
    goto yy48;
9268
4.88k
yy816:
9269
4.88k
    YYDEBUG(816, *YYCURSOR);
9270
4.88k
    yyaccept = 4;
9271
4.88k
    yych = *(YYMARKER = ++YYCURSOR);
9272
4.88k
    if (yych == 'C') goto yy855;
9273
2.38k
    if (yych == 'c') goto yy855;
9274
320
    goto yy48;
9275
4.25k
yy817:
9276
4.25k
    YYDEBUG(817, *YYCURSOR);
9277
4.25k
    yyaccept = 4;
9278
4.25k
    yych = *(YYMARKER = ++YYCURSOR);
9279
4.25k
    if (yych == 'Y') goto yy856;
9280
1.06k
    if (yych == 'y') goto yy856;
9281
856
    goto yy48;
9282
2.83k
yy818:
9283
2.83k
    YYDEBUG(818, *YYCURSOR);
9284
2.83k
    yyaccept = 82;
9285
2.83k
    yych = *(YYMARKER = ++YYCURSOR);
9286
2.83k
    if (yybm[256+yych] & 128) {
9287
440
      goto yy47;
9288
440
    }
9289
2.39k
    if (yych == '\\') goto yy164;
9290
2.39k
yy819:
9291
2.39k
    YYDEBUG(819, *YYCURSOR);
9292
2.39k
    yyleng = YYCURSOR - SCNG(yy_text);
9293
2.39k
#line 2257 "Zend/zend_language_scanner.l"
9294
2.39k
    {
9295
2.39k
  RETURN_TOKEN_WITH_IDENT(T_TRAIT_C);
9296
2.39k
}
9297
0
#line 9298 "Zend/zend_language_scanner.c"
9298
2.22k
yy820:
9299
2.22k
    YYDEBUG(820, *YYCURSOR);
9300
2.22k
    ++YYCURSOR;
9301
2.22k
    YYFILL(1);
9302
2.22k
    yych = *YYCURSOR;
9303
2.22k
    if (yych <= '\r') {
9304
1.03k
      if (yych <= '\t') {
9305
399
        if (yych <= 0x00) goto yy86;
9306
195
        goto yy443;
9307
637
      } else {
9308
637
        if (yych <= '\n') goto yy545;
9309
433
        if (yych <= '\f') goto yy443;
9310
227
        goto yy545;
9311
433
      }
9312
1.18k
    } else {
9313
1.18k
      if (yych <= '*') {
9314
590
        if (yych <= ')') goto yy443;
9315
300
        goto yy547;
9316
595
      } else {
9317
595
        if (yych == '.') goto yy774;
9318
237
        goto yy443;
9319
595
      }
9320
1.18k
    }
9321
8.14k
yy821:
9322
8.14k
    YYDEBUG(821, *YYCURSOR);
9323
8.14k
    ++YYCURSOR;
9324
8.14k
    YYFILL(1);
9325
8.14k
    yych = *YYCURSOR;
9326
8.14k
    if (yych <= '\r') {
9327
1.56k
      if (yych <= '\t') {
9328
468
        if (yych <= 0x00) goto yy86;
9329
264
        goto yy443;
9330
1.09k
      } else {
9331
1.09k
        if (yych <= '\n') goto yy545;
9332
417
        if (yych <= '\f') goto yy443;
9333
198
        goto yy545;
9334
417
      }
9335
6.57k
    } else {
9336
6.57k
      if (yych <= '*') {
9337
615
        if (yych <= ')') goto yy443;
9338
220
        goto yy547;
9339
5.96k
      } else {
9340
5.96k
        if (yych == '/') goto yy709;
9341
295
        goto yy443;
9342
5.96k
      }
9343
6.57k
    }
9344
2.41k
yy822:
9345
2.41k
    YYDEBUG(822, *YYCURSOR);
9346
2.41k
    yyaccept = 83;
9347
2.41k
    yych = *(YYMARKER = ++YYCURSOR);
9348
2.41k
    if (yybm[256+yych] & 128) {
9349
599
      goto yy47;
9350
599
    }
9351
1.81k
    if (yych == '\\') goto yy164;
9352
1.81k
yy823:
9353
1.81k
    YYDEBUG(823, *YYCURSOR);
9354
1.81k
    yyleng = YYCURSOR - SCNG(yy_text);
9355
1.81k
#line 1502 "Zend/zend_language_scanner.l"
9356
1.81k
    {
9357
1.81k
  RETURN_TOKEN_WITH_IDENT(T_ENDDECLARE);
9358
1.81k
}
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
668
      goto yy47;
9366
668
    }
9367
3.53k
    if (yych == '\\') goto yy164;
9368
3.53k
yy825:
9369
3.53k
    YYDEBUG(825, *YYCURSOR);
9370
3.53k
    yyleng = YYCURSOR - SCNG(yy_text);
9371
3.53k
#line 1494 "Zend/zend_language_scanner.l"
9372
3.53k
    {
9373
3.53k
  RETURN_TOKEN_WITH_IDENT(T_ENDFOREACH);
9374
3.53k
}
9375
0
#line 9376 "Zend/zend_language_scanner.c"
9376
1.61k
yy826:
9377
1.61k
    YYDEBUG(826, *YYCURSOR);
9378
1.61k
    yych = *++YYCURSOR;
9379
1.61k
    if (yych == 'D') goto yy857;
9380
1.41k
    if (yych == 'd') goto yy857;
9381
886
    goto yy86;
9382
2.75k
yy827:
9383
2.75k
    YYDEBUG(827, *YYCURSOR);
9384
2.75k
    yych = *++YYCURSOR;
9385
2.75k
    if (yych == 'M') goto yy858;
9386
1.66k
    if (yych == 'm') goto yy858;
9387
718
    goto yy86;
9388
331k
yy828:
9389
331k
    YYDEBUG(828, *YYCURSOR);
9390
331k
    ++YYCURSOR;
9391
331k
    YYFILL(1);
9392
331k
    yych = *YYCURSOR;
9393
331k
    if (yych <= '\r') {
9394
257k
      if (yych <= '\t') {
9395
2.61k
        if (yych <= 0x00) goto yy86;
9396
2.01k
        goto yy738;
9397
255k
      } else {
9398
255k
        if (yych <= '\n') goto yy859;
9399
44.5k
        if (yych <= '\f') goto yy738;
9400
43.9k
        goto yy859;
9401
44.5k
      }
9402
257k
    } else {
9403
73.3k
      if (yych <= '*') {
9404
15.7k
        if (yych <= ')') goto yy738;
9405
8.43k
        goto yy789;
9406
57.5k
      } else {
9407
57.5k
        if (yych == '[') goto yy590;
9408
57.0k
        goto yy738;
9409
57.5k
      }
9410
73.3k
    }
9411
28.3k
yy829:
9412
28.3k
    YYDEBUG(829, *YYCURSOR);
9413
28.3k
    ++YYCURSOR;
9414
28.3k
    YYFILL(1);
9415
28.3k
    yych = *YYCURSOR;
9416
28.3k
    if (yych <= '*') {
9417
20.5k
      if (yych <= 0x00) goto yy86;
9418
20.1k
      if (yych <= ')') goto yy590;
9419
18.5k
      goto yy861;
9420
20.1k
    } else {
9421
7.77k
      if (yych == '/') goto yy738;
9422
4.91k
      goto yy590;
9423
7.77k
    }
9424
9.70k
yy830:
9425
9.70k
    YYDEBUG(830, *YYCURSOR);
9426
9.70k
    yyaccept = 53;
9427
9.70k
    YYMARKER = ++YYCURSOR;
9428
9.70k
    YYFILL(1);
9429
9.70k
    yych = *YYCURSOR;
9430
9.70k
    if (yych <= 0x00) goto yy583;
9431
8.69k
    if (yych == '*') goto yy668;
9432
8.30k
    goto yy590;
9433
11.0k
yy831:
9434
11.0k
    YYDEBUG(831, *YYCURSOR);
9435
11.0k
    yyaccept = 53;
9436
11.0k
    YYMARKER = ++YYCURSOR;
9437
11.0k
    YYFILL(1);
9438
11.0k
    yych = *YYCURSOR;
9439
11.0k
    if (yych <= 'W') {
9440
3.43k
      if (yych <= 0x00) goto yy583;
9441
2.97k
      if (yych == '*') goto yy668;
9442
1.51k
      goto yy590;
9443
7.57k
    } else {
9444
7.57k
      if (yych <= 'X') goto yy862;
9445
7.26k
      if (yych == 'x') goto yy862;
9446
2.34k
      goto yy590;
9447
7.26k
    }
9448
12.4k
yy832:
9449
12.4k
    YYDEBUG(832, *YYCURSOR);
9450
12.4k
    yyaccept = 53;
9451
12.4k
    YYMARKER = ++YYCURSOR;
9452
12.4k
    YYFILL(1);
9453
12.4k
    yych = *YYCURSOR;
9454
12.4k
    if (yych <= 'L') {
9455
1.73k
      if (yych <= 0x00) goto yy583;
9456
1.35k
      if (yych == '*') goto yy668;
9457
1.16k
      goto yy590;
9458
10.6k
    } else {
9459
10.6k
      if (yych <= 'M') goto yy863;
9460
6.31k
      if (yych == 'm') goto yy863;
9461
690
      goto yy590;
9462
6.31k
    }
9463
8.27k
yy833:
9464
8.27k
    YYDEBUG(833, *YYCURSOR);
9465
8.27k
    ++YYCURSOR;
9466
8.27k
    YYFILL(1);
9467
8.27k
    yych = *YYCURSOR;
9468
8.27k
    if (yych <= '\r') {
9469
1.16k
      if (yych <= '\t') {
9470
490
        if (yych <= 0x00) goto yy86;
9471
283
        goto yy586;
9472
674
      } else {
9473
674
        if (yych <= '\n') goto yy495;
9474
462
        if (yych <= '\f') goto yy586;
9475
258
        goto yy495;
9476
462
      }
9477
7.11k
    } else {
9478
7.11k
      if (yych <= 'N') {
9479
3.09k
        if (yych <= 'M') goto yy586;
9480
1.72k
        goto yy864;
9481
4.01k
      } else {
9482
4.01k
        if (yych == 'n') goto yy864;
9483
742
        goto yy586;
9484
4.01k
      }
9485
7.11k
    }
9486
21.0k
yy834:
9487
21.0k
    YYDEBUG(834, *YYCURSOR);
9488
21.0k
    ++YYCURSOR;
9489
21.0k
    YYFILL(1);
9490
21.0k
    yych = *YYCURSOR;
9491
21.0k
    if (yych <= '\r') {
9492
1.68k
      if (yych <= '\t') {
9493
593
        if (yych <= 0x00) goto yy86;
9494
319
        goto yy586;
9495
1.09k
      } else {
9496
1.09k
        if (yych <= '\n') goto yy495;
9497
657
        if (yych <= '\f') goto yy586;
9498
310
        goto yy495;
9499
657
      }
9500
19.3k
    } else {
9501
19.3k
      if (yych <= 'E') {
9502
3.88k
        if (yych <= 'D') goto yy586;
9503
3.31k
        goto yy865;
9504
15.4k
      } else {
9505
15.4k
        if (yych == 'e') goto yy865;
9506
473
        goto yy586;
9507
15.4k
      }
9508
19.3k
    }
9509
6.92k
yy835:
9510
6.92k
    YYDEBUG(835, *YYCURSOR);
9511
6.92k
    yyaccept = 85;
9512
6.92k
    yych = *(YYMARKER = ++YYCURSOR);
9513
6.92k
    if (yybm[256+yych] & 128) {
9514
492
      goto yy47;
9515
492
    }
9516
6.43k
    if (yych == '\\') goto yy164;
9517
6.42k
yy836:
9518
6.42k
    YYDEBUG(836, *YYCURSOR);
9519
6.42k
    yyleng = YYCURSOR - SCNG(yy_text);
9520
6.42k
#line 1583 "Zend/zend_language_scanner.l"
9521
6.42k
    {
9522
6.42k
  RETURN_TOKEN_WITH_IDENT(T_IMPLEMENTS);
9523
6.42k
}
9524
0
#line 9525 "Zend/zend_language_scanner.c"
9525
4.21k
yy837:
9526
4.21k
    YYDEBUG(837, *YYCURSOR);
9527
4.21k
    yyaccept = 4;
9528
4.21k
    yych = *(YYMARKER = ++YYCURSOR);
9529
4.21k
    if (yych == 'C') goto yy866;
9530
3.48k
    if (yych == 'c') goto yy866;
9531
704
    goto yy48;
9532
3.32k
yy838:
9533
3.32k
    YYDEBUG(838, *YYCURSOR);
9534
3.32k
    yyaccept = 86;
9535
3.32k
    yych = *(YYMARKER = ++YYCURSOR);
9536
3.32k
    if (yybm[256+yych] & 128) {
9537
521
      goto yy47;
9538
521
    }
9539
2.80k
    if (yych == '\\') goto yy164;
9540
2.68k
yy839:
9541
2.68k
    YYDEBUG(839, *YYCURSOR);
9542
2.68k
    yyleng = YYCURSOR - SCNG(yy_text);
9543
2.68k
#line 1506 "Zend/zend_language_scanner.l"
9544
2.68k
    {
9545
2.68k
  RETURN_TOKEN_WITH_IDENT(T_INSTANCEOF);
9546
2.68k
}
9547
0
#line 9548 "Zend/zend_language_scanner.c"
9548
8.17k
yy840:
9549
8.17k
    YYDEBUG(840, *YYCURSOR);
9550
8.17k
    ++YYCURSOR;
9551
8.17k
    YYFILL(1);
9552
8.17k
    yych = *YYCURSOR;
9553
8.17k
    if (yych <= '_') {
9554
2.44k
      if (yych <= '@') goto yy86;
9555
1.80k
      if (yych <= 'Z') goto yy867;
9556
1.08k
      if (yych <= '^') goto yy86;
9557
649
      goto yy867;
9558
5.73k
    } else {
9559
5.73k
      if (yych <= '`') goto yy86;
9560
5.53k
      if (yych <= 'z') goto yy867;
9561
1.43k
      if (yych <= 0x7F) goto yy86;
9562
1.09k
      goto yy867;
9563
1.43k
    }
9564
1.73k
yy841:
9565
1.73k
    YYDEBUG(841, *YYCURSOR);
9566
1.73k
    yych = *++YYCURSOR;
9567
1.73k
    if (yych == 'T') goto yy870;
9568
1.53k
    if (yych == 't') goto yy870;
9569
404
    goto yy86;
9570
1.47k
yy842:
9571
1.47k
    YYDEBUG(842, *YYCURSOR);
9572
1.47k
    yych = *++YYCURSOR;
9573
1.47k
    if (yych == 'S') goto yy871;
9574
1.22k
    if (yych == 's') goto yy871;
9575
326
    goto yy86;
9576
1.17k
yy843:
9577
1.17k
    YYDEBUG(843, *YYCURSOR);
9578
1.17k
    yych = *++YYCURSOR;
9579
1.17k
    if (yych == ')') goto yy872;
9580
204
    goto yy86;
9581
2.92k
yy844:
9582
2.92k
    YYDEBUG(844, *YYCURSOR);
9583
2.92k
    yyaccept = 4;
9584
2.92k
    yych = *(YYMARKER = ++YYCURSOR);
9585
2.92k
    if (yych == 'C') goto yy874;
9586
2.51k
    if (yych == 'c') goto yy874;
9587
535
    goto yy48;
9588
4.43k
yy845:
9589
4.43k
    YYDEBUG(845, *YYCURSOR);
9590
4.43k
    yych = *++YYCURSOR;
9591
4.43k
    if (yych <= '^') {
9592
3.12k
      if (yych <= '9') {
9593
2.20k
        if (yych <= '/') goto yy875;
9594
259
        goto yy86;
9595
2.20k
      } else {
9596
921
        if (yych <= '@') goto yy875;
9597
499
        if (yych <= 'Z') goto yy86;
9598
213
        goto yy875;
9599
499
      }
9600
3.12k
    } else {
9601
1.30k
      if (yych <= '`') {
9602
554
        if (yych <= '_') goto yy86;
9603
202
        goto yy875;
9604
752
      } else {
9605
752
        if (yych <= 'z') goto yy86;
9606
474
        if (yych <= 0x7F) goto yy875;
9607
251
        goto yy86;
9608
474
      }
9609
1.30k
    }
9610
220k
yy846:
9611
220k
    YYDEBUG(846, *YYCURSOR);
9612
220k
    ++YYCURSOR;
9613
220k
    YYFILL(1);
9614
220k
    yych = *YYCURSOR;
9615
220k
    YYDEBUG(847, *YYCURSOR);
9616
220k
    if (yych <= '#') {
9617
180k
      if (yych <= '\f') {
9618
10.7k
        if (yych <= 0x00) goto yy86;
9619
9.72k
        if (yych <= 0x08) goto yy696;
9620
9.29k
        if (yych <= '\n') goto yy846;
9621
419
        goto yy696;
9622
169k
      } else {
9623
169k
        if (yych <= 0x1F) {
9624
12.4k
          if (yych <= '\r') goto yy846;
9625
589
          goto yy696;
9626
157k
        } else {
9627
157k
          if (yych <= ' ') goto yy846;
9628
151k
          if (yych <= '"') goto yy696;
9629
151k
          goto yy877;
9630
151k
        }
9631
169k
      }
9632
180k
    } else {
9633
39.9k
      if (yych <= '/') {
9634
23.1k
        if (yych == '*') goto yy760;
9635
22.2k
        if (yych <= '.') goto yy696;
9636
10.8k
        goto yy878;
9637
22.2k
      } else {
9638
16.8k
        if (yych <= 'F') {
9639
12.3k
          if (yych <= 'E') goto yy696;
9640
9.00k
          goto yy879;
9641
12.3k
        } else {
9642
4.48k
          if (yych == 'f') goto yy879;
9643
3.90k
          goto yy696;
9644
4.48k
        }
9645
16.8k
      }
9646
39.9k
    }
9647
38.9k
yy848:
9648
38.9k
    YYDEBUG(848, *YYCURSOR);
9649
38.9k
    ++YYCURSOR;
9650
38.9k
    YYFILL(1);
9651
38.9k
    yych = *YYCURSOR;
9652
38.9k
    YYDEBUG(849, *YYCURSOR);
9653
38.9k
    if (yych <= '\r') {
9654
18.2k
      if (yych <= '\t') {
9655
2.80k
        if (yych <= 0x00) goto yy86;
9656
2.38k
        goto yy808;
9657
15.4k
      } else {
9658
15.4k
        if (yych <= '\n') goto yy846;
9659
11.4k
        if (yych <= '\f') goto yy808;
9660
11.0k
        goto yy846;
9661
11.4k
      }
9662
20.7k
    } else {
9663
20.7k
      if (yych <= '*') {
9664
3.63k
        if (yych <= ')') goto yy808;
9665
1.79k
        goto yy848;
9666
17.0k
      } else {
9667
17.0k
        if (yych == '/') goto yy694;
9668
3.99k
        goto yy808;
9669
17.0k
      }
9670
20.7k
    }
9671
11.9k
yy850:
9672
11.9k
    YYDEBUG(850, *YYCURSOR);
9673
11.9k
    ++YYCURSOR;
9674
11.9k
    YYFILL(1);
9675
11.9k
    yych = *YYCURSOR;
9676
11.9k
    if (yych <= '\r') {
9677
2.49k
      if (yych <= '\t') {
9678
420
        if (yych <= 0x00) goto yy86;
9679
207
        goto yy692;
9680
2.07k
      } else {
9681
2.07k
        if (yych <= '\n') goto yy616;
9682
460
        if (yych <= '\f') goto yy692;
9683
216
        goto yy616;
9684
460
      }
9685
9.43k
    } else {
9686
9.43k
      if (yych <= 'M') {
9687
6.43k
        if (yych <= 'L') goto yy692;
9688
5.27k
        goto yy880;
9689
6.43k
      } else {
9690
2.99k
        if (yych == 'm') goto yy880;
9691
309
        goto yy692;
9692
2.99k
      }
9693
9.43k
    }
9694
6.17k
yy851:
9695
6.17k
    YYDEBUG(851, *YYCURSOR);
9696
6.17k
    yyaccept = 4;
9697
6.17k
    yych = *(YYMARKER = ++YYCURSOR);
9698
6.17k
    if (yych == '_') goto yy881;
9699
352
    goto yy48;
9700
2.79k
yy852:
9701
2.79k
    YYDEBUG(852, *YYCURSOR);
9702
2.79k
    yyaccept = 4;
9703
2.79k
    yych = *(YYMARKER = ++YYCURSOR);
9704
2.79k
    if (yych == 'P') goto yy882;
9705
1.99k
    if (yych == 'p') goto yy882;
9706
230
    goto yy48;
9707
12.7k
yy853:
9708
12.7k
    YYDEBUG(853, *YYCURSOR);
9709
12.7k
    yyaccept = 87;
9710
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
9711
12.7k
    if (yybm[256+yych] & 128) {
9712
422
      goto yy47;
9713
422
    }
9714
12.2k
    if (yych == '\\') goto yy164;
9715
12.2k
yy854:
9716
12.2k
    YYDEBUG(854, *YYCURSOR);
9717
12.2k
    yyleng = YYCURSOR - SCNG(yy_text);
9718
12.2k
#line 2269 "Zend/zend_language_scanner.l"
9719
12.2k
    {
9720
12.2k
  RETURN_TOKEN_WITH_IDENT(T_METHOD_C);
9721
12.2k
}
9722
0
#line 9723 "Zend/zend_language_scanner.c"
9723
4.56k
yy855:
9724
4.56k
    YYDEBUG(855, *YYCURSOR);
9725
4.56k
    yyaccept = 4;
9726
4.56k
    yych = *(YYMARKER = ++YYCURSOR);
9727
4.56k
    if (yych == 'E') goto yy883;
9728
2.34k
    if (yych == 'e') goto yy883;
9729
396
    goto yy48;
9730
3.40k
yy856:
9731
3.40k
    YYDEBUG(856, *YYCURSOR);
9732
3.40k
    yyaccept = 4;
9733
3.40k
    yych = *(YYMARKER = ++YYCURSOR);
9734
3.40k
    if (yych == '_') goto yy884;
9735
756
    goto yy48;
9736
1.21k
yy857:
9737
1.21k
    YYDEBUG(857, *YYCURSOR);
9738
1.21k
    yych = *++YYCURSOR;
9739
1.21k
    if (yych == 'S') goto yy885;
9740
1.01k
    if (yych == 's') goto yy885;
9741
478
    goto yy86;
9742
2.03k
yy858:
9743
2.03k
    YYDEBUG(858, *YYCURSOR);
9744
2.03k
    yych = *++YYCURSOR;
9745
2.03k
    if (yych == 'E') goto yy887;
9746
1.54k
    if (yych == 'e') goto yy887;
9747
806
    goto yy86;
9748
441k
yy859:
9749
441k
    YYDEBUG(859, *YYCURSOR);
9750
441k
    ++YYCURSOR;
9751
441k
    YYFILL(1);
9752
441k
    yych = *YYCURSOR;
9753
441k
    YYDEBUG(860, *YYCURSOR);
9754
441k
    if (yych <= '@') {
9755
311k
      if (yych <= 0x1F) {
9756
70.7k
        if (yych <= '\t') {
9757
6.61k
          if (yych <= 0x00) goto yy86;
9758
5.77k
          if (yych <= 0x08) goto yy738;
9759
4.97k
          goto yy859;
9760
64.1k
        } else {
9761
64.1k
          if (yych <= '\n') goto yy787;
9762
60.4k
          if (yych == '\r') goto yy787;
9763
1.88k
          goto yy738;
9764
60.4k
        }
9765
240k
      } else {
9766
240k
        if (yych <= ')') {
9767
104k
          if (yych <= ' ') goto yy859;
9768
58.1k
          if (yych == '#') goto yy888;
9769
15.6k
          goto yy738;
9770
136k
        } else {
9771
136k
          if (yych <= '*') goto yy789;
9772
135k
          if (yych == '/') goto yy889;
9773
15.0k
          goto yy738;
9774
135k
        }
9775
240k
      }
9776
311k
    } else {
9777
130k
      if (yych <= '_') {
9778
15.4k
        if (yych <= 'H') {
9779
801
          if (yych == 'E') goto yy891;
9780
502
          goto yy890;
9781
14.6k
        } else {
9782
14.6k
          if (yych <= 'I') goto yy892;
9783
4.80k
          if (yych <= 'Z') goto yy890;
9784
3.94k
          if (yych <= '^') goto yy738;
9785
261
          goto yy890;
9786
3.94k
        }
9787
114k
      } else {
9788
114k
        if (yych <= 'h') {
9789
61.2k
          if (yych <= '`') goto yy738;
9790
60.6k
          if (yych == 'e') goto yy891;
9791
317
          goto yy890;
9792
60.6k
        } else {
9793
53.6k
          if (yych <= 'i') goto yy892;
9794
21.2k
          if (yych <= 'z') goto yy890;
9795
14.2k
          if (yych <= 0x7F) goto yy738;
9796
3.35k
          goto yy890;
9797
14.2k
        }
9798
114k
      }
9799
130k
    }
9800
18.5k
yy861:
9801
18.5k
    YYDEBUG(861, *YYCURSOR);
9802
18.5k
    ++YYCURSOR;
9803
18.5k
    YYFILL(1);
9804
18.5k
    yych = *YYCURSOR;
9805
18.5k
    if (yych <= '*') {
9806
989
      if (yych <= 0x00) goto yy86;
9807
715
      if (yych <= ')') goto yy590;
9808
263
      goto yy668;
9809
17.5k
    } else {
9810
17.5k
      if (yych == '/') goto yy787;
9811
443
      goto yy590;
9812
17.5k
    }
9813
5.23k
yy862:
9814
5.23k
    YYDEBUG(862, *YYCURSOR);
9815
5.23k
    ++YYCURSOR;
9816
5.23k
    YYFILL(1);
9817
5.23k
    yych = *YYCURSOR;
9818
5.23k
    if (yych <= 'S') {
9819
649
      if (yych <= 0x00) goto yy86;
9820
442
      if (yych == '*') goto yy668;
9821
246
      goto yy590;
9822
4.58k
    } else {
9823
4.58k
      if (yych <= 'T') goto yy893;
9824
4.18k
      if (yych == 't') goto yy893;
9825
269
      goto yy590;
9826
4.18k
    }
9827
9.97k
yy863:
9828
9.97k
    YYDEBUG(863, *YYCURSOR);
9829
9.97k
    ++YYCURSOR;
9830
9.97k
    YYFILL(1);
9831
9.97k
    yych = *YYCURSOR;
9832
9.97k
    if (yych <= 'O') {
9833
1.23k
      if (yych <= 0x00) goto yy86;
9834
566
      if (yych == '*') goto yy668;
9835
361
      goto yy590;
9836
8.74k
    } else {
9837
8.74k
      if (yych <= 'P') goto yy894;
9838
5.75k
      if (yych == 'p') goto yy894;
9839
417
      goto yy590;
9840
5.75k
    }
9841
4.99k
yy864:
9842
4.99k
    YYDEBUG(864, *YYCURSOR);
9843
4.99k
    ++YYCURSOR;
9844
4.99k
    YYFILL(1);
9845
4.99k
    yych = *YYCURSOR;
9846
4.99k
    if (yych <= '\r') {
9847
1.16k
      if (yych <= '\t') {
9848
529
        if (yych <= 0x00) goto yy86;
9849
255
        goto yy586;
9850
636
      } else {
9851
636
        if (yych <= '\n') goto yy495;
9852
417
        if (yych <= '\f') goto yy586;
9853
221
        goto yy495;
9854
417
      }
9855
3.83k
    } else {
9856
3.83k
      if (yych <= 'D') {
9857
891
        if (yych <= 'C') goto yy586;
9858
378
        goto yy895;
9859
2.93k
      } else {
9860
2.93k
        if (yych == 'd') goto yy895;
9861
1.12k
        goto yy586;
9862
2.93k
      }
9863
3.83k
    }
9864
18.3k
yy865:
9865
18.3k
    YYDEBUG(865, *YYCURSOR);
9866
18.3k
    ++YYCURSOR;
9867
18.3k
    YYFILL(1);
9868
18.3k
    yych = *YYCURSOR;
9869
18.3k
    if (yych <= '\r') {
9870
1.64k
      if (yych <= '\t') {
9871
498
        if (yych <= 0x00) goto yy86;
9872
215
        goto yy586;
9873
1.15k
      } else {
9874
1.15k
        if (yych <= '\n') goto yy495;
9875
502
        if (yych <= '\f') goto yy586;
9876
300
        goto yy495;
9877
502
      }
9878
16.6k
    } else {
9879
16.6k
      if (yych <= 'M') {
9880
10.2k
        if (yych <= 'L') goto yy586;
9881
8.67k
        goto yy896;
9882
10.2k
      } else {
9883
6.47k
        if (yych == 'm') goto yy896;
9884
2.87k
        goto yy586;
9885
6.47k
      }
9886
16.6k
    }
9887
3.50k
yy866:
9888
3.50k
    YYDEBUG(866, *YYCURSOR);
9889
3.50k
    yyaccept = 4;
9890
3.50k
    yych = *(YYMARKER = ++YYCURSOR);
9891
3.50k
    if (yych == 'E') goto yy897;
9892
2.73k
    if (yych == 'e') goto yy897;
9893
399
    goto yy48;
9894
37.4k
yy867:
9895
37.4k
    YYDEBUG(867, *YYCURSOR);
9896
37.4k
    yyaccept = 88;
9897
37.4k
    YYMARKER = ++YYCURSOR;
9898
37.4k
    YYFILL(1);
9899
37.4k
    yych = *YYCURSOR;
9900
37.4k
    YYDEBUG(868, *YYCURSOR);
9901
37.4k
    if (yych <= '\\') {
9902
11.5k
      if (yych <= '@') {
9903
6.31k
        if (yych <= '/') goto yy869;
9904
4.49k
        if (yych <= '9') goto yy867;
9905
5.26k
      } else {
9906
5.26k
        if (yych <= 'Z') goto yy867;
9907
2.15k
        if (yych >= '\\') goto yy840;
9908
2.15k
      }
9909
25.8k
    } else {
9910
25.8k
      if (yych <= '`') {
9911
1.41k
        if (yych == '_') goto yy867;
9912
24.4k
      } else {
9913
24.4k
        if (yych <= 'z') goto yy867;
9914
12.8k
        if (yych >= 0x80) goto yy867;
9915
12.8k
      }
9916
25.8k
    }
9917
5.23k
yy869:
9918
5.23k
    YYDEBUG(869, *YYCURSOR);
9919
5.23k
    yyleng = YYCURSOR - SCNG(yy_text);
9920
5.23k
#line 2439 "Zend/zend_language_scanner.l"
9921
5.23k
    {
9922
5.23k
  RETURN_TOKEN_WITH_STR(T_NAME_RELATIVE, sizeof("namespace\\") - 1);
9923
5.23k
}
9924
0
#line 9925 "Zend/zend_language_scanner.c"
9925
1.33k
yy870:
9926
1.33k
    YYDEBUG(870, *YYCURSOR);
9927
1.33k
    yych = *++YYCURSOR;
9928
1.33k
    if (yych == ')') goto yy899;
9929
225
    goto yy86;
9930
1.14k
yy871:
9931
1.14k
    YYDEBUG(871, *YYCURSOR);
9932
1.14k
    yych = *++YYCURSOR;
9933
1.14k
    if (yych == 'E') goto yy901;
9934
791
    if (yych == 'e') goto yy901;
9935
252
    goto yy86;
9936
975
yy872:
9937
975
    YYDEBUG(872, *YYCURSOR);
9938
975
    ++YYCURSOR;
9939
975
    YYDEBUG(873, *YYCURSOR);
9940
975
    yyleng = YYCURSOR - SCNG(yy_text);
9941
975
#line 1786 "Zend/zend_language_scanner.l"
9942
975
    {
9943
975
  RETURN_TOKEN_WITH_IDENT(T_PUBLIC_SET);
9944
975
}
9945
0
#line 9946 "Zend/zend_language_scanner.c"
9946
2.39k
yy874:
9947
2.39k
    YYDEBUG(874, *YYCURSOR);
9948
2.39k
    yyaccept = 4;
9949
2.39k
    yych = *(YYMARKER = ++YYCURSOR);
9950
2.39k
    if (yych == 'E') goto yy902;
9951
2.01k
    if (yych == 'e') goto yy902;
9952
288
    goto yy48;
9953
3.64k
yy875:
9954
3.64k
    YYDEBUG(875, *YYCURSOR);
9955
3.64k
    ++YYCURSOR;
9956
20.5k
yy876:
9957
20.5k
    YYDEBUG(876, *YYCURSOR);
9958
20.5k
    yyleng = YYCURSOR - SCNG(yy_text);
9959
20.5k
#line 1428 "Zend/zend_language_scanner.l"
9960
20.5k
    {
9961
20.5k
  yyless(yyleng - 1);
9962
20.5k
  HANDLE_NEWLINES(yytext, yyleng);
9963
20.5k
  RETURN_TOKEN_WITH_IDENT(T_YIELD_FROM);
9964
20.5k
}
9965
0
#line 9966 "Zend/zend_language_scanner.c"
9966
151k
yy877:
9967
151k
    YYDEBUG(877, *YYCURSOR);
9968
151k
    ++YYCURSOR;
9969
151k
    YYFILL(1);
9970
151k
    yych = *YYCURSOR;
9971
151k
    if (yych <= '\r') {
9972
116k
      if (yych <= '\t') {
9973
909
        if (yych <= 0x00) goto yy86;
9974
403
        goto yy808;
9975
115k
      } else {
9976
115k
        if (yych <= '\n') goto yy904;
9977
37.5k
        if (yych <= '\f') goto yy808;
9978
37.2k
        goto yy904;
9979
37.5k
      }
9980
116k
    } else {
9981
35.4k
      if (yych <= '*') {
9982
11.4k
        if (yych <= ')') goto yy808;
9983
3.96k
        goto yy848;
9984
24.0k
      } else {
9985
24.0k
        if (yych == '[') goto yy696;
9986
23.7k
        goto yy808;
9987
24.0k
      }
9988
35.4k
    }
9989
11.1k
yy878:
9990
11.1k
    YYDEBUG(878, *YYCURSOR);
9991
11.1k
    ++YYCURSOR;
9992
11.1k
    YYFILL(1);
9993
11.1k
    yych = *YYCURSOR;
9994
11.1k
    if (yych <= '*') {
9995
8.98k
      if (yych <= 0x00) goto yy86;
9996
8.72k
      if (yych <= ')') goto yy696;
9997
8.08k
      goto yy906;
9998
8.72k
    } else {
9999
2.15k
      if (yych == '/') goto yy808;
10000
1.54k
      goto yy696;
10001
2.15k
    }
10002
10.6k
yy879:
10003
10.6k
    YYDEBUG(879, *YYCURSOR);
10004
10.6k
    ++YYCURSOR;
10005
10.6k
    YYFILL(1);
10006
10.6k
    yych = *YYCURSOR;
10007
10.6k
    if (yych <= 'Q') {
10008
1.36k
      if (yych <= 0x00) goto yy86;
10009
1.13k
      if (yych == '*') goto yy760;
10010
913
      goto yy696;
10011
9.26k
    } else {
10012
9.26k
      if (yych <= 'R') goto yy907;
10013
1.21k
      if (yych == 'r') goto yy907;
10014
747
      goto yy696;
10015
1.21k
    }
10016
7.96k
yy880:
10017
7.96k
    YYDEBUG(880, *YYCURSOR);
10018
7.96k
    ++YYCURSOR;
10019
7.96k
    YYFILL(1);
10020
7.96k
    yych = *YYCURSOR;
10021
7.96k
    if (yych <= '9') {
10022
4.43k
      if (yych <= '\n') {
10023
2.11k
        if (yych <= 0x00) goto yy875;
10024
1.89k
        if (yych <= '\t') goto yy908;
10025
1.68k
        goto yy909;
10026
2.31k
      } else {
10027
2.31k
        if (yych == '\r') goto yy909;
10028
1.12k
        if (yych <= '/') goto yy908;
10029
199
        goto yy692;
10030
1.12k
      }
10031
4.43k
    } else {
10032
3.53k
      if (yych <= '_') {
10033
1.75k
        if (yych <= '@') goto yy908;
10034
1.31k
        if (yych <= 'Z') goto yy692;
10035
1.04k
        if (yych <= '^') goto yy908;
10036
346
        goto yy692;
10037
1.77k
      } else {
10038
1.77k
        if (yych <= '`') goto yy908;
10039
1.56k
        if (yych <= 'z') goto yy692;
10040
1.15k
        if (yych <= 0x7F) goto yy908;
10041
488
        goto yy692;
10042
1.15k
      }
10043
3.53k
    }
10044
5.82k
yy881:
10045
5.82k
    YYDEBUG(881, *YYCURSOR);
10046
5.82k
    yyaccept = 4;
10047
5.82k
    yych = *(YYMARKER = ++YYCURSOR);
10048
5.82k
    if (yych == '_') goto yy910;
10049
345
    goto yy48;
10050
2.56k
yy882:
10051
2.56k
    YYDEBUG(882, *YYCURSOR);
10052
2.56k
    yyaccept = 4;
10053
2.56k
    yych = *(YYMARKER = ++YYCURSOR);
10054
2.56k
    if (yych == 'I') goto yy912;
10055
2.18k
    if (yych == 'i') goto yy912;
10056
377
    goto yy48;
10057
4.16k
yy883:
10058
4.16k
    YYDEBUG(883, *YYCURSOR);
10059
4.16k
    yyaccept = 4;
10060
4.16k
    yych = *(YYMARKER = ++YYCURSOR);
10061
4.16k
    if (yych == '_') goto yy913;
10062
694
    goto yy48;
10063
2.64k
yy884:
10064
2.64k
    YYDEBUG(884, *YYCURSOR);
10065
2.64k
    yyaccept = 4;
10066
2.64k
    yych = *(YYMARKER = ++YYCURSOR);
10067
2.64k
    if (yych == '_') goto yy914;
10068
394
    goto yy48;
10069
740
yy885:
10070
740
    YYDEBUG(885, *YYCURSOR);
10071
740
    ++YYCURSOR;
10072
3.19k
yy886:
10073
3.19k
    YYDEBUG(886, *YYCURSOR);
10074
3.19k
    yyleng = YYCURSOR - SCNG(yy_text);
10075
3.19k
#line 1570 "Zend/zend_language_scanner.l"
10076
3.19k
    {
10077
3.19k
  yyless(4);
10078
3.19k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
10079
3.19k
}
10080
0
#line 10081 "Zend/zend_language_scanner.c"
10081
1.23k
yy887:
10082
1.23k
    YYDEBUG(887, *YYCURSOR);
10083
1.23k
    yych = *++YYCURSOR;
10084
1.23k
    if (yych == 'N') goto yy916;
10085
926
    if (yych == 'n') goto yy916;
10086
342
    goto yy86;
10087
42.5k
yy888:
10088
42.5k
    YYDEBUG(888, *YYCURSOR);
10089
42.5k
    ++YYCURSOR;
10090
42.5k
    YYFILL(1);
10091
42.5k
    yych = *YYCURSOR;
10092
42.5k
    if (yych <= '\f') {
10093
25.5k
      if (yych <= 0x00) goto yy86;
10094
24.8k
      if (yych == '\n') goto yy859;
10095
724
      goto yy738;
10096
24.8k
    } else {
10097
16.9k
      if (yych <= '\r') goto yy859;
10098
13.8k
      if (yych == '*') goto yy789;
10099
13.4k
      goto yy738;
10100
13.8k
    }
10101
120k
yy889:
10102
120k
    YYDEBUG(889, *YYCURSOR);
10103
120k
    ++YYCURSOR;
10104
120k
    YYFILL(1);
10105
120k
    yych = *YYCURSOR;
10106
120k
    if (yych <= '\f') {
10107
2.12k
      if (yych <= 0x00) goto yy86;
10108
1.40k
      if (yych == '\n') goto yy787;
10109
551
      goto yy738;
10110
118k
    } else {
10111
118k
      if (yych <= '\r') goto yy787;
10112
117k
      if (yych == '*') goto yy917;
10113
2.07k
      goto yy738;
10114
117k
    }
10115
12.3k
yy890:
10116
12.3k
    YYDEBUG(890, *YYCURSOR);
10117
12.3k
    yyaccept = 53;
10118
12.3k
    YYMARKER = ++YYCURSOR;
10119
12.3k
    YYFILL(1);
10120
12.3k
    yych = *YYCURSOR;
10121
12.3k
    if (yych <= '\f') {
10122
1.24k
      if (yych <= 0x00) goto yy583;
10123
882
      if (yych == '\n') goto yy787;
10124
541
      goto yy738;
10125
11.1k
    } else {
10126
11.1k
      if (yych <= '\r') goto yy787;
10127
10.7k
      if (yych == '*') goto yy789;
10128
10.1k
      goto yy738;
10129
10.7k
    }
10130
60.5k
yy891:
10131
60.5k
    YYDEBUG(891, *YYCURSOR);
10132
60.5k
    yyaccept = 53;
10133
60.5k
    YYMARKER = ++YYCURSOR;
10134
60.5k
    YYFILL(1);
10135
60.5k
    yych = *YYCURSOR;
10136
60.5k
    if (yych <= ')') {
10137
1.92k
      if (yych <= '\n') {
10138
911
        if (yych <= 0x00) goto yy583;
10139
637
        if (yych <= '\t') goto yy738;
10140
324
        goto yy787;
10141
1.01k
      } else {
10142
1.01k
        if (yych == '\r') goto yy787;
10143
439
        goto yy738;
10144
1.01k
      }
10145
58.6k
    } else {
10146
58.6k
      if (yych <= 'X') {
10147
6.17k
        if (yych <= '*') goto yy789;
10148
5.96k
        if (yych <= 'W') goto yy738;
10149
1.72k
        goto yy918;
10150
52.4k
      } else {
10151
52.4k
        if (yych == 'x') goto yy918;
10152
40.5k
        goto yy738;
10153
52.4k
      }
10154
58.6k
    }
10155
42.1k
yy892:
10156
42.1k
    YYDEBUG(892, *YYCURSOR);
10157
42.1k
    yyaccept = 53;
10158
42.1k
    YYMARKER = ++YYCURSOR;
10159
42.1k
    YYFILL(1);
10160
42.1k
    yych = *YYCURSOR;
10161
42.1k
    if (yych <= ')') {
10162
3.35k
      if (yych <= '\n') {
10163
1.38k
        if (yych <= 0x00) goto yy583;
10164
649
        if (yych <= '\t') goto yy738;
10165
372
        goto yy787;
10166
1.96k
      } else {
10167
1.96k
        if (yych == '\r') goto yy787;
10168
1.19k
        goto yy738;
10169
1.96k
      }
10170
38.8k
    } else {
10171
38.8k
      if (yych <= 'M') {
10172
8.03k
        if (yych <= '*') goto yy789;
10173
7.82k
        if (yych <= 'L') goto yy738;
10174
7.50k
        goto yy919;
10175
30.7k
      } else {
10176
30.7k
        if (yych == 'm') goto yy919;
10177
1.61k
        goto yy738;
10178
30.7k
      }
10179
38.8k
    }
10180
4.31k
yy893:
10181
4.31k
    YYDEBUG(893, *YYCURSOR);
10182
4.31k
    ++YYCURSOR;
10183
4.31k
    YYFILL(1);
10184
4.31k
    yych = *YYCURSOR;
10185
4.31k
    if (yych <= 'D') {
10186
682
      if (yych <= 0x00) goto yy86;
10187
482
      if (yych == '*') goto yy668;
10188
283
      goto yy590;
10189
3.63k
    } else {
10190
3.63k
      if (yych <= 'E') goto yy920;
10191
3.36k
      if (yych == 'e') goto yy920;
10192
290
      goto yy590;
10193
3.36k
    }
10194
8.33k
yy894:
10195
8.33k
    YYDEBUG(894, *YYCURSOR);
10196
8.33k
    ++YYCURSOR;
10197
8.33k
    YYFILL(1);
10198
8.33k
    yych = *YYCURSOR;
10199
8.33k
    if (yych <= 'K') {
10200
2.19k
      if (yych <= 0x00) goto yy86;
10201
1.48k
      if (yych == '*') goto yy668;
10202
1.28k
      goto yy590;
10203
6.13k
    } else {
10204
6.13k
      if (yych <= 'L') goto yy921;
10205
3.68k
      if (yych == 'l') goto yy921;
10206
446
      goto yy590;
10207
3.68k
    }
10208
3.51k
yy895:
10209
3.51k
    YYDEBUG(895, *YYCURSOR);
10210
3.51k
    ++YYCURSOR;
10211
3.51k
    YYFILL(1);
10212
3.51k
    yych = *YYCURSOR;
10213
3.51k
    if (yych <= '\r') {
10214
1.39k
      if (yych <= '\t') {
10215
554
        if (yych <= 0x00) goto yy86;
10216
204
        goto yy586;
10217
844
      } else {
10218
844
        if (yych <= '\n') goto yy495;
10219
622
        if (yych <= '\f') goto yy586;
10220
411
        goto yy495;
10221
622
      }
10222
2.11k
    } else {
10223
2.11k
      if (yych <= 'S') {
10224
1.01k
        if (yych <= 'R') goto yy586;
10225
636
        goto yy922;
10226
1.10k
      } else {
10227
1.10k
        if (yych == 's') goto yy922;
10228
315
        goto yy586;
10229
1.10k
      }
10230
2.11k
    }
10231
12.2k
yy896:
10232
12.2k
    YYDEBUG(896, *YYCURSOR);
10233
12.2k
    ++YYCURSOR;
10234
12.2k
    YYFILL(1);
10235
12.2k
    yych = *YYCURSOR;
10236
12.2k
    if (yych <= '\r') {
10237
1.71k
      if (yych <= '\t') {
10238
762
        if (yych <= 0x00) goto yy86;
10239
501
        goto yy586;
10240
953
      } else {
10241
953
        if (yych <= '\n') goto yy495;
10242
467
        if (yych <= '\f') goto yy586;
10243
240
        goto yy495;
10244
467
      }
10245
10.5k
    } else {
10246
10.5k
      if (yych <= 'E') {
10247
2.83k
        if (yych <= 'D') goto yy586;
10248
2.31k
        goto yy923;
10249
7.73k
      } else {
10250
7.73k
        if (yych == 'e') goto yy923;
10251
390
        goto yy586;
10252
7.73k
      }
10253
10.5k
    }
10254
3.11k
yy897:
10255
3.11k
    YYDEBUG(897, *YYCURSOR);
10256
3.11k
    yyaccept = 89;
10257
3.11k
    yych = *(YYMARKER = ++YYCURSOR);
10258
3.11k
    if (yybm[256+yych] & 128) {
10259
460
      goto yy47;
10260
460
    }
10261
2.65k
    if (yych == '\\') goto yy164;
10262
2.65k
yy898:
10263
2.65k
    YYDEBUG(898, *YYCURSOR);
10264
2.65k
    yyleng = YYCURSOR - SCNG(yy_text);
10265
2.65k
#line 1726 "Zend/zend_language_scanner.l"
10266
2.65k
    {
10267
2.65k
  RETURN_TOKEN_WITH_IDENT(T_INCLUDE_ONCE);
10268
2.65k
}
10269
0
#line 10270 "Zend/zend_language_scanner.c"
10270
1.10k
yy899:
10271
1.10k
    YYDEBUG(899, *YYCURSOR);
10272
1.10k
    ++YYCURSOR;
10273
1.10k
    YYDEBUG(900, *YYCURSOR);
10274
1.10k
    yyleng = YYCURSOR - SCNG(yy_text);
10275
1.10k
#line 1794 "Zend/zend_language_scanner.l"
10276
1.10k
    {
10277
1.10k
  RETURN_TOKEN_WITH_IDENT(T_PRIVATE_SET);
10278
1.10k
}
10279
0
#line 10280 "Zend/zend_language_scanner.c"
10280
892
yy901:
10281
892
    YYDEBUG(901, *YYCURSOR);
10282
892
    yych = *++YYCURSOR;
10283
892
    if (yych == 'T') goto yy924;
10284
637
    if (yych == 't') goto yy924;
10285
227
    goto yy86;
10286
2.10k
yy902:
10287
2.10k
    YYDEBUG(902, *YYCURSOR);
10288
2.10k
    yyaccept = 90;
10289
2.10k
    yych = *(YYMARKER = ++YYCURSOR);
10290
2.10k
    if (yybm[256+yych] & 128) {
10291
310
      goto yy47;
10292
310
    }
10293
1.79k
    if (yych == '\\') goto yy164;
10294
1.79k
yy903:
10295
1.79k
    YYDEBUG(903, *YYCURSOR);
10296
1.79k
    yyleng = YYCURSOR - SCNG(yy_text);
10297
1.79k
#line 1734 "Zend/zend_language_scanner.l"
10298
1.79k
    {
10299
1.79k
  RETURN_TOKEN_WITH_IDENT(T_REQUIRE_ONCE);
10300
1.79k
}
10301
0
#line 10302 "Zend/zend_language_scanner.c"
10302
190k
yy904:
10303
190k
    YYDEBUG(904, *YYCURSOR);
10304
190k
    ++YYCURSOR;
10305
190k
    YYFILL(1);
10306
190k
    yych = *YYCURSOR;
10307
190k
    YYDEBUG(905, *YYCURSOR);
10308
190k
    if (yych <= '"') {
10309
49.8k
      if (yych <= '\n') {
10310
6.67k
        if (yych <= 0x00) goto yy86;
10311
6.16k
        if (yych <= 0x08) goto yy808;
10312
5.50k
        if (yych <= '\t') goto yy904;
10313
2.64k
        goto yy846;
10314
43.1k
      } else {
10315
43.1k
        if (yych <= '\r') {
10316
28.7k
          if (yych <= '\f') goto yy808;
10317
28.4k
          goto yy846;
10318
28.7k
        } else {
10319
14.4k
          if (yych == ' ') goto yy904;
10320
1.01k
          goto yy808;
10321
14.4k
        }
10322
43.1k
      }
10323
141k
    } else {
10324
141k
      if (yych <= '/') {
10325
85.7k
        if (yych <= ')') {
10326
26.3k
          if (yych <= '#') goto yy925;
10327
8.64k
          goto yy808;
10328
59.4k
        } else {
10329
59.4k
          if (yych <= '*') goto yy848;
10330
58.9k
          if (yych <= '.') goto yy808;
10331
54.5k
          goto yy926;
10332
58.9k
        }
10333
85.7k
      } else {
10334
55.3k
        if (yych <= 'F') {
10335
26.1k
          if (yych <= 'E') goto yy808;
10336
21.6k
          goto yy927;
10337
29.2k
        } else {
10338
29.2k
          if (yych == 'f') goto yy927;
10339
27.7k
          goto yy808;
10340
29.2k
        }
10341
55.3k
      }
10342
141k
    }
10343
8.08k
yy906:
10344
8.08k
    YYDEBUG(906, *YYCURSOR);
10345
8.08k
    ++YYCURSOR;
10346
8.08k
    YYFILL(1);
10347
8.08k
    yych = *YYCURSOR;
10348
8.08k
    if (yych <= '*') {
10349
1.14k
      if (yych <= 0x00) goto yy86;
10350
917
      if (yych <= ')') goto yy696;
10351
313
      goto yy760;
10352
6.93k
    } else {
10353
6.93k
      if (yych == '/') goto yy846;
10354
272
      goto yy696;
10355
6.93k
    }
10356
8.51k
yy907:
10357
8.51k
    YYDEBUG(907, *YYCURSOR);
10358
8.51k
    ++YYCURSOR;
10359
8.51k
    YYFILL(1);
10360
8.51k
    yych = *YYCURSOR;
10361
8.51k
    if (yych <= 'N') {
10362
913
      if (yych <= 0x00) goto yy86;
10363
652
      if (yych == '*') goto yy760;
10364
385
      goto yy696;
10365
7.60k
    } else {
10366
7.60k
      if (yych <= 'O') goto yy928;
10367
1.65k
      if (yych == 'o') goto yy928;
10368
592
      goto yy696;
10369
1.65k
    }
10370
3.15k
yy908:
10371
3.15k
    YYDEBUG(908, *YYCURSOR);
10372
3.15k
    yyaccept = 91;
10373
3.15k
    YYMARKER = ++YYCURSOR;
10374
3.15k
    YYFILL(1);
10375
3.15k
    yych = *YYCURSOR;
10376
3.15k
    if (yych <= '\n') {
10377
1.53k
      if (yych <= 0x00) goto yy876;
10378
1.06k
      if (yych <= '\t') goto yy692;
10379
554
      goto yy616;
10380
1.62k
    } else {
10381
1.62k
      if (yych == '\r') goto yy616;
10382
1.26k
      goto yy692;
10383
1.62k
    }
10384
2.87k
yy909:
10385
2.87k
    YYDEBUG(909, *YYCURSOR);
10386
2.87k
    yyaccept = 91;
10387
2.87k
    YYMARKER = ++YYCURSOR;
10388
2.87k
    YYFILL(5);
10389
2.87k
    yych = *YYCURSOR;
10390
2.87k
    if (yych <= '"') {
10391
1.26k
      if (yych <= '\f') {
10392
636
        if (yych <= 0x08) goto yy876;
10393
426
        if (yych <= '\n') goto yy616;
10394
226
        goto yy876;
10395
625
      } else {
10396
625
        if (yych <= '\r') goto yy616;
10397
428
        if (yych == ' ') goto yy616;
10398
197
        goto yy876;
10399
428
      }
10400
1.61k
    } else {
10401
1.61k
      if (yych <= 'E') {
10402
814
        if (yych <= '#') goto yy618;
10403
495
        if (yych == '/') goto yy619;
10404
270
        goto yy876;
10405
799
      } else {
10406
799
        if (yych <= 'F') goto yy691;
10407
598
        if (yych == 'f') goto yy691;
10408
404
        goto yy876;
10409
598
      }
10410
1.61k
    }
10411
5.47k
yy910:
10412
5.47k
    YYDEBUG(910, *YYCURSOR);
10413
5.47k
    yyaccept = 92;
10414
5.47k
    yych = *(YYMARKER = ++YYCURSOR);
10415
5.47k
    if (yybm[256+yych] & 128) {
10416
416
      goto yy47;
10417
416
    }
10418
5.05k
    if (yych == '\\') goto yy164;
10419
4.90k
yy911:
10420
4.90k
    YYDEBUG(911, *YYCURSOR);
10421
4.90k
    yyleng = YYCURSOR - SCNG(yy_text);
10422
4.90k
#line 2261 "Zend/zend_language_scanner.l"
10423
4.90k
    {
10424
4.90k
  RETURN_TOKEN_WITH_IDENT(T_FUNC_C);
10425
4.90k
}
10426
0
#line 10427 "Zend/zend_language_scanner.c"
10427
2.18k
yy912:
10428
2.18k
    YYDEBUG(912, *YYCURSOR);
10429
2.18k
    yyaccept = 4;
10430
2.18k
    yych = *(YYMARKER = ++YYCURSOR);
10431
2.18k
    if (yych == 'L') goto yy929;
10432
1.88k
    if (yych == 'l') goto yy929;
10433
316
    goto yy48;
10434
3.47k
yy913:
10435
3.47k
    YYDEBUG(913, *YYCURSOR);
10436
3.47k
    yyaccept = 4;
10437
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
10438
3.47k
    if (yych == '_') goto yy930;
10439
600
    goto yy48;
10440
2.25k
yy914:
10441
2.25k
    YYDEBUG(914, *YYCURSOR);
10442
2.25k
    yyaccept = 93;
10443
2.25k
    yych = *(YYMARKER = ++YYCURSOR);
10444
2.25k
    if (yybm[256+yych] & 128) {
10445
382
      goto yy47;
10446
382
    }
10447
1.86k
    if (yych == '\\') goto yy164;
10448
1.86k
yy915:
10449
1.86k
    YYDEBUG(915, *YYCURSOR);
10450
1.86k
    yyleng = YYCURSOR - SCNG(yy_text);
10451
1.86k
#line 2265 "Zend/zend_language_scanner.l"
10452
1.86k
    {
10453
1.86k
  RETURN_TOKEN_WITH_IDENT(T_PROPERTY_C);
10454
1.86k
}
10455
0
#line 10456 "Zend/zend_language_scanner.c"
10456
889
yy916:
10457
889
    YYDEBUG(916, *YYCURSOR);
10458
889
    yych = *++YYCURSOR;
10459
889
    if (yych == 'T') goto yy857;
10460
668
    if (yych == 't') goto yy857;
10461
397
    goto yy86;
10462
115k
yy917:
10463
115k
    YYDEBUG(917, *YYCURSOR);
10464
115k
    ++YYCURSOR;
10465
115k
    YYFILL(1);
10466
115k
    yych = *YYCURSOR;
10467
115k
    if (yych <= '\r') {
10468
2.96k
      if (yych <= '\t') {
10469
817
        if (yych <= 0x00) goto yy86;
10470
231
        goto yy738;
10471
2.15k
      } else {
10472
2.15k
        if (yych <= '\n') goto yy787;
10473
1.59k
        if (yych <= '\f') goto yy738;
10474
700
        goto yy787;
10475
1.59k
      }
10476
112k
    } else {
10477
112k
      if (yych <= '*') {
10478
2.74k
        if (yych <= ')') goto yy738;
10479
665
        goto yy789;
10480
109k
      } else {
10481
109k
        if (yych == '/') goto yy859;
10482
663
        goto yy738;
10483
109k
      }
10484
112k
    }
10485
13.6k
yy918:
10486
13.6k
    YYDEBUG(918, *YYCURSOR);
10487
13.6k
    ++YYCURSOR;
10488
13.6k
    YYFILL(1);
10489
13.6k
    yych = *YYCURSOR;
10490
13.6k
    if (yych <= ')') {
10491
2.03k
      if (yych <= '\n') {
10492
1.27k
        if (yych <= 0x00) goto yy86;
10493
823
        if (yych <= '\t') goto yy738;
10494
373
        goto yy787;
10495
823
      } else {
10496
764
        if (yych == '\r') goto yy787;
10497
482
        goto yy738;
10498
764
      }
10499
11.5k
    } else {
10500
11.5k
      if (yych <= 'T') {
10501
2.89k
        if (yych <= '*') goto yy789;
10502
2.63k
        if (yych <= 'S') goto yy738;
10503
1.75k
        goto yy932;
10504
8.69k
      } else {
10505
8.69k
        if (yych == 't') goto yy932;
10506
1.54k
        goto yy738;
10507
8.69k
      }
10508
11.5k
    }
10509
36.6k
yy919:
10510
36.6k
    YYDEBUG(919, *YYCURSOR);
10511
36.6k
    ++YYCURSOR;
10512
36.6k
    YYFILL(1);
10513
36.6k
    yych = *YYCURSOR;
10514
36.6k
    if (yych <= ')') {
10515
1.33k
      if (yych <= '\n') {
10516
628
        if (yych <= 0x00) goto yy86;
10517
416
        if (yych <= '\t') goto yy738;
10518
205
        goto yy787;
10519
705
      } else {
10520
705
        if (yych == '\r') goto yy787;
10521
469
        goto yy738;
10522
705
      }
10523
35.3k
    } else {
10524
35.3k
      if (yych <= 'P') {
10525
16.8k
        if (yych <= '*') goto yy789;
10526
16.6k
        if (yych <= 'O') goto yy738;
10527
6.28k
        goto yy933;
10528
18.4k
      } else {
10529
18.4k
        if (yych == 'p') goto yy933;
10530
1.31k
        goto yy738;
10531
18.4k
      }
10532
35.3k
    }
10533
3.34k
yy920:
10534
3.34k
    YYDEBUG(920, *YYCURSOR);
10535
3.34k
    ++YYCURSOR;
10536
3.34k
    YYFILL(1);
10537
3.34k
    yych = *YYCURSOR;
10538
3.34k
    if (yych <= 'M') {
10539
617
      if (yych <= 0x00) goto yy86;
10540
421
      if (yych == '*') goto yy668;
10541
222
      goto yy590;
10542
2.72k
    } else {
10543
2.72k
      if (yych <= 'N') goto yy934;
10544
2.46k
      if (yych == 'n') goto yy934;
10545
208
      goto yy590;
10546
2.46k
    }
10547
5.69k
yy921:
10548
5.69k
    YYDEBUG(921, *YYCURSOR);
10549
5.69k
    ++YYCURSOR;
10550
5.69k
    YYFILL(1);
10551
5.69k
    yych = *YYCURSOR;
10552
5.69k
    if (yych <= 'D') {
10553
693
      if (yych <= 0x00) goto yy86;
10554
488
      if (yych == '*') goto yy668;
10555
290
      goto yy590;
10556
4.99k
    } else {
10557
4.99k
      if (yych <= 'E') goto yy935;
10558
2.92k
      if (yych == 'e') goto yy935;
10559
272
      goto yy590;
10560
2.92k
    }
10561
1.42k
yy922:
10562
1.42k
    YYDEBUG(922, *YYCURSOR);
10563
1.42k
    yyaccept = 94;
10564
1.42k
    YYMARKER = ++YYCURSOR;
10565
1.42k
    YYFILL(1);
10566
1.42k
    yych = *YYCURSOR;
10567
1.42k
    if (yych <= '\n') {
10568
760
      if (yych <= 0x00) goto yy886;
10569
552
      if (yych <= '\t') goto yy586;
10570
220
      goto yy495;
10571
666
    } else {
10572
666
      if (yych == '\r') goto yy495;
10573
453
      goto yy586;
10574
666
    }
10575
9.66k
yy923:
10576
9.66k
    YYDEBUG(923, *YYCURSOR);
10577
9.66k
    ++YYCURSOR;
10578
9.66k
    YYFILL(1);
10579
9.66k
    yych = *YYCURSOR;
10580
9.66k
    if (yych <= '\r') {
10581
5.98k
      if (yych <= '\t') {
10582
5.36k
        if (yych <= 0x00) goto yy86;
10583
4.99k
        goto yy586;
10584
5.36k
      } else {
10585
619
        if (yych <= '\n') goto yy495;
10586
412
        if (yych <= '\f') goto yy586;
10587
210
        goto yy495;
10588
412
      }
10589
5.98k
    } else {
10590
3.67k
      if (yych <= 'N') {
10591
1.79k
        if (yych <= 'M') goto yy586;
10592
1.44k
        goto yy936;
10593
1.88k
      } else {
10594
1.88k
        if (yych == 'n') goto yy936;
10595
479
        goto yy586;
10596
1.88k
      }
10597
3.67k
    }
10598
665
yy924:
10599
665
    YYDEBUG(924, *YYCURSOR);
10600
665
    yych = *++YYCURSOR;
10601
665
    if (yych == ')') goto yy937;
10602
269
    goto yy86;
10603
17.7k
yy925:
10604
17.7k
    YYDEBUG(925, *YYCURSOR);
10605
17.7k
    ++YYCURSOR;
10606
17.7k
    YYFILL(1);
10607
17.7k
    yych = *YYCURSOR;
10608
17.7k
    if (yych <= '\f') {
10609
11.6k
      if (yych <= 0x00) goto yy86;
10610
11.3k
      if (yych == '\n') goto yy904;
10611
212
      goto yy808;
10612
11.3k
    } else {
10613
6.12k
      if (yych <= '\r') goto yy904;
10614
4.89k
      if (yych == '*') goto yy848;
10615
4.58k
      goto yy808;
10616
4.89k
    }
10617
54.5k
yy926:
10618
54.5k
    YYDEBUG(926, *YYCURSOR);
10619
54.5k
    ++YYCURSOR;
10620
54.5k
    YYFILL(1);
10621
54.5k
    yych = *YYCURSOR;
10622
54.5k
    if (yych <= '\f') {
10623
700
      if (yych <= 0x00) goto yy86;
10624
468
      if (yych == '\n') goto yy846;
10625
222
      goto yy808;
10626
53.8k
    } else {
10627
53.8k
      if (yych <= '\r') goto yy846;
10628
53.4k
      if (yych == '*') goto yy939;
10629
1.98k
      goto yy808;
10630
53.4k
    }
10631
23.1k
yy927:
10632
23.1k
    YYDEBUG(927, *YYCURSOR);
10633
23.1k
    ++YYCURSOR;
10634
23.1k
    YYFILL(1);
10635
23.1k
    yych = *YYCURSOR;
10636
23.1k
    if (yych <= ')') {
10637
1.81k
      if (yych <= '\n') {
10638
834
        if (yych <= 0x00) goto yy86;
10639
539
        if (yych <= '\t') goto yy808;
10640
261
        goto yy846;
10641
979
      } else {
10642
979
        if (yych == '\r') goto yy846;
10643
435
        goto yy808;
10644
979
      }
10645
21.3k
    } else {
10646
21.3k
      if (yych <= 'R') {
10647
16.3k
        if (yych <= '*') goto yy848;
10648
16.0k
        if (yych <= 'Q') goto yy808;
10649
14.9k
        goto yy940;
10650
16.0k
      } else {
10651
4.92k
        if (yych == 'r') goto yy940;
10652
935
        goto yy808;
10653
4.92k
      }
10654
21.3k
    }
10655
7.01k
yy928:
10656
7.01k
    YYDEBUG(928, *YYCURSOR);
10657
7.01k
    ++YYCURSOR;
10658
7.01k
    YYFILL(1);
10659
7.01k
    yych = *YYCURSOR;
10660
7.01k
    if (yych <= 'L') {
10661
986
      if (yych <= 0x00) goto yy86;
10662
611
      if (yych == '*') goto yy760;
10663
404
      goto yy696;
10664
6.02k
    } else {
10665
6.02k
      if (yych <= 'M') goto yy941;
10666
1.58k
      if (yych == 'm') goto yy941;
10667
279
      goto yy696;
10668
1.58k
    }
10669
1.87k
yy929:
10670
1.87k
    YYDEBUG(929, *YYCURSOR);
10671
1.87k
    yyaccept = 4;
10672
1.87k
    yych = *(YYMARKER = ++YYCURSOR);
10673
1.87k
    if (yych == 'E') goto yy942;
10674
1.59k
    if (yych == 'e') goto yy942;
10675
284
    goto yy48;
10676
2.87k
yy930:
10677
2.87k
    YYDEBUG(930, *YYCURSOR);
10678
2.87k
    yyaccept = 95;
10679
2.87k
    yych = *(YYMARKER = ++YYCURSOR);
10680
2.87k
    if (yybm[256+yych] & 128) {
10681
312
      goto yy47;
10682
312
    }
10683
2.56k
    if (yych == '\\') goto yy164;
10684
2.54k
yy931:
10685
2.54k
    YYDEBUG(931, *YYCURSOR);
10686
2.54k
    yyleng = YYCURSOR - SCNG(yy_text);
10687
2.54k
#line 2285 "Zend/zend_language_scanner.l"
10688
2.54k
    {
10689
2.54k
  RETURN_TOKEN_WITH_IDENT(T_NS_C);
10690
2.54k
}
10691
0
#line 10692 "Zend/zend_language_scanner.c"
10692
8.90k
yy932:
10693
8.90k
    YYDEBUG(932, *YYCURSOR);
10694
8.90k
    ++YYCURSOR;
10695
8.90k
    YYFILL(1);
10696
8.90k
    yych = *YYCURSOR;
10697
8.90k
    if (yych <= ')') {
10698
1.16k
      if (yych <= '\n') {
10699
679
        if (yych <= 0x00) goto yy86;
10700
467
        if (yych <= '\t') goto yy738;
10701
270
        goto yy787;
10702
481
      } else {
10703
481
        if (yych == '\r') goto yy787;
10704
260
        goto yy738;
10705
481
      }
10706
7.74k
    } else {
10707
7.74k
      if (yych <= 'E') {
10708
1.13k
        if (yych <= '*') goto yy789;
10709
889
        if (yych <= 'D') goto yy738;
10710
438
        goto yy943;
10711
6.61k
      } else {
10712
6.61k
        if (yych == 'e') goto yy943;
10713
565
        goto yy738;
10714
6.61k
      }
10715
7.74k
    }
10716
23.4k
yy933:
10717
23.4k
    YYDEBUG(933, *YYCURSOR);
10718
23.4k
    ++YYCURSOR;
10719
23.4k
    YYFILL(1);
10720
23.4k
    yych = *YYCURSOR;
10721
23.4k
    if (yych <= ')') {
10722
1.45k
      if (yych <= '\n') {
10723
963
        if (yych <= 0x00) goto yy86;
10724
748
        if (yych <= '\t') goto yy738;
10725
503
        goto yy787;
10726
748
      } else {
10727
487
        if (yych == '\r') goto yy787;
10728
270
        goto yy738;
10729
487
      }
10730
21.9k
    } else {
10731
21.9k
      if (yych <= 'L') {
10732
5.84k
        if (yych <= '*') goto yy789;
10733
5.63k
        if (yych <= 'K') goto yy738;
10734
5.36k
        goto yy944;
10735
16.1k
      } else {
10736
16.1k
        if (yych == 'l') goto yy944;
10737
312
        goto yy738;
10738
16.1k
      }
10739
21.9k
    }
10740
2.52k
yy934:
10741
2.52k
    YYDEBUG(934, *YYCURSOR);
10742
2.52k
    ++YYCURSOR;
10743
2.52k
    YYFILL(1);
10744
2.52k
    yych = *YYCURSOR;
10745
2.52k
    if (yych <= 'C') {
10746
683
      if (yych <= 0x00) goto yy86;
10747
436
      if (yych == '*') goto yy668;
10748
209
      goto yy590;
10749
1.83k
    } else {
10750
1.83k
      if (yych <= 'D') goto yy945;
10751
1.60k
      if (yych == 'd') goto yy945;
10752
423
      goto yy590;
10753
1.60k
    }
10754
4.72k
yy935:
10755
4.72k
    YYDEBUG(935, *YYCURSOR);
10756
4.72k
    ++YYCURSOR;
10757
4.72k
    YYFILL(1);
10758
4.72k
    yych = *YYCURSOR;
10759
4.72k
    if (yych <= 'L') {
10760
761
      if (yych <= 0x00) goto yy86;
10761
555
      if (yych == '*') goto yy668;
10762
358
      goto yy590;
10763
3.96k
    } else {
10764
3.96k
      if (yych <= 'M') goto yy946;
10765
2.14k
      if (yych == 'm') goto yy946;
10766
205
      goto yy590;
10767
2.14k
    }
10768
2.85k
yy936:
10769
2.85k
    YYDEBUG(936, *YYCURSOR);
10770
2.85k
    ++YYCURSOR;
10771
2.85k
    YYFILL(1);
10772
2.85k
    yych = *YYCURSOR;
10773
2.85k
    if (yych <= '\r') {
10774
1.01k
      if (yych <= '\t') {
10775
424
        if (yych <= 0x00) goto yy86;
10776
213
        goto yy586;
10777
595
      } else {
10778
595
        if (yych <= '\n') goto yy495;
10779
397
        if (yych <= '\f') goto yy586;
10780
201
        goto yy495;
10781
397
      }
10782
1.83k
    } else {
10783
1.83k
      if (yych <= 'T') {
10784
584
        if (yych <= 'S') goto yy586;
10785
322
        goto yy895;
10786
1.25k
      } else {
10787
1.25k
        if (yych == 't') goto yy895;
10788
246
        goto yy586;
10789
1.25k
      }
10790
1.83k
    }
10791
396
yy937:
10792
396
    YYDEBUG(937, *YYCURSOR);
10793
396
    ++YYCURSOR;
10794
396
    YYDEBUG(938, *YYCURSOR);
10795
396
    yyleng = YYCURSOR - SCNG(yy_text);
10796
396
#line 1790 "Zend/zend_language_scanner.l"
10797
396
    {
10798
396
  RETURN_TOKEN_WITH_IDENT(T_PROTECTED_SET);
10799
396
}
10800
0
#line 10801 "Zend/zend_language_scanner.c"
10801
51.4k
yy939:
10802
51.4k
    YYDEBUG(939, *YYCURSOR);
10803
51.4k
    ++YYCURSOR;
10804
51.4k
    YYFILL(1);
10805
51.4k
    yych = *YYCURSOR;
10806
51.4k
    if (yych <= '\r') {
10807
1.65k
      if (yych <= '\t') {
10808
621
        if (yych <= 0x00) goto yy86;
10809
266
        goto yy808;
10810
1.03k
      } else {
10811
1.03k
        if (yych <= '\n') goto yy846;
10812
452
        if (yych <= '\f') goto yy808;
10813
221
        goto yy846;
10814
452
      }
10815
49.7k
    } else {
10816
49.7k
      if (yych <= '*') {
10817
907
        if (yych <= ')') goto yy808;
10818
374
        goto yy848;
10819
48.8k
      } else {
10820
48.8k
        if (yych == '/') goto yy904;
10821
1.45k
        goto yy808;
10822
48.8k
      }
10823
49.7k
    }
10824
18.9k
yy940:
10825
18.9k
    YYDEBUG(940, *YYCURSOR);
10826
18.9k
    ++YYCURSOR;
10827
18.9k
    YYFILL(1);
10828
18.9k
    yych = *YYCURSOR;
10829
18.9k
    if (yych <= ')') {
10830
2.11k
      if (yych <= '\n') {
10831
1.40k
        if (yych <= 0x00) goto yy86;
10832
1.20k
        if (yych <= '\t') goto yy808;
10833
623
        goto yy846;
10834
1.20k
      } else {
10835
711
        if (yych == '\r') goto yy846;
10836
434
        goto yy808;
10837
711
      }
10838
16.8k
    } else {
10839
16.8k
      if (yych <= 'O') {
10840
13.4k
        if (yych <= '*') goto yy848;
10841
12.5k
        if (yych <= 'N') goto yy808;
10842
12.3k
        goto yy947;
10843
12.5k
      } else {
10844
3.39k
        if (yych == 'o') goto yy947;
10845
607
        goto yy808;
10846
3.39k
      }
10847
16.8k
    }
10848
5.74k
yy941:
10849
5.74k
    YYDEBUG(941, *YYCURSOR);
10850
5.74k
    ++YYCURSOR;
10851
5.74k
    YYFILL(1);
10852
5.74k
    yych = *YYCURSOR;
10853
5.74k
    if (yych <= '@') {
10854
4.16k
      if (yych <= '*') {
10855
3.50k
        if (yych <= 0x00) goto yy875;
10856
3.30k
        if (yych <= ')') goto yy948;
10857
2.00k
        goto yy949;
10858
3.30k
      } else {
10859
665
        if (yych <= '/') goto yy948;
10860
435
        if (yych <= '9') goto yy696;
10861
240
        goto yy948;
10862
435
      }
10863
4.16k
    } else {
10864
1.58k
      if (yych <= '_') {
10865
668
        if (yych <= 'Z') goto yy696;
10866
466
        if (yych <= '^') goto yy948;
10867
234
        goto yy696;
10868
913
      } else {
10869
913
        if (yych <= '`') goto yy948;
10870
698
        if (yych <= 'z') goto yy696;
10871
474
        if (yych <= 0x7F) goto yy948;
10872
245
        goto yy696;
10873
474
      }
10874
1.58k
    }
10875
1.58k
yy942:
10876
1.58k
    YYDEBUG(942, *YYCURSOR);
10877
1.58k
    yyaccept = 4;
10878
1.58k
    yych = *(YYMARKER = ++YYCURSOR);
10879
1.58k
    if (yych == 'R') goto yy950;
10880
1.31k
    if (yych == 'r') goto yy950;
10881
363
    goto yy48;
10882
6.48k
yy943:
10883
6.48k
    YYDEBUG(943, *YYCURSOR);
10884
6.48k
    ++YYCURSOR;
10885
6.48k
    YYFILL(1);
10886
6.48k
    yych = *YYCURSOR;
10887
6.48k
    if (yych <= ')') {
10888
1.55k
      if (yych <= '\n') {
10889
897
        if (yych <= 0x00) goto yy86;
10890
697
        if (yych <= '\t') goto yy738;
10891
224
        goto yy787;
10892
697
      } else {
10893
655
        if (yych == '\r') goto yy787;
10894
344
        goto yy738;
10895
655
      }
10896
4.93k
    } else {
10897
4.93k
      if (yych <= 'N') {
10898
936
        if (yych <= '*') goto yy789;
10899
707
        if (yych <= 'M') goto yy738;
10900
422
        goto yy952;
10901
3.99k
      } else {
10902
3.99k
        if (yych == 'n') goto yy952;
10903
271
        goto yy738;
10904
3.99k
      }
10905
4.93k
    }
10906
21.1k
yy944:
10907
21.1k
    YYDEBUG(944, *YYCURSOR);
10908
21.1k
    ++YYCURSOR;
10909
21.1k
    YYFILL(1);
10910
21.1k
    yych = *YYCURSOR;
10911
21.1k
    if (yych <= ')') {
10912
1.51k
      if (yych <= '\n') {
10913
831
        if (yych <= 0x00) goto yy86;
10914
526
        if (yych <= '\t') goto yy738;
10915
291
        goto yy787;
10916
680
      } else {
10917
680
        if (yych == '\r') goto yy787;
10918
337
        goto yy738;
10919
680
      }
10920
19.6k
    } else {
10921
19.6k
      if (yych <= 'E') {
10922
5.11k
        if (yych <= '*') goto yy789;
10923
4.90k
        if (yych <= 'D') goto yy738;
10924
4.62k
        goto yy953;
10925
14.5k
      } else {
10926
14.5k
        if (yych == 'e') goto yy953;
10927
386
        goto yy738;
10928
14.5k
      }
10929
19.6k
    }
10930
2.15k
yy945:
10931
2.15k
    YYDEBUG(945, *YYCURSOR);
10932
2.15k
    ++YYCURSOR;
10933
2.15k
    YYFILL(1);
10934
2.15k
    yych = *YYCURSOR;
10935
2.15k
    if (yych <= 'R') {
10936
864
      if (yych <= 0x00) goto yy86;
10937
529
      if (yych == '*') goto yy668;
10938
331
      goto yy590;
10939
1.29k
    } else {
10940
1.29k
      if (yych <= 'S') goto yy954;
10941
923
      if (yych == 's') goto yy954;
10942
382
      goto yy590;
10943
923
    }
10944
3.75k
yy946:
10945
3.75k
    YYDEBUG(946, *YYCURSOR);
10946
3.75k
    ++YYCURSOR;
10947
3.75k
    YYFILL(1);
10948
3.75k
    yych = *YYCURSOR;
10949
3.75k
    if (yych <= 'D') {
10950
625
      if (yych <= 0x00) goto yy86;
10951
421
      if (yych == '*') goto yy668;
10952
208
      goto yy590;
10953
3.13k
    } else {
10954
3.13k
      if (yych <= 'E') goto yy955;
10955
2.17k
      if (yych == 'e') goto yy955;
10956
310
      goto yy590;
10957
2.17k
    }
10958
15.1k
yy947:
10959
15.1k
    YYDEBUG(947, *YYCURSOR);
10960
15.1k
    ++YYCURSOR;
10961
15.1k
    YYFILL(1);
10962
15.1k
    yych = *YYCURSOR;
10963
15.1k
    if (yych <= ')') {
10964
1.38k
      if (yych <= '\n') {
10965
739
        if (yych <= 0x00) goto yy86;
10966
535
        if (yych <= '\t') goto yy808;
10967
338
        goto yy846;
10968
648
      } else {
10969
648
        if (yych == '\r') goto yy846;
10970
399
        goto yy808;
10971
648
      }
10972
13.7k
    } else {
10973
13.7k
      if (yych <= 'M') {
10974
9.20k
        if (yych <= '*') goto yy848;
10975
9.00k
        if (yych <= 'L') goto yy808;
10976
8.49k
        goto yy956;
10977
9.00k
      } else {
10978
4.53k
        if (yych == 'm') goto yy956;
10979
490
        goto yy808;
10980
4.53k
      }
10981
13.7k
    }
10982
2.43k
yy948:
10983
2.43k
    YYDEBUG(948, *YYCURSOR);
10984
2.43k
    yyaccept = 91;
10985
2.43k
    YYMARKER = ++YYCURSOR;
10986
2.43k
    YYFILL(1);
10987
2.43k
    yych = *YYCURSOR;
10988
2.43k
    if (yych <= 0x00) goto yy876;
10989
1.32k
    if (yych == '*') goto yy760;
10990
1.07k
    goto yy696;
10991
2.00k
yy949:
10992
2.00k
    YYDEBUG(949, *YYCURSOR);
10993
2.00k
    yyaccept = 91;
10994
2.00k
    YYMARKER = ++YYCURSOR;
10995
2.00k
    YYFILL(1);
10996
2.00k
    yych = *YYCURSOR;
10997
2.00k
    if (yych <= '*') {
10998
1.14k
      if (yych <= 0x00) goto yy876;
10999
844
      if (yych <= ')') goto yy696;
11000
342
      goto yy760;
11001
865
    } else {
11002
865
      if (yych == '/') goto yy616;
11003
408
      goto yy696;
11004
865
    }
11005
1.22k
yy950:
11006
1.22k
    YYDEBUG(950, *YYCURSOR);
11007
1.22k
    yyaccept = 96;
11008
1.22k
    yych = *(YYMARKER = ++YYCURSOR);
11009
1.22k
    if (yybm[256+yych] & 128) {
11010
685
      goto yy47;
11011
685
    }
11012
538
    if (yych == '\\') goto yy164;
11013
538
yy951:
11014
538
    YYDEBUG(951, *YYCURSOR);
11015
538
    yyleng = YYCURSOR - SCNG(yy_text);
11016
538
#line 1762 "Zend/zend_language_scanner.l"
11017
538
    {
11018
538
  RETURN_TOKEN_WITH_IDENT(T_HALT_COMPILER);
11019
538
}
11020
0
#line 11021 "Zend/zend_language_scanner.c"
11021
4.14k
yy952:
11022
4.14k
    YYDEBUG(952, *YYCURSOR);
11023
4.14k
    ++YYCURSOR;
11024
4.14k
    YYFILL(1);
11025
4.14k
    yych = *YYCURSOR;
11026
4.14k
    if (yych <= ')') {
11027
1.14k
      if (yych <= '\n') {
11028
694
        if (yych <= 0x00) goto yy86;
11029
497
        if (yych <= '\t') goto yy738;
11030
198
        goto yy787;
11031
497
      } else {
11032
452
        if (yych == '\r') goto yy787;
11033
226
        goto yy738;
11034
452
      }
11035
3.00k
    } else {
11036
3.00k
      if (yych <= 'D') {
11037
651
        if (yych <= '*') goto yy789;
11038
454
        if (yych <= 'C') goto yy738;
11039
252
        goto yy957;
11040
2.35k
      } else {
11041
2.35k
        if (yych == 'd') goto yy957;
11042
550
        goto yy738;
11043
2.35k
      }
11044
3.00k
    }
11045
18.7k
yy953:
11046
18.7k
    YYDEBUG(953, *YYCURSOR);
11047
18.7k
    ++YYCURSOR;
11048
18.7k
    YYFILL(1);
11049
18.7k
    yych = *YYCURSOR;
11050
18.7k
    if (yych <= ')') {
11051
5.87k
      if (yych <= '\n') {
11052
3.70k
        if (yych <= 0x00) goto yy86;
11053
3.40k
        if (yych <= '\t') goto yy738;
11054
3.20k
        goto yy787;
11055
3.40k
      } else {
11056
2.16k
        if (yych == '\r') goto yy787;
11057
1.95k
        goto yy738;
11058
2.16k
      }
11059
12.9k
    } else {
11060
12.9k
      if (yych <= 'M') {
11061
9.48k
        if (yych <= '*') goto yy789;
11062
8.60k
        if (yych <= 'L') goto yy738;
11063
7.74k
        goto yy958;
11064
8.60k
      } else {
11065
3.43k
        if (yych == 'm') goto yy958;
11066
342
        goto yy738;
11067
3.43k
      }
11068
12.9k
    }
11069
911
yy954:
11070
911
    YYDEBUG(954, *YYCURSOR);
11071
911
    yyaccept = 94;
11072
911
    YYMARKER = ++YYCURSOR;
11073
911
    YYFILL(1);
11074
911
    yych = *YYCURSOR;
11075
911
    if (yych <= 0x00) goto yy886;
11076
692
    if (yych == '*') goto yy668;
11077
470
    goto yy590;
11078
2.82k
yy955:
11079
2.82k
    YYDEBUG(955, *YYCURSOR);
11080
2.82k
    ++YYCURSOR;
11081
2.82k
    YYFILL(1);
11082
2.82k
    yych = *YYCURSOR;
11083
2.82k
    if (yych <= 'M') {
11084
719
      if (yych <= 0x00) goto yy86;
11085
459
      if (yych == '*') goto yy668;
11086
262
      goto yy590;
11087
2.10k
    } else {
11088
2.10k
      if (yych <= 'N') goto yy959;
11089
1.35k
      if (yych == 'n') goto yy959;
11090
237
      goto yy590;
11091
1.35k
    }
11092
12.5k
yy956:
11093
12.5k
    YYDEBUG(956, *YYCURSOR);
11094
12.5k
    ++YYCURSOR;
11095
12.5k
    YYFILL(1);
11096
12.5k
    yych = *YYCURSOR;
11097
12.5k
    if (yych <= '/') {
11098
8.88k
      if (yych <= '\f') {
11099
3.02k
        if (yych <= 0x00) goto yy875;
11100
2.80k
        if (yych == '\n') goto yy961;
11101
239
        goto yy960;
11102
5.86k
      } else {
11103
5.86k
        if (yych <= '\r') goto yy961;
11104
2.75k
        if (yych == '*') goto yy962;
11105
457
        goto yy960;
11106
2.75k
      }
11107
8.88k
    } else {
11108
3.64k
      if (yych <= '^') {
11109
1.32k
        if (yych <= '9') goto yy808;
11110
1.12k
        if (yych <= '@') goto yy960;
11111
752
        if (yych <= 'Z') goto yy808;
11112
532
        goto yy960;
11113
2.32k
      } else {
11114
2.32k
        if (yych <= '`') {
11115
1.15k
          if (yych <= '_') goto yy808;
11116
433
          goto yy960;
11117
1.16k
        } else {
11118
1.16k
          if (yych <= 'z') goto yy808;
11119
879
          if (yych <= 0x7F) goto yy960;
11120
438
          goto yy808;
11121
879
        }
11122
2.32k
      }
11123
3.64k
    }
11124
3.36k
yy957:
11125
3.36k
    YYDEBUG(957, *YYCURSOR);
11126
3.36k
    ++YYCURSOR;
11127
3.36k
    YYFILL(1);
11128
3.36k
    yych = *YYCURSOR;
11129
3.36k
    if (yych <= ')') {
11130
1.14k
      if (yych <= '\n') {
11131
694
        if (yych <= 0x00) goto yy86;
11132
436
        if (yych <= '\t') goto yy738;
11133
203
        goto yy787;
11134
454
      } else {
11135
454
        if (yych == '\r') goto yy787;
11136
217
        goto yy738;
11137
454
      }
11138
2.21k
    } else {
11139
2.21k
      if (yych <= 'S') {
11140
661
        if (yych <= '*') goto yy789;
11141
459
        if (yych <= 'R') goto yy738;
11142
264
        goto yy963;
11143
1.55k
      } else {
11144
1.55k
        if (yych == 's') goto yy963;
11145
247
        goto yy738;
11146
1.55k
      }
11147
2.21k
    }
11148
10.8k
yy958:
11149
10.8k
    YYDEBUG(958, *YYCURSOR);
11150
10.8k
    ++YYCURSOR;
11151
10.8k
    YYFILL(1);
11152
10.8k
    yych = *YYCURSOR;
11153
10.8k
    if (yych <= ')') {
11154
1.77k
      if (yych <= '\n') {
11155
1.33k
        if (yych <= 0x00) goto yy86;
11156
1.12k
        if (yych <= '\t') goto yy738;
11157
900
        goto yy787;
11158
1.12k
      } else {
11159
438
        if (yych == '\r') goto yy787;
11160
228
        goto yy738;
11161
438
      }
11162
9.06k
    } else {
11163
9.06k
      if (yych <= 'E') {
11164
3.43k
        if (yych <= '*') goto yy789;
11165
3.21k
        if (yych <= 'D') goto yy738;
11166
3.00k
        goto yy964;
11167
5.63k
      } else {
11168
5.63k
        if (yych == 'e') goto yy964;
11169
242
        goto yy738;
11170
5.63k
      }
11171
9.06k
    }
11172
1.86k
yy959:
11173
1.86k
    YYDEBUG(959, *YYCURSOR);
11174
1.86k
    ++YYCURSOR;
11175
1.86k
    YYFILL(1);
11176
1.86k
    yych = *YYCURSOR;
11177
1.86k
    if (yych <= 'S') {
11178
813
      if (yych <= 0x00) goto yy86;
11179
486
      if (yych == '*') goto yy668;
11180
241
      goto yy590;
11181
1.05k
    } else {
11182
1.05k
      if (yych <= 'T') goto yy945;
11183
658
      if (yych == 't') goto yy945;
11184
313
      goto yy590;
11185
658
    }
11186
2.47k
yy960:
11187
2.47k
    YYDEBUG(960, *YYCURSOR);
11188
2.47k
    yyaccept = 91;
11189
2.47k
    YYMARKER = ++YYCURSOR;
11190
2.47k
    YYFILL(1);
11191
2.47k
    yych = *YYCURSOR;
11192
2.47k
    if (yych <= '\f') {
11193
995
      if (yych <= 0x00) goto yy876;
11194
756
      if (yych == '\n') goto yy846;
11195
415
      goto yy808;
11196
1.48k
    } else {
11197
1.48k
      if (yych <= '\r') goto yy846;
11198
1.25k
      if (yych == '*') goto yy848;
11199
987
      goto yy808;
11200
1.25k
    }
11201
5.67k
yy961:
11202
5.67k
    YYDEBUG(961, *YYCURSOR);
11203
5.67k
    yyaccept = 91;
11204
5.67k
    YYMARKER = ++YYCURSOR;
11205
5.67k
    YYFILL(1);
11206
5.67k
    yych = *YYCURSOR;
11207
5.67k
    if (yych <= '#') {
11208
3.32k
      if (yych <= '\f') {
11209
1.41k
        if (yych <= 0x00) goto yy876;
11210
1.18k
        if (yych <= 0x08) goto yy696;
11211
966
        if (yych <= '\n') goto yy846;
11212
574
        goto yy696;
11213
1.90k
      } else {
11214
1.90k
        if (yych <= 0x1F) {
11215
1.00k
          if (yych <= '\r') goto yy846;
11216
212
          goto yy696;
11217
1.00k
        } else {
11218
909
          if (yych <= ' ') goto yy846;
11219
686
          if (yych <= '"') goto yy696;
11220
489
          goto yy877;
11221
686
        }
11222
1.90k
      }
11223
3.32k
    } else {
11224
2.35k
      if (yych <= '/') {
11225
756
        if (yych == '*') goto yy760;
11226
550
        if (yych <= '.') goto yy696;
11227
248
        goto yy878;
11228
1.59k
      } else {
11229
1.59k
        if (yych <= 'F') {
11230
731
          if (yych <= 'E') goto yy696;
11231
535
          goto yy879;
11232
864
        } else {
11233
864
          if (yych == 'f') goto yy879;
11234
360
          goto yy696;
11235
864
        }
11236
1.59k
      }
11237
2.35k
    }
11238
2.29k
yy962:
11239
2.29k
    YYDEBUG(962, *YYCURSOR);
11240
2.29k
    yyaccept = 91;
11241
2.29k
    YYMARKER = ++YYCURSOR;
11242
2.29k
    YYFILL(1);
11243
2.29k
    yych = *YYCURSOR;
11244
2.29k
    if (yych <= '\r') {
11245
1.45k
      if (yych <= '\t') {
11246
396
        if (yych <= 0x00) goto yy876;
11247
194
        goto yy808;
11248
1.06k
      } else {
11249
1.06k
        if (yych <= '\n') goto yy846;
11250
677
        if (yych <= '\f') goto yy808;
11251
271
        goto yy846;
11252
677
      }
11253
1.45k
    } else {
11254
838
      if (yych <= '*') {
11255
430
        if (yych <= ')') goto yy808;
11256
213
        goto yy848;
11257
430
      } else {
11258
408
        if (yych == '/') goto yy694;
11259
196
        goto yy808;
11260
408
      }
11261
838
    }
11262
1.57k
yy963:
11263
1.57k
    YYDEBUG(963, *YYCURSOR);
11264
1.57k
    yyaccept = 94;
11265
1.57k
    YYMARKER = ++YYCURSOR;
11266
1.57k
    YYFILL(1);
11267
1.57k
    yych = *YYCURSOR;
11268
1.57k
    if (yych <= '\f') {
11269
652
      if (yych <= 0x00) goto yy886;
11270
455
      if (yych == '\n') goto yy787;
11271
209
      goto yy738;
11272
923
    } else {
11273
923
      if (yych <= '\r') goto yy787;
11274
711
      if (yych == '*') goto yy789;
11275
504
      goto yy738;
11276
711
    }
11277
8.39k
yy964:
11278
8.39k
    YYDEBUG(964, *YYCURSOR);
11279
8.39k
    ++YYCURSOR;
11280
8.39k
    YYFILL(1);
11281
8.39k
    yych = *YYCURSOR;
11282
8.39k
    if (yych <= ')') {
11283
4.13k
      if (yych <= '\n') {
11284
3.72k
        if (yych <= 0x00) goto yy86;
11285
3.51k
        if (yych <= '\t') goto yy738;
11286
205
        goto yy787;
11287
3.51k
      } else {
11288
408
        if (yych == '\r') goto yy787;
11289
205
        goto yy738;
11290
408
      }
11291
4.25k
    } else {
11292
4.25k
      if (yych <= 'N') {
11293
1.50k
        if (yych <= '*') goto yy789;
11294
1.29k
        if (yych <= 'M') goto yy738;
11295
2.75k
      } else {
11296
2.75k
        if (yych != 'n') goto yy738;
11297
2.75k
      }
11298
4.25k
    }
11299
3.11k
    YYDEBUG(965, *YYCURSOR);
11300
3.11k
    ++YYCURSOR;
11301
3.11k
    YYFILL(1);
11302
3.11k
    yych = *YYCURSOR;
11303
3.11k
    if (yych <= ')') {
11304
1.14k
      if (yych <= '\n') {
11305
734
        if (yych <= 0x00) goto yy86;
11306
531
        if (yych <= '\t') goto yy738;
11307
332
        goto yy787;
11308
531
      } else {
11309
406
        if (yych == '\r') goto yy787;
11310
202
        goto yy738;
11311
406
      }
11312
1.97k
    } else {
11313
1.97k
      if (yych <= 'T') {
11314
668
        if (yych <= '*') goto yy789;
11315
458
        if (yych <= 'S') goto yy738;
11316
260
        goto yy957;
11317
1.30k
      } else {
11318
1.30k
        if (yych == 't') goto yy957;
11319
254
        goto yy738;
11320
1.30k
      }
11321
1.97k
    }
11322
3.11k
  }
11323
/* *********************************** */
11324
490k
yyc_ST_LOOKING_FOR_PROPERTY:
11325
490k
  {
11326
490k
    static const unsigned char yybm[] = {
11327
490k
        0,   0,   0,   0,   0,   0,   0,   0, 
11328
490k
        0,  64,  64,   0,   0,  64,   0,   0, 
11329
490k
        0,   0,   0,   0,   0,   0,   0,   0, 
11330
490k
        0,   0,   0,   0,   0,   0,   0,   0, 
11331
490k
       64,   0,   0,   0,   0,   0,   0,   0, 
11332
490k
        0,   0,   0,   0,   0,   0,   0,   0, 
11333
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11334
490k
      128, 128,   0,   0,   0,   0,   0,   0, 
11335
490k
        0, 128, 128, 128, 128, 128, 128, 128, 
11336
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11337
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11338
490k
      128, 128, 128,   0,   0,   0,   0, 128, 
11339
490k
        0, 128, 128, 128, 128, 128, 128, 128, 
11340
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11341
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11342
490k
      128, 128, 128,   0,   0,   0,   0,   0, 
11343
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11344
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11345
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11346
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11347
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11348
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11349
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11350
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11351
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11352
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11353
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11354
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11355
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11356
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11357
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11358
490k
      128, 128, 128, 128, 128, 128, 128, 128, 
11359
490k
    };
11360
490k
    YYDEBUG(966, *YYCURSOR);
11361
490k
    YYFILL(4);
11362
490k
    yych = *YYCURSOR;
11363
490k
    if (yybm[0+yych] & 64) {
11364
5.37k
      goto yy970;
11365
5.37k
    }
11366
484k
    if (yych <= '?') {
11367
171k
      if (yych <= '-') {
11368
52.7k
        if (yych == '#') goto yy973;
11369
49.6k
        if (yych >= '-') goto yy975;
11370
119k
      } else {
11371
119k
        if (yych == '/') goto yy976;
11372
112k
        if (yych >= '?') goto yy977;
11373
112k
      }
11374
312k
    } else {
11375
312k
      if (yych <= '_') {
11376
38.8k
        if (yych <= '@') goto yy968;
11377
38.6k
        if (yych <= 'Z') goto yy978;
11378
19.3k
        if (yych >= '_') goto yy978;
11379
273k
      } else {
11380
273k
        if (yych <= '`') goto yy968;
11381
273k
        if (yych <= 'z') goto yy978;
11382
16.8k
        if (yych >= 0x80) goto yy978;
11383
16.8k
      }
11384
312k
    }
11385
31.5k
yy968:
11386
31.5k
    YYDEBUG(968, *YYCURSOR);
11387
31.5k
    ++YYCURSOR;
11388
33.3k
yy969:
11389
33.3k
    YYDEBUG(969, *YYCURSOR);
11390
33.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11391
33.3k
#line 2520 "Zend/zend_language_scanner.l"
11392
33.3k
    {
11393
33.3k
  yyless(0);
11394
33.3k
  yy_pop_state();
11395
33.3k
  goto restart;
11396
31.5k
}
11397
0
#line 11398 "Zend/zend_language_scanner.c"
11398
8.39k
yy970:
11399
8.39k
    YYDEBUG(970, *YYCURSOR);
11400
8.39k
    ++YYCURSOR;
11401
8.39k
    YYFILL(1);
11402
8.39k
    yych = *YYCURSOR;
11403
8.39k
    YYDEBUG(971, *YYCURSOR);
11404
8.39k
    if (yybm[0+yych] & 64) {
11405
3.01k
      goto yy970;
11406
3.01k
    }
11407
5.37k
    YYDEBUG(972, *YYCURSOR);
11408
5.37k
    yyleng = YYCURSOR - SCNG(yy_text);
11409
5.37k
#line 1597 "Zend/zend_language_scanner.l"
11410
5.37k
    {
11411
5.37k
  goto return_whitespace;
11412
8.39k
}
11413
0
#line 11414 "Zend/zend_language_scanner.c"
11414
3.88k
yy973:
11415
3.88k
    YYDEBUG(973, *YYCURSOR);
11416
3.88k
    ++YYCURSOR;
11417
3.88k
    YYDEBUG(974, *YYCURSOR);
11418
3.88k
    yyleng = YYCURSOR - SCNG(yy_text);
11419
3.88k
#line 2460 "Zend/zend_language_scanner.l"
11420
3.88k
    {
11421
102k
  while (YYCURSOR < YYLIMIT) {
11422
102k
    switch (*YYCURSOR++) {
11423
834
      case '\r':
11424
3.22k
      case '\n':
11425
3.22k
        YYCURSOR--;
11426
3.22k
        break;
11427
1.30k
      case '?':
11428
1.30k
        if (*YYCURSOR == '>') {
11429
217
          YYCURSOR--;
11430
217
          break;
11431
217
        }
11432
1.09k
        ZEND_FALLTHROUGH;
11433
99.0k
      default:
11434
99.0k
        continue;
11435
102k
    }
11436
11437
3.44k
    break;
11438
102k
  }
11439
11440
3.88k
  yyleng = YYCURSOR - SCNG(yy_text);
11441
3.88k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11442
3.88k
}
11443
0
#line 11444 "Zend/zend_language_scanner.c"
11444
38.8k
yy975:
11445
38.8k
    YYDEBUG(975, *YYCURSOR);
11446
38.8k
    yych = *++YYCURSOR;
11447
38.8k
    if (yych == '>') goto yy981;
11448
490
    goto yy969;
11449
6.44k
yy976:
11450
6.44k
    YYDEBUG(976, *YYCURSOR);
11451
6.44k
    yych = *++YYCURSOR;
11452
6.44k
    if (yych == '*') goto yy983;
11453
1.24k
    if (yych == '/') goto yy973;
11454
457
    goto yy969;
11455
110k
yy977:
11456
110k
    YYDEBUG(977, *YYCURSOR);
11457
110k
    yyaccept = 0;
11458
110k
    yych = *(YYMARKER = ++YYCURSOR);
11459
110k
    if (yych == '-') goto yy985;
11460
615
    goto yy969;
11461
1.23M
yy978:
11462
1.23M
    YYDEBUG(978, *YYCURSOR);
11463
1.23M
    ++YYCURSOR;
11464
1.23M
    YYFILL(1);
11465
1.23M
    yych = *YYCURSOR;
11466
1.23M
    YYDEBUG(979, *YYCURSOR);
11467
1.23M
    if (yybm[0+yych] & 128) {
11468
936k
      goto yy978;
11469
936k
    }
11470
294k
    YYDEBUG(980, *YYCURSOR);
11471
294k
    yyleng = YYCURSOR - SCNG(yy_text);
11472
294k
#line 1609 "Zend/zend_language_scanner.l"
11473
294k
    {
11474
294k
  yy_pop_state();
11475
294k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
11476
294k
}
11477
0
#line 11478 "Zend/zend_language_scanner.c"
11478
38.3k
yy981:
11479
38.3k
    YYDEBUG(981, *YYCURSOR);
11480
38.3k
    ++YYCURSOR;
11481
38.3k
    YYDEBUG(982, *YYCURSOR);
11482
38.3k
    yyleng = YYCURSOR - SCNG(yy_text);
11483
38.3k
#line 1601 "Zend/zend_language_scanner.l"
11484
38.3k
    {
11485
38.3k
  RETURN_TOKEN(T_OBJECT_OPERATOR);
11486
38.3k
}
11487
0
#line 11488 "Zend/zend_language_scanner.c"
11488
5.20k
yy983:
11489
5.20k
    YYDEBUG(983, *YYCURSOR);
11490
5.20k
    yyaccept = 1;
11491
5.20k
    yych = *(YYMARKER = ++YYCURSOR);
11492
5.20k
    if (yych == '*') goto yy987;
11493
5.20k
yy984:
11494
5.20k
    YYDEBUG(984, *YYCURSOR);
11495
5.20k
    yyleng = YYCURSOR - SCNG(yy_text);
11496
5.20k
#line 2484 "Zend/zend_language_scanner.l"
11497
5.20k
    {
11498
5.20k
  int doc_com;
11499
11500
5.20k
  if (yyleng > 2) {
11501
2.34k
    doc_com = 1;
11502
2.34k
    RESET_DOC_COMMENT();
11503
2.86k
  } else {
11504
2.86k
    doc_com = 0;
11505
2.86k
  }
11506
11507
422k
  while (YYCURSOR < YYLIMIT) {
11508
421k
    if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
11509
4.02k
      break;
11510
4.02k
    }
11511
421k
  }
11512
11513
5.20k
  if (YYCURSOR < YYLIMIT) {
11514
4.02k
    YYCURSOR++;
11515
4.02k
  } else {
11516
1.17k
    zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %" PRIu32, CG(zend_lineno));
11517
1.17k
    if (PARSER_MODE()) {
11518
110
      RETURN_TOKEN(T_ERROR);
11519
110
    }
11520
1.17k
  }
11521
11522
5.09k
  yyleng = YYCURSOR - SCNG(yy_text);
11523
5.09k
  HANDLE_NEWLINES(yytext, yyleng);
11524
11525
5.09k
  if (doc_com) {
11526
2.28k
    CG(doc_comment) = zend_string_init(yytext, yyleng, 0);
11527
2.28k
    RETURN_OR_SKIP_TOKEN(T_DOC_COMMENT);
11528
2.28k
  }
11529
11530
2.80k
  RETURN_OR_SKIP_TOKEN(T_COMMENT);
11531
2.80k
}
11532
0
#line 11533 "Zend/zend_language_scanner.c"
11533
109k
yy985:
11534
109k
    YYDEBUG(985, *YYCURSOR);
11535
109k
    yych = *++YYCURSOR;
11536
109k
    if (yych == '>') goto yy988;
11537
1.89k
yy986:
11538
1.89k
    YYDEBUG(986, *YYCURSOR);
11539
1.89k
    YYCURSOR = YYMARKER;
11540
1.89k
    if (yyaccept == 0) {
11541
261
      goto yy969;
11542
1.63k
    } else {
11543
1.63k
      goto yy984;
11544
1.63k
    }
11545
3.97k
yy987:
11546
3.97k
    YYDEBUG(987, *YYCURSOR);
11547
3.97k
    yych = *++YYCURSOR;
11548
3.97k
    if (yych <= '\f') {
11549
1.90k
      if (yych <= 0x08) goto yy986;
11550
1.46k
      if (yych <= '\n') goto yy990;
11551
216
      goto yy986;
11552
2.07k
    } else {
11553
2.07k
      if (yych <= '\r') goto yy990;
11554
1.64k
      if (yych == ' ') goto yy990;
11555
975
      goto yy986;
11556
1.64k
    }
11557
109k
yy988:
11558
109k
    YYDEBUG(988, *YYCURSOR);
11559
109k
    ++YYCURSOR;
11560
109k
    YYDEBUG(989, *YYCURSOR);
11561
109k
    yyleng = YYCURSOR - SCNG(yy_text);
11562
109k
#line 1605 "Zend/zend_language_scanner.l"
11563
109k
    {
11564
109k
  RETURN_TOKEN(T_NULLSAFE_OBJECT_OPERATOR);
11565
109k
}
11566
0
#line 11567 "Zend/zend_language_scanner.c"
11567
3.31k
yy990:
11568
3.31k
    YYDEBUG(990, *YYCURSOR);
11569
3.31k
    ++YYCURSOR;
11570
3.31k
    YYFILL(1);
11571
3.31k
    yych = *YYCURSOR;
11572
3.31k
    YYDEBUG(991, *YYCURSOR);
11573
3.31k
    if (yych <= '\f') {
11574
1.47k
      if (yych <= 0x08) goto yy984;
11575
925
      if (yych <= '\n') goto yy990;
11576
611
      goto yy984;
11577
1.83k
    } else {
11578
1.83k
      if (yych <= '\r') goto yy990;
11579
1.41k
      if (yych == ' ') goto yy990;
11580
1.17k
      goto yy984;
11581
1.41k
    }
11582
3.31k
  }
11583
/* *********************************** */
11584
266k
yyc_ST_BACKQUOTE:
11585
266k
  {
11586
266k
    static const unsigned char yybm[] = {
11587
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11588
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11589
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11590
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11591
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11592
266k
        0,   0,   0,   0,   0,   0,   0,   0, 
11593
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11594
266k
      128, 128,   0,   0,   0,   0,   0,   0, 
11595
266k
        0, 128, 128, 128, 128, 128, 128, 128, 
11596
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11597
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11598
266k
      128, 128, 128,   0,   0,   0,   0, 128, 
11599
266k
        0, 128, 128, 128, 128, 128, 128, 128, 
11600
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11601
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11602
266k
      128, 128, 128,   0,   0,   0,   0,   0, 
11603
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11604
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11605
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11606
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11607
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11608
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11609
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11610
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11611
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11612
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11613
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11614
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11615
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11616
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11617
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11618
266k
      128, 128, 128, 128, 128, 128, 128, 128, 
11619
266k
    };
11620
266k
    YYDEBUG(992, *YYCURSOR);
11621
266k
    YYFILL(2);
11622
266k
    yych = *YYCURSOR;
11623
266k
    if (yych <= '_') {
11624
208k
      if (yych == '$') goto yy996;
11625
208k
    } else {
11626
57.1k
      if (yych <= '`') goto yy997;
11627
17.3k
      if (yych == '{') goto yy999;
11628
17.3k
    }
11629
117k
    YYDEBUG(994, *YYCURSOR);
11630
117k
    ++YYCURSOR;
11631
124k
yy995:
11632
124k
    YYDEBUG(995, *YYCURSOR);
11633
124k
    yyleng = YYCURSOR - SCNG(yy_text);
11634
124k
#line 2918 "Zend/zend_language_scanner.l"
11635
124k
    {
11636
124k
  if (YYCURSOR > YYLIMIT) {
11637
7.59k
    RETURN_END_TOKEN;
11638
7.59k
  }
11639
117k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11640
2.64k
    YYCURSOR++;
11641
2.64k
  }
11642
11643
5.01M
  while (YYCURSOR < YYLIMIT) {
11644
5.00M
    switch (*YYCURSOR++) {
11645
17.4k
      case '`':
11646
17.4k
        break;
11647
116k
      case '$':
11648
116k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11649
90.8k
          break;
11650
90.8k
        }
11651
25.6k
        continue;
11652
25.6k
      case '{':
11653
23.8k
        if (*YYCURSOR == '$') {
11654
1.83k
          break;
11655
1.83k
        }
11656
22.0k
        continue;
11657
33.3k
      case '\\':
11658
33.3k
        if (YYCURSOR < YYLIMIT) {
11659
32.6k
          YYCURSOR++;
11660
32.6k
        }
11661
33.3k
        ZEND_FALLTHROUGH;
11662
4.84M
      default:
11663
4.84M
        continue;
11664
5.00M
    }
11665
11666
110k
    YYCURSOR--;
11667
110k
    break;
11668
5.00M
  }
11669
11670
117k
  yyleng = YYCURSOR - SCNG(yy_text);
11671
11672
117k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '`') == SUCCESS)
11673
117k
   || !PARSER_MODE()) {
11674
117k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11675
117k
  } else {
11676
10
    RETURN_TOKEN(T_ERROR);
11677
10
  }
11678
117k
}
11679
0
#line 11680 "Zend/zend_language_scanner.c"
11680
105k
yy996:
11681
105k
    YYDEBUG(996, *YYCURSOR);
11682
105k
    yych = *++YYCURSOR;
11683
105k
    if (yych <= '_') {
11684
12.7k
      if (yych <= '@') goto yy995;
11685
10.8k
      if (yych <= 'Z') goto yy1000;
11686
5.82k
      if (yych <= '^') goto yy995;
11687
3.00k
      goto yy1000;
11688
92.4k
    } else {
11689
92.4k
      if (yych <= 'z') {
11690
61.8k
        if (yych <= '`') goto yy995;
11691
61.5k
        goto yy1000;
11692
61.8k
      } else {
11693
30.5k
        if (yych <= '{') goto yy1003;
11694
10.9k
        if (yych <= 0x7F) goto yy995;
11695
10.7k
        goto yy1000;
11696
10.9k
      }
11697
92.4k
    }
11698
39.7k
yy997:
11699
39.7k
    YYDEBUG(997, *YYCURSOR);
11700
39.7k
    ++YYCURSOR;
11701
39.7k
    YYDEBUG(998, *YYCURSOR);
11702
39.7k
    yyleng = YYCURSOR - SCNG(yy_text);
11703
39.7k
#line 2858 "Zend/zend_language_scanner.l"
11704
39.7k
    {
11705
39.7k
  BEGIN(ST_IN_SCRIPTING);
11706
39.7k
  RETURN_TOKEN('`');
11707
39.7k
}
11708
0
#line 11709 "Zend/zend_language_scanner.c"
11709
3.48k
yy999:
11710
3.48k
    YYDEBUG(999, *YYCURSOR);
11711
3.48k
    yych = *++YYCURSOR;
11712
3.48k
    if (yych == '$') goto yy1005;
11713
1.59k
    goto yy995;
11714
310k
yy1000:
11715
310k
    YYDEBUG(1000, *YYCURSOR);
11716
310k
    YYMARKER = ++YYCURSOR;
11717
310k
    YYFILL(4);
11718
310k
    yych = *YYCURSOR;
11719
310k
    YYDEBUG(1001, *YYCURSOR);
11720
310k
    if (yybm[0+yych] & 128) {
11721
230k
      goto yy1000;
11722
230k
    }
11723
80.2k
    if (yych <= '>') {
11724
51.8k
      if (yych == '-') goto yy1007;
11725
51.8k
    } else {
11726
28.3k
      if (yych <= '?') goto yy1009;
11727
6.84k
      if (yych <= '@') goto yy1002;
11728
6.46k
      if (yych <= '[') goto yy1010;
11729
6.46k
    }
11730
64.9k
yy1002:
11731
64.9k
    YYDEBUG(1002, *YYCURSOR);
11732
64.9k
    yyleng = YYCURSOR - SCNG(yy_text);
11733
64.9k
#line 2417 "Zend/zend_language_scanner.l"
11734
64.9k
    {
11735
64.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11736
64.9k
}
11737
0
#line 11738 "Zend/zend_language_scanner.c"
11738
19.5k
yy1003:
11739
19.5k
    YYDEBUG(1003, *YYCURSOR);
11740
19.5k
    ++YYCURSOR;
11741
19.5k
    YYDEBUG(1004, *YYCURSOR);
11742
19.5k
    yyleng = YYCURSOR - SCNG(yy_text);
11743
19.5k
#line 1981 "Zend/zend_language_scanner.l"
11744
19.5k
    {
11745
19.5k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
11746
19.5k
  enter_nesting('{');
11747
19.5k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
11748
19.5k
}
11749
0
#line 11750 "Zend/zend_language_scanner.c"
11750
1.89k
yy1005:
11751
1.89k
    YYDEBUG(1005, *YYCURSOR);
11752
1.89k
    ++YYCURSOR;
11753
1.89k
    YYDEBUG(1006, *YYCURSOR);
11754
1.89k
    yyleng = YYCURSOR - SCNG(yy_text);
11755
1.89k
#line 2845 "Zend/zend_language_scanner.l"
11756
1.89k
    {
11757
1.89k
  yy_push_state(ST_IN_SCRIPTING);
11758
1.89k
  yyless(1);
11759
1.89k
  enter_nesting('{');
11760
1.89k
  RETURN_TOKEN(T_CURLY_OPEN);
11761
1.89k
}
11762
0
#line 11763 "Zend/zend_language_scanner.c"
11763
8.01k
yy1007:
11764
8.01k
    YYDEBUG(1007, *YYCURSOR);
11765
8.01k
    yych = *++YYCURSOR;
11766
8.01k
    if (yych == '>') goto yy1012;
11767
17.3k
yy1008:
11768
17.3k
    YYDEBUG(1008, *YYCURSOR);
11769
17.3k
    YYCURSOR = YYMARKER;
11770
17.3k
    goto yy1002;
11771
21.5k
yy1009:
11772
21.5k
    YYDEBUG(1009, *YYCURSOR);
11773
21.5k
    yych = *++YYCURSOR;
11774
21.5k
    if (yych == '-') goto yy1013;
11775
9.99k
    goto yy1008;
11776
9.99k
yy1010:
11777
3.12k
    YYDEBUG(1010, *YYCURSOR);
11778
3.12k
    ++YYCURSOR;
11779
3.12k
    YYDEBUG(1011, *YYCURSOR);
11780
3.12k
    yyleng = YYCURSOR - SCNG(yy_text);
11781
3.12k
#line 2411 "Zend/zend_language_scanner.l"
11782
3.12k
    {
11783
3.12k
  yyless(yyleng - 1);
11784
3.12k
  yy_push_state(ST_VAR_OFFSET);
11785
3.12k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11786
3.12k
}
11787
0
#line 11788 "Zend/zend_language_scanner.c"
11788
5.20k
yy1012:
11789
5.20k
    YYDEBUG(1012, *YYCURSOR);
11790
5.20k
    yych = *++YYCURSOR;
11791
5.20k
    if (yych <= '_') {
11792
1.74k
      if (yych <= '@') goto yy1008;
11793
1.18k
      if (yych <= 'Z') goto yy1014;
11794
517
      if (yych <= '^') goto yy1008;
11795
252
      goto yy1014;
11796
3.45k
    } else {
11797
3.45k
      if (yych <= '`') goto yy1008;
11798
3.25k
      if (yych <= 'z') goto yy1014;
11799
1.88k
      if (yych <= 0x7F) goto yy1008;
11800
1.11k
      goto yy1014;
11801
1.88k
    }
11802
11.5k
yy1013:
11803
11.5k
    YYDEBUG(1013, *YYCURSOR);
11804
11.5k
    yych = *++YYCURSOR;
11805
11.5k
    if (yych == '>') goto yy1016;
11806
1.20k
    goto yy1008;
11807
3.40k
yy1014:
11808
3.40k
    YYDEBUG(1014, *YYCURSOR);
11809
3.40k
    ++YYCURSOR;
11810
3.40k
    YYDEBUG(1015, *YYCURSOR);
11811
3.40k
    yyleng = YYCURSOR - SCNG(yy_text);
11812
3.40k
#line 2397 "Zend/zend_language_scanner.l"
11813
3.40k
    {
11814
3.40k
  yyless(yyleng - 3);
11815
3.40k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11816
3.40k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11817
3.40k
}
11818
0
#line 11819 "Zend/zend_language_scanner.c"
11819
10.3k
yy1016:
11820
10.3k
    YYDEBUG(1016, *YYCURSOR);
11821
10.3k
    yych = *++YYCURSOR;
11822
10.3k
    if (yych <= '_') {
11823
1.77k
      if (yych <= '@') goto yy1008;
11824
1.17k
      if (yych <= 'Z') goto yy1017;
11825
904
      if (yych <= '^') goto yy1008;
11826
8.56k
    } else {
11827
8.56k
      if (yych <= '`') goto yy1008;
11828
8.09k
      if (yych <= 'z') goto yy1017;
11829
706
      if (yych <= 0x7F) goto yy1008;
11830
706
    }
11831
8.74k
yy1017:
11832
8.74k
    YYDEBUG(1017, *YYCURSOR);
11833
8.74k
    ++YYCURSOR;
11834
8.74k
    YYDEBUG(1018, *YYCURSOR);
11835
8.74k
    yyleng = YYCURSOR - SCNG(yy_text);
11836
8.74k
#line 2403 "Zend/zend_language_scanner.l"
11837
8.74k
    {
11838
8.74k
  yyless(yyleng - 4);
11839
8.74k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
11840
8.74k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
11841
8.74k
}
11842
8.74k
#line 11843 "Zend/zend_language_scanner.c"
11843
8.74k
  }
11844
/* *********************************** */
11845
826k
yyc_ST_DOUBLE_QUOTES:
11846
826k
  {
11847
826k
    static const unsigned char yybm[] = {
11848
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11849
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11850
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11851
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11852
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11853
826k
        0,   0,   0,   0,   0,   0,   0,   0, 
11854
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11855
826k
      128, 128,   0,   0,   0,   0,   0,   0, 
11856
826k
        0, 128, 128, 128, 128, 128, 128, 128, 
11857
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11858
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11859
826k
      128, 128, 128,   0,   0,   0,   0, 128, 
11860
826k
        0, 128, 128, 128, 128, 128, 128, 128, 
11861
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11862
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11863
826k
      128, 128, 128,   0,   0,   0,   0,   0, 
11864
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11865
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11866
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11867
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11868
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11869
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11870
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11871
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11872
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11873
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11874
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11875
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11876
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11877
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11878
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11879
826k
      128, 128, 128, 128, 128, 128, 128, 128, 
11880
826k
    };
11881
826k
    YYDEBUG(1019, *YYCURSOR);
11882
826k
    YYFILL(2);
11883
826k
    yych = *YYCURSOR;
11884
826k
    if (yych <= '#') {
11885
142k
      if (yych == '"') goto yy1023;
11886
683k
    } else {
11887
683k
      if (yych <= '$') goto yy1025;
11888
314k
      if (yych == '{') goto yy1026;
11889
314k
    }
11890
395k
    YYDEBUG(1021, *YYCURSOR);
11891
395k
    ++YYCURSOR;
11892
413k
yy1022:
11893
413k
    YYDEBUG(1022, *YYCURSOR);
11894
413k
    yyleng = YYCURSOR - SCNG(yy_text);
11895
413k
#line 2864 "Zend/zend_language_scanner.l"
11896
413k
    {
11897
413k
  if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
11898
102k
    YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
11899
102k
    SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
11900
11901
102k
    goto double_quotes_scan_done;
11902
102k
  }
11903
11904
310k
  if (YYCURSOR > YYLIMIT) {
11905
14.6k
    RETURN_END_TOKEN;
11906
14.6k
  }
11907
296k
  if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
11908
11.4k
    YYCURSOR++;
11909
11.4k
  }
11910
11911
6.84M
  while (YYCURSOR < YYLIMIT) {
11912
6.84M
    switch (*YYCURSOR++) {
11913
47.6k
      case '"':
11914
47.6k
        break;
11915
286k
      case '$':
11916
286k
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
11917
241k
          break;
11918
241k
        }
11919
45.2k
        continue;
11920
45.2k
      case '{':
11921
27.4k
        if (*YYCURSOR == '$') {
11922
2.58k
          break;
11923
2.58k
        }
11924
24.8k
        continue;
11925
32.6k
      case '\\':
11926
32.6k
        if (YYCURSOR < YYLIMIT) {
11927
32.3k
          YYCURSOR++;
11928
32.3k
        }
11929
32.6k
        ZEND_FALLTHROUGH;
11930
6.48M
      default:
11931
6.48M
        continue;
11932
6.84M
    }
11933
11934
291k
    YYCURSOR--;
11935
291k
    break;
11936
6.84M
  }
11937
11938
398k
double_quotes_scan_done:
11939
398k
  yyleng = YYCURSOR - SCNG(yy_text);
11940
11941
398k
  if (EXPECTED(zend_scan_escape_string(zendlval, yytext, yyleng, '"') == SUCCESS)
11942
398k
   || !PARSER_MODE()) {
11943
398k
    RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
11944
398k
  } else {
11945
50
    RETURN_TOKEN(T_ERROR);
11946
50
  }
11947
398k
}
11948
0
#line 11949 "Zend/zend_language_scanner.c"
11949
52.2k
yy1023:
11950
52.2k
    YYDEBUG(1023, *YYCURSOR);
11951
52.2k
    ++YYCURSOR;
11952
52.2k
    YYDEBUG(1024, *YYCURSOR);
11953
52.2k
    yyleng = YYCURSOR - SCNG(yy_text);
11954
52.2k
#line 2853 "Zend/zend_language_scanner.l"
11955
52.2k
    {
11956
52.2k
  BEGIN(ST_IN_SCRIPTING);
11957
52.2k
  RETURN_TOKEN('"');
11958
52.2k
}
11959
0
#line 11960 "Zend/zend_language_scanner.c"
11960
369k
yy1025:
11961
369k
    YYDEBUG(1025, *YYCURSOR);
11962
369k
    yych = *++YYCURSOR;
11963
369k
    if (yych <= '_') {
11964
48.8k
      if (yych <= '@') goto yy1022;
11965
35.0k
      if (yych <= 'Z') goto yy1027;
11966
3.72k
      if (yych <= '^') goto yy1022;
11967
3.23k
      goto yy1027;
11968
321k
    } else {
11969
321k
      if (yych <= 'z') {
11970
247k
        if (yych <= '`') goto yy1022;
11971
246k
        goto yy1027;
11972
247k
      } else {
11973
73.5k
        if (yych <= '{') goto yy1030;
11974
26.7k
        if (yych <= 0x7F) goto yy1022;
11975
26.4k
        goto yy1027;
11976
26.7k
      }
11977
321k
    }
11978
8.34k
yy1026:
11979
8.34k
    YYDEBUG(1026, *YYCURSOR);
11980
8.34k
    yych = *++YYCURSOR;
11981
8.34k
    if (yych == '$') goto yy1032;
11982
2.16k
    goto yy1022;
11983
996k
yy1027:
11984
996k
    YYDEBUG(1027, *YYCURSOR);
11985
996k
    YYMARKER = ++YYCURSOR;
11986
996k
    YYFILL(4);
11987
996k
    yych = *YYCURSOR;
11988
996k
    YYDEBUG(1028, *YYCURSOR);
11989
996k
    if (yybm[0+yych] & 128) {
11990
688k
      goto yy1027;
11991
688k
    }
11992
307k
    if (yych <= '>') {
11993
167k
      if (yych == '-') goto yy1034;
11994
167k
    } else {
11995
139k
      if (yych <= '?') goto yy1036;
11996
26.6k
      if (yych <= '@') goto yy1029;
11997
25.9k
      if (yych <= '[') goto yy1037;
11998
25.9k
    }
11999
232k
yy1029:
12000
232k
    YYDEBUG(1029, *YYCURSOR);
12001
232k
    yyleng = YYCURSOR - SCNG(yy_text);
12002
232k
#line 2417 "Zend/zend_language_scanner.l"
12003
232k
    {
12004
232k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12005
232k
}
12006
0
#line 12007 "Zend/zend_language_scanner.c"
12007
46.7k
yy1030:
12008
46.7k
    YYDEBUG(1030, *YYCURSOR);
12009
46.7k
    ++YYCURSOR;
12010
46.7k
    YYDEBUG(1031, *YYCURSOR);
12011
46.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12012
46.7k
#line 1981 "Zend/zend_language_scanner.l"
12013
46.7k
    {
12014
46.7k
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12015
46.7k
  enter_nesting('{');
12016
46.7k
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12017
46.7k
}
12018
0
#line 12019 "Zend/zend_language_scanner.c"
12019
6.17k
yy1032:
12020
6.17k
    YYDEBUG(1032, *YYCURSOR);
12021
6.17k
    ++YYCURSOR;
12022
6.17k
    YYDEBUG(1033, *YYCURSOR);
12023
6.17k
    yyleng = YYCURSOR - SCNG(yy_text);
12024
6.17k
#line 2845 "Zend/zend_language_scanner.l"
12025
6.17k
    {
12026
6.17k
  yy_push_state(ST_IN_SCRIPTING);
12027
6.17k
  yyless(1);
12028
6.17k
  enter_nesting('{');
12029
6.17k
  RETURN_TOKEN(T_CURLY_OPEN);
12030
6.17k
}
12031
0
#line 12032 "Zend/zend_language_scanner.c"
12032
29.0k
yy1034:
12033
29.0k
    YYDEBUG(1034, *YYCURSOR);
12034
29.0k
    yych = *++YYCURSOR;
12035
29.0k
    if (yych == '>') goto yy1039;
12036
77.2k
yy1035:
12037
77.2k
    YYDEBUG(1035, *YYCURSOR);
12038
77.2k
    YYCURSOR = YYMARKER;
12039
77.2k
    goto yy1029;
12040
113k
yy1036:
12041
113k
    YYDEBUG(1036, *YYCURSOR);
12042
113k
    yych = *++YYCURSOR;
12043
113k
    if (yych == '-') goto yy1040;
12044
62.0k
    goto yy1035;
12045
62.0k
yy1037:
12046
10.1k
    YYDEBUG(1037, *YYCURSOR);
12047
10.1k
    ++YYCURSOR;
12048
10.1k
    YYDEBUG(1038, *YYCURSOR);
12049
10.1k
    yyleng = YYCURSOR - SCNG(yy_text);
12050
10.1k
#line 2411 "Zend/zend_language_scanner.l"
12051
10.1k
    {
12052
10.1k
  yyless(yyleng - 1);
12053
10.1k
  yy_push_state(ST_VAR_OFFSET);
12054
10.1k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12055
10.1k
}
12056
0
#line 12057 "Zend/zend_language_scanner.c"
12057
22.5k
yy1039:
12058
22.5k
    YYDEBUG(1039, *YYCURSOR);
12059
22.5k
    yych = *++YYCURSOR;
12060
22.5k
    if (yych <= '_') {
12061
14.5k
      if (yych <= '@') goto yy1035;
12062
13.1k
      if (yych <= 'Z') goto yy1041;
12063
814
      if (yych <= '^') goto yy1035;
12064
401
      goto yy1041;
12065
8.03k
    } else {
12066
8.03k
      if (yych <= '`') goto yy1035;
12067
7.84k
      if (yych <= 'z') goto yy1041;
12068
2.13k
      if (yych <= 0x7F) goto yy1035;
12069
660
      goto yy1041;
12070
2.13k
    }
12071
51.3k
yy1040:
12072
51.3k
    YYDEBUG(1040, *YYCURSOR);
12073
51.3k
    yych = *++YYCURSOR;
12074
51.3k
    if (yych == '>') goto yy1043;
12075
2.64k
    goto yy1035;
12076
19.0k
yy1041:
12077
19.0k
    YYDEBUG(1041, *YYCURSOR);
12078
19.0k
    ++YYCURSOR;
12079
19.0k
    YYDEBUG(1042, *YYCURSOR);
12080
19.0k
    yyleng = YYCURSOR - SCNG(yy_text);
12081
19.0k
#line 2397 "Zend/zend_language_scanner.l"
12082
19.0k
    {
12083
19.0k
  yyless(yyleng - 3);
12084
19.0k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12085
19.0k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12086
19.0k
}
12087
0
#line 12088 "Zend/zend_language_scanner.c"
12088
48.6k
yy1043:
12089
48.6k
    YYDEBUG(1043, *YYCURSOR);
12090
48.6k
    yych = *++YYCURSOR;
12091
48.6k
    if (yych <= '_') {
12092
2.42k
      if (yych <= '@') goto yy1035;
12093
1.05k
      if (yych <= 'Z') goto yy1044;
12094
822
      if (yych <= '^') goto yy1035;
12095
46.2k
    } else {
12096
46.2k
      if (yych <= '`') goto yy1035;
12097
45.9k
      if (yych <= 'z') goto yy1044;
12098
1.12k
      if (yych <= 0x7F) goto yy1035;
12099
1.12k
    }
12100
45.9k
yy1044:
12101
45.9k
    YYDEBUG(1044, *YYCURSOR);
12102
45.9k
    ++YYCURSOR;
12103
45.9k
    YYDEBUG(1045, *YYCURSOR);
12104
45.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12105
45.9k
#line 2403 "Zend/zend_language_scanner.l"
12106
45.9k
    {
12107
45.9k
  yyless(yyleng - 4);
12108
45.9k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12109
45.9k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12110
45.9k
}
12111
45.9k
#line 12112 "Zend/zend_language_scanner.c"
12112
45.9k
  }
12113
/* *********************************** */
12114
6.09M
yyc_ST_HEREDOC:
12115
6.09M
  {
12116
6.09M
    static const unsigned char yybm[] = {
12117
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12118
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12119
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12120
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12121
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12122
6.09M
        0,   0,   0,   0,   0,   0,   0,   0, 
12123
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12124
6.09M
      128, 128,   0,   0,   0,   0,   0,   0, 
12125
6.09M
        0, 128, 128, 128, 128, 128, 128, 128, 
12126
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12127
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12128
6.09M
      128, 128, 128,   0,   0,   0,   0, 128, 
12129
6.09M
        0, 128, 128, 128, 128, 128, 128, 128, 
12130
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12131
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12132
6.09M
      128, 128, 128,   0,   0,   0,   0,   0, 
12133
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12134
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12135
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12136
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12137
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12138
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12139
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12140
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12141
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12142
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12143
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12144
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12145
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12146
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12147
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12148
6.09M
      128, 128, 128, 128, 128, 128, 128, 128, 
12149
6.09M
    };
12150
6.09M
    YYDEBUG(1046, *YYCURSOR);
12151
6.09M
    YYFILL(2);
12152
6.09M
    yych = *YYCURSOR;
12153
6.09M
    if (yych == '$') goto yy1050;
12154
1.37M
    if (yych == '{') goto yy1051;
12155
1.26M
    YYDEBUG(1048, *YYCURSOR);
12156
1.26M
    ++YYCURSOR;
12157
1.56M
yy1049:
12158
1.56M
    YYDEBUG(1049, *YYCURSOR);
12159
1.56M
    yyleng = YYCURSOR - SCNG(yy_text);
12160
1.56M
#line 2964 "Zend/zend_language_scanner.l"
12161
1.56M
    {
12162
1.56M
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
12163
1.56M
  int newline = 0, indentation = 0, spacing = 0;
12164
12165
1.56M
  if (YYCURSOR > YYLIMIT) {
12166
24.2k
    RETURN_END_TOKEN;
12167
24.2k
  }
12168
12169
1.53M
  YYCURSOR--;
12170
12171
35.4M
  while (YYCURSOR < YYLIMIT) {
12172
35.4M
    switch (*YYCURSOR++) {
12173
219k
      case '\r':
12174
219k
        if (*YYCURSOR == '\n') {
12175
22.2k
          YYCURSOR++;
12176
22.2k
        }
12177
219k
        ZEND_FALLTHROUGH;
12178
2.11M
      case '\n':
12179
2.11M
        indentation = spacing = 0;
12180
12181
2.95M
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
12182
835k
          if (*YYCURSOR == '\t') {
12183
16.1k
            spacing |= HEREDOC_USING_TABS;
12184
819k
          } else {
12185
819k
            spacing |= HEREDOC_USING_SPACES;
12186
819k
          }
12187
835k
          ++YYCURSOR;
12188
835k
          ++indentation;
12189
835k
        }
12190
12191
2.11M
        if (YYCURSOR == YYLIMIT) {
12192
2.57k
          yyleng = YYCURSOR - SCNG(yy_text);
12193
2.57k
          HANDLE_NEWLINES(yytext, yyleng);
12194
2.57k
          ZVAL_NULL(zendlval);
12195
2.57k
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12196
2.57k
        }
12197
12198
        /* Check for ending label on the next line */
12199
2.11M
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
12200
33.2k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
12201
16.2k
            continue;
12202
16.2k
          }
12203
12204
16.9k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
12205
214
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
12206
214
            if (PARSER_MODE()) {
12207
12
              RETURN_TOKEN(T_ERROR);
12208
12
            }
12209
214
          }
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
16.9k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
12214
263
            newline = 2; /* Windows newline */
12215
16.6k
          } else {
12216
16.6k
            newline = 1;
12217
16.6k
          }
12218
12219
16.9k
          CG(increment_lineno) = 1; /* For newline before label */
12220
12221
16.9k
          if (SCNG(heredoc_scan_ahead)) {
12222
11.6k
            SCNG(heredoc_indentation) = indentation;
12223
11.6k
            SCNG(heredoc_indentation_uses_spaces) = (spacing == HEREDOC_USING_SPACES);
12224
11.6k
          } else {
12225
5.29k
            YYCURSOR -= indentation;
12226
5.29k
          }
12227
12228
16.9k
          BEGIN(ST_END_HEREDOC);
12229
12230
16.9k
          goto heredoc_scan_done;
12231
16.9k
        }
12232
2.08M
        continue;
12233
2.46M
      case '$':
12234
2.46M
        if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
12235
1.46M
          break;
12236
1.46M
        }
12237
1.00M
        continue;
12238
1.00M
      case '{':
12239
401k
        if (*YYCURSOR == '$') {
12240
37.6k
          break;
12241
37.6k
        }
12242
363k
        continue;
12243
363k
      case '\\':
12244
114k
        if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
12245
109k
          YYCURSOR++;
12246
109k
        }
12247
114k
        ZEND_FALLTHROUGH;
12248
30.4M
      default:
12249
30.4M
        continue;
12250
35.4M
    }
12251
12252
1.50M
    YYCURSOR--;
12253
1.50M
    break;
12254
35.4M
  }
12255
12256
1.53M
heredoc_scan_done:
12257
12258
1.53M
  yyleng = YYCURSOR - SCNG(yy_text);
12259
1.53M
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
12260
12261
1.53M
  if (!SCNG(heredoc_scan_ahead) && !EG(exception) && PARSER_MODE()) {
12262
132k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
12263
132k
    zend_string *copy = Z_STR_P(zendlval);
12264
12265
132k
    if (!strip_multiline_string_indentation(
12266
132k
        zendlval, heredoc_label->indentation, heredoc_label->indentation_uses_spaces,
12267
132k
        newline_at_start, newline != 0)) {
12268
74
      RETURN_TOKEN(T_ERROR);
12269
74
    }
12270
12271
132k
    if (UNEXPECTED(zend_scan_escape_string(zendlval, ZSTR_VAL(copy), ZSTR_LEN(copy), 0) != SUCCESS)) {
12272
10
      zend_string_efree(copy);
12273
10
      RETURN_TOKEN(T_ERROR);
12274
10
    }
12275
12276
132k
    zend_string_efree(copy);
12277
1.40M
  } else {
12278
1.40M
    HANDLE_NEWLINES(yytext, yyleng - newline);
12279
1.40M
  }
12280
12281
1.53M
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12282
1.53M
}
12283
0
#line 12284 "Zend/zend_language_scanner.c"
12284
4.71M
yy1050:
12285
4.71M
    YYDEBUG(1050, *YYCURSOR);
12286
4.71M
    yych = *++YYCURSOR;
12287
4.71M
    if (yych <= '_') {
12288
269k
      if (yych <= '@') goto yy1049;
12289
37.3k
      if (yych <= 'Z') goto yy1052;
12290
13.7k
      if (yych <= '^') goto yy1049;
12291
5.19k
      goto yy1052;
12292
4.44M
    } else {
12293
4.44M
      if (yych <= 'z') {
12294
529k
        if (yych <= '`') goto yy1049;
12295
529k
        goto yy1052;
12296
3.91M
      } else {
12297
3.91M
        if (yych <= '{') goto yy1055;
12298
213k
        if (yych <= 0x7F) goto yy1049;
12299
206k
        goto yy1052;
12300
213k
      }
12301
4.44M
    }
12302
106k
yy1051:
12303
106k
    YYDEBUG(1051, *YYCURSOR);
12304
106k
    yych = *++YYCURSOR;
12305
106k
    if (yych == '$') goto yy1057;
12306
48.3k
    goto yy1049;
12307
2.45M
yy1052:
12308
2.45M
    YYDEBUG(1052, *YYCURSOR);
12309
2.45M
    YYMARKER = ++YYCURSOR;
12310
2.45M
    YYFILL(4);
12311
2.45M
    yych = *YYCURSOR;
12312
2.45M
    YYDEBUG(1053, *YYCURSOR);
12313
2.45M
    if (yybm[0+yych] & 128) {
12314
1.68M
      goto yy1052;
12315
1.68M
    }
12316
764k
    if (yych <= '>') {
12317
553k
      if (yych == '-') goto yy1059;
12318
553k
    } else {
12319
211k
      if (yych <= '?') goto yy1061;
12320
72.9k
      if (yych <= '@') goto yy1054;
12321
70.5k
      if (yych <= '[') goto yy1062;
12322
70.5k
    }
12323
666k
yy1054:
12324
666k
    YYDEBUG(1054, *YYCURSOR);
12325
666k
    yyleng = YYCURSOR - SCNG(yy_text);
12326
666k
#line 2417 "Zend/zend_language_scanner.l"
12327
666k
    {
12328
666k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12329
666k
}
12330
0
#line 12331 "Zend/zend_language_scanner.c"
12331
3.70M
yy1055:
12332
3.70M
    YYDEBUG(1055, *YYCURSOR);
12333
3.70M
    ++YYCURSOR;
12334
3.70M
    YYDEBUG(1056, *YYCURSOR);
12335
3.70M
    yyleng = YYCURSOR - SCNG(yy_text);
12336
3.70M
#line 1981 "Zend/zend_language_scanner.l"
12337
3.70M
    {
12338
3.70M
  yy_push_state(ST_LOOKING_FOR_VARNAME);
12339
3.70M
  enter_nesting('{');
12340
3.70M
  RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES);
12341
3.70M
}
12342
0
#line 12343 "Zend/zend_language_scanner.c"
12343
58.4k
yy1057:
12344
58.4k
    YYDEBUG(1057, *YYCURSOR);
12345
58.4k
    ++YYCURSOR;
12346
58.4k
    YYDEBUG(1058, *YYCURSOR);
12347
58.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12348
58.4k
#line 2845 "Zend/zend_language_scanner.l"
12349
58.4k
    {
12350
58.4k
  yy_push_state(ST_IN_SCRIPTING);
12351
58.4k
  yyless(1);
12352
58.4k
  enter_nesting('{');
12353
58.4k
  RETURN_TOKEN(T_CURLY_OPEN);
12354
58.4k
}
12355
0
#line 12356 "Zend/zend_language_scanner.c"
12356
25.5k
yy1059:
12357
25.5k
    YYDEBUG(1059, *YYCURSOR);
12358
25.5k
    yych = *++YYCURSOR;
12359
25.5k
    if (yych == '>') goto yy1064;
12360
93.4k
yy1060:
12361
93.4k
    YYDEBUG(1060, *YYCURSOR);
12362
93.4k
    YYCURSOR = YYMARKER;
12363
93.4k
    goto yy1054;
12364
138k
yy1061:
12365
138k
    YYDEBUG(1061, *YYCURSOR);
12366
138k
    yych = *++YYCURSOR;
12367
138k
    if (yych == '-') goto yy1065;
12368
72.0k
    goto yy1060;
12369
72.0k
yy1062:
12370
27.7k
    YYDEBUG(1062, *YYCURSOR);
12371
27.7k
    ++YYCURSOR;
12372
27.7k
    YYDEBUG(1063, *YYCURSOR);
12373
27.7k
    yyleng = YYCURSOR - SCNG(yy_text);
12374
27.7k
#line 2411 "Zend/zend_language_scanner.l"
12375
27.7k
    {
12376
27.7k
  yyless(yyleng - 1);
12377
27.7k
  yy_push_state(ST_VAR_OFFSET);
12378
27.7k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12379
27.7k
}
12380
0
#line 12381 "Zend/zend_language_scanner.c"
12381
19.3k
yy1064:
12382
19.3k
    YYDEBUG(1064, *YYCURSOR);
12383
19.3k
    yych = *++YYCURSOR;
12384
19.3k
    if (yych <= '_') {
12385
5.39k
      if (yych <= '@') goto yy1060;
12386
3.50k
      if (yych <= 'Z') goto yy1066;
12387
1.06k
      if (yych <= '^') goto yy1060;
12388
797
      goto yy1066;
12389
13.9k
    } else {
12390
13.9k
      if (yych <= '`') goto yy1060;
12391
13.7k
      if (yych <= 'z') goto yy1066;
12392
2.07k
      if (yych <= 0x7F) goto yy1060;
12393
968
      goto yy1066;
12394
2.07k
    }
12395
66.3k
yy1065:
12396
66.3k
    YYDEBUG(1065, *YYCURSOR);
12397
66.3k
    yych = *++YYCURSOR;
12398
66.3k
    if (yych == '>') goto yy1068;
12399
3.32k
    goto yy1060;
12400
15.8k
yy1066:
12401
15.8k
    YYDEBUG(1066, *YYCURSOR);
12402
15.8k
    ++YYCURSOR;
12403
15.8k
    YYDEBUG(1067, *YYCURSOR);
12404
15.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12405
15.8k
#line 2397 "Zend/zend_language_scanner.l"
12406
15.8k
    {
12407
15.8k
  yyless(yyleng - 3);
12408
15.8k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12409
15.8k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12410
15.8k
}
12411
0
#line 12412 "Zend/zend_language_scanner.c"
12412
63.0k
yy1068:
12413
63.0k
    YYDEBUG(1068, *YYCURSOR);
12414
63.0k
    yych = *++YYCURSOR;
12415
63.0k
    if (yych <= '_') {
12416
8.17k
      if (yych <= '@') goto yy1060;
12417
1.44k
      if (yych <= 'Z') goto yy1069;
12418
637
      if (yych <= '^') goto yy1060;
12419
54.8k
    } else {
12420
54.8k
      if (yych <= '`') goto yy1060;
12421
53.8k
      if (yych <= 'z') goto yy1069;
12422
973
      if (yych <= 0x7F) goto yy1060;
12423
973
    }
12424
54.6k
yy1069:
12425
54.6k
    YYDEBUG(1069, *YYCURSOR);
12426
54.6k
    ++YYCURSOR;
12427
54.6k
    YYDEBUG(1070, *YYCURSOR);
12428
54.6k
    yyleng = YYCURSOR - SCNG(yy_text);
12429
54.6k
#line 2403 "Zend/zend_language_scanner.l"
12430
54.6k
    {
12431
54.6k
  yyless(yyleng - 4);
12432
54.6k
  yy_push_state(ST_LOOKING_FOR_PROPERTY);
12433
54.6k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12434
54.6k
}
12435
54.6k
#line 12436 "Zend/zend_language_scanner.c"
12436
54.6k
  }
12437
/* *********************************** */
12438
3.77M
yyc_ST_LOOKING_FOR_VARNAME:
12439
3.77M
  {
12440
3.77M
    static const unsigned char yybm[] = {
12441
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12442
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12443
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12444
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12445
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12446
3.77M
        0,   0,   0,   0,   0,   0,   0,   0, 
12447
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12448
3.77M
      128, 128,   0,   0,   0,   0,   0,   0, 
12449
3.77M
        0, 128, 128, 128, 128, 128, 128, 128, 
12450
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12451
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12452
3.77M
      128, 128, 128,   0,   0,   0,   0, 128, 
12453
3.77M
        0, 128, 128, 128, 128, 128, 128, 128, 
12454
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12455
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12456
3.77M
      128, 128, 128,   0,   0,   0,   0,   0, 
12457
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12458
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12459
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12460
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12461
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12462
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12463
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12464
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12465
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12466
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12467
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12468
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12469
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12470
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12471
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12472
3.77M
      128, 128, 128, 128, 128, 128, 128, 128, 
12473
3.77M
    };
12474
3.77M
    YYDEBUG(1071, *YYCURSOR);
12475
3.77M
    YYFILL(2);
12476
3.77M
    yych = *YYCURSOR;
12477
3.77M
    if (yych <= '_') {
12478
3.65M
      if (yych <= '@') goto yy1073;
12479
21.2k
      if (yych <= 'Z') goto yy1075;
12480
8.95k
      if (yych >= '_') goto yy1075;
12481
115k
    } else {
12482
115k
      if (yych <= '`') goto yy1073;
12483
112k
      if (yych <= 'z') goto yy1075;
12484
38.5k
      if (yych >= 0x80) goto yy1075;
12485
38.5k
    }
12486
3.64M
yy1073:
12487
3.64M
    YYDEBUG(1073, *YYCURSOR);
12488
3.64M
    ++YYCURSOR;
12489
3.76M
yy1074:
12490
3.76M
    YYDEBUG(1074, *YYCURSOR);
12491
3.76M
    yyleng = YYCURSOR - SCNG(yy_text);
12492
3.76M
#line 2004 "Zend/zend_language_scanner.l"
12493
3.76M
    {
12494
3.76M
  yyless(0);
12495
3.76M
  yy_pop_state();
12496
3.76M
  yy_push_state(ST_IN_SCRIPTING);
12497
3.76M
  goto restart;
12498
3.64M
}
12499
0
#line 12500 "Zend/zend_language_scanner.c"
12500
122k
yy1075:
12501
122k
    YYDEBUG(1075, *YYCURSOR);
12502
122k
    yych = *(YYMARKER = ++YYCURSOR);
12503
122k
    if (yych <= '_') {
12504
56.9k
      if (yych <= '@') {
12505
34.6k
        if (yych <= '/') goto yy1074;
12506
21.1k
        if (yych <= '9') goto yy1077;
12507
20.3k
        goto yy1074;
12508
22.2k
      } else {
12509
22.2k
        if (yych <= '[') goto yy1077;
12510
6.25k
        if (yych <= '^') goto yy1074;
12511
5.13k
        goto yy1077;
12512
6.25k
      }
12513
65.8k
    } else {
12514
65.8k
      if (yych <= '|') {
12515
52.2k
        if (yych <= '`') goto yy1074;
12516
51.9k
        if (yych <= 'z') goto yy1077;
12517
644
        goto yy1074;
12518
51.9k
      } else {
12519
13.5k
        if (yych <= '}') goto yy1077;
12520
12.7k
        if (yych <= 0x7F) goto yy1074;
12521
12.4k
        goto yy1077;
12522
12.7k
      }
12523
65.8k
    }
12524
410k
yy1076:
12525
410k
    YYDEBUG(1076, *YYCURSOR);
12526
410k
    ++YYCURSOR;
12527
410k
    YYFILL(1);
12528
410k
    yych = *YYCURSOR;
12529
496k
yy1077:
12530
496k
    YYDEBUG(1077, *YYCURSOR);
12531
496k
    if (yybm[0+yych] & 128) {
12532
410k
      goto yy1076;
12533
410k
    }
12534
86.5k
    if (yych <= '@') goto yy1078;
12535
11.9k
    if (yych <= '[') goto yy1079;
12536
9.79k
    if (yych == '}') goto yy1079;
12537
83.2k
yy1078:
12538
83.2k
    YYDEBUG(1078, *YYCURSOR);
12539
83.2k
    YYCURSOR = YYMARKER;
12540
83.2k
    goto yy1074;
12541
3.26k
yy1079:
12542
3.26k
    YYDEBUG(1079, *YYCURSOR);
12543
3.26k
    ++YYCURSOR;
12544
3.26k
    YYDEBUG(1080, *YYCURSOR);
12545
3.26k
    yyleng = YYCURSOR - SCNG(yy_text);
12546
3.26k
#line 1996 "Zend/zend_language_scanner.l"
12547
3.26k
    {
12548
3.26k
  yyless(yyleng - 1);
12549
3.26k
  yy_pop_state();
12550
3.26k
  yy_push_state(ST_IN_SCRIPTING);
12551
3.26k
  RETURN_TOKEN_WITH_STR(T_STRING_VARNAME, 0);
12552
3.26k
}
12553
3.26k
#line 12554 "Zend/zend_language_scanner.c"
12554
3.26k
  }
12555
/* *********************************** */
12556
432k
yyc_ST_VAR_OFFSET:
12557
432k
  {
12558
432k
    static const unsigned char yybm[] = {
12559
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12560
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12561
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12562
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12563
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12564
432k
        0,   0,   0,   0,   0,   0,   0,   0, 
12565
432k
      248, 248, 216, 216, 216, 216, 216, 216, 
12566
432k
      152, 152,   0,   0,   0,   0,   0,   0, 
12567
432k
        0, 144, 144, 144, 144, 144, 144,  16, 
12568
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12569
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12570
432k
       16,  16,  16,   0,   0,   0,   0,  16, 
12571
432k
        0, 144, 144, 144, 144, 144, 144,  16, 
12572
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12573
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12574
432k
       16,  16,  16,   0,   0,   0,   0,   0, 
12575
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12576
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12577
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12578
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12579
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12580
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12581
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12582
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12583
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12584
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12585
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12586
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12587
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12588
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12589
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12590
432k
       16,  16,  16,  16,  16,  16,  16,  16, 
12591
432k
    };
12592
432k
    YYDEBUG(1081, *YYCURSOR);
12593
432k
    YYFILL(2);
12594
432k
    yych = *YYCURSOR;
12595
432k
    if (yych <= '0') {
12596
208k
      if (yych <= ' ') {
12597
86.6k
        if (yych <= '\f') {
12598
70.9k
          if (yych <= 0x08) goto yy1083;
12599
16.2k
          if (yych <= '\n') goto yy1085;
12600
16.2k
        } else {
12601
15.6k
          if (yych <= '\r') goto yy1085;
12602
15.1k
          if (yych >= ' ') goto yy1085;
12603
15.1k
        }
12604
121k
      } else {
12605
121k
        if (yych <= '$') {
12606
74.5k
          if (yych <= '"') goto yy1087;
12607
66.6k
          if (yych <= '#') goto yy1085;
12608
66.2k
          goto yy1089;
12609
66.6k
        } else {
12610
47.3k
          if (yych == '\'') goto yy1085;
12611
46.5k
          if (yych <= '/') goto yy1087;
12612
23.4k
          goto yy1090;
12613
46.5k
        }
12614
121k
      }
12615
224k
    } else {
12616
224k
      if (yych <= ']') {
12617
137k
        if (yych <= 'Z') {
12618
68.3k
          if (yych <= '9') goto yy1092;
12619
49.8k
          if (yych <= '@') goto yy1087;
12620
9.11k
          goto yy1094;
12621
69.3k
        } else {
12622
69.3k
          if (yych <= '[') goto yy1087;
12623
21.5k
          if (yych <= '\\') goto yy1085;
12624
20.8k
          goto yy1097;
12625
21.5k
        }
12626
137k
      } else {
12627
86.5k
        if (yych <= '`') {
12628
8.71k
          if (yych == '_') goto yy1094;
12629
2.82k
          goto yy1087;
12630
77.8k
        } else {
12631
77.8k
          if (yych <= 'z') goto yy1094;
12632
56.7k
          if (yych <= '~') goto yy1087;
12633
46.3k
          if (yych >= 0x80) goto yy1094;
12634
46.3k
        }
12635
86.5k
      }
12636
224k
    }
12637
101k
yy1083:
12638
101k
    YYDEBUG(1083, *YYCURSOR);
12639
101k
    ++YYCURSOR;
12640
101k
    YYDEBUG(1084, *YYCURSOR);
12641
101k
    yyleng = YYCURSOR - SCNG(yy_text);
12642
101k
#line 3179 "Zend/zend_language_scanner.l"
12643
101k
    {
12644
101k
  if (YYCURSOR > YYLIMIT) {
12645
2.96k
    RETURN_END_TOKEN;
12646
2.96k
  }
12647
12648
98.3k
  RETURN_TOKEN(T_BAD_CHARACTER);
12649
98.3k
}
12650
0
#line 12651 "Zend/zend_language_scanner.c"
12651
16.4k
yy1085:
12652
16.4k
    YYDEBUG(1085, *YYCURSOR);
12653
16.4k
    ++YYCURSOR;
12654
16.4k
    YYDEBUG(1086, *YYCURSOR);
12655
16.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12656
16.4k
#line 2431 "Zend/zend_language_scanner.l"
12657
16.4k
    {
12658
  /* Invalid rule to return a more explicit parse error with proper line number */
12659
16.4k
  yyless(0);
12660
16.4k
  yy_pop_state();
12661
16.4k
  ZVAL_NULL(zendlval);
12662
16.4k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
12663
16.4k
}
12664
0
#line 12665 "Zend/zend_language_scanner.c"
12665
132k
yy1087:
12666
132k
    YYDEBUG(1087, *YYCURSOR);
12667
132k
    ++YYCURSOR;
12668
183k
yy1088:
12669
183k
    YYDEBUG(1088, *YYCURSOR);
12670
183k
    yyleng = YYCURSOR - SCNG(yy_text);
12671
183k
#line 2426 "Zend/zend_language_scanner.l"
12672
183k
    {
12673
  /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */
12674
183k
  RETURN_TOKEN(yytext[0]);
12675
183k
}
12676
0
#line 12677 "Zend/zend_language_scanner.c"
12677
66.2k
yy1089:
12678
66.2k
    YYDEBUG(1089, *YYCURSOR);
12679
66.2k
    yych = *++YYCURSOR;
12680
66.2k
    if (yych <= '_') {
12681
51.1k
      if (yych <= '@') goto yy1088;
12682
4.02k
      if (yych <= 'Z') goto yy1099;
12683
1.77k
      if (yych <= '^') goto yy1088;
12684
455
      goto yy1099;
12685
15.1k
    } else {
12686
15.1k
      if (yych <= '`') goto yy1088;
12687
14.7k
      if (yych <= 'z') goto yy1099;
12688
5.12k
      if (yych <= 0x7F) goto yy1088;
12689
3.11k
      goto yy1099;
12690
5.12k
    }
12691
23.4k
yy1090:
12692
23.4k
    YYDEBUG(1090, *YYCURSOR);
12693
23.4k
    yyaccept = 0;
12694
23.4k
    yych = *(YYMARKER = ++YYCURSOR);
12695
23.4k
    if (yych <= 'X') {
12696
10.1k
      if (yych <= 'B') {
12697
8.87k
        if (yych <= '/') goto yy1091;
12698
7.28k
        if (yych <= '9') goto yy1102;
12699
3.29k
        if (yych >= 'B') goto yy1105;
12700
3.29k
      } else {
12701
1.31k
        if (yych == 'O') goto yy1107;
12702
953
        if (yych >= 'X') goto yy1108;
12703
953
      }
12704
13.2k
    } else {
12705
13.2k
      if (yych <= 'b') {
12706
9.38k
        if (yych == '_') goto yy1109;
12707
6.07k
        if (yych >= 'b') goto yy1105;
12708
6.07k
      } else {
12709
3.88k
        if (yych <= 'o') {
12710
1.85k
          if (yych >= 'o') goto yy1107;
12711
2.02k
        } else {
12712
2.02k
          if (yych == 'x') goto yy1108;
12713
2.02k
        }
12714
3.88k
      }
12715
13.2k
    }
12716
34.8k
yy1091:
12717
34.8k
    YYDEBUG(1091, *YYCURSOR);
12718
34.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12719
34.8k
#line 2208 "Zend/zend_language_scanner.l"
12720
34.8k
    { /* Offset could be treated as a long */
12721
34.8k
  if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
12722
33.3k
    char *end;
12723
33.3k
    errno = 0;
12724
33.3k
    ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 10));
12725
33.3k
    if (errno == ERANGE) {
12726
0
      goto string;
12727
0
    }
12728
33.3k
    ZEND_ASSERT(end == yytext + yyleng);
12729
33.3k
  } else {
12730
1.48k
string:
12731
1.48k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12732
1.48k
  }
12733
34.8k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12734
34.8k
}
12735
0
#line 12736 "Zend/zend_language_scanner.c"
12736
95.2k
yy1092:
12737
95.2k
    YYDEBUG(1092, *YYCURSOR);
12738
95.2k
    yyaccept = 0;
12739
95.2k
    YYMARKER = ++YYCURSOR;
12740
95.2k
    YYFILL(1);
12741
95.2k
    yych = *YYCURSOR;
12742
95.2k
    YYDEBUG(1093, *YYCURSOR);
12743
95.2k
    if (yybm[0+yych] & 8) {
12744
76.7k
      goto yy1092;
12745
76.7k
    }
12746
18.4k
    if (yych == '_') goto yy1109;
12747
17.4k
    goto yy1091;
12748
223k
yy1094:
12749
223k
    YYDEBUG(1094, *YYCURSOR);
12750
223k
    ++YYCURSOR;
12751
223k
    YYFILL(1);
12752
223k
    yych = *YYCURSOR;
12753
223k
    YYDEBUG(1095, *YYCURSOR);
12754
223k
    if (yybm[0+yych] & 16) {
12755
170k
      goto yy1094;
12756
170k
    }
12757
52.9k
    YYDEBUG(1096, *YYCURSOR);
12758
52.9k
    yyleng = YYCURSOR - SCNG(yy_text);
12759
52.9k
#line 2455 "Zend/zend_language_scanner.l"
12760
52.9k
    {
12761
52.9k
  RETURN_TOKEN_WITH_STR(T_STRING, 0);
12762
52.9k
}
12763
0
#line 12764 "Zend/zend_language_scanner.c"
12764
20.8k
yy1097:
12765
20.8k
    YYDEBUG(1097, *YYCURSOR);
12766
20.8k
    ++YYCURSOR;
12767
20.8k
    YYDEBUG(1098, *YYCURSOR);
12768
20.8k
    yyleng = YYCURSOR - SCNG(yy_text);
12769
20.8k
#line 2421 "Zend/zend_language_scanner.l"
12770
20.8k
    {
12771
20.8k
  yy_pop_state();
12772
20.8k
  RETURN_TOKEN(']');
12773
20.8k
}
12774
0
#line 12775 "Zend/zend_language_scanner.c"
12775
55.1k
yy1099:
12776
55.1k
    YYDEBUG(1099, *YYCURSOR);
12777
55.1k
    ++YYCURSOR;
12778
55.1k
    YYFILL(1);
12779
55.1k
    yych = *YYCURSOR;
12780
55.1k
    YYDEBUG(1100, *YYCURSOR);
12781
55.1k
    if (yych <= '^') {
12782
19.5k
      if (yych <= '9') {
12783
5.32k
        if (yych >= '0') goto yy1099;
12784
14.2k
      } else {
12785
14.2k
        if (yych <= '@') goto yy1101;
12786
12.7k
        if (yych <= 'Z') goto yy1099;
12787
12.7k
      }
12788
35.5k
    } else {
12789
35.5k
      if (yych <= '`') {
12790
1.93k
        if (yych <= '_') goto yy1099;
12791
33.6k
      } else {
12792
33.6k
        if (yych <= 'z') goto yy1099;
12793
15.6k
        if (yych >= 0x80) goto yy1099;
12794
15.6k
      }
12795
35.5k
    }
12796
15.4k
yy1101:
12797
15.4k
    YYDEBUG(1101, *YYCURSOR);
12798
15.4k
    yyleng = YYCURSOR - SCNG(yy_text);
12799
15.4k
#line 2417 "Zend/zend_language_scanner.l"
12800
15.4k
    {
12801
15.4k
  RETURN_TOKEN_WITH_STR(T_VARIABLE, 1);
12802
15.4k
}
12803
0
#line 12804 "Zend/zend_language_scanner.c"
12804
21.4k
yy1102:
12805
21.4k
    YYDEBUG(1102, *YYCURSOR);
12806
21.4k
    yyaccept = 1;
12807
21.4k
    YYMARKER = ++YYCURSOR;
12808
21.4k
    YYFILL(1);
12809
21.4k
    yych = *YYCURSOR;
12810
21.4k
    YYDEBUG(1103, *YYCURSOR);
12811
21.4k
    if (yych <= '/') goto yy1104;
12812
19.2k
    if (yych <= '9') goto yy1102;
12813
3.09k
    if (yych == '_') goto yy1109;
12814
7.03k
yy1104:
12815
7.03k
    YYDEBUG(1104, *YYCURSOR);
12816
7.03k
    yyleng = YYCURSOR - SCNG(yy_text);
12817
7.03k
#line 2224 "Zend/zend_language_scanner.l"
12818
7.03k
    { /* Offset must be treated as a string */
12819
7.03k
  if (yyleng == 1) {
12820
0
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*(yytext)));
12821
7.03k
  } else {
12822
7.03k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
12823
7.03k
  }
12824
7.03k
  RETURN_TOKEN_WITH_VAL(T_NUM_STRING);
12825
7.03k
}
12826
0
#line 12827 "Zend/zend_language_scanner.c"
12827
1.11k
yy1105:
12828
1.11k
    YYDEBUG(1105, *YYCURSOR);
12829
1.11k
    ++YYCURSOR;
12830
1.11k
    YYFILL(1);
12831
1.11k
    yych = *YYCURSOR;
12832
1.11k
    if (yybm[0+yych] & 32) {
12833
757
      goto yy1110;
12834
757
    }
12835
6.23k
yy1106:
12836
6.23k
    YYDEBUG(1106, *YYCURSOR);
12837
6.23k
    YYCURSOR = YYMARKER;
12838
6.23k
    if (yyaccept == 0) {
12839
4.78k
      goto yy1091;
12840
4.78k
    } else {
12841
1.44k
      goto yy1104;
12842
1.44k
    }
12843
1.48k
yy1107:
12844
1.48k
    YYDEBUG(1107, *YYCURSOR);
12845
1.48k
    ++YYCURSOR;
12846
1.48k
    YYFILL(1);
12847
1.48k
    yych = *YYCURSOR;
12848
1.48k
    if (yybm[0+yych] & 64) {
12849
688
      goto yy1112;
12850
688
    }
12851
792
    goto yy1106;
12852
1.87k
yy1108:
12853
1.87k
    YYDEBUG(1108, *YYCURSOR);
12854
1.87k
    ++YYCURSOR;
12855
1.87k
    YYFILL(1);
12856
1.87k
    yych = *YYCURSOR;
12857
1.87k
    if (yybm[0+yych] & 128) {
12858
1.13k
      goto yy1114;
12859
1.13k
    }
12860
738
    goto yy1106;
12861
5.62k
yy1109:
12862
5.62k
    YYDEBUG(1109, *YYCURSOR);
12863
5.62k
    ++YYCURSOR;
12864
5.62k
    YYFILL(1);
12865
5.62k
    yych = *YYCURSOR;
12866
5.62k
    if (yych <= '/') goto yy1106;
12867
2.46k
    if (yych <= '9') goto yy1102;
12868
1.18k
    goto yy1106;
12869
1.22k
yy1110:
12870
1.22k
    YYDEBUG(1110, *YYCURSOR);
12871
1.22k
    yyaccept = 1;
12872
1.22k
    YYMARKER = ++YYCURSOR;
12873
1.22k
    YYFILL(1);
12874
1.22k
    yych = *YYCURSOR;
12875
1.22k
    YYDEBUG(1111, *YYCURSOR);
12876
1.22k
    if (yybm[0+yych] & 32) {
12877
465
      goto yy1110;
12878
465
    }
12879
757
    if (yych == '_') goto yy1105;
12880
535
    goto yy1104;
12881
1.36k
yy1112:
12882
1.36k
    YYDEBUG(1112, *YYCURSOR);
12883
1.36k
    yyaccept = 1;
12884
1.36k
    YYMARKER = ++YYCURSOR;
12885
1.36k
    YYFILL(1);
12886
1.36k
    yych = *YYCURSOR;
12887
1.36k
    YYDEBUG(1113, *YYCURSOR);
12888
1.36k
    if (yybm[0+yych] & 64) {
12889
681
      goto yy1112;
12890
681
    }
12891
688
    if (yych == '_') goto yy1107;
12892
397
    goto yy1104;
12893
1.60k
yy1114:
12894
1.60k
    YYDEBUG(1114, *YYCURSOR);
12895
1.60k
    yyaccept = 1;
12896
1.60k
    YYMARKER = ++YYCURSOR;
12897
1.60k
    YYFILL(1);
12898
1.60k
    yych = *YYCURSOR;
12899
1.60k
    YYDEBUG(1115, *YYCURSOR);
12900
1.60k
    if (yybm[0+yych] & 128) {
12901
474
      goto yy1114;
12902
474
    }
12903
1.13k
    if (yych == '_') goto yy1108;
12904
690
    goto yy1104;
12905
1.13k
  }
12906
/* *********************************** */
12907
690
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 2295 "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 2289 "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
479k
yyc_INITIAL:
12986
479k
  YYDEBUG(1125, *YYCURSOR);
12987
479k
  YYFILL(7);
12988
479k
  yych = *YYCURSOR;
12989
479k
  if (yych == '<') goto yy1129;
12990
215k
  YYDEBUG(1127, *YYCURSOR);
12991
215k
  ++YYCURSOR;
12992
227k
yy1128:
12993
227k
  YYDEBUG(1128, *YYCURSOR);
12994
227k
  yyleng = YYCURSOR - SCNG(yy_text);
12995
227k
#line 2341 "Zend/zend_language_scanner.l"
12996
227k
  {
12997
227k
  if (YYCURSOR > YYLIMIT) {
12998
69.0k
    RETURN_END_TOKEN;
12999
69.0k
  }
13000
13001
158k
inline_char_handler:
13002
13003
333k
  while (1) {
13004
333k
    YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
13005
13006
333k
    YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
13007
13008
333k
    if (YYCURSOR >= YYLIMIT) {
13009
30.4k
      break;
13010
30.4k
    }
13011
13012
302k
    if (*YYCURSOR == '?') {
13013
127k
      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
127k
      ) {
13020
127k
        YYCURSOR--;
13021
127k
        break;
13022
127k
      }
13023
127k
    }
13024
302k
  }
13025
13026
158k
  yyleng = YYCURSOR - SCNG(yy_text);
13027
13028
158k
  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
158k
  } else if (yyleng == 1) {
13040
16.7k
    ZVAL_INTERNED_STR(zendlval, ZSTR_CHAR((zend_uchar)*yytext));
13041
141k
  } else {
13042
141k
    ZVAL_STRINGL(zendlval, yytext, yyleng);
13043
141k
  }
13044
158k
  HANDLE_NEWLINES(yytext, yyleng);
13045
158k
  RETURN_TOKEN_WITH_VAL(T_INLINE_HTML);
13046
158k
}
13047
0
#line 13048 "Zend/zend_language_scanner.c"
13048
264k
yy1129:
13049
264k
  YYDEBUG(1129, *YYCURSOR);
13050
264k
  yych = *++YYCURSOR;
13051
264k
  if (yych != '?') goto yy1128;
13052
252k
  YYDEBUG(1130, *YYCURSOR);
13053
252k
  yych = *(YYMARKER = ++YYCURSOR);
13054
252k
  if (yych <= 'O') {
13055
65.6k
    if (yych == '=') goto yy1132;
13056
186k
  } else {
13057
186k
    if (yych <= 'P') goto yy1134;
13058
186k
    if (yych == 'p') goto yy1134;
13059
186k
  }
13060
147k
yy1131:
13061
147k
  YYDEBUG(1131, *YYCURSOR);
13062
147k
  yyleng = YYCURSOR - SCNG(yy_text);
13063
147k
#line 2332 "Zend/zend_language_scanner.l"
13064
147k
  {
13065
147k
  if (CG(short_tags)) {
13066
147k
    BEGIN(ST_IN_SCRIPTING);
13067
147k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13068
147k
  } else {
13069
0
    goto inline_char_handler;
13070
0
  }
13071
147k
}
13072
0
#line 13073 "Zend/zend_language_scanner.c"
13073
1.04k
yy1132:
13074
1.04k
  YYDEBUG(1132, *YYCURSOR);
13075
1.04k
  ++YYCURSOR;
13076
1.04k
  YYDEBUG(1133, *YYCURSOR);
13077
1.04k
  yyleng = YYCURSOR - SCNG(yy_text);
13078
1.04k
#line 2301 "Zend/zend_language_scanner.l"
13079
1.04k
  {
13080
1.04k
  BEGIN(ST_IN_SCRIPTING);
13081
1.04k
  if (PARSER_MODE()) {
13082
    /* We'll reject this as an identifier in zend_lex_tstring. */
13083
575
    RETURN_TOKEN_WITH_IDENT(T_ECHO);
13084
575
  }
13085
469
  RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO);
13086
469
}
13087
0
#line 13088 "Zend/zend_language_scanner.c"
13088
112k
yy1134:
13089
112k
  YYDEBUG(1134, *YYCURSOR);
13090
112k
  yych = *++YYCURSOR;
13091
112k
  if (yych == 'H') goto yy1136;
13092
110k
  if (yych == 'h') goto yy1136;
13093
8.49k
yy1135:
13094
8.49k
  YYDEBUG(1135, *YYCURSOR);
13095
8.49k
  YYCURSOR = YYMARKER;
13096
8.49k
  goto yy1131;
13097
106k
yy1136:
13098
106k
  YYDEBUG(1136, *YYCURSOR);
13099
106k
  yych = *++YYCURSOR;
13100
106k
  if (yych == 'P') goto yy1137;
13101
105k
  if (yych != 'p') goto yy1135;
13102
103k
yy1137:
13103
103k
  YYDEBUG(1137, *YYCURSOR);
13104
103k
  yych = *++YYCURSOR;
13105
103k
  if (yych <= '\f') {
13106
91.5k
    if (yych <= 0x08) goto yy1138;
13107
90.9k
    if (yych <= '\n') goto yy1139;
13108
90.9k
  } else {
13109
12.1k
    if (yych <= '\r') goto yy1141;
13110
11.7k
    if (yych == ' ') goto yy1139;
13111
11.7k
  }
13112
4.14k
yy1138:
13113
4.14k
  YYDEBUG(1138, *YYCURSOR);
13114
4.14k
  yyleng = YYCURSOR - SCNG(yy_text);
13115
4.14k
#line 2317 "Zend/zend_language_scanner.l"
13116
4.14k
  {
13117
  /* Allow <?php followed by end of file. */
13118
4.14k
  if (YYCURSOR == YYLIMIT) {
13119
384
    BEGIN(ST_IN_SCRIPTING);
13120
384
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13121
384
  }
13122
  /* Degenerate case: <?phpX is interpreted as <? phpX with short tags. */
13123
3.76k
  if (CG(short_tags)) {
13124
3.76k
    yyless(2);
13125
3.76k
    BEGIN(ST_IN_SCRIPTING);
13126
3.76k
    RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13127
3.76k
  }
13128
0
  goto inline_char_handler;
13129
3.76k
}
13130
0
#line 13131 "Zend/zend_language_scanner.c"
13131
99.3k
yy1139:
13132
99.3k
  YYDEBUG(1139, *YYCURSOR);
13133
99.3k
  ++YYCURSOR;
13134
99.5k
yy1140:
13135
99.5k
  YYDEBUG(1140, *YYCURSOR);
13136
99.5k
  yyleng = YYCURSOR - SCNG(yy_text);
13137
99.5k
#line 2311 "Zend/zend_language_scanner.l"
13138
99.5k
  {
13139
99.5k
  HANDLE_NEWLINE(yytext[yyleng-1]);
13140
99.5k
  BEGIN(ST_IN_SCRIPTING);
13141
99.5k
  RETURN_OR_SKIP_TOKEN(T_OPEN_TAG);
13142
99.5k
}
13143
0
#line 13144 "Zend/zend_language_scanner.c"
13144
453
yy1141:
13145
453
  YYDEBUG(1141, *YYCURSOR);
13146
453
  yych = *++YYCURSOR;
13147
453
  if (yych == '\n') goto yy1139;
13148
232
  goto yy1140;
13149
/* *********************************** */
13150
30.4k
yyc_ST_END_HEREDOC:
13151
30.4k
  YYDEBUG(1142, *YYCURSOR);
13152
30.4k
  YYFILL(1);
13153
30.4k
  yych = *YYCURSOR;
13154
30.4k
  YYDEBUG(1144, *YYCURSOR);
13155
30.4k
  ++YYCURSOR;
13156
30.4k
  YYDEBUG(1145, *YYCURSOR);
13157
30.4k
  yyleng = YYCURSOR - SCNG(yy_text);
13158
30.4k
#line 2831 "Zend/zend_language_scanner.l"
13159
30.4k
  {
13160
30.4k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
13161
13162
30.4k
  yyleng = heredoc_label->indentation + heredoc_label->length;
13163
30.4k
  YYCURSOR += yyleng - 1;
13164
13165
30.4k
  heredoc_label_dtor(heredoc_label);
13166
30.4k
  efree(heredoc_label);
13167
13168
30.4k
  BEGIN(ST_IN_SCRIPTING);
13169
30.4k
  RETURN_TOKEN(T_END_HEREDOC);
13170
30.4k
}
13171
0
#line 13172 "Zend/zend_language_scanner.c"
13172
/* *********************************** */
13173
13.8k
yyc_ST_NOWDOC:
13174
13.8k
  YYDEBUG(1146, *YYCURSOR);
13175
13.8k
  YYFILL(1);
13176
13.8k
  yych = *YYCURSOR;
13177
13.8k
  YYDEBUG(1148, *YYCURSOR);
13178
13.8k
  ++YYCURSOR;
13179
13.8k
  YYDEBUG(1149, *YYCURSOR);
13180
13.8k
  yyleng = YYCURSOR - SCNG(yy_text);
13181
13.8k
#line 3088 "Zend/zend_language_scanner.l"
13182
13.8k
  {
13183
13.8k
  zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
13184
13.8k
  int newline = 0, indentation = 0, spacing = -1;
13185
13186
13.8k
  if (YYCURSOR > YYLIMIT) {
13187
1.75k
    RETURN_END_TOKEN;
13188
1.75k
  }
13189
13190
12.1k
  YYCURSOR--;
13191
13192
1.38M
  while (YYCURSOR < YYLIMIT) {
13193
1.38M
    switch (*YYCURSOR++) {
13194
8.83k
      case '\r':
13195
8.83k
        if (*YYCURSOR == '\n') {
13196
1.03k
          YYCURSOR++;
13197
1.03k
        }
13198
8.83k
        ZEND_FALLTHROUGH;
13199
89.0k
      case '\n':
13200
89.0k
        indentation = spacing = 0;
13201
13202
144k
        while (YYCURSOR < YYLIMIT && (*YYCURSOR == ' ' || *YYCURSOR == '\t')) {
13203
55.7k
          if (*YYCURSOR == '\t') {
13204
1.13k
            spacing |= HEREDOC_USING_TABS;
13205
54.6k
          } else {
13206
54.6k
            spacing |= HEREDOC_USING_SPACES;
13207
54.6k
          }
13208
55.7k
          ++YYCURSOR;
13209
55.7k
          ++indentation;
13210
55.7k
        }
13211
13212
89.0k
        if (YYCURSOR == YYLIMIT) {
13213
461
          yyleng = YYCURSOR - SCNG(yy_text);
13214
461
          HANDLE_NEWLINES(yytext, yyleng);
13215
461
          ZVAL_NULL(zendlval);
13216
461
          RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13217
461
        }
13218
13219
        /* Check for ending label on the next line */
13220
88.6k
        if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
13221
12.1k
          if (IS_LABEL_SUCCESSOR(YYCURSOR[heredoc_label->length])) {
13222
1.86k
            continue;
13223
1.86k
          }
13224
13225
10.3k
          if (spacing == (HEREDOC_USING_SPACES | HEREDOC_USING_TABS)) {
13226
74
            zend_throw_exception(zend_ce_parse_error, "Invalid indentation - tabs and spaces cannot be mixed", 0);
13227
74
            if (PARSER_MODE()) {
13228
8
              RETURN_TOKEN(T_ERROR);
13229
8
            }
13230
74
          }
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
10.3k
          if (YYCURSOR[-indentation - 2] == '\r' && YYCURSOR[-indentation - 1] == '\n') {
13235
262
            newline = 2; /* Windows newline */
13236
10.0k
          } else {
13237
10.0k
            newline = 1;
13238
10.0k
          }
13239
13240
10.3k
          CG(increment_lineno) = 1; /* For newline before label */
13241
13242
10.3k
          YYCURSOR -= indentation;
13243
10.3k
          heredoc_label->indentation = indentation;
13244
13245
10.3k
          BEGIN(ST_END_HEREDOC);
13246
13247
10.3k
          goto nowdoc_scan_done;
13248
10.3k
        }
13249
76.4k
        ZEND_FALLTHROUGH;
13250
1.37M
      default:
13251
1.37M
        continue;
13252
1.38M
    }
13253
1.38M
  }
13254
13255
11.6k
nowdoc_scan_done:
13256
11.6k
  yyleng = YYCURSOR - SCNG(yy_text);
13257
11.6k
  ZVAL_STRINGL(zendlval, yytext, yyleng - newline);
13258
13259
11.6k
  if (!EG(exception) && spacing != -1 && PARSER_MODE()) {
13260
1.96k
    bool newline_at_start = *(yytext - 1) == '\n' || *(yytext - 1) == '\r';
13261
1.96k
    if (!strip_multiline_string_indentation(
13262
1.96k
        zendlval, indentation, spacing == HEREDOC_USING_SPACES,
13263
1.96k
        newline_at_start, newline != 0)) {
13264
42
      RETURN_TOKEN(T_ERROR);
13265
42
    }
13266
1.96k
  }
13267
13268
11.6k
  HANDLE_NEWLINES(yytext, yyleng - newline);
13269
11.6k
  RETURN_TOKEN_WITH_VAL(T_ENCAPSED_AND_WHITESPACE);
13270
11.6k
}
13271
11.6k
#line 13272 "Zend/zend_language_scanner.c"
13272
11.6k
}
13273
0
#line 3187 "Zend/zend_language_scanner.l"
13274
13275
13276
7.40M
emit_token_with_str:
13277
7.40M
  zend_copy_value(zendlval, (yytext + offset), (yyleng - offset));
13278
13279
11.5M
emit_token_with_val:
13280
11.5M
  if (PARSER_MODE()) {
13281
3.95M
    ZEND_ASSERT(Z_TYPE_P(zendlval) != IS_UNDEF);
13282
3.95M
    elem->ast = zend_ast_create_zval_with_lineno(zendlval, start_line);
13283
3.95M
  }
13284
13285
39.9M
emit_token:
13286
39.9M
  if (SCNG(on_event)) {
13287
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13288
0
  }
13289
39.9M
  return token;
13290
13291
1.39M
emit_token_with_ident:
13292
1.39M
  if (PARSER_MODE()) {
13293
703k
    elem->ident = SCNG(yy_text);
13294
703k
  }
13295
1.39M
  if (SCNG(on_event)) {
13296
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13297
0
  }
13298
1.39M
  return token;
13299
13300
6.67M
return_whitespace:
13301
6.67M
  HANDLE_NEWLINES(yytext, yyleng);
13302
6.67M
  if (SCNG(on_event)) {
13303
0
    SCNG(on_event)(ON_TOKEN, T_WHITESPACE, start_line, yytext, yyleng, SCNG(on_event_context));
13304
0
  }
13305
6.67M
  if (PARSER_MODE()) {
13306
2.91M
    start_line = CG(zend_lineno);
13307
2.91M
    goto restart;
13308
3.75M
  } else {
13309
3.75M
    return T_WHITESPACE;
13310
3.75M
  }
13311
13312
309k
skip_token:
13313
309k
  if (SCNG(on_event)) {
13314
0
    SCNG(on_event)(ON_TOKEN, token, start_line, yytext, yyleng, SCNG(on_event_context));
13315
0
  }
13316
309k
  start_line = CG(zend_lineno);
13317
309k
  goto restart;
13318
6.67M
}